WIP Wasserstand UI

pull/10/head
kziolkowski 6 months ago
parent 57896e37df
commit 35c7e9a25e

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://l0k3vh3kdprp"
path="res://.godot/imported/Tropfen-ui-1.png-ffd2adc2dec240ddecc1432b18c1c0f0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/Watercan-ui/Tropfen-ui-1.png"
dest_files=["res://.godot/imported/Tropfen-ui-1.png-ffd2adc2dec240ddecc1432b18c1c0f0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://t4w7axbof7bq"
path="res://.godot/imported/Tropfen-ui-2.png-f4fdc398383d494823a9c23512b5d46c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/Watercan-ui/Tropfen-ui-2.png"
dest_files=["res://.godot/imported/Tropfen-ui-2.png-f4fdc398383d494823a9c23512b5d46c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://di2npqkvvst6x"
path="res://.godot/imported/Tropfen-ui-3.png-3b58039a60642d36367527f2d94654fa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/Watercan-ui/Tropfen-ui-3.png"
dest_files=["res://.godot/imported/Tropfen-ui-3.png-3b58039a60642d36367527f2d94654fa.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clti3basli30"
path="res://.godot/imported/Tropfen-ui-4.png-e2c1542b620809f430977af3bdacd86f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/Watercan-ui/Tropfen-ui-4.png"
dest_files=["res://.godot/imported/Tropfen-ui-4.png-e2c1542b620809f430977af3bdacd86f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://n1v4hgd467wp"
path="res://.godot/imported/Tropfen-ui-5.png-ee46a9fd4d81820f6fec9c30046a3b47.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/Watercan-ui/Tropfen-ui-5.png"
dest_files=["res://.godot/imported/Tropfen-ui-5.png-ee46a9fd4d81820f6fec9c30046a3b47.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://l5ym7gi82l1b"
path="res://.godot/imported/Tropfen-ui-6.png-2fee37aa3fbbde454a4d1b4f8ee350e6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/ui/UI/Watercan-ui/Tropfen-ui-6.png"
dest_files=["res://.godot/imported/Tropfen-ui-6.png-2fee37aa3fbbde454a4d1b4f8ee350e6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

@ -1,11 +1,12 @@
[gd_resource type="AudioBusLayout" format=3 uid="uid://b6dwkmkyb0axk"]
[resource]
bus/0/volume_db = -5.93075
bus/1/name = &"Music"
bus/1/solo = true
bus/1/solo = false
bus/1/mute = false
bus/1/bypass_fx = false
bus/1/volume_db = -15.1981
bus/1/volume_db = -17.6573
bus/1/send = &"Master"
bus/2/name = &"SFX"
bus/2/solo = false

@ -1,15 +0,0 @@
[gd_resource type="AudioBusLayout" format=3 uid="uid://cfuxi1e3ut1w2"]
[resource]
bus/1/name = &"Music"
bus/1/solo = false
bus/1/mute = false
bus/1/bypass_fx = false
bus/1/volume_db = 0.0
bus/1/send = &"Master"
bus/2/name = &"SFX"
bus/2/solo = false
bus/2/mute = false
bus/2/bypass_fx = false
bus/2/volume_db = 0.0
bus/2/send = &"Master"

@ -1,4 +1,4 @@
[gd_scene load_steps=469 format=3 uid="uid://c25udixd5m6l0"]
[gd_scene load_steps=476 format=3 uid="uid://c25udixd5m6l0"]
[ext_resource type="Script" uid="uid://b05uyj001ehwi" path="res://scripts/CSharp/Common/Farming/VesnaBehaviour2D.cs" id="1_yd5ep"]
[ext_resource type="Script" uid="uid://cjbclkxesh3hc" path="res://scripts/CSharp/Common/CharacterControls/Player2D.cs" id="2_1vqmv"]
@ -268,9 +268,16 @@
[ext_resource type="Texture2D" uid="uid://dh3cfbcqm0fs4" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0006.png" id="462_6yyoj"]
[ext_resource type="Texture2D" uid="uid://vahac0df0dhj" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0008.png" id="464_pbc3r"]
[ext_resource type="Texture2D" uid="uid://b37lpqrsjjuc0" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0010.png" id="466_pw1ip"]
[ext_resource type="Script" uid="uid://er03dkj8axlr" path="res://scripts/CSharp/Common/UI/WateringCanUi.cs" id="467_j4m0f"]
[ext_resource type="Texture2D" uid="uid://oi11ax6tml6j" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0012.png" id="468_08021"]
[ext_resource type="Texture2D" uid="uid://l0k3vh3kdprp" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-1.png" id="468_f6xmn"]
[ext_resource type="Texture2D" uid="uid://t4w7axbof7bq" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-2.png" id="469_nxglm"]
[ext_resource type="Texture2D" uid="uid://di2npqkvvst6x" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-3.png" id="470_8fyd7"]
[ext_resource type="Texture2D" uid="uid://dsjj23763pej5" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0014.png" id="470_bmmei"]
[ext_resource type="Texture2D" uid="uid://clti3basli30" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-4.png" id="471_dnm27"]
[ext_resource type="Texture2D" uid="uid://n1v4hgd467wp" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-5.png" id="472_e04c3"]
[ext_resource type="Texture2D" uid="uid://blh0t2ofqj2uq" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0016.png" id="472_wdxsr"]
[ext_resource type="Texture2D" uid="uid://l5ym7gi82l1b" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-6.png" id="473_g32y8"]
[ext_resource type="Texture2D" uid="uid://3t1m2xi4ks75" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0018.png" id="474_tu801"]
[ext_resource type="Texture2D" uid="uid://drtgi1qyq7fji" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0020.png" id="476_g4jjd"]
[ext_resource type="Texture2D" uid="uid://d3rdsclnqbx7" path="res://art/animation/Vesna2D/Vesna Anims Sequences/F02-Walk/0001.png" id="477_qko58"]
@ -2118,17 +2125,62 @@ region_rect = Rect2(-1, 1128, 417, 299)
position = Vector2(26, -469)
zoom = Vector2(0.3, 0.3)
[node name="WateringCanUI" type="Node2D" parent="CharacterBody2D" node_paths=PackedStringArray("_stages")]
position = Vector2(0, -929)
scale = Vector2(2, 2)
script = ExtResource("467_j4m0f")
_stages = [NodePath("6"), NodePath("5"), NodePath("4"), NodePath("3"), NodePath("2"), NodePath("1")]
[node name="1" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"]
visible = false
position = Vector2(1, 0)
scale = Vector2(1.8, 1.8)
texture = ExtResource("468_f6xmn")
[node name="2" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"]
visible = false
position = Vector2(2, 2)
scale = Vector2(1.6, 1.6)
texture = ExtResource("469_nxglm")
[node name="3" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"]
visible = false
position = Vector2(3, 5)
scale = Vector2(1.4, 1.4)
texture = ExtResource("470_8fyd7")
[node name="4" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"]
visible = false
position = Vector2(3, 7)
scale = Vector2(1.2, 1.2)
texture = ExtResource("471_dnm27")
[node name="5" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"]
visible = false
position = Vector2(2, 7)
scale = Vector2(1.1, 1.1)
texture = ExtResource("472_e04c3")
[node name="6" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"]
visible = false
position = Vector2(3, 12)
texture = ExtResource("473_g32y8")
[node name="FarmingControls" type="Node2D" parent="." node_paths=PackedStringArray("_movingPlayer", "_camera")]
script = ExtResource("817_6nrw3")
_fieldPrefab = ExtResource("818_16w6h")
_movingPlayer = NodePath("../CharacterBody2D")
_camera = NodePath("../CharacterBody2D/Camera2D")
[node name="Node2D" type="Node2D" parent="."]
[node name="dialogic toggle" type="Node2D" parent="."]
position = Vector2(0, 374)
script = ExtResource("819_4na52")
[connection signal="FilledWateringCan" from="." to="CharacterBody2D/WateringCanUI" method="Refill"]
[connection signal="InventorySelectionChanged" from="." to="CharacterBody2D/WateringCanUI" method="IsWateringCanActive"]
[connection signal="PickedUpTool" from="." to="CharacterBody2D" method="ActivateTool"]
[connection signal="PickedUpTool" from="." to="CharacterBody2D/WateringCanUI" method="IsWateringCanActive"]
[connection signal="WateringField" from="FarmingControls" to="CharacterBody2D" method="PlayWateringAnimation"]
[connection signal="timelineEnded" from="Node2D" to="." method="EnableMovement"]
[connection signal="timelineStarted" from="Node2D" to="." method="DisableMovement"]
[connection signal="WateringField" from="FarmingControls" to="CharacterBody2D/WateringCanUI" method="Water"]
[connection signal="timelineEnded" from="dialogic toggle" to="." method="EnableMovement"]
[connection signal="timelineStarted" from="dialogic toggle" to="." method="DisableMovement"]

@ -1,4 +1,4 @@
[gd_scene load_steps=47 format=3 uid="uid://dfvgp1my5rydh"]
[gd_scene load_steps=48 format=3 uid="uid://dfvgp1my5rydh"]
[ext_resource type="Texture2D" uid="uid://c34012j5ukiuf" path="res://art/animation/Yeli2D/F01-Yeli_Idle/0001.png" id="1_03m0b"]
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="1_at1n1"]
@ -182,10 +182,13 @@ animations = [{
"speed": 15.0
}]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_aqu1t"]
radius = 202.0
height = 404.0
[node name="Yeli" type="Node2D"]
z_index = 1
y_sort_enabled = true
position = Vector2(0, 322)
script = ExtResource("1_at1n1")
[node name="InteractionArea" parent="." instance=ExtResource("42_ahrat")]
@ -219,6 +222,12 @@ offset = Vector2(0, -450)
[node name="DialogicToggle" type="Node2D" parent="."]
script = ExtResource("44_aqu1t")
[node name="AnimatableBody2D" type="AnimatableBody2D" parent="."]
position = Vector2(0, -172)
[node name="CollisionShape2D" type="CollisionShape2D" parent="AnimatableBody2D"]
shape = SubResource("CapsuleShape2D_aqu1t")
[connection signal="Interacted" from="InteractionArea" to="TalkingControl" method="ToggleTalking"]
[connection signal="Talking" from="TalkingControl" to="." method="open"]
[connection signal="timelineEnded" from="DialogicToggle" to="TalkingControl" method="ToggleTalking"]

@ -18,6 +18,10 @@ boot_splash/fullsize=false
boot_splash/image="uid://utam4axkvutc"
config/icon="uid://b2smanpdo1y5e"
[audio]
buses/default_bus_layout="uid://b6dwkmkyb0axk"
[autoload]
Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd"

@ -123,7 +123,7 @@ shader_parameter/brightness_add = 0.0
shader_parameter/contrast_mult = 1.128
[sub_resource type="RectangleShape2D" id="RectangleShape2D_0sfl7"]
size = Vector2(728, 368)
size = Vector2(1041, 368)
[sub_resource type="CircleShape2D" id="CircleShape2D_p6n74"]
resource_local_to_scene = true
@ -862,7 +862,7 @@ region_rect = Rect2(0, 0, 1504, 1686)
collision_mask = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Brünnen/StaticBody2D"]
position = Vector2(116, -224)
position = Vector2(145.5, -224)
shape = SubResource("RectangleShape2D_0sfl7")
[node name="InteractionArea" parent="YSorted/Brünnen" instance=ExtResource("27_klb81")]

@ -99,12 +99,14 @@ public partial class Player2D : CharacterBody2D
_lastDirection = Vector2.Up;
}
/*
if (Input.IsActionPressed("item"))
{
_sprite.Animation = "diagonal item";
anyActionPressed = true;
_lastDirection = Vector2.Right;
}
*/
if (anyActionPressed)
{

@ -14,8 +14,7 @@ public partial class FarmingControls2D : Node2D
private int _toolId = -1;
private bool _wateringCanFilled = false;
private int _currentWateringCanStep = 0;
private int _wateringCanCapacity = 3;
[Signal] public delegate void WateringFieldEventHandler();
@ -63,11 +62,11 @@ public partial class FarmingControls2D : Node2D
}
}
public void FillWateringCan(bool fillUp)
public void FillWateringCan()
{
if (_toolId == 1 )
{
_wateringCanFilled = fillUp;
WateringCanState.Fill();
}
}
@ -78,18 +77,8 @@ public partial class FarmingControls2D : Node2D
return;
field.Water();
WateringCanState.Water();
EmitSignal(SignalName.WateringField);
if (_currentWateringCanStep < _wateringCanCapacity)
{
_currentWateringCanStep++;
}
else
{
_currentWateringCanStep = 0;
FillWateringCan(false);
}
}
private void MakeField(Vector2I fieldPosition)

@ -16,6 +16,8 @@ public partial class VesnaBehaviour2D : Node
[Signal] public delegate void PickedUpToolEventHandler(bool success, int toolId);
[Signal] public delegate void FilledWateringCanEventHandler();
[Signal] public delegate void InventorySelectionChangedEventHandler(int toolId);
private InventoryManager _inventoryManager;
private InventoryInstance _inventoryInstance;
@ -45,19 +47,20 @@ public partial class VesnaBehaviour2D : Node
if (currentItem == null)
return;
int toolId = -1;
if (currentItem.blueprint == _hoe)
{
ActivateTool(0);
return;
toolId = 0;
}
if (currentItem.blueprint == _wateringCan)
{
ActivateTool(1);
return;
toolId = 1;
}
ActivateTool(-1);
ActivateTool(toolId);
EmitSignal(SignalName.InventorySelectionChanged, toolId);
}
@ -73,7 +76,7 @@ public partial class VesnaBehaviour2D : Node
{
if (toolId == 1)
{
_farmingControls.FillWateringCan(true);
_farmingControls.FillWateringCan();
_player2d.PlayWateringCanFillupAnimation();
EmitSignal(SignalName.FilledWateringCan);
}

@ -0,0 +1,29 @@
namespace Babushka.scripts.CSharp.Common.Farming;
public static class WateringCanState
{
private static int _fillstate = 0;
public const int MAX_FILLSTATE = 6;
public static void Fill()
{
_fillstate = MAX_FILLSTATE;
}
public static void Water()
{
if(_fillstate > 0)
_fillstate--;
}
public static void Reset()
{
_fillstate = 0;
}
public static int GetFillState()
{
return _fillstate;
}
}

@ -0,0 +1,44 @@
using Babushka.scripts.CSharp.Common.Farming;
using Godot;
namespace Babushka.scripts.CSharp.Common.UI;
public partial class WateringCanUi : Node2D
{
[Export] private Sprite2D[] _stages;
private const int WATERING_CAN_ID = 1;
public void Refill()
{
WateringCanState.Fill();
UpdateSprites();
}
public void Water()
{
UpdateSprites();
}
public void IsWateringCanActive(int toolId)
{
IsWateringCanActive(true, toolId);
}
public void IsWateringCanActive(bool success, int toolId)
{
if (!success)
return;
UpdateSprites();
}
private void UpdateSprites()
{
for (int i = 0; i < _stages.Length; i++)
{
_stages[i].Visible = i < WateringCanState.GetFillState();
}
}
}
Loading…
Cancel
Save