Added basic vesna entity

pull/54/head
jonathan 2 months ago
parent 0bf3cc19c7
commit 1b77718b9b

@ -2098,11 +2098,11 @@ stream_0/stream = ExtResource("484_jb7tm")
stream_1/stream = ExtResource("485_fn3kd")
stream_2/stream = ExtResource("486_ux0r8")
[node name="Vesna" type="Node2D" node_paths=PackedStringArray("_farmingControls", "_player2d", "_vesnaAnimations")]
[node name="Vesna" type="Node2D" node_paths=PackedStringArray("_farmingControls", "player2d", "_vesnaAnimations")]
y_sort_enabled = true
script = ExtResource("1_yd5ep")
_farmingControls = NodePath("FarmingControls")
_player2d = NodePath("CharacterBody2D")
player2d = NodePath("CharacterBody2D")
_vesnaAnimations = NodePath("CharacterBody2D/visuals")
_hoe = ExtResource("2_dnm27")
_wateringCan = ExtResource("3_e04c3")

@ -0,0 +1,17 @@
[gd_scene load_steps=4 format=3 uid="uid://cv7trh2b3dyiv"]
[ext_resource type="Script" uid="uid://dcn4giw1auva4" path="res://scripts/CSharp/GameEntity/EntityPlacer/VesnaEntityPlacer.cs" id="1_nq5fu"]
[ext_resource type="Script" uid="uid://n7oihifvqp23" path="res://scripts/CSharp/Common/Animation/VesnaAnimations.cs" id="2_cpdud"]
[ext_resource type="Texture2D" uid="uid://cloe0etis2lcu" path="res://art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0001.png" id="451_d8nvl"]
[node name="VesnaPlacer" type="Node2D"]
script = ExtResource("1_nq5fu")
[node name="visuals" type="Node2D" parent="." node_paths=PackedStringArray("_sprite")]
position = Vector2(0, -374)
script = ExtResource("2_cpdud")
_sprite = NodePath("")
[node name="0001" type="Sprite2D" parent="visuals"]
position = Vector2(1, 0)
texture = ExtResource("451_d8nvl")

@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://hdfejdnmp8sl"]
[gd_scene load_steps=5 format=3 uid="uid://hdfejdnmp8sl"]
[ext_resource type="Script" uid="uid://umop2b1m1qm8" path="res://scripts/CSharp/GameEntity/Management/EntityManager.cs" id="1_2bwns"]
[ext_resource type="Script" uid="uid://bogqp274y1pgr" path="res://scripts/CSharp/GameEntity/Management/EntityNodeCreator.cs" id="2_8m173"]
[ext_resource type="PackedScene" uid="uid://sbf12hin4kes" path="res://prefabs/Interactables/trash_object.tscn" id="3_v3vdc"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Vesna.tscn" id="4_8m173"]
[node name="EntityManager" type="Node" node_paths=PackedStringArray("_nodeCreator")]
script = ExtResource("1_2bwns")
@ -11,5 +12,6 @@ _nodeCreator = NodePath("EntityCreator")
[node name="EntityCreator" type="Node" parent="."]
script = ExtResource("2_8m173")
_entityPrefabs = Dictionary[String, PackedScene]({
"TrashEntity": ExtResource("3_v3vdc")
"TrashEntity": ExtResource("3_v3vdc"),
"VesnaEntity": ExtResource("4_8m173")
})

@ -26,7 +26,7 @@
[ext_resource type="Texture2D" uid="uid://btea6eyucsyxj" path="res://art/farm/farming/farmobjekte/zaun/tilable fence middle part.png" id="24_hr375"]
[ext_resource type="Texture2D" uid="uid://3ed3dgq3irn2" path="res://art/farm/farming/farmobjekte/zaun/tilable fence end part2.png" id="25_e15ep"]
[ext_resource type="PackedScene" uid="uid://dfvgp1my5rydh" path="res://prefabs/characters/Yeli.tscn" id="26_hp2qi"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Vesna.tscn" id="27_slkey"]
[ext_resource type="PackedScene" uid="uid://cv7trh2b3dyiv" path="res://prefabs/entity_placer/VesnaPlacer.tscn" id="27_nqcah"]
[ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="28_678ve"]
[ext_resource type="Texture2D" uid="uid://dg7rlugnq0t45" path="res://art/farm/farming/farmobjekte/brünnen.png" id="29_6crsp"]
[ext_resource type="Script" uid="uid://boehox1ydbcnx" path="res://scripts/CSharp/Common/Farming/WellBehaviour.cs" id="30_1l41q"]
@ -951,10 +951,8 @@ y_sort_enabled = true
position = Vector2(6403, 3362)
_timelinesToPlay = PackedStringArray("yeli_quest_select")
[node name="Vesna" parent="YSorted" instance=ExtResource("27_slkey")]
z_index = 1
position = Vector2(9322, 2018)
_hoe = ExtResource("28_678ve")
[node name="VesnaPlacer" parent="YSorted" instance=ExtResource("27_nqcah")]
position = Vector2(9178, 2365)
[node name="Well" type="Sprite2D" parent="YSorted" node_paths=PackedStringArray("_interactionArea")]
z_index = 1

@ -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,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();
}
}
Loading…
Cancel
Save