diff --git a/DungeonShooting_Godot/prefab/ui/WeaponRoulette.tscn b/DungeonShooting_Godot/prefab/ui/WeaponRoulette.tscn index 100d134..d7f54ce 100644 --- a/DungeonShooting_Godot/prefab/ui/WeaponRoulette.tscn +++ b/DungeonShooting_Godot/prefab/ui/WeaponRoulette.tscn @@ -33,7 +33,7 @@ grow_vertical = 2 color = Color(0, 0, 0, 0.588235) -[node name="Control" type="Control" parent="."] +[node name="Root" type="Control" parent="."] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -47,21 +47,21 @@ grow_horizontal = 2 grow_vertical = 2 -[node name="RouletteBg" type="Sprite2D" parent="Control"] +[node name="RouletteBg" type="Sprite2D" parent="Root"] scale = Vector2(4, 4) texture = ExtResource("2_k6gjh") -[node name="WeaponSlotNode" type="Node2D" parent="Control/RouletteBg"] +[node name="WeaponSlotNode" type="Node2D" parent="Root/RouletteBg"] script = ExtResource("3_8v011") -[node name="SlotUi" type="Control" parent="Control/RouletteBg/WeaponSlotNode"] +[node name="SlotUi" type="Control" parent="Root/RouletteBg/WeaponSlotNode"] layout_mode = 3 anchors_preset = 0 offset_left = 65.25 offset_right = 66.25 offset_bottom = 1.0 -[node name="WeaponUi" type="Control" parent="Control/RouletteBg/WeaponSlotNode/SlotUi"] +[node name="WeaponUi" type="Control" parent="Root/RouletteBg/WeaponSlotNode/SlotUi"] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -75,10 +75,10 @@ grow_horizontal = 2 grow_vertical = 2 -[node name="WeaponIcon" type="Sprite2D" parent="Control/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"] +[node name="WeaponIcon" type="Sprite2D" parent="Root/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"] material = SubResource("ShaderMaterial_i1wmw") -[node name="AmmoLabel" type="Label" parent="Control/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"] +[node name="AmmoLabel" type="Label" parent="Root/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -96,18 +96,18 @@ horizontal_alignment = 1 vertical_alignment = 1 -[node name="LockSprite" type="Sprite2D" parent="Control/RouletteBg/WeaponSlotNode/SlotUi"] +[node name="LockSprite" type="Sprite2D" parent="Root/RouletteBg/WeaponSlotNode/SlotUi"] scale = Vector2(0.25, 0.25) texture = ExtResource("6_7mog3") -[node name="SlotAreaNode" type="Area2D" parent="Control/RouletteBg/WeaponSlotNode"] +[node name="SlotAreaNode" type="Area2D" parent="Root/RouletteBg/WeaponSlotNode"] collision_layer = 0 collision_mask = 8192 monitorable = false -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Control/RouletteBg/WeaponSlotNode/SlotAreaNode"] +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Root/RouletteBg/WeaponSlotNode/SlotAreaNode"] -[node name="ColorRect" type="ColorRect" parent="Control"] +[node name="UpBar" type="ColorRect" parent="Root"] layout_mode = 0 offset_left = -383.0 offset_top = -480.0 @@ -115,7 +115,7 @@ offset_bottom = -424.0 color = Color(0.184314, 0.184314, 0.184314, 0.784314) -[node name="Label" type="Label" parent="Control/ColorRect"] +[node name="Label" type="Label" parent="Root/UpBar"] layout_mode = 1 anchors_preset = 4 anchor_top = 0.5 @@ -127,7 +127,7 @@ grow_vertical = 2 text = "按Q上一页" -[node name="Label2" type="Label" parent="Control/ColorRect"] +[node name="Label2" type="Label" parent="Root/UpBar"] layout_mode = 1 anchors_preset = 6 anchor_left = 1.0 @@ -142,7 +142,7 @@ grow_vertical = 2 text = "按E下一页" -[node name="PageLabel" type="Label" parent="Control/ColorRect"] +[node name="PageLabel" type="Label" parent="Root/UpBar"] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -157,6 +157,29 @@ grow_vertical = 2 text = "1/1" +[node name="DownBar" type="ColorRect" parent="Root"] +layout_mode = 0 +offset_left = -96.0 +offset_top = 435.0 +offset_right = 100.0 +offset_bottom = 491.0 +color = Color(0.184314, 0.184314, 0.184314, 0.784314) + +[node name="Label" type="Label" parent="Root/DownBar"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -84.0 +offset_top = -20.0 +offset_right = 84.0 +offset_bottom = 20.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "按空格丢弃" + [node name="MouseArea" type="Area2D" parent="."] collision_layer = 8192 collision_mask = 0 diff --git a/DungeonShooting_Godot/scene/Hall.tscn b/DungeonShooting_Godot/scene/Hall.tscn index 61feeea..ae6f930 100644 --- a/DungeonShooting_Godot/scene/Hall.tscn +++ b/DungeonShooting_Godot/scene/Hall.tscn @@ -88,7 +88,7 @@ metadata/_edit_group_ = true [node name="BirthMark" type="Marker2D" parent="." index="3"] -position = Vector2(536, 310) +position = Vector2(533, 223) [node name="DungeonEntrance" type="Area2D" parent="." index="4"] z_index = 15 @@ -395,6 +395,24 @@ Id = "item_0026" DefaultLayer = 1 +[node name="Weapon0002" type="Node2D" parent="ItemRoot" index="34"] +position = Vector2(436, 242) +script = ExtResource("5_lowqi") +Id = "weapon0002" +DefaultLayer = 1 + +[node name="Weapon0003" type="Node2D" parent="ItemRoot" index="35"] +position = Vector2(489, 255) +script = ExtResource("5_lowqi") +Id = "weapon0003" +DefaultLayer = 1 + +[node name="Weapon0004" type="Node2D" parent="ItemRoot" index="36"] +position = Vector2(543, 261) +script = ExtResource("5_lowqi") +Id = "weapon0004" +DefaultLayer = 1 + [node name="Node2D" type="Node2D" parent="." index="6"] position = Vector2(881, 446) diff --git a/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulette.cs b/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulette.cs index b903858..decea72 100644 --- a/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulette.cs +++ b/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulette.cs @@ -19,17 +19,17 @@ private Bg _L_Bg; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root /// - public Control L_Control + public Root L_Root { get { - if (_L_Control == null) _L_Control = new Control((WeaponRoulettePanel)this, GetNode("Control")); - return _L_Control; + if (_L_Root == null) _L_Root = new Root((WeaponRoulettePanel)this, GetNode("Root")); + return _L_Root; } } - private Control _L_Control; + private Root _L_Root; /// /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.MouseArea @@ -51,7 +51,6 @@ public sealed override void OnInitNestedUi() { - _ = L_Control.L_RouletteBg.L_WeaponSlotNode; } @@ -65,7 +64,7 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon /// public class WeaponIcon : UiNode { @@ -74,7 +73,7 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel /// public class AmmoLabel : UiNode { @@ -83,12 +82,12 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi /// public class WeaponUi : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponIcon + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponIcon /// public WeaponIcon L_WeaponIcon { @@ -101,7 +100,7 @@ private WeaponIcon _L_WeaponIcon; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.AmmoLabel + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.AmmoLabel /// public AmmoLabel L_AmmoLabel { @@ -118,7 +117,7 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.LockSprite + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.LockSprite /// public class LockSprite : UiNode { @@ -127,12 +126,12 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi /// public class SlotUi : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.WeaponUi + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.WeaponUi /// public WeaponUi L_WeaponUi { @@ -145,7 +144,7 @@ private WeaponUi _L_WeaponUi; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.LockSprite + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.LockSprite /// public LockSprite L_LockSprite { @@ -162,7 +161,7 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D /// public class CollisionPolygon2D : UiNode { @@ -171,12 +170,12 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode /// public class SlotAreaNode : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.CollisionPolygon2D + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.CollisionPolygon2D /// public CollisionPolygon2D L_CollisionPolygon2D { @@ -193,12 +192,12 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode /// public class WeaponSlotNode : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.SlotUi + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.SlotUi /// public SlotUi L_SlotUi { @@ -211,7 +210,7 @@ private SlotUi _L_SlotUi; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.SlotAreaNode + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.SlotAreaNode /// public SlotAreaNode L_SlotAreaNode { @@ -228,12 +227,12 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.RouletteBg + /// 类型: , 路径: WeaponRoulette.Root.RouletteBg /// public class RouletteBg : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.WeaponSlotNode + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.WeaponSlotNode /// public WeaponSlotNode L_WeaponSlotNode { @@ -250,7 +249,7 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.ColorRect.Label + /// 类型: , 路径: WeaponRoulette.Root.UpBar.Label /// public class Label : UiNode { @@ -259,7 +258,7 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.ColorRect.Label2 + /// 类型: , 路径: WeaponRoulette.Root.UpBar.Label2 /// public class Label2 : UiNode { @@ -268,7 +267,7 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.ColorRect.PageLabel + /// 类型: , 路径: WeaponRoulette.Root.UpBar.PageLabel /// public class PageLabel : UiNode { @@ -277,12 +276,12 @@ } /// - /// 类型: , 路径: WeaponRoulette.Control.ColorRect + /// 类型: , 路径: WeaponRoulette.Root.UpBar /// - public class ColorRect : UiNode + public class UpBar : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.Label + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.Label /// public Label L_Label { @@ -295,7 +294,7 @@ private Label _L_Label; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.Label2 + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.Label2 /// public Label2 L_Label2 { @@ -308,7 +307,7 @@ private Label2 _L_Label2; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Control.PageLabel + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.PageLabel /// public PageLabel L_PageLabel { @@ -320,14 +319,45 @@ } private PageLabel _L_PageLabel; - public ColorRect(WeaponRoulettePanel uiPanel, Godot.ColorRect node) : base(uiPanel, node) { } - public override ColorRect Clone() => new (UiPanel, (Godot.ColorRect)Instance.Duplicate()); + public UpBar(WeaponRoulettePanel uiPanel, Godot.ColorRect node) : base(uiPanel, node) { } + public override UpBar Clone() => new (UiPanel, (Godot.ColorRect)Instance.Duplicate()); } /// - /// 类型: , 路径: WeaponRoulette.Control + /// 类型: , 路径: WeaponRoulette.Root.DownBar.Label /// - public class Control : UiNode + public class Label_1 : UiNode + { + public Label_1(WeaponRoulettePanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Label_1 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: WeaponRoulette.Root.DownBar + /// + public class DownBar : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.Root.Label + /// + public Label_1 L_Label + { + get + { + if (_L_Label == null) _L_Label = new Label_1(UiPanel, Instance.GetNode("Label")); + return _L_Label; + } + } + private Label_1 _L_Label; + + public DownBar(WeaponRoulettePanel uiPanel, Godot.ColorRect node) : base(uiPanel, node) { } + public override DownBar Clone() => new (UiPanel, (Godot.ColorRect)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: WeaponRoulette.Root + /// + public class Root : UiNode { /// /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.RouletteBg @@ -343,20 +373,33 @@ private RouletteBg _L_RouletteBg; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.ColorRect + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.UpBar /// - public ColorRect L_ColorRect + public UpBar L_UpBar { get { - if (_L_ColorRect == null) _L_ColorRect = new ColorRect(UiPanel, Instance.GetNode("ColorRect")); - return _L_ColorRect; + if (_L_UpBar == null) _L_UpBar = new UpBar(UiPanel, Instance.GetNode("UpBar")); + return _L_UpBar; } } - private ColorRect _L_ColorRect; + private UpBar _L_UpBar; - public Control(WeaponRoulettePanel uiPanel, Godot.Control node) : base(uiPanel, node) { } - public override Control Clone() => new (UiPanel, (Godot.Control)Instance.Duplicate()); + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: WeaponRoulette.DownBar + /// + public DownBar L_DownBar + { + get + { + if (_L_DownBar == null) _L_DownBar = new DownBar(UiPanel, Instance.GetNode("DownBar")); + return _L_DownBar; + } + } + private DownBar _L_DownBar; + + public Root(WeaponRoulettePanel uiPanel, Godot.Control node) : base(uiPanel, node) { } + public override Root Clone() => new (UiPanel, (Godot.Control)Instance.Duplicate()); } /// @@ -397,74 +440,74 @@ public Bg S_Bg => L_Bg; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon /// - public WeaponIcon S_WeaponIcon => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_WeaponIcon; + public WeaponIcon S_WeaponIcon => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_WeaponIcon; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel /// - public AmmoLabel S_AmmoLabel => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_AmmoLabel; + public AmmoLabel S_AmmoLabel => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_AmmoLabel; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi /// - public WeaponUi S_WeaponUi => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi; + public WeaponUi S_WeaponUi => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.LockSprite + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.LockSprite /// - public LockSprite S_LockSprite => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_LockSprite; + public LockSprite S_LockSprite => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_LockSprite; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi /// - public SlotUi S_SlotUi => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi; + public SlotUi S_SlotUi => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D /// - public CollisionPolygon2D S_CollisionPolygon2D => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode.L_CollisionPolygon2D; + public CollisionPolygon2D S_CollisionPolygon2D => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode.L_CollisionPolygon2D; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode /// - public SlotAreaNode S_SlotAreaNode => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode; + public SlotAreaNode S_SlotAreaNode => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode /// - public WeaponSlotNode S_WeaponSlotNode => L_Control.L_RouletteBg.L_WeaponSlotNode; + public WeaponSlotNode S_WeaponSlotNode => L_Root.L_RouletteBg.L_WeaponSlotNode; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.RouletteBg + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.RouletteBg /// - public RouletteBg S_RouletteBg => L_Control.L_RouletteBg; + public RouletteBg S_RouletteBg => L_Root.L_RouletteBg; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.ColorRect.Label + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.UpBar.Label2 /// - public Label S_Label => L_Control.L_ColorRect.L_Label; + public Label2 S_Label2 => L_Root.L_UpBar.L_Label2; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.ColorRect.Label2 + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.UpBar.PageLabel /// - public Label2 S_Label2 => L_Control.L_ColorRect.L_Label2; + public PageLabel S_PageLabel => L_Root.L_UpBar.L_PageLabel; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.ColorRect.PageLabel + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.UpBar /// - public PageLabel S_PageLabel => L_Control.L_ColorRect.L_PageLabel; + public UpBar S_UpBar => L_Root.L_UpBar; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control.ColorRect + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root.DownBar /// - public ColorRect S_ColorRect => L_Control.L_ColorRect; + public DownBar S_DownBar => L_Root.L_DownBar; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Control + /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.Root /// - public Control S_Control => L_Control; + public Root S_Root => L_Root; /// /// 场景中唯一名称的节点, 节点类型: , 节点路径: WeaponRoulette.MouseArea.CollisionShape2D diff --git a/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulettePanel.cs b/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulettePanel.cs index a910eeb..1b03c06 100644 --- a/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulettePanel.cs +++ b/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponRoulettePanel.cs @@ -31,7 +31,7 @@ public override void OnCreateUi() { - L_Control.Instance.Visible = false; + S_Root.Instance.Visible = false; S_Bg.Instance.Visible = false; //创建武器插槽 @@ -84,31 +84,46 @@ { S_MouseArea.Instance.GlobalPosition = GetGlobalMousePosition(); - if (_maxPageIndex > 0) + //扔掉武器 + if (ActiveWeapon != null && InputManager.MeleeAttack) { - if (InputManager.ExchangeWeapon) //上一页 + ActiveWeapon.Master.ThrowWeapon(ActiveWeapon.PackageIndex); + ActiveWeapon = null; + RefreshWeapon(); + } + else + { + //上一页/下一页 + if (_maxPageIndex > 0) { - _pageIndex--; - if (_pageIndex < 0) + if (InputManager.ExchangeWeapon) //上一页 { - _pageIndex = _maxPageIndex; - } + _pageIndex--; + if (_pageIndex < 0) + { + _pageIndex = _maxPageIndex; + } - RefreshPageLabel(); - RefreshWeapon(); - } - else if (InputManager.Interactive) //下一页 - { - _pageIndex++; - if (_pageIndex > _maxPageIndex) + RefreshPageLabel(); + RefreshWeapon(); + } + else if (InputManager.Interactive) //下一页 { - _pageIndex = 0; - } + _pageIndex++; + if (_pageIndex > _maxPageIndex) + { + _pageIndex = 0; + } - RefreshPageLabel(); - RefreshWeapon(); + RefreshPageLabel(); + RefreshWeapon(); + } } } + + + //扔掉武器提示 + S_DownBar.Instance.Visible = ActiveWeapon != null; } else { @@ -123,7 +138,7 @@ _pressRouletteFlag = true; _isMagnifyRoulette = true; - L_Control.Instance.Visible = true; + S_Root.Instance.Visible = true; S_Bg.Instance.Visible = true; SetEnableSectorCollision(true); RefreshSlotPage(); @@ -134,7 +149,7 @@ //关闭轮盘 private void ShrinkRoulette() { - L_Control.Instance.Visible = false; + S_Root.Instance.Visible = false; S_Bg.Instance.Visible = false; _isMagnifyRoulette = false; @@ -185,7 +200,7 @@ } } _maxPageIndex = Mathf.CeilToInt((lastIndex + 1f) / SlotCount) - 1; - S_ColorRect.Instance.Visible = _maxPageIndex > 0; + S_UpBar.Instance.Visible = _maxPageIndex > 0; if (_pageIndex > _maxPageIndex) { diff --git a/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponSlot.cs b/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponSlot.cs index 976a0b2..80f3c51 100644 --- a/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponSlot.cs +++ b/DungeonShooting_Godot/src/game/ui/weaponRoulette/WeaponSlot.cs @@ -37,6 +37,11 @@ private void OnAreaExited(Area2D other) { + if (_node.UiPanel.ActiveWeapon == _weapon) + { + _node.UiPanel.ActiveWeapon = null; + } + _node.Instance.Scale = Vector2.One; _node.L_SlotUi.L_WeaponUi.L_WeaponIcon.Instance.Material.SetShaderMaterialParameter(ShaderParamNames.OutlineColor, Colors.Black); }