Added basic vesna entity

This commit is contained in:
jonathan
2026-02-04 20:25:54 +01:00
parent 0bf3cc19c7
commit 1b77718b9b
9 changed files with 70 additions and 10 deletions
@@ -10,7 +10,7 @@ public partial class VesnaBehaviour2D : Node2D // EntityNode
{
[ExportGroup("Farming")]
[Export] private FarmingControls2D _farmingControls;
[Export] private PlayerMovement _player2d;
[Export] public PlayerMovement player2d;
[Export] private VesnaAnimations _vesnaAnimations;
[Export] private ItemResource _hoe;
[Export] private ItemResource _wateringCan;
@@ -0,0 +1,18 @@
using Babushka.scripts.CSharp.Common.Farming;
using Babushka.scripts.CSharp.GameEntity.Management;
using Godot;
namespace Babushka.scripts.CSharp.GameEntity.Entities;
public class VesnaEntity : PositionalEntity
{
public override string EntityType => OWN_TYPE_NAME;
public const string OWN_TYPE_NAME = "VesnaEntity";
public override void InstantiateEntityNode(Node2D parent)
{
var node = (VesnaBehaviour2D) EntityManager.Instance.NodeCreator.InstantiateNode(OWN_TYPE_NAME);
node.player2d.GlobalPosition = position;
parent.AddChild(node);
}
}
@@ -0,0 +1 @@
uid://c7e45co1valv3
@@ -0,0 +1,23 @@
using Babushka.scripts.CSharp.GameEntity.Entities;
using Babushka.scripts.CSharp.GameEntity.Management;
using Godot;
namespace Babushka.scripts.CSharp.GameEntity.EntityPlacer;
public partial class VesnaEntityPlacer : Node2D
{
public override void _Ready()
{
var sceneName = EntityManager.Instance.CurrentEntitySceneContainer!.sceneName;
var loadedScenesEntity = EntityManager.Instance.GetUniqueEntity<LoadedScenesEntity>();
if (!loadedScenesEntity.WasSceneLoaded(sceneName))
{
var entity = EntityManager.Instance.GetUniqueEntity<VesnaEntity>();
entity.position = GlobalPosition;
entity.sceneName = sceneName;
}
QueueFree();
}
}
@@ -0,0 +1 @@
uid://dcn4giw1auva4