WIP Beetroot
This commit is contained in:
@@ -26,8 +26,11 @@ public partial class PlantBehaviour2D : Node2D
|
||||
[Export] private PlantState _state = PlantState.None;
|
||||
[Export] private FieldBehaviour2D _field;
|
||||
[Export] private ItemOnGround2D _harvestablePlant;
|
||||
[Export] private CpuParticles2D _magicEffect;
|
||||
|
||||
private string _magicWordDialogicEventName = "MagicWord";
|
||||
private Sprite2D _currentPlantSprite = null;
|
||||
private bool _magicWordSaid;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -35,7 +38,7 @@ public partial class PlantBehaviour2D : Node2D
|
||||
/// </summary>
|
||||
public void Grow()
|
||||
{
|
||||
if (_field.FieldState != FieldState.Watered)
|
||||
if (_field.FieldState != FieldState.Watered || !_magicWordSaid)
|
||||
return;
|
||||
|
||||
GetTree().CallGroup("PlantGrowing", Player2D.MethodName.PlayFarmingAnimation);
|
||||
@@ -76,6 +79,7 @@ public partial class PlantBehaviour2D : Node2D
|
||||
}
|
||||
|
||||
_field.UpdateFieldState(FieldState.Tilled);
|
||||
_magicWordSaid = false;
|
||||
}
|
||||
|
||||
private Sprite2D GetRandomSprite(Sprite2D[] sprites)
|
||||
@@ -83,4 +87,16 @@ public partial class PlantBehaviour2D : Node2D
|
||||
Random rand = new Random();
|
||||
return sprites[rand.Next(sprites.Length)];
|
||||
}
|
||||
|
||||
public void SayMagicWord(string wordEvent)
|
||||
{
|
||||
GD.Print("Calling Dialogic event: " + wordEvent);
|
||||
if (_magicWordDialogicEventName != wordEvent)
|
||||
return;
|
||||
|
||||
_magicEffect.Emitting = true;
|
||||
_magicEffect.OneShot = true;
|
||||
_magicWordSaid = true;
|
||||
Grow();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
extends Node
|
||||
|
||||
@export var eventName : String
|
||||
|
||||
signal dialogicEventTriggered(name)
|
||||
|
||||
func _ready():
|
||||
Dialogic.signal_event.connect(_on_dialogic_signal)
|
||||
|
||||
func _on_dialogic_signal(argument:String):
|
||||
if argument == eventName:
|
||||
dialogicEventTriggered.emit(argument)
|
||||
@@ -0,0 +1 @@
|
||||
uid://drle5aies8ye4
|
||||
Reference in New Issue
Block a user