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);
}