diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx
index 56a9357..d8be881 100644
--- a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx
index 86ae6d8..621ba94 100644
--- a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx
index 54166ba..3e99bb6 100644
--- a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx
index 977d88e..3365d1e 100644
--- a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/EnemyBase.xlsx b/DungeonShooting_Godot/excel/excelFile/EnemyBase.xlsx
index 649b1cf..4d36cdd 100644
--- a/DungeonShooting_Godot/excel/excelFile/EnemyBase.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/EnemyBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/LiquidMaterial.xlsx b/DungeonShooting_Godot/excel/excelFile/LiquidMaterial.xlsx
index b37ee9d..fbcd2d9 100644
--- a/DungeonShooting_Godot/excel/excelFile/LiquidMaterial.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/LiquidMaterial.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx
index 1ecc6e6..aacb12d 100644
--- a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx
index 142888e..1db86f9 100644
--- a/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/prefab/bullet/laser/Laser0001.tscn b/DungeonShooting_Godot/prefab/bullet/laser/Laser0001.tscn
index 5117e12..9189dc9 100644
--- a/DungeonShooting_Godot/prefab/bullet/laser/Laser0001.tscn
+++ b/DungeonShooting_Godot/prefab/bullet/laser/Laser0001.tscn
@@ -6,10 +6,11 @@
[sub_resource type="RectangleShape2D" id="RectangleShape2D_l4vuk"]
resource_local_to_scene = true
-[node name="Laser0001" type="Area2D"]
+[node name="Laser0001" type="Area2D" node_paths=PackedStringArray("Particles2D")]
collision_layer = 2
monitorable = false
script = ExtResource("1_3w0rp")
+Particles2D = []
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_l4vuk")
diff --git a/DungeonShooting_Godot/prefab/ui/EditorTools.tscn b/DungeonShooting_Godot/prefab/ui/EditorTools.tscn
index cea4982..9817a68 100644
--- a/DungeonShooting_Godot/prefab/ui/EditorTools.tscn
+++ b/DungeonShooting_Godot/prefab/ui/EditorTools.tscn
@@ -100,6 +100,18 @@
layout_mode = 2
text = "运行"
+[node name="HBoxContainer8" type="HBoxContainer" parent="ScrollContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/separation = 5
+
+[node name="Label" type="Label" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8"]
+layout_mode = 2
+text = "打开Excel表文件夹"
+
+[node name="Button" type="Button" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8"]
+layout_mode = 2
+text = "运行"
+
[node name="Confirm" type="ConfirmationDialog" parent="."]
initial_position = 1
size = Vector2i(350, 200)
diff --git a/DungeonShooting_Godot/resource/config/BulletBase.json b/DungeonShooting_Godot/resource/config/BulletBase.json
index dff8861..5985b17 100644
--- a/DungeonShooting_Godot/resource/config/BulletBase.json
+++ b/DungeonShooting_Godot/resource/config/BulletBase.json
@@ -169,7 +169,7 @@
70
],
"BounceCount": [
- 999
+ 4
],
"Penetration": [
0
diff --git a/DungeonShooting_Godot/resource/config/WeaponBase.json b/DungeonShooting_Godot/resource/config/WeaponBase.json
index 8f0b579..3cbe120 100644
--- a/DungeonShooting_Godot/resource/config/WeaponBase.json
+++ b/DungeonShooting_Godot/resource/config/WeaponBase.json
@@ -1,8 +1,8 @@
[
{
"Id": "0001",
- "__Activity": "weapon0001",
"Remark": "\u6B65\u67AA",
+ "__Activity": "weapon0001",
"Weight": 40,
"WeightType": 2,
"IsMelee": false,
@@ -29,6 +29,7 @@
"FinalFiringSpeed": 480,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -78,8 +79,8 @@
},
{
"Id": "0002",
- "__Activity": "",
"Remark": "\u6B65\u67AA",
+ "__Activity": "",
"Weight": 40,
"WeightType": 2,
"IsMelee": false,
@@ -106,6 +107,7 @@
"FinalFiringSpeed": 480,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -155,8 +157,8 @@
},
{
"Id": "0003",
- "__Activity": "weapon0002",
"Remark": "\u9730\u5F39\u67AA",
+ "__Activity": "weapon0002",
"Weight": 40,
"WeightType": 2,
"IsMelee": false,
@@ -183,6 +185,7 @@
"FinalFiringSpeed": 120,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
5
],
@@ -232,8 +235,8 @@
},
{
"Id": "0004",
- "__Activity": "",
"Remark": "\u9730\u5F39\u67AA",
+ "__Activity": "",
"Weight": 40,
"WeightType": 2,
"IsMelee": false,
@@ -260,6 +263,7 @@
"FinalFiringSpeed": 120,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
5
],
@@ -309,8 +313,8 @@
},
{
"Id": "0005",
- "__Activity": "weapon0003",
"Remark": "\u624B\u67AA",
+ "__Activity": "weapon0003",
"Weight": 20,
"WeightType": 1,
"IsMelee": false,
@@ -337,6 +341,7 @@
"FinalFiringSpeed": 460,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -386,8 +391,8 @@
},
{
"Id": "0006",
- "__Activity": "",
"Remark": "\u624B\u67AA",
+ "__Activity": "",
"Weight": 20,
"WeightType": 1,
"IsMelee": false,
@@ -414,6 +419,7 @@
"FinalFiringSpeed": 300,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -463,8 +469,8 @@
},
{
"Id": "0007",
- "__Activity": "weapon0004",
"Remark": "\u5200",
+ "__Activity": "weapon0004",
"Weight": 40,
"WeightType": 2,
"IsMelee": true,
@@ -491,6 +497,7 @@
"FinalFiringSpeed": 180,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -539,8 +546,8 @@
},
{
"Id": "0008",
- "__Activity": "",
"Remark": "\u5200",
+ "__Activity": "",
"Weight": 40,
"WeightType": 2,
"IsMelee": true,
@@ -567,6 +574,7 @@
"FinalFiringSpeed": 180,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -615,8 +623,8 @@
},
{
"Id": "0009",
- "__Activity": "weapon0005",
"Remark": "\u72D9\u51FB\u67AA",
+ "__Activity": "weapon0005",
"Weight": 50,
"WeightType": 2,
"IsMelee": false,
@@ -643,6 +651,7 @@
"FinalFiringSpeed": 150,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -692,8 +701,8 @@
},
{
"Id": "0010",
- "__Activity": "",
"Remark": "\u72D9\u51FB\u67AA",
+ "__Activity": "",
"Weight": 50,
"WeightType": 2,
"IsMelee": false,
@@ -720,6 +729,7 @@
"FinalFiringSpeed": 150,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -769,8 +779,8 @@
},
{
"Id": "0011",
- "__Activity": "weapon0006",
"Remark": "\u51B2\u950B\u67AA",
+ "__Activity": "weapon0006",
"Weight": 30,
"WeightType": 2,
"IsMelee": false,
@@ -797,6 +807,7 @@
"FinalFiringSpeed": 700,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -846,8 +857,8 @@
},
{
"Id": "0012",
- "__Activity": "",
"Remark": "\u51B2\u950B\u67AA",
+ "__Activity": "",
"Weight": 30,
"WeightType": 2,
"IsMelee": false,
@@ -874,6 +885,7 @@
"FinalFiringSpeed": 700,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -923,8 +935,8 @@
},
{
"Id": "0013",
- "__Activity": "weapon0007",
"Remark": "\u6C64\u59C6\u900A\u51B2\u950B\u67AA",
+ "__Activity": "weapon0007",
"Weight": 40,
"WeightType": 2,
"IsMelee": false,
@@ -951,6 +963,7 @@
"FinalFiringSpeed": 700,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0.5,
"FireBulletCountRange": [
1
],
@@ -1000,8 +1013,8 @@
},
{
"Id": "0014",
- "__Activity": "",
"Remark": "\u6C64\u59C6\u900A\u51B2\u950B\u67AA",
+ "__Activity": "",
"Weight": 40,
"WeightType": 2,
"IsMelee": false,
@@ -1028,6 +1041,7 @@
"FinalFiringSpeed": 200,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -1077,8 +1091,8 @@
},
{
"Id": "0015",
- "__Activity": "weapon0008",
"Remark": "\u6FC0\u5149\u624B\u67AA",
+ "__Activity": "weapon0008",
"Weight": 40,
"WeightType": 1,
"IsMelee": false,
@@ -1105,14 +1119,15 @@
"FinalFiringSpeed": 300,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
"DelayedTime": 0,
"StartScatteringRange": 0,
- "FinalScatteringRange": 20,
- "ScatteringRangeAddValue": 4,
- "ScatteringRangeBackSpeed": 40,
+ "FinalScatteringRange": 8,
+ "ScatteringRangeAddValue": 3,
+ "ScatteringRangeBackSpeed": 20,
"ScatteringRangeBackDelayTime": 0.5,
"CameraShake": 2,
"BacklashRange": [
@@ -1154,8 +1169,8 @@
},
{
"Id": "0016",
- "__Activity": "",
"Remark": "\u6FC0\u5149\u624B\u67AA",
+ "__Activity": "",
"Weight": 40,
"WeightType": 1,
"IsMelee": false,
@@ -1182,14 +1197,15 @@
"FinalFiringSpeed": 300,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
"DelayedTime": 0,
"StartScatteringRange": 0,
- "FinalScatteringRange": 20,
- "ScatteringRangeAddValue": 4,
- "ScatteringRangeBackSpeed": 40,
+ "FinalScatteringRange": 8,
+ "ScatteringRangeAddValue": 3,
+ "ScatteringRangeBackSpeed": 20,
"ScatteringRangeBackDelayTime": 0.5,
"CameraShake": 2,
"BacklashRange": [
@@ -1231,8 +1247,8 @@
},
{
"Id": "0017",
- "__Activity": "weapon0009",
"Remark": "\u69B4\u5F39\u53D1\u5C04\u5668",
+ "__Activity": "weapon0009",
"Weight": 40,
"WeightType": 1,
"IsMelee": false,
@@ -1259,6 +1275,7 @@
"FinalFiringSpeed": 60,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
@@ -1308,8 +1325,8 @@
},
{
"Id": "0018",
- "__Activity": "",
"Remark": "\u69B4\u5F39\u53D1\u5C04\u5668",
+ "__Activity": "",
"Weight": 40,
"WeightType": 1,
"IsMelee": false,
@@ -1336,6 +1353,7 @@
"FinalFiringSpeed": 60,
"FiringSpeedAddSpeed": 0,
"FiringSpeedBackSpeed": 0,
+ "FiringSpeedBackTime": 0,
"FireBulletCountRange": [
1
],
diff --git a/DungeonShooting_Godot/src/config/ExcelConfig_WeaponBase.cs b/DungeonShooting_Godot/src/config/ExcelConfig_WeaponBase.cs
index 8a535fd..e3de8cf 100644
--- a/DungeonShooting_Godot/src/config/ExcelConfig_WeaponBase.cs
+++ b/DungeonShooting_Godot/src/config/ExcelConfig_WeaponBase.cs
@@ -14,17 +14,17 @@
public string Id;
///
- /// 属性绑定武器的Id,这个id时ActivityBase表Id,如果是Ai使用的数据, 则填空字符串串
- ///
- public ActivityBase Activity;
-
- ///
/// 备注
///
[JsonInclude]
public string Remark;
///
+ /// 属性绑定武器的Id,这个id时ActivityBase表Id,如果是Ai使用的数据, 则填空字符串串
+ ///
+ public ActivityBase Activity;
+
+ ///
/// 重量
///
[JsonInclude]
@@ -173,6 +173,12 @@
public float FiringSpeedBackSpeed;
///
+ /// 松开扳机后射速消散开始时间, 单位: 秒
+ ///
+ [JsonInclude]
+ public float FiringSpeedBackTime;
+
+ ///
/// 单次开火发射子弹数量区间
/// 格式为[value]或者[min,max]
///
@@ -381,8 +387,8 @@
{
var inst = new WeaponBase();
inst.Id = Id;
- inst.Activity = Activity;
inst.Remark = Remark;
+ inst.Activity = Activity;
inst.Weight = Weight;
inst.WeightType = WeightType;
inst.IsMelee = IsMelee;
@@ -407,6 +413,7 @@
inst.FinalFiringSpeed = FinalFiringSpeed;
inst.FiringSpeedAddSpeed = FiringSpeedAddSpeed;
inst.FiringSpeedBackSpeed = FiringSpeedBackSpeed;
+ inst.FiringSpeedBackTime = FiringSpeedBackTime;
inst.FireBulletCountRange = FireBulletCountRange;
inst.DelayedTime = DelayedTime;
inst.StartScatteringRange = StartScatteringRange;
diff --git a/DungeonShooting_Godot/src/game/activity/bullet/laser/Laser.cs b/DungeonShooting_Godot/src/game/activity/bullet/laser/Laser.cs
index 56735dd..785f4a8 100644
--- a/DungeonShooting_Godot/src/game/activity/bullet/laser/Laser.cs
+++ b/DungeonShooting_Godot/src/game/activity/bullet/laser/Laser.cs
@@ -127,7 +127,7 @@
//执行反弹
if (doRebound)
{
- OnRebound(reboundPosition.Value, reboundNormal.Value);
+ CallDeferred(nameof(OnRebound), reboundPosition.Value, reboundNormal.Value);
}
Collision.SetDeferred(CollisionShape2D.PropertyName.Disabled, false);
}));
diff --git a/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs b/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs
index fa7e3b6..1a763f3 100644
--- a/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs
+++ b/DungeonShooting_Godot/src/game/activity/bullet/normal/BoomBullet.cs
@@ -31,6 +31,7 @@
if (CurrentBounce > BulletData.BounceCount) //反弹次数超过限制
{
PlayBoom();
+ DoReclaim();
}
else
{
diff --git a/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs
index eb92364..2f4a139 100644
--- a/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs
+++ b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs
@@ -149,6 +149,11 @@
///
public long TriggerRoleAttackLayer { get; private set; }
+ ///
+ /// 武器当前射速
+ ///
+ public float CurrentFiringSpeed { get; private set; }
+
//--------------------------------------------------------------------------------------------
//用于记录是否有角色操作过这把武器
@@ -467,6 +472,8 @@
_attackTimer = _attackTimer > 0 ? _attackTimer - delta : 0;
//武器的当前散射半径
ScatteringRangeBackHandler(delta);
+ //武器当前射速
+ FiringSpeedBackHandler(delta);
//松开扳机
if (_triggerFlag || _downTimer > 0)
{
@@ -662,12 +669,21 @@
}
}
- //散射值销退
+ //散射值消退
if (_noAttackTime >= Attribute.ScatteringRangeBackDelayTime)
{
ScatteringRangeBackHandler(delta);
}
+ if (_triggerFlag) //射速增加
+ {
+ FiringSpeedAddHandler(delta);
+ }
+ else if (_noAttackTime >= Attribute.FiringSpeedBackTime) //射速消退
+ {
+ FiringSpeedBackHandler(delta);
+ }
+
_triggerTimer = _triggerTimer > 0 ? _triggerTimer - delta : 0;
_triggerFlag = false;
_attackFlag = false;
@@ -1009,7 +1025,7 @@
}
//开火间隙, 这里的60指的是60秒
- _fireInterval = 60 / Attribute.StartFiringSpeed;
+ _fireInterval = 60 / CurrentFiringSpeed;
//攻击冷却
_attackTimer += _fireInterval;
@@ -1548,6 +1564,34 @@
}
}
+ //射速增加处理
+ private void FiringSpeedAddHandler(float delta)
+ {
+ if (Attribute.ContinuousShoot)
+ {
+ CurrentFiringSpeed = Mathf.MoveToward(CurrentFiringSpeed, Attribute.FinalFiringSpeed,
+ Attribute.FiringSpeedAddSpeed * delta);
+ }
+ else
+ {
+ CurrentFiringSpeed = Attribute.StartFiringSpeed;
+ }
+ }
+
+ //射速衰减处理
+ private void FiringSpeedBackHandler(float delta)
+ {
+ if (Attribute.ContinuousShoot)
+ {
+ CurrentFiringSpeed = Mathf.MoveToward(CurrentFiringSpeed, Attribute.StartFiringSpeed,
+ Attribute.FiringSpeedBackSpeed * delta);
+ }
+ else
+ {
+ CurrentFiringSpeed = Attribute.StartFiringSpeed;
+ }
+ }
+
///
/// 换弹计时器时间到, 执行换弹操作
///
diff --git a/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs b/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs
index 28c78f3..ea4d712 100644
--- a/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs
+++ b/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs
@@ -342,6 +342,59 @@
}
///
+ /// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.HBoxContainer8.Label
+ ///
+ public class Label_5 : UiNode
+ {
+ public Label_5(EditorToolsPanel uiPanel, Godot.Label node) : base(uiPanel, node) { }
+ public override Label_5 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.HBoxContainer8.Button
+ ///
+ public class Button_5 : UiNode
+ {
+ public Button_5(EditorToolsPanel uiPanel, Godot.Button node) : base(uiPanel, node) { }
+ public override Button_5 Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.HBoxContainer8
+ ///
+ public class HBoxContainer8 : UiNode
+ {
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.Label
+ ///
+ public Label_5 L_Label
+ {
+ get
+ {
+ if (_L_Label == null) _L_Label = new Label_5(UiPanel, Instance.GetNode("Label"));
+ return _L_Label;
+ }
+ }
+ private Label_5 _L_Label;
+
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.Button
+ ///
+ public Button_5 L_Button
+ {
+ get
+ {
+ if (_L_Button == null) _L_Button = new Button_5(UiPanel, Instance.GetNode("Button"));
+ return _L_Button;
+ }
+ }
+ private Button_5 _L_Button;
+
+ public HBoxContainer8(EditorToolsPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { }
+ public override HBoxContainer8 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate());
+ }
+
+ ///
/// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer
///
public class VBoxContainer : UiNode
@@ -411,6 +464,19 @@
}
private HBoxContainer7 _L_HBoxContainer7;
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.HBoxContainer8
+ ///
+ public HBoxContainer8 L_HBoxContainer8
+ {
+ get
+ {
+ if (_L_HBoxContainer8 == null) _L_HBoxContainer8 = new HBoxContainer8(UiPanel, Instance.GetNode("HBoxContainer8"));
+ return _L_HBoxContainer8;
+ }
+ }
+ private HBoxContainer8 _L_HBoxContainer8;
+
public VBoxContainer(EditorToolsPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { }
public override VBoxContainer Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate());
}
@@ -509,6 +575,11 @@
public HBoxContainer7 S_HBoxContainer7 => L_ScrollContainer.L_MarginContainer.L_VBoxContainer.L_HBoxContainer7;
///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.HBoxContainer8
+ ///
+ public HBoxContainer8 S_HBoxContainer8 => L_ScrollContainer.L_MarginContainer.L_VBoxContainer.L_HBoxContainer8;
+
+ ///
/// 场景中唯一名称的节点, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer
///
public VBoxContainer S_VBoxContainer => L_ScrollContainer.L_MarginContainer.L_VBoxContainer;
diff --git a/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs b/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs
index 9116891..864e2a4 100644
--- a/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs
@@ -3,6 +3,7 @@
using System.IO;
using System.Text.RegularExpressions;
using Godot;
+using Environment = System.Environment;
#if TOOLS
using Generator;
@@ -58,6 +59,8 @@
container.L_HBoxContainer5.L_Button.Instance.Pressed += GenerateUiManagerMethods;
//导出excel表
container.L_HBoxContainer7.L_Button.Instance.Pressed += ExportExcel;
+ //打开excel表文件夹
+ container.L_HBoxContainer8.L_Button.Instance.Pressed += OpenExportExcelFolder;
}
public override void OnHideUi()
@@ -76,6 +79,7 @@
container.L_HBoxContainer3.L_Button.Instance.Pressed -= OnCreateUI;
container.L_HBoxContainer5.L_Button.Instance.Pressed -= GenerateUiManagerMethods;
container.L_HBoxContainer7.L_Button.Instance.Pressed -= ExportExcel;
+ container.L_HBoxContainer8.L_Button.Instance.Pressed -= OpenExportExcelFolder;
}
///
@@ -293,6 +297,15 @@
ExcelGenerator.ExportExcel();
ShowTips("提示", "已启动导表程序, 注意查看控制台信息!");
}
+
+ ///
+ /// 使用资源管理器打开excel表文件夹
+ ///
+ private void OpenExportExcelFolder()
+ {
+ var path = Environment.CurrentDirectory + "\\excel\\excelFile";
+ System.Diagnostics.Process.Start("explorer.exe", path);
+ }
///
/// 在编辑器中打开一个提示窗口