diff --git "a/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" "b/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" index 3e59e55..d9a634d 100644 --- "a/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" +++ "b/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" @@ -1,5 +1,26 @@ --- +### 2023-06-21 +本轮主要更改美术素材和添加音效, 并且使用excel作为项目配置表, 添加完整的游戏开始与结束流程 +主要工作内容如下: +* 完成简易且完整的游戏流程, 添加主菜单, 加载, 和结算页面, 主菜单包括`开始游戏`, `设置`, `结束游戏`三个按钮, 点击`开始游戏`进入加载页面, 加载完成后进入地牢. 当玩家死亡后跳出结算页面, 结算页面包含`重新开始`和`回到主菜单`的按钮 +* 优化渲染大量静态`Sprite`, 实现类为`ImageCanvas.cs`, 原理是将`Texture2D`的纹理数据绘制到另一张`Image`上, 并使用`Sprite2D`来渲染这张`Image`, 这样只需要调用一次渲染API就可以永久保存纹理数据, 为了防止同一帧突然添加大量渲染的图片导致处理时间过长, 这里引入了一个渲染队列机制, 如果渲染时间超过阈值时间, 后面的图片就放到下一帧渲染, 以确保游戏能稳定60帧运行 +* 现在每个地牢房间会生成一个`ImageCanvas`实例, 并覆盖整个房间, 武器抛出的弹壳或者其它`ActivityObject`可以调用`ActivityObject.BecomesStaticImage()`函数将物体的纹理渲染到房间的`ImageCanvas`上, 并且销毁当前对象, 这样大大节省性能开销 +* 新增读取excel配置表功能, 在插件中添加`导出excel表`按钮, 点击后会读取目录`DungeonShooting_Godot\excel\excelFile`下的所有`.xlsx`文件, 并生成对应的json配置文件和读取json的c#代码文件, 也就是根据excel表结构生成对应的实体类代码, 导出工具支持数据类型: `基础数据类型`, `Array`, `Dictionary`, 并且支持引用其它excel表 +* 更改`ActivityObject`创建流程, 现在不再像以前一样在编辑器中创建`ActivityObjectTemplate`了, 也不需要再`ActivityObject`子类上添加`[RegisterActivity]`标记, `ActivityObjectTemplate`和`RegisterActivity`类已被移除, 现在是直接在编辑器中创建`ActivityObject`子类节点, 注册对象需要在`ActivityObject.xlsx`表中填写物体`id`和`prefab路径` +* 更新地牢生成器, 添加支持生成boss房间, 生成器添加更多特性, 修复一个连接地牢房间失败的bug +* 地牢房间的门添加打开和关闭效果, 关门后房间外的敌人丢失目标 +* 新增输入管理器`InputManager.cs` +* 武器属性移入`Weapon.xlsx`配置表, 添加更多新属性, 用于创建更丰富的武器, 并且支持配置音效 +* 新增`狙击枪`和`冲锋枪` +* 武器素材更新, 为每种武器添加射击音效, 换弹音效, 上膛音效(音效包从unity商城和fanatical购买的), 并且游戏中左下角的武器预览ui会同步玩家手上的武器动画 +* 修复敌人扔出武器的一瞬间会触发重新拾起武器拾起的bug +* 修复投抛物体中心点位置计算不正确的bug +* 修复武器扔出去的一瞬间阴影位置不正确的bug +* 编辑器中生成`ResourcePathGenerator.cs`支持排除指定路径文件夹 +* 修复播放音效和背景音乐的API设置音量存在的bug + +--- ### 2023-05-10 本轮主要优化视觉上的效果, 并且完善模板房间创建的功能, 主要工作内容有: * 添加房间门的美术资源, 但是该资源依旧是一个临时资源 @@ -22,6 +43,7 @@ * 添加Ai使用武器属性变化: `AiBulletSpeedScale`, Ai使用该武器发射的子弹速度缩放比; `AiAmmoConsumptionProbability`, Ai使用该武器消耗弹药的概率 --- +--- ### 2023-03-19 本周主要完成Godot编辑器插件扩展, 目的为了更加方便为游戏添加内容, 主要工作内容如有: * 将原来编辑器中的`automation`面板移到Godot编辑器`2D`/`Script`这一栏, 并重命名为`Tools` diff --git a/DungeonShooting_ExcelTool/ExcelGenerator.cs b/DungeonShooting_ExcelTool/ExcelGenerator.cs index 6ee11ed..b400039 100644 --- a/DungeonShooting_ExcelTool/ExcelGenerator.cs +++ b/DungeonShooting_ExcelTool/ExcelGenerator.cs @@ -7,11 +7,7 @@ { private const string CodeOutPath = "src/config/"; private const string JsonOutPath = "resource/config/"; -#if DEBUG private const string ExcelFilePath = "excelFile"; -#else - private const string ExcelFilePath = "excel/excelFile"; -#endif private static HashSet _excelNames = new HashSet(); @@ -62,15 +58,23 @@ public Dictionary ColumnType = new Dictionary(); public List> DataList = new List>(); } - + public static bool ExportExcel() { + return ExportExcel(ExcelFilePath, JsonOutPath, CodeOutPath); + } + + public static bool ExportExcel(string excelFilePath, string jsonOutPath, string codeOutPath) + { Console.WriteLine("当前路径: " + Environment.CurrentDirectory); + Console.WriteLine("excel路径: " + excelFilePath); + Console.WriteLine("json输出路径: " + jsonOutPath); + Console.WriteLine("cs代码输出路径: " + codeOutPath); try { var excelDataList = new List(); - var directoryInfo = new DirectoryInfo(ExcelFilePath); + var directoryInfo = new DirectoryInfo(excelFilePath); if (directoryInfo.Exists) { var fileInfos = directoryInfo.GetFiles(); @@ -101,29 +105,29 @@ return true; } - if (Directory.Exists(CodeOutPath)) + if (Directory.Exists(codeOutPath)) { - Directory.Delete(CodeOutPath, true); + Directory.Delete(codeOutPath, true); } - if (Directory.Exists(JsonOutPath)) + if (Directory.Exists(jsonOutPath)) { - Directory.Delete(JsonOutPath, true); + Directory.Delete(jsonOutPath, true); } - Directory.CreateDirectory(CodeOutPath); - Directory.CreateDirectory(JsonOutPath); + Directory.CreateDirectory(codeOutPath); + Directory.CreateDirectory(jsonOutPath); //保存配置和代码 foreach (var excelData in excelDataList) { - File.WriteAllText(CodeOutPath + "ExcelConfig_" + excelData.TableName + ".cs", excelData.OutCode); + File.WriteAllText(codeOutPath + "ExcelConfig_" + excelData.TableName + ".cs", excelData.OutCode); var config = new JsonSerializerOptions(); config.WriteIndented = true; - File.WriteAllText(JsonOutPath + excelData.TableName + ".json", JsonSerializer.Serialize(excelData.DataList, config)); + File.WriteAllText(jsonOutPath + excelData.TableName + ".json", JsonSerializer.Serialize(excelData.DataList, config)); } //生成加载代码 var code = GeneratorInitCode(excelDataList); - File.WriteAllText(CodeOutPath + "ExcelConfig.cs", code); + File.WriteAllText(codeOutPath + "ExcelConfig.cs", code); } catch (Exception e) { diff --git a/DungeonShooting_ExcelTool/Program.cs b/DungeonShooting_ExcelTool/Program.cs index 142920d..d6384c0 100644 --- a/DungeonShooting_ExcelTool/Program.cs +++ b/DungeonShooting_ExcelTool/Program.cs @@ -4,7 +4,17 @@ public static void Main(string[] args) { Console.WriteLine("准备导出excel表..."); - if (ExcelGenerator.ExportExcel()) + bool success; + if (args.Length >= 3) + { + success = ExcelGenerator.ExportExcel(args[0], args[1], args[2]); + } + else + { + success = ExcelGenerator.ExportExcel(); + } + + if (success) { Console.WriteLine("excel表导出成功!"); } diff --git a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.dll b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.dll index c2ed8e7..d8ba4b8 100644 --- a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.dll +++ b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.exe b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.exe index c623fc8..bb1931a 100644 --- a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.exe +++ b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.exe Binary files differ diff --git a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.pdb b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.pdb index 3b1e68d..a963cf3 100644 --- a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.pdb +++ b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.pdb Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx index 4eda85d..6fad837 100644 --- a/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx index 73dc578..9c3046b 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/Weapon.xlsx b/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx index 675749f..cbea38c 100644 --- a/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx Binary files differ diff --git a/DungeonShooting_Godot/prefab/shell/Shell0002.tscn b/DungeonShooting_Godot/prefab/shell/Shell0002.tscn new file mode 100644 index 0000000..edc3418 --- /dev/null +++ b/DungeonShooting_Godot/prefab/shell/Shell0002.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=6 format=3 uid="uid://cdhinm8rnppxt"] + +[ext_resource type="Script" path="res://src/game/activity/shell/Shell.cs" id="1_qi64y"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_s28nu"] +[ext_resource type="SpriteFrames" uid="uid://cj8psdl2pova6" path="res://resource/spriteFrames/Shell0002.tres" id="3_r560h"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_px12l"] +resource_local_to_scene = true +shader = ExtResource("2_s28nu") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1.0 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7e6fo"] +resource_local_to_scene = true +shader = ExtResource("2_s28nu") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0.0 + +[node name="Shell0002" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 128 +script = ExtResource("1_qi64y") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_px12l") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_7e6fo") +sprite_frames = ExtResource("3_r560h") + +[node name="Collision" type="CollisionShape2D" parent="."] diff --git a/DungeonShooting_Godot/prefab/shell/Shell0003.tscn b/DungeonShooting_Godot/prefab/shell/Shell0003.tscn new file mode 100644 index 0000000..42221a6 --- /dev/null +++ b/DungeonShooting_Godot/prefab/shell/Shell0003.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=6 format=3 uid="uid://ba5sxxjaappbj"] + +[ext_resource type="Script" path="res://src/game/activity/shell/Shell.cs" id="1_5hfb2"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_586dn"] +[ext_resource type="SpriteFrames" uid="uid://kc1jwvwdg660" path="res://resource/spriteFrames/Shell0003.tres" id="3_j2kre"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_px12l"] +resource_local_to_scene = true +shader = ExtResource("2_586dn") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1.0 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7e6fo"] +resource_local_to_scene = true +shader = ExtResource("2_586dn") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0.0 + +[node name="Shell0003" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 128 +script = ExtResource("1_5hfb2") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_px12l") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_7e6fo") +sprite_frames = ExtResource("3_j2kre") + +[node name="Collision" type="CollisionShape2D" parent="."] diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon0002.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon0002.tscn index 2aa969b..6bfbeb4 100644 --- a/DungeonShooting_Godot/prefab/weapon/Weapon0002.tscn +++ b/DungeonShooting_Godot/prefab/weapon/Weapon0002.tscn @@ -75,7 +75,7 @@ [node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] material = SubResource("ShaderMaterial_o36tv") sprite_frames = ExtResource("3_4h3je") -animation = &"equip" +animation = &"beLoaded" [node name="ShellPoint" type="Marker2D" parent="AnimatedSprite"] position = Vector2(-3, -2) diff --git a/DungeonShooting_Godot/resource/config/ActivityObject.json b/DungeonShooting_Godot/resource/config/ActivityObject.json index 81bc791..8551ca6 100644 --- a/DungeonShooting_Godot/resource/config/ActivityObject.json +++ b/DungeonShooting_Godot/resource/config/ActivityObject.json @@ -66,6 +66,18 @@ "Remark": "" }, { + "Id": "shell0002", + "Type": 7, + "Prefab": "res://prefab/shell/Shell0002.tscn", + "Remark": "" + }, + { + "Id": "shell0003", + "Type": 7, + "Prefab": "res://prefab/shell/Shell0003.tscn", + "Remark": "" + }, + { "Id": "effect0001", "Type": 8, "Prefab": "res://prefab/effect/activityObject/Effect0001.tscn", diff --git a/DungeonShooting_Godot/resource/config/Sound.json b/DungeonShooting_Godot/resource/config/Sound.json index 19ebaaf..43673b4 100644 --- a/DungeonShooting_Godot/resource/config/Sound.json +++ b/DungeonShooting_Godot/resource/config/Sound.json @@ -96,98 +96,98 @@ "Remark": "\u9730\u5F39\u67AA" }, { - "Id": "equip0001", - "Path": "res://resource/sound/sfx/equip/Equip0001.ogg", + "Id": "beLoaded0001", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0001.ogg", "Volume": 1, "Remark": "" }, { - "Id": "equip0002", - "Path": "res://resource/sound/sfx/equip/Equip0002.ogg", + "Id": "beLoaded0002", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0002.ogg", "Volume": 1, "Remark": "" }, { - "Id": "equip0003", - "Path": "res://resource/sound/sfx/equip/Equip0003.ogg", + "Id": "beLoaded0003", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0003.ogg", "Volume": 1, "Remark": "" }, { - "Id": "equip0004", - "Path": "res://resource/sound/sfx/equip/Equip0004.ogg", + "Id": "beLoaded0004", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0004.ogg", "Volume": 1, "Remark": "\u9730\u5F39\u67AA" }, { - "Id": "equip0005", - "Path": "res://resource/sound/sfx/equip/Equip0005.ogg", + "Id": "beLoaded0005", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0005.ogg", "Volume": 1, "Remark": "\u9730\u5F39\u67AA" }, { - "Id": "equip0006", - "Path": "res://resource/sound/sfx/equip/Equip0006.ogg", + "Id": "beLoaded0006", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0006.ogg", "Volume": 1, "Remark": "\u9730\u5F39\u67AA" }, { - "Id": "equip0007", - "Path": "res://resource/sound/sfx/equip/Equip0007.ogg", + "Id": "beLoaded0007", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0007.ogg", "Volume": 1, "Remark": "\u72D9\u51FB\u67AA" }, { - "Id": "equip0008", - "Path": "res://resource/sound/sfx/equip/Equip0008.ogg", + "Id": "beLoaded0008", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0008.ogg", "Volume": 1, "Remark": "\u72D9\u51FB\u67AA" }, { - "Id": "equip0009", - "Path": "res://resource/sound/sfx/equip/Equip0009.ogg", + "Id": "beLoaded0009", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0009.ogg", "Volume": 1, "Remark": "\u72D9\u51FB\u67AA" }, { - "Id": "equip0010", - "Path": "res://resource/sound/sfx/equip/Equip0010.ogg", + "Id": "beLoaded0010", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0010.ogg", "Volume": 1, "Remark": "\u6B65\u67AA" }, { - "Id": "equip0011", - "Path": "res://resource/sound/sfx/equip/Equip0011.ogg", + "Id": "beLoaded0011", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0011.ogg", "Volume": 1, "Remark": "\u6B65\u67AA" }, { - "Id": "equip0012", - "Path": "res://resource/sound/sfx/equip/Equip0012.ogg", + "Id": "beLoaded0012", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0012.ogg", "Volume": 1, "Remark": "\u6B65\u67AA" }, { - "Id": "equip0013", - "Path": "res://resource/sound/sfx/equip/Equip0013.ogg", + "Id": "beLoaded0013", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0013.ogg", "Volume": 1, "Remark": "\u6B65\u67AA" }, { - "Id": "equip0014", - "Path": "res://resource/sound/sfx/equip/Equip0014.ogg", + "Id": "beLoaded0014", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0014.ogg", "Volume": 1, "Remark": "\u624B\u67AA" }, { - "Id": "equip0015", - "Path": "res://resource/sound/sfx/equip/Equip0015.ogg", + "Id": "beLoaded0015", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0015.ogg", "Volume": 1, "Remark": "\u624B\u67AA" }, { - "Id": "equip0016", - "Path": "res://resource/sound/sfx/equip/Equip0016.ogg", + "Id": "beLoaded0016", + "Path": "res://resource/sound/sfx/beLoaded/BeLoaded0016.ogg", "Volume": 1, "Remark": "\u51B2\u950B\u67AA" } diff --git a/DungeonShooting_Godot/resource/config/Weapon.json b/DungeonShooting_Godot/resource/config/Weapon.json index 6855a9c..afa027f 100644 --- a/DungeonShooting_Godot/resource/config/Weapon.json +++ b/DungeonShooting_Godot/resource/config/Weapon.json @@ -18,6 +18,8 @@ "AloneReloadCanShoot": false, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 0, @@ -40,12 +42,16 @@ "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", + "BulletMaxHarm": 4, + "BulletMinHarm": 4, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 350, "BulletMinSpeed": 350, "BulletMinDistance": 300, "BulletMaxDistance": 400, + "ShellId": "shell0001", + "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -55,10 +61,10 @@ "BeginReloadSoundDelayTime": 0.2, "__ReloadSound": "", "ReloadSoundDelayTime": 0, - "__ReloadFinishSound": "equip0011", + "__ReloadFinishSound": "beLoaded0011", "ReloadFinishSoundAdvanceTime": 0.4, - "__EquipSound": "", - "EquipSoundDelayTime": 0, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "0002", "AiTargetLockingTime": 0, @@ -84,6 +90,8 @@ "AloneReloadCanShoot": false, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0, "MinContinuousCount": 3, "MaxContinuousCount": 3, "TriggerInterval": 3, @@ -106,12 +114,16 @@ "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", + "BulletMaxHarm": 4, + "BulletMinHarm": 4, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 350, "BulletMinSpeed": 350, "BulletMinDistance": 300, "BulletMaxDistance": 400, + "ShellId": "shell0001", + "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -121,14 +133,14 @@ "BeginReloadSoundDelayTime": 0.2, "__ReloadSound": "", "ReloadSoundDelayTime": 0, - "__ReloadFinishSound": "equip0011", + "__ReloadFinishSound": "beLoaded0011", "ReloadFinishSoundAdvanceTime": 0.4, - "__EquipSound": "", - "EquipSoundDelayTime": 0, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "", "AiTargetLockingTime": 0.5, - "AiBulletSpeedScale": 0.6, + "AiBulletSpeedScale": 0.5, "AiAmmoConsumptionProbability": 0 }, { @@ -150,11 +162,13 @@ "AloneReloadCanShoot": true, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0.6, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 0, - "StartFiringSpeed": 55, - "FinalFiringSpeed": 55, + "StartFiringSpeed": 120, + "FinalFiringSpeed": 120, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, "MinFireBulletCount": 5, @@ -170,14 +184,18 @@ "BacklashRegressionSpeed": 35, "UpliftAngle": 15, "DefaultAngle": 0, - "UpliftAngleRestore": 2.5, + "UpliftAngleRestore": 1, "BulletId": "bullet0002", + "BulletMaxHarm": 4, + "BulletMinHarm": 4, "BulletMinDeviationAngle": -10, "BulletMaxDeviationAngle": 10, "BulletMaxSpeed": 280, "BulletMinSpeed": 380, "BulletMinDistance": 200, "BulletMaxDistance": 250, + "ShellId": "shell0002", + "ThrowShellDelayTime": 0.2, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -189,8 +207,8 @@ "ReloadSoundDelayTime": 0, "__ReloadFinishSound": "reloadFinish0002", "ReloadFinishSoundAdvanceTime": 0.3, - "__EquipSound": "equip0005", - "EquipSoundDelayTime": 0.4, + "__BeLoadedSound": "beLoaded0005", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "0004", "AiTargetLockingTime": 0, @@ -216,11 +234,13 @@ "AloneReloadCanShoot": true, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0.6, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 3.5, - "StartFiringSpeed": 55, - "FinalFiringSpeed": 55, + "StartFiringSpeed": 120, + "FinalFiringSpeed": 120, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, "MinFireBulletCount": 5, @@ -236,14 +256,18 @@ "BacklashRegressionSpeed": 35, "UpliftAngle": 15, "DefaultAngle": 0, - "UpliftAngleRestore": 2.5, + "UpliftAngleRestore": 1, "BulletId": "bullet0002", + "BulletMaxHarm": 4, + "BulletMinHarm": 4, "BulletMinDeviationAngle": -10, "BulletMaxDeviationAngle": 10, "BulletMaxSpeed": 280, "BulletMinSpeed": 380, "BulletMinDistance": 200, "BulletMaxDistance": 250, + "ShellId": "shell0002", + "ThrowShellDelayTime": 0.2, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -255,12 +279,12 @@ "ReloadSoundDelayTime": 0, "__ReloadFinishSound": "reloadFinish0002", "ReloadFinishSoundAdvanceTime": 0.3, - "__EquipSound": "equip0005", - "EquipSoundDelayTime": 0.4, + "__BeLoadedSound": "beLoaded0005", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "", "AiTargetLockingTime": 0.4, - "AiBulletSpeedScale": 0.6, + "AiBulletSpeedScale": 0.5, "AiAmmoConsumptionProbability": 0 }, { @@ -282,11 +306,13 @@ "AloneReloadCanShoot": false, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0.05, "MinContinuousCount": 1, "MaxContinuousCount": 1, - "TriggerInterval": 0.1, - "StartFiringSpeed": 300, - "FinalFiringSpeed": 300, + "TriggerInterval": 0, + "StartFiringSpeed": 460, + "FinalFiringSpeed": 460, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, "MinFireBulletCount": 1, @@ -304,12 +330,16 @@ "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", + "BulletMaxHarm": 4, + "BulletMinHarm": 4, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 350, "BulletMinSpeed": 350, "BulletMinDistance": 250, "BulletMaxDistance": 300, + "ShellId": "shell0001", + "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -319,10 +349,10 @@ "BeginReloadSoundDelayTime": 0, "__ReloadSound": "", "ReloadSoundDelayTime": 0, - "__ReloadFinishSound": "equip0015", + "__ReloadFinishSound": "beLoaded0015", "ReloadFinishSoundAdvanceTime": 0.43, - "__EquipSound": "", - "EquipSoundDelayTime": 0, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "0006", "AiTargetLockingTime": 0, @@ -348,6 +378,8 @@ "AloneReloadCanShoot": false, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0.05, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 2, @@ -370,12 +402,16 @@ "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", + "BulletMaxHarm": 4, + "BulletMinHarm": 4, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 350, "BulletMinSpeed": 350, "BulletMinDistance": 250, "BulletMaxDistance": 300, + "ShellId": "shell0001", + "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -385,14 +421,14 @@ "BeginReloadSoundDelayTime": 0, "__ReloadSound": "", "ReloadSoundDelayTime": 0, - "__ReloadFinishSound": "equip0015", + "__ReloadFinishSound": "beLoaded0015", "ReloadFinishSoundAdvanceTime": 0.43, - "__EquipSound": "", - "EquipSoundDelayTime": 0, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "", "AiTargetLockingTime": 1, - "AiBulletSpeedScale": 0.6, + "AiBulletSpeedScale": 0.5, "AiAmmoConsumptionProbability": 0 }, { @@ -414,6 +450,8 @@ "AloneReloadCanShoot": false, "LooseShoot": true, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 0, @@ -436,12 +474,16 @@ "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", + "BulletMaxHarm": 25, + "BulletMinHarm": 25, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 350, "BulletMinSpeed": 350, "BulletMinDistance": 35, "BulletMaxDistance": 35, + "ShellId": "", + "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -453,8 +495,8 @@ "ReloadSoundDelayTime": 0, "__ReloadFinishSound": "", "ReloadFinishSoundAdvanceTime": 0, - "__EquipSound": "", - "EquipSoundDelayTime": 0, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "0008", "AiTargetLockingTime": 0, @@ -480,6 +522,8 @@ "AloneReloadCanShoot": false, "LooseShoot": true, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 3, @@ -502,12 +546,16 @@ "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0001", + "BulletMaxHarm": 25, + "BulletMinHarm": 25, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 350, "BulletMinSpeed": 350, "BulletMinDistance": 35, "BulletMaxDistance": 35, + "ShellId": "", + "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -519,12 +567,12 @@ "ReloadSoundDelayTime": 0, "__ReloadFinishSound": "", "ReloadFinishSoundAdvanceTime": 0, - "__EquipSound": "", - "EquipSoundDelayTime": 0, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "", "AiTargetLockingTime": 0.7, - "AiBulletSpeedScale": 0.6, + "AiBulletSpeedScale": 0.5, "AiAmmoConsumptionProbability": 0 }, { @@ -538,7 +586,7 @@ "AmmoCapacity": 10, "MaxAmmoCapacity": 50, "StandbyAmmoCapacity": 40, - "ReloadTime": 2.5, + "ReloadTime": 3, "AloneReload": false, "AloneReloadCount": 1, "AloneReloadBeginIntervalTime": 0, @@ -546,11 +594,13 @@ "AloneReloadCanShoot": false, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": false, + "BeLoadedTime": 0.9, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 0, - "StartFiringSpeed": 45, - "FinalFiringSpeed": 45, + "StartFiringSpeed": 150, + "FinalFiringSpeed": 150, "FiringSpeedAddSpeed": 0, "FiringSpeedBackSpeed": 0, "MinFireBulletCount": 1, @@ -566,31 +616,107 @@ "BacklashRegressionSpeed": 20, "UpliftAngle": 15, "DefaultAngle": 0, - "UpliftAngleRestore": 4, + "UpliftAngleRestore": 1, "BulletId": "bullet0001", + "BulletMaxHarm": 30, + "BulletMinHarm": 30, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 600, "BulletMinSpeed": 600, "BulletMinDistance": 700, "BulletMaxDistance": 900, + "ShellId": "shell0003", + "ThrowShellDelayTime": 0.2, "ThrowCollisionSize": { "X": 20, "Y": 15 }, "__ShootSound": "shooting0008", "__BeginReloadSound": "reloadBegin0009", - "BeginReloadSoundDelayTime": 0.3, + "BeginReloadSoundDelayTime": 0, "__ReloadSound": "", "ReloadSoundDelayTime": 0, - "__ReloadFinishSound": "equip0007", + "__ReloadFinishSound": "beLoaded0007", "ReloadFinishSoundAdvanceTime": 1, - "__EquipSound": "equip0007", - "EquipSoundDelayTime": 0.5, + "__BeLoadedSound": "beLoaded0007", + "BeLoadedSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "0010", + "AiTargetLockingTime": 0, + "AiBulletSpeedScale": 0, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0010", + "WeaponId": "", + "Name": "\u72D9\u51FB\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 50, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 10, + "MaxAmmoCapacity": 50, + "StandbyAmmoCapacity": 40, + "ReloadTime": 3, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": false, + "MinChargeTime": 0, + "AutoBeLoaded": false, + "BeLoadedTime": 0.9, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 5, + "StartFiringSpeed": 150, + "FinalFiringSpeed": 150, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 3, + "FinalScatteringRange": 60, + "ScatteringRangeAddValue": 40, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.8, + "MinBacklash": 5, + "MaxBacklash": 7, + "BacklashRegressionSpeed": 20, + "UpliftAngle": 15, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0001", + "BulletMaxHarm": 30, + "BulletMinHarm": 30, + "BulletMinDeviationAngle": 0, + "BulletMaxDeviationAngle": 0, + "BulletMaxSpeed": 600, + "BulletMinSpeed": 600, + "BulletMinDistance": 700, + "BulletMaxDistance": 900, + "ShellId": "shell0003", + "ThrowShellDelayTime": 0.2, + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0008", + "__BeginReloadSound": "reloadBegin0009", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "beLoaded0007", + "ReloadFinishSoundAdvanceTime": 1, + "__BeLoadedSound": "beLoaded0007", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "", - "AiTargetLockingTime": 0.6, - "AiBulletSpeedScale": 0.6, + "AiTargetLockingTime": 1.5, + "AiBulletSpeedScale": 0.5, "AiAmmoConsumptionProbability": 0 }, { @@ -612,6 +738,8 @@ "AloneReloadCanShoot": false, "LooseShoot": false, "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0, "MinContinuousCount": 1, "MaxContinuousCount": 1, "TriggerInterval": 0, @@ -634,12 +762,16 @@ "DefaultAngle": 0, "UpliftAngleRestore": 1, "BulletId": "bullet0002", + "BulletMaxHarm": 3, + "BulletMinHarm": 3, "BulletMinDeviationAngle": 0, "BulletMaxDeviationAngle": 0, "BulletMaxSpeed": 320, "BulletMinSpeed": 320, "BulletMinDistance": 300, "BulletMaxDistance": 400, + "ShellId": "shell0001", + "ThrowShellDelayTime": 0, "ThrowCollisionSize": { "X": 20, "Y": 15 @@ -649,14 +781,86 @@ "BeginReloadSoundDelayTime": 0.2, "__ReloadSound": "", "ReloadSoundDelayTime": 0, - "__ReloadFinishSound": "equip0016", + "__ReloadFinishSound": "beLoaded0016", "ReloadFinishSoundAdvanceTime": 0.5, - "__EquipSound": "", - "EquipSoundDelayTime": 0, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "0012", + "AiTargetLockingTime": 0, + "AiBulletSpeedScale": 0, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0012", + "WeaponId": "", + "Name": "\u51B2\u950B\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 30, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 20, + "MaxAmmoCapacity": 2600, + "StandbyAmmoCapacity": 2600, + "ReloadTime": 2.2, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": false, + "MinChargeTime": 0, + "AutoBeLoaded": true, + "BeLoadedTime": 0.05, + "MinContinuousCount": 5, + "MaxContinuousCount": 5, + "TriggerInterval": 3.5, + "StartFiringSpeed": 700, + "FinalFiringSpeed": 700, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 3, + "FinalScatteringRange": 40, + "ScatteringRangeAddValue": 2, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.3, + "MinBacklash": 1, + "MaxBacklash": 2, + "BacklashRegressionSpeed": 35, + "UpliftAngle": 5, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0002", + "BulletMaxHarm": 3, + "BulletMinHarm": 3, + "BulletMinDeviationAngle": 0, + "BulletMaxDeviationAngle": 0, + "BulletMaxSpeed": 320, + "BulletMinSpeed": 320, + "BulletMinDistance": 300, + "BulletMaxDistance": 400, + "ShellId": "shell0001", + "ThrowShellDelayTime": 0, + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0002", + "__BeginReloadSound": "reloadBegin0005", + "BeginReloadSoundDelayTime": 0.2, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "beLoaded0016", + "ReloadFinishSoundAdvanceTime": 0.5, + "__BeLoadedSound": "", + "BeLoadedSoundDelayTime": 0, "__OtherSoundMap": null, "__AiUseAttribute": "", "AiTargetLockingTime": 0.5, - "AiBulletSpeedScale": 0.6, + "AiBulletSpeedScale": 0.5, "AiAmmoConsumptionProbability": 0 } ] \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/map/RoomConfig.json b/DungeonShooting_Godot/resource/map/RoomConfig.json index db72572..785217d 100644 --- a/DungeonShooting_Godot/resource/map/RoomConfig.json +++ b/DungeonShooting_Godot/resource/map/RoomConfig.json @@ -7,6 +7,18 @@ "ConfigPath": "res://resource/map/tiledata/testGroup/battle/Room1.json" }, { + "ScenePath": "res://resource/map/tileMaps/testGroup/battle/Room2.tscn", + "ConfigPath": "res://resource/map/tiledata/testGroup/battle/Room2.json" + }, + { + "ScenePath": "res://resource/map/tileMaps/testGroup/battle/Room3.tscn", + "ConfigPath": "res://resource/map/tiledata/testGroup/battle/Room3.json" + }, + { + "ScenePath": "res://resource/map/tileMaps/testGroup/battle/Room4.tscn", + "ConfigPath": "res://resource/map/tiledata/testGroup/battle/Room4.json" + }, + { "ScenePath": "res://resource/map/tileMaps/testGroup/battle/Room8.tscn", "ConfigPath": "res://resource/map/tiledata/testGroup/battle/Room8.json" } diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn index 0c61620..34a463c 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn @@ -35,7 +35,7 @@ position = Vector2(115, 24) script = ExtResource("4_vkqhy") Type = 5 -ItemExpression = "0003(ResidueAmmo:6,CurrAmmon:10)" +ItemExpression = "0003(ResidueAmmo:6,CurrAmmon:12)" DelayTime = 2.0 BirthRect = Vector2i(50, 50) @@ -43,7 +43,7 @@ position = Vector2(116, -39) script = ExtResource("4_vkqhy") Type = 5 -ItemExpression = "0003(ResidueAmmo:6,CurrAmmon:10)" +ItemExpression = "0003(ResidueAmmo:6,CurrAmmon:12)" WaveNumber = 2 BirthRect = Vector2i(50, 50) @@ -73,7 +73,7 @@ position = Vector2(117, 70) script = ExtResource("4_vkqhy") Type = 5 -ItemExpression = "0002(ResidueAmmo:7,CurrAmmon:10)" +ItemExpression = "0002(ResidueAmmo:7,CurrAmmon:7)" WaveNumber = 3 BirthRect = Vector2i(50, 50) @@ -81,7 +81,7 @@ position = Vector2(221, -27) script = ExtResource("4_vkqhy") Type = 5 -ItemExpression = "0002(ResidueAmmo:7,CurrAmmon:10)" +ItemExpression = "0002(ResidueAmmo:7,CurrAmmon:7)" WaveNumber = 3 BirthRect = Vector2i(50, 50) @@ -121,7 +121,7 @@ [node name="EnemyMark8" type="Node2D" parent="."] position = Vector2(118, 16) script = ExtResource("3_68nmn") -Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:10)" +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" Type = 4 ItemExpression = "0001" Layer = 1 diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room2.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room2.tscn new file mode 100644 index 0000000..f8bc58c --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room2.tscn @@ -0,0 +1,163 @@ +[gd_scene load_steps=4 format=3 uid="uid://bnlsfk3dahtos"] + +[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_ar45p"] +[ext_resource type="Script" path="res://src/framework/map/mark/EnemyMark.cs" id="3_v71xh"] +[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="dungeonRoomTemplate"] + +[node name="Room2" type="TileMap"] +tile_set = ExtResource("1_ar45p") +format = 2 +layer_0/tile_data = PackedInt32Array(131079, 0, 8, 65543, 0, 8, 7, 0, 8, -65529, 0, 8, 131078, 0, 8, 65542, 0, 8, 6, 0, 8, -65530, 0, 8, 131077, 0, 8, 65541, 0, 8, 5, 0, 8, -65531, 0, 8, 131076, 0, 8, 65540, 0, 8, 4, 0, 8, -65532, 0, 8, 393219, 0, 8, 327683, 0, 8, 262147, 0, 8, 196611, 0, 8, 131075, 0, 8, 65539, 0, 8, 3, 0, 8, -65533, 0, 8, 393218, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, -65534, 0, 8, 393217, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, -65535, 0, 8, 393216, 0, 8, 327680, 0, 8, 262144, 0, 8, 196608, 0, 8, 131072, 0, 8, 65536, 0, 8, 0, 0, 8, -65536, 0, 8, 458751, 0, 8, 393215, 0, 8, 327679, 0, 8, 262143, 0, 8, 196607, 0, 8, 131071, 0, 8, 65535, 0, 8, -1, 0, 8, 327678, 0, 8, 262142, 0, 8, 196606, 0, 8, 131070, 0, 8, 65534, 0, 8, -2, 0, 8, 65533, 0, 8, -3, 0, 8, -65539, 0, 8, -65538, 0, 8, -65537, 0, 8, 131069, 0, 8, 196605, 0, 8, 262141, 0, 8, 327677, 0, 8, 524287, 0, 8, -131072, 0, 8, 458752, 0, 8, -131071, 0, 8, -131070, 0, 8, -131069, 0, 8, -131068, 0, 8, -131067, 0, 8, -131066, 0, 8, -131065, 0, 8, -65528, 0, 8, 8, 0, 8, -131064, 0, 8, 65544, 0, 8, 131080, 0, 8, 1048600, 0, 8, 983064, 0, 8, 917528, 0, 8, 851992, 0, 8, 1048599, 0, 8, 983063, 0, 8, 917527, 0, 8, 851991, 0, 8, 1048598, 0, 8, 983062, 0, 8, 917526, 0, 8, 851990, 0, 8, 1048597, 0, 8, 983061, 0, 8, 917525, 0, 8, 851989, 0, 8, 786453, 0, 8, 720917, 0, 8, 655381, 0, 8, 589845, 0, 8, 524309, 0, 8, 458773, 0, 8, 65557, 0, 8, 21, 0, 8, -65515, 0, 8, -131051, 0, 8, -196587, 0, 8, -262123, 0, 8, -327659, 0, 8, 1048596, 0, 8, 983060, 0, 8, 917524, 0, 8, 851988, 0, 8, 786452, 0, 8, 720916, 0, 8, 655380, 0, 8, 589844, 0, 8, 524308, 0, 8, 458772, 0, 8, 65556, 0, 8, 20, 0, 8, -65516, 0, 8, -131052, 0, 8, -196588, 0, 8, -262124, 0, 8, -327660, 0, 8, 1048595, 0, 8, 983059, 0, 8, 917523, 0, 8, 851987, 0, 8, 786451, 0, 8, 720915, 0, 8, 655379, 0, 8, 589843, 0, 8, 524307, 0, 8, 458771, 0, 8, 65555, 0, 8, 19, 0, 8, -65517, 0, 8, -131053, 0, 8, -196589, 0, 8, -262125, 0, 8, -327661, 0, 8, 1048594, 0, 8, 983058, 0, 8, 917522, 0, 8, 851986, 0, 8, 786450, 0, 8, 720914, 0, 8, 655378, 0, 8, 589842, 0, 8, 524306, 0, 8, 458770, 0, 8, 65554, 0, 8, 18, 0, 8, -65518, 0, 8, -131054, 0, 8, -196590, 0, 8, -262126, 0, 8, -327662, 0, 8, 1048593, 0, 8, 983057, 0, 8, 917521, 0, 8, 851985, 0, 8, 786449, 0, 8, 720913, 0, 8, 655377, 0, 8, 589841, 0, 8, 524305, 0, 8, 458769, 0, 8, 65553, 0, 8, 17, 0, 8, -65519, 0, 8, -131055, 0, 8, -196591, 0, 8, -262127, 0, 8, -327663, 0, 8, 1048592, 0, 8, 983056, 0, 8, 917520, 0, 8, 851984, 0, 8, 786448, 0, 8, 720912, 0, 8, 655376, 0, 8, 589840, 0, 8, 524304, 0, 8, 458768, 0, 8, 65552, 0, 8, 16, 0, 8, -65520, 0, 8, -131056, 0, 8, -196592, 0, 8, -262128, 0, 8, -327664, 0, 8, 1048591, 0, 8, 983055, 0, 8, 917519, 0, 8, 851983, 0, 8, 786447, 0, 8, 720911, 0, 8, 655375, 0, 8, 589839, 0, 8, 524303, 0, 8, 458767, 0, 8, 393231, 0, 8, 327695, 0, 8, 262159, 0, 8, 196623, 0, 8, 131087, 0, 8, 65551, 0, 8, 15, 0, 8, -65521, 0, 8, -131057, 0, 8, -196593, 0, 8, -262129, 0, 8, -327665, 0, 8, 1048590, 0, 8, 983054, 0, 8, 917518, 0, 8, 851982, 0, 8, 786446, 0, 8, 720910, 0, 8, 655374, 0, 8, 589838, 0, 8, 524302, 0, 8, 458766, 0, 8, 393230, 0, 8, 327694, 0, 8, 262158, 0, 8, 196622, 0, 8, 131086, 0, 8, 65550, 0, 8, 14, 0, 8, -65522, 0, 8, -131058, 0, 8, -196594, 0, 8, -262130, 0, 8, -327666, 0, 8, 1048589, 0, 8, 983053, 0, 8, 917517, 0, 8, 851981, 0, 8, 786445, 0, 8, 720909, 0, 8, 655373, 0, 8, 589837, 0, 8, 524301, 0, 8, 458765, 0, 8, 393229, 0, 8, 327693, 0, 8, 262157, 0, 8, 196621, 0, 8, 131085, 0, 8, 65549, 0, 8, 13, 0, 8, -65523, 0, 8, -131059, 0, 8, -196595, 0, 8, -262131, 0, 8, -327667, 0, 8, 1048588, 0, 8, 983052, 0, 8, 917516, 0, 8, 851980, 0, 8, 786444, 0, 8, 720908, 0, 8, 655372, 0, 8, 589836, 0, 8, 524300, 0, 8, 458764, 0, 8, 393228, 0, 8, 327692, 0, 8, 262156, 0, 8, 196620, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, -65524, 0, 8, -131060, 0, 8, -196596, 0, 8, -262132, 0, 8, -327668, 0, 8, 1048587, 0, 8, 983051, 0, 8, 917515, 0, 8, 851979, 0, 8, 786443, 0, 8, 720907, 0, 8, 655371, 0, 8, 589835, 0, 8, 524299, 0, 8, 458763, 0, 8, 393227, 0, 8, 327691, 0, 8, 262155, 0, 8, 196619, 0, 8, 131083, 0, 8, 65547, 0, 8, 11, 0, 8, -65525, 0, 8, -131061, 0, 8, -196597, 0, 8, -262133, 0, 8, -327669, 0, 8, 786442, 0, 8, 720906, 0, 8, 655370, 0, 8, 589834, 0, 8, 524298, 0, 8, 458762, 0, 8, 393226, 0, 8, 327690, 0, 8, 262154, 0, 8, 196618, 0, 8, 131082, 0, 8, 65546, 0, 8, 10, 0, 8, -65526, 0, 8, -131062, 0, 8, -196598, 0, 8, -262134, 0, 8, -327670, 0, 8, 786441, 0, 8, 720905, 0, 8, 655369, 0, 8, 589833, 0, 8, 524297, 0, 8, 131081, 0, 8, 65545, 0, 8, 9, 0, 8, -65527, 0, 8, -131063, 0, 8, -196599, 0, 8, -262135, 0, 8, -327671, 0, 8, 786440, 0, 8, 720904, 0, 8, 655368, 0, 8, 589832, 0, 8, 524296, 0, 8, -196600, 0, 8, -262136, 0, 8, -327672, 0, 8, 786439, 0, 8, 720903, 0, 8, 655367, 0, 8, 589831, 0, 8, 524295, 0, 8, -196601, 0, 8, -262137, 0, 8, -327673, 0, 8, 786438, 0, 8, 720902, 0, 8, 655366, 0, 8, 589830, 0, 8, 524294, 0, 8, -196602, 0, 8, -262138, 0, 8, -327674, 0, 8, -196603, 0, 8, -262139, 0, 8, -327675, 0, 8, -196604, 0, 8, -262140, 0, 8, -327676, 0, 8, 1048576, 0, 8, 983040, 0, 8, 917504, 0, 8, 851968, 0, 8, 786432, 0, 8, 720896, 0, 8, 655360, 0, 8, 589824, 0, 8, 524288, 0, 8, 1114111, 0, 8, 1048575, 0, 8, 983039, 0, 8, 917503, 0, 8, 851967, 0, 8, 786431, 0, 8, 720895, 0, 8, 655359, 0, 8, 589823, 0, 8, 1114110, 0, 8, 1048574, 0, 8, 983038, 0, 8, 917502, 0, 8, 851966, 0, 8, 786430, 0, 8, 1114109, 0, 8, 1048573, 0, 8, 983037, 0, 8, 917501, 0, 8, 851965, 0, 8, 786429, 0, 8, 1114108, 0, 8, 1048572, 0, 8, 983036, 0, 8, 917500, 0, 8, 851964, 0, 8, 786428, 0, 8, 327676, 0, 8, 262140, 0, 8, 196604, 0, 8, 131068, 0, 8, 65532, 0, 8, -4, 0, 8, -65540, 0, 8, -65541, 196608, 3, -5, 196608, 3, 65531, 196608, 3, 131067, 196608, 3, 196603, 196608, 3, 262139, 196608, 3, 327675, 196608, 3, 786427, 196608, 3, 851963, 196608, 3, 917499, 196608, 3, 983035, 196608, 3, 1048571, 196608, 3, 1114107, 196608, 3, 1179645, 131072, 2, 1179644, 131072, 2, 1179643, 720896, 2, 1179646, 131072, 2, 1179647, 131072, 2, 1114112, 131072, 2, -393212, 131072, 7, -393211, 131072, 7, -393210, 131072, 7, -393209, 131072, 7, -393208, 131072, 7, -393207, 131072, 7, -393206, 131072, 7, -393205, 131072, 7, 1114123, 131072, 2, -393204, 131072, 7, 1114124, 131072, 2, -393203, 131072, 7, 1114125, 131072, 2, -393202, 131072, 7, 1114126, 131072, 2, -393201, 131072, 7, 1114127, 131072, 2, -393200, 131072, 7, 1114128, 131072, 2, -393199, 131072, 7, 1114129, 131072, 2, -393198, 131072, 7, 1114130, 131072, 2, -393197, 131072, 7, 1114131, 131072, 2, -393196, 131072, 7, 1114132, 131072, 2, -393195, 131072, 7, 1114133, 131072, 2, 1114134, 131072, 2, 1114135, 131072, 2, 1114136, 131072, 2, 851993, 65536, 3, 917529, 65536, 3, 983065, 65536, 3, 1048601, 65536, 3, 1114137, 851968, 2, 786437, 0, 8, 720901, 0, 8, 655365, 0, 8, 589829, 0, 8, 524293, 0, 8, 786436, 0, 8, 720900, 0, 8, 655364, 0, 8, 589828, 0, 8, 524292, 0, 8, 786435, 0, 8, 720899, 0, 8, 655363, 0, 8, 589827, 0, 8, 524291, 0, 8, 458755, 0, 8, 1114114, 131072, 2, 1048578, 0, 8, 983042, 0, 8, 917506, 0, 8, 851970, 0, 8, 786434, 0, 8, 720898, 0, 8, 655362, 0, 8, 589826, 0, 8, 524290, 0, 8, 458754, 0, 8, 1114113, 131072, 2, 1048577, 0, 8, 983041, 0, 8, 917505, 0, 8, 851969, 0, 8, 786433, 0, 8, 720897, 0, 8, 655361, 0, 8, 589825, 0, 8, 524289, 0, 8, 458753, 0, 8, 65558, 65536, 3, 458774, 65536, 3, 131088, 65536, 2, 131089, 131072, 2, 131090, 131072, 2, 131091, 131072, 2, 131092, 131072, 2, 131093, 131072, 2, -65514, 65536, 3, 22, 65536, 3, -131050, 65536, 3, 131094, 851968, 2, -327658, 65536, 3, -262122, 65536, 3, -393194, 65536, 4, -196586, 65536, 3, 196624, 65536, 3, 262160, 65536, 3, 327696, 65536, 3, 393232, 65536, 7, 393233, 131072, 7, 393234, 131072, 7, 393235, 131072, 7, 393236, 131072, 7, 393237, 131072, 7, 524310, 65536, 3, 393238, 65536, 4, 589846, 65536, 3, 655382, 65536, 3, 720918, 65536, 7, 786454, 0, 8, 786456, 0, 8, 786455, 0, 8, 720919, 131072, 7, 720920, 131072, 7, 786457, 65536, 3, 720921, 65536, 4, 851971, 65536, 2, 851972, 131072, 2, 851973, 131072, 2, 851974, 131072, 2, 851975, 131072, 2, 851976, 131072, 2, 851977, 131072, 2, 851978, 196608, 2, 917514, 196608, 3, 983050, 196608, 3, 1048586, 196608, 3, 1114122, 720896, 2, 917507, 65536, 3, 983043, 65536, 3, 1048579, 65536, 3, 1114115, 851968, 2, -131077, 196608, 4, -131076, 131072, 7, -131075, 131072, 7, -131074, 131072, 7, -131073, 131072, 7, -196608, 131072, 7, -196607, 131072, 7, -196606, 131072, 7, -196605, 196608, 7, -262141, 196608, 3, -327677, 196608, 3, -393213, 196608, 4, 393213, 131072, 2, 393212, 131072, 2, 393211, 720896, 2, 393214, 196608, 2, 458750, 196608, 3, 524286, 196608, 3, 589822, 196608, 3, 655358, 196608, 3, 720894, 196608, 7, 720891, 196608, 4, 720892, 131072, 7, 720893, 131072, 7, 196612, 65536, 2, 196613, 131072, 2, 196614, 131072, 2, 196615, 131072, 2, 196616, 131072, 2, 196617, 196608, 2, 262148, 65536, 3, 327684, 65536, 3, 393220, 65536, 3, 458756, 65536, 7, 458757, 131072, 7, 458758, 131072, 7, 458759, 131072, 7, 458760, 131072, 7, 458761, 196608, 7, 262153, 196608, 3, 327689, 196608, 3, 393225, 196608, 3) +script = ExtResource("dungeonRoomTemplate") + +[node name="EnemyMark" type="Node2D" parent="."] +position = Vector2(2, 26) +script = ExtResource("3_v71xh") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark4" type="Node2D" parent="."] +position = Vector2(-10, 226) +script = ExtResource("3_v71xh") +Weapon1Id = "0004(ResidueAmmo:10,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 2.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark2" type="Node2D" parent="."] +position = Vector2(267, 197) +script = ExtResource("3_v71xh") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 3.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark3" type="Node2D" parent="."] +position = Vector2(188, -13) +script = ExtResource("3_v71xh") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 4.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark5" type="Node2D" parent="."] +position = Vector2(23, 114) +script = ExtResource("3_v71xh") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 2.0 +BirthRect = Vector2i(30, 30) +Altitude = 0 + +[node name="EnemyMark6" type="Node2D" parent="."] +position = Vector2(123, 172) +script = ExtResource("3_v71xh") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 3.0 +BirthRect = Vector2i(150, 50) +Altitude = 0 + +[node name="EnemyMark7" type="Node2D" parent="."] +position = Vector2(284, 233) +script = ExtResource("3_v71xh") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 4.0 +BirthRect = Vector2i(150, 50) +Altitude = 0 + +[node name="EnemyMark8" type="Node2D" parent="."] +position = Vector2(175, -30) +script = ExtResource("3_v71xh") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 5.0 +BirthRect = Vector2i(150, 50) +Altitude = 0 + +[node name="EnemyMark9" type="Node2D" parent="."] +position = Vector2(91, 9) +script = ExtResource("3_v71xh") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 1.0 +BirthRect = Vector2i(150, 50) +Altitude = 0 + +[node name="EnemyMark10" type="Node2D" parent="."] +position = Vector2(259, 153) +script = ExtResource("3_v71xh") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 2.0 +BirthRect = Vector2i(150, 50) +Altitude = 0 + +[node name="EnemyMark11" type="Node2D" parent="."] +position = Vector2(253, -12) +script = ExtResource("3_v71xh") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 3.0 +BirthRect = Vector2i(150, 50) +Altitude = 0 + +[node name="EnemyMark12" type="Node2D" parent="."] +position = Vector2(86, 176) +script = ExtResource("3_v71xh") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 4.0 +BirthRect = Vector2i(150, 50) +Altitude = 0 + +[node name="EnemyMark13" type="Node2D" parent="."] +position = Vector2(211, 79) +script = ExtResource("3_v71xh") +Weapon1Id = "0005(ResidueAmmo:0,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 5.0 +BirthRect = Vector2i(30, 50) +Altitude = 0 diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room3.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room3.tscn new file mode 100644 index 0000000..5499714 --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room3.tscn @@ -0,0 +1,220 @@ +[gd_scene load_steps=4 format=3 uid="uid://wvv4lbvlarod"] + +[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_jjauj"] +[ext_resource type="Script" path="res://src/framework/map/mark/EnemyMark.cs" id="3_u8a04"] +[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="dungeonRoomTemplate"] + +[node name="Room3" type="TileMap"] +tile_set = ExtResource("1_jjauj") +format = 2 +layer_0/tile_data = PackedInt32Array(786450, 0, 8, 720914, 0, 8, 655378, 0, 8, 589842, 0, 8, 524306, 0, 8, 458770, 0, 8, 393234, 0, 8, 327698, 0, 8, 262162, 0, 8, 196626, 0, 8, 131090, 0, 8, 65554, 0, 8, 18, 0, 8, 786449, 0, 8, 720913, 0, 8, 655377, 0, 8, 589841, 0, 8, 524305, 0, 8, 458769, 0, 8, 393233, 0, 8, 327697, 0, 8, 262161, 0, 8, 196625, 0, 8, 131089, 0, 8, 65553, 0, 8, 17, 0, 8, 786448, 0, 8, 720912, 0, 8, 655376, 0, 8, 589840, 0, 8, 524304, 0, 8, 458768, 0, 8, 393232, 0, 8, 327696, 0, 8, 262160, 0, 8, 196624, 0, 8, 131088, 0, 8, 65552, 0, 8, 16, 0, 8, 786447, 0, 8, 720911, 0, 8, 655375, 0, 8, 589839, 0, 8, 524303, 0, 8, 458767, 0, 8, 393231, 0, 8, 327695, 0, 8, 262159, 0, 8, 196623, 0, 8, 131087, 0, 8, 65551, 0, 8, 15, 0, 8, 786446, 0, 8, 720910, 0, 8, 655374, 0, 8, 589838, 0, 8, 524302, 0, 8, 458766, 0, 8, 393230, 0, 8, 327694, 0, 8, 262158, 0, 8, 196622, 0, 8, 131086, 0, 8, 65550, 0, 8, 14, 0, 8, 786445, 0, 8, 720909, 0, 8, 655373, 0, 8, 589837, 0, 8, 524301, 0, 8, 458765, 0, 8, 393229, 0, 8, 327693, 0, 8, 262157, 0, 8, 196621, 0, 8, 131085, 0, 8, 65549, 0, 8, 13, 0, 8, 786444, 0, 8, 720908, 0, 8, 655372, 0, 8, 589836, 0, 8, 524300, 0, 8, 786443, 0, 8, 720907, 0, 8, 655371, 0, 8, 589835, 0, 8, 524299, 0, 8, 786442, 0, 8, 720906, 0, 8, 655370, 0, 8, 589834, 0, 8, 524298, 0, 8, 786441, 0, 8, 720905, 0, 8, 655369, 0, 8, 589833, 0, 8, 524297, 0, 8, 786440, 0, 8, 720904, 0, 8, 655368, 0, 8, 589832, 0, 8, 786439, 0, 8, 720903, 0, 8, 655367, 0, 8, 589831, 0, 8, 786438, 0, 8, 720902, 0, 8, 655366, 0, 8, 589830, 0, 8, 786437, 0, 8, 720901, 0, 8, 655365, 0, 8, 589829, 0, 8, 786436, 0, 8, 720900, 0, 8, 655364, 0, 8, 589828, 0, 8, 786435, 0, 8, 720899, 0, 8, 655363, 0, 8, 589827, 0, 8, 524291, 0, 8, 458755, 0, 8, 393219, 0, 8, 327683, 0, 8, 262147, 0, 8, 196611, 0, 8, 131075, 0, 8, 65539, 0, 8, 3, 0, 8, 786434, 0, 8, 720898, 0, 8, 655362, 0, 8, 589826, 0, 8, 524290, 0, 8, 458754, 0, 8, 393218, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, 786433, 0, 8, 720897, 0, 8, 655361, 0, 8, 589825, 0, 8, 524289, 0, 8, 458753, 0, 8, 393217, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, 786432, 0, 8, 720896, 0, 8, 655360, 0, 8, 589824, 0, 8, 524288, 0, 8, 458752, 0, 8, 393216, 0, 8, 327680, 0, 8, 262144, 0, 8, 196608, 0, 8, 131072, 0, 8, 65536, 0, 8, 0, 0, 8, 131071, 196608, 3, 65535, 196608, 3, -1, 196608, 4, -65536, 131072, 7, -65535, 131072, 7, 196607, 196608, 3, 262143, 196608, 3, 327679, 196608, 3, 393215, 196608, 3, 458751, 196608, 3, 524287, 196608, 3, 589823, 196608, 3, 655359, 196608, 3, 720895, 196608, 3, 786431, 196608, 3, 851967, 196608, 3, 851969, 131072, 2, 851968, 131072, 2, 917503, 720896, 2, -65534, 131072, 7, 851970, 131072, 2, -65533, 131072, 7, 851971, 131072, 2, 851972, 196608, 2, 851973, 0, 8, 851974, 0, 8, 851975, 0, 8, 851976, 0, 8, 851977, 0, 8, 851978, 0, 8, -65523, 131072, 7, -65522, 131072, 7, -65521, 131072, 7, -65520, 131072, 7, -65519, 131072, 7, -65518, 131072, 7, 19, 65536, 3, 65555, 65536, 3, -65517, 65536, 4, 131091, 65536, 3, 196627, 65536, 3, 262163, 65536, 7, 327699, 0, 8, 393235, 0, 8, 458771, 0, 8, 524307, 0, 8, 589843, 0, 8, 655379, 0, 8, 720915, 0, 8, 786451, 0, 8, 851987, 0, 8, 1114135, 0, 8, 1048599, 0, 8, 983063, 0, 8, 917527, 0, 8, 851991, 0, 8, 786455, 0, 8, 720919, 0, 8, 655383, 0, 8, 589847, 0, 8, 524311, 0, 8, 458775, 0, 8, 393239, 0, 8, 327703, 0, 8, 1114134, 0, 8, 1048598, 0, 8, 983062, 0, 8, 917526, 0, 8, 851990, 0, 8, 786454, 0, 8, 720918, 0, 8, 655382, 0, 8, 589846, 0, 8, 524310, 0, 8, 458774, 0, 8, 393238, 0, 8, 327702, 0, 8, 1114133, 0, 8, 1048597, 0, 8, 983061, 0, 8, 917525, 0, 8, 851989, 0, 8, 786453, 0, 8, 720917, 0, 8, 655381, 0, 8, 589845, 0, 8, 524309, 0, 8, 458773, 0, 8, 393237, 0, 8, 327701, 0, 8, 1114132, 0, 8, 1048596, 0, 8, 983060, 0, 8, 917524, 0, 8, 851988, 0, 8, 786452, 0, 8, 720916, 0, 8, 655380, 0, 8, 589844, 0, 8, 524308, 0, 8, 458772, 0, 8, 393236, 0, 8, 327700, 0, 8, 1114122, 0, 8, 1048586, 0, 8, 983050, 0, 8, 917514, 0, 8, 1114121, 0, 8, 1048585, 0, 8, 983049, 0, 8, 917513, 0, 8, 1114120, 0, 8, 1048584, 0, 8, 983048, 0, 8, 917512, 0, 8, 1114119, 0, 8, 1048583, 0, 8, 983047, 0, 8, 917511, 0, 8, 1114118, 0, 8, 1048582, 0, 8, 983046, 0, 8, 917510, 0, 8, 1114117, 0, 8, 1048581, 0, 8, 983045, 0, 8, 917509, 0, 8, 917508, 196608, 3, 983044, 196608, 3, 1048580, 196608, 3, 1114116, 196608, 3, 1179654, 131072, 2, 1179653, 131072, 2, 1179652, 720896, 2, 1179655, 131072, 2, 1179656, 131072, 2, 1179657, 131072, 2, 1179658, 131072, 2, 262164, 131072, 7, 1179668, 131072, 2, 262165, 131072, 7, 1179669, 131072, 2, 262166, 131072, 7, 1179670, 131072, 2, 262167, 131072, 7, 1179671, 131072, 2, 327704, 65536, 3, 393240, 65536, 3, 262168, 65536, 4, 458776, 65536, 3, 524312, 65536, 3, 589848, 65536, 3, 655384, 65536, 3, 720920, 65536, 3, 786456, 65536, 3, 851992, 65536, 3, 917528, 65536, 3, 983064, 65536, 3, 1048600, 65536, 3, 1114136, 65536, 3, 1179672, 851968, 2, 458764, 0, 8, 393228, 0, 8, 327692, 0, 8, 262156, 0, 8, 196620, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, -65524, 131072, 7, 458763, 0, 8, 393227, 0, 8, 327691, 0, 8, 458762, 0, 8, 393226, 0, 8, 327690, 0, 8, 458761, 0, 8, 393225, 0, 8, 327689, 0, 8, 524296, 0, 8, 458760, 0, 8, 393224, 0, 8, 327688, 0, 8, 524295, 0, 8, 458759, 0, 8, 393223, 0, 8, 327687, 0, 8, 524294, 0, 8, 458758, 0, 8, 393222, 0, 8, 327686, 0, 8, 262150, 0, 8, 196614, 0, 8, 131078, 0, 8, 65542, 0, 8, 6, 0, 8, -65530, 131072, 7, 524293, 0, 8, 458757, 0, 8, 393221, 0, 8, 327685, 0, 8, 262149, 0, 8, 196613, 0, 8, 131077, 0, 8, 65541, 0, 8, 5, 0, 8, -65531, 131072, 7, 524292, 0, 8, 458756, 0, 8, 393220, 0, 8, 327684, 0, 8, 262148, 0, 8, 196612, 0, 8, 131076, 0, 8, 65540, 0, 8, 4, 0, 8, -65532, 131072, 7, 1179667, 131072, 2, 1114131, 0, 8, 1048595, 0, 8, 983059, 0, 8, 917523, 0, 8, 1179666, 131072, 2, 1114130, 0, 8, 1048594, 0, 8, 983058, 0, 8, 917522, 0, 8, 851986, 0, 8, 1179665, 131072, 2, 1114129, 0, 8, 1048593, 0, 8, 983057, 0, 8, 917521, 0, 8, 851985, 0, 8, 7, 65536, 3, 65543, 65536, 3, -65529, 65536, 4, 131079, 65536, 3, 196615, 65536, 3, 262151, 65536, 7, 262152, 131072, 7, 262153, 131072, 7, 262154, 131072, 7, 262155, 196608, 7, 65547, 196608, 3, 11, 196608, 3, -65525, 196608, 4, 131083, 196608, 3, 196619, 196608, 3, 851979, 65536, 2, 917515, 65536, 3, 983051, 65536, 3, 1048587, 65536, 3, 1114123, 65536, 3, 1179659, 851968, 2, 851980, 131072, 2, 851981, 131072, 2, 851982, 131072, 2, 851983, 131072, 2, 851984, 196608, 2, 917520, 196608, 3, 983056, 196608, 3, 1048592, 196608, 3, 1114128, 196608, 3, 1179664, 720896, 2) +script = ExtResource("dungeonRoomTemplate") + +[node name="EnemyMark" type="Node2D" parent="."] +position = Vector2(192, 146) +script = ExtResource("3_u8a04") +Weapon1Id = "0004(ResidueAmmo:10,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark2" type="Node2D" parent="."] +position = Vector2(111, 146) +script = ExtResource("3_u8a04") +Weapon1Id = "0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 2.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark3" type="Node2D" parent="."] +position = Vector2(274, 148) +script = ExtResource("3_u8a04") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 3.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark4" type="Node2D" parent="."] +position = Vector2(328, 241) +script = ExtResource("3_u8a04") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 1.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark5" type="Node2D" parent="."] +position = Vector2(129, 251) +script = ExtResource("3_u8a04") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 2.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark6" type="Node2D" parent="."] +position = Vector2(56, 56) +script = ExtResource("3_u8a04") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 3.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark7" type="Node2D" parent="."] +position = Vector2(248, 55) +script = ExtResource("3_u8a04") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 4.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark8" type="Node2D" parent="."] +position = Vector2(324, 151) +script = ExtResource("3_u8a04") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 2.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark12" type="Node2D" parent="."] +position = Vector2(80, 151) +script = ExtResource("3_u8a04") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 1.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark9" type="Node2D" parent="."] +position = Vector2(56, 67) +script = ExtResource("3_u8a04") +Weapon1Id = "0005(ResidueAmmo:0,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 3.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark10" type="Node2D" parent="."] +position = Vector2(248, 71) +script = ExtResource("3_u8a04") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 4.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark11" type="Node2D" parent="."] +position = Vector2(64, 160) +script = ExtResource("3_u8a04") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 1.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark13" type="Node2D" parent="."] +position = Vector2(307, 138) +script = ExtResource("3_u8a04") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 2.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark14" type="Node2D" parent="."] +position = Vector2(156, 139) +script = ExtResource("3_u8a04") +Weapon1Id = "0006(ResidueAmmo:20,CurrAmmon:20)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 3.0 +BirthRect = Vector2i(80, 80) +Altitude = 0 + +[node name="EnemyMark15" type="Node2D" parent="."] +position = Vector2(43, 43) +script = ExtResource("3_u8a04") +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 5.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark16" type="Node2D" parent="."] +position = Vector2(239, 44) +script = ExtResource("3_u8a04") +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 6.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark17" type="Node2D" parent="."] +position = Vector2(122, 237) +script = ExtResource("3_u8a04") +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 7.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark18" type="Node2D" parent="."] +position = Vector2(326, 219) +script = ExtResource("3_u8a04") +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 8.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room4.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room4.tscn new file mode 100644 index 0000000..fdf3fff --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room4.tscn @@ -0,0 +1,195 @@ +[gd_scene load_steps=4 format=3 uid="uid://bunl6nluxu3qn"] + +[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_k1pu4"] +[ext_resource type="Script" path="res://src/framework/map/mark/EnemyMark.cs" id="3_tkueb"] +[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="dungeonRoomTemplate"] + +[node name="Room4" type="TileMap"] +tile_set = ExtResource("1_k1pu4") +format = 2 +layer_0/tile_data = PackedInt32Array(1179669, 0, 8, 1114133, 0, 8, 1048597, 0, 8, 983061, 0, 8, 917525, 0, 8, 851989, 0, 8, 786453, 0, 8, 720917, 0, 8, 655381, 0, 8, 589845, 0, 8, 524309, 0, 8, 458773, 0, 8, 393237, 0, 8, 327701, 0, 8, 262165, 0, 8, 196629, 0, 8, 131093, 0, 8, 65557, 0, 8, 21, 0, 8, 1179668, 0, 8, 1114132, 0, 8, 1048596, 0, 8, 983060, 0, 8, 917524, 0, 8, 851988, 0, 8, 786452, 0, 8, 720916, 0, 8, 655380, 0, 8, 589844, 0, 8, 524308, 0, 8, 458772, 0, 8, 393236, 0, 8, 327700, 0, 8, 262164, 0, 8, 196628, 0, 8, 131092, 0, 8, 65556, 0, 8, 20, 0, 8, 1179667, 0, 8, 1114131, 0, 8, 65555, 0, 8, 19, 0, 8, 1179666, 0, 8, 1114130, 0, 8, 65554, 0, 8, 18, 0, 8, 1179665, 0, 8, 1114129, 0, 8, 65553, 0, 8, 17, 0, 8, 1179664, 0, 8, 1114128, 0, 8, 65552, 0, 8, 16, 0, 8, 1179663, 0, 8, 1114127, 0, 8, 65551, 0, 8, 15, 0, 8, 1179662, 0, 8, 1114126, 0, 8, 65550, 0, 8, 14, 0, 8, 1179661, 0, 8, 1114125, 0, 8, 65549, 0, 8, 13, 0, 8, 1179660, 0, 8, 1114124, 0, 8, 65548, 0, 8, 12, 0, 8, 1179659, 0, 8, 1114123, 0, 8, 65547, 0, 8, 11, 0, 8, 1179658, 0, 8, 1114122, 0, 8, 65546, 0, 8, 10, 0, 8, 1179657, 0, 8, 1114121, 0, 8, 65545, 0, 8, 9, 0, 8, 1179656, 0, 8, 1114120, 0, 8, 65544, 0, 8, 8, 0, 8, 1179655, 0, 8, 1114119, 0, 8, 65543, 0, 8, 7, 0, 8, 1179654, 0, 8, 1114118, 0, 8, 65542, 0, 8, 6, 0, 8, 1179653, 0, 8, 1114117, 0, 8, 65541, 0, 8, 5, 0, 8, 1179652, 0, 8, 1114116, 0, 8, 65540, 0, 8, 4, 0, 8, 1179651, 0, 8, 1114115, 0, 8, 65539, 0, 8, 3, 0, 8, 1179650, 0, 8, 1114114, 0, 8, 65538, 0, 8, 2, 0, 8, 1179649, 0, 8, 1114113, 0, 8, 1048577, 0, 8, 983041, 0, 8, 917505, 0, 8, 851969, 0, 8, 786433, 0, 8, 720897, 0, 8, 655361, 0, 8, 589825, 0, 8, 524289, 0, 8, 458753, 0, 8, 393217, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, 1179648, 0, 8, 1114112, 0, 8, 1048576, 0, 8, 983040, 0, 8, 917504, 0, 8, 851968, 0, 8, 786432, 0, 8, 720896, 0, 8, 655360, 0, 8, 589824, 0, 8, 524288, 0, 8, 458752, 0, 8, 393216, 0, 8, 327680, 0, 8, 262144, 0, 8, 196608, 0, 8, 131072, 0, 8, 65536, 0, 8, 0, 0, 8, 131071, 0, 8, 65535, 0, 8, -1, 0, 8, -65536, 0, 8, -65535, 0, 8, 196607, 0, 8, 262143, 0, 8, 327679, 0, 8, 393215, 0, 8, 458751, 196608, 2, 524287, 196608, 3, 589823, 196608, 3, 655359, 196608, 3, 720895, 196608, 3, 786431, 196608, 3, 851967, 196608, 3, 917503, 196608, 7, 983039, 0, 8, 1048575, 0, 8, 1114111, 0, 8, 1179647, 0, 8, 1245183, 0, 8, 1245185, 0, 8, 1245184, 0, 8, 1310719, 0, 8, -65534, 0, 8, 1245186, 0, 8, -65533, 0, 8, 1245187, 0, 8, -65532, 0, 8, 1245188, 0, 8, -65531, 0, 8, 1245189, 65536, 2, -65530, 65536, 7, 1245190, 131072, 2, -65529, 131072, 7, 1245191, 131072, 2, -65528, 131072, 7, 1245192, 131072, 2, -65527, 131072, 7, 1245193, 131072, 2, -65526, 131072, 7, 1245194, 131072, 2, -65525, 131072, 7, 1245195, 131072, 2, -65524, 131072, 7, 1245196, 131072, 2, -65523, 131072, 7, 1245197, 131072, 2, -65522, 131072, 7, 1245198, 131072, 2, -65521, 196608, 7, 1245199, 131072, 2, -65520, 0, 8, 1245200, 196608, 2, -65519, 0, 8, 1245201, 0, 8, -65518, 0, 8, 1245202, 0, 8, -65517, 0, 8, 1245203, 0, 8, -65516, 0, 8, 1245204, 0, 8, -65515, 0, 8, 1245205, 0, 8, 22, 0, 8, 65558, 0, 8, -65514, 0, 8, 131094, 0, 8, 196630, 0, 8, 262166, 0, 8, 327702, 0, 8, 393238, 65536, 2, 458774, 65536, 3, 524310, 65536, 3, 589846, 65536, 3, 655382, 65536, 3, 720918, 65536, 3, 786454, 65536, 3, 851990, 65536, 7, 917526, 0, 8, 983062, 0, 8, 1048598, 0, 8, 1114134, 0, 8, 1179670, 0, 8, 1245206, 0, 8, -131067, 0, 8, -196603, 0, 8, -262139, 0, 8, -131068, 0, 8, -196604, 0, 8, -262140, 0, 8, -131069, 0, 8, -196605, 0, 8, -262141, 0, 8, -131070, 0, 8, -196606, 0, 8, -262142, 0, 8, -131071, 0, 8, -196607, 0, 8, -262143, 0, 8, -131072, 0, 8, -196608, 0, 8, -262144, 0, 8, -65537, 0, 8, -131073, 0, 8, -196609, 0, 8, 393214, 0, 8, 327678, 0, 8, 262142, 0, 8, 196606, 0, 8, 131070, 0, 8, 65534, 0, 8, -2, 0, 8, -65538, 0, 8, -131074, 0, 8, -196610, 0, 8, 393213, 0, 8, 327677, 0, 8, 262141, 0, 8, 196605, 0, 8, 131069, 0, 8, 65533, 0, 8, -3, 0, 8, -65539, 0, 8, -131075, 0, 8, -196611, 0, 8, 393212, 0, 8, 327676, 0, 8, 262140, 0, 8, 196604, 0, 8, 131068, 0, 8, 65532, 0, 8, -4, 0, 8, -65540, 0, 8, -131076, 0, 8, -196612, 0, 8, -131077, 196608, 3, -196613, 196608, 3, -262149, 196608, 4, -262148, 131072, 7, -262147, 131072, 7, -65541, 196608, 3, -5, 196608, 3, 65531, 196608, 3, 131067, 196608, 3, 196603, 196608, 3, 262139, 196608, 3, 327675, 196608, 3, 393211, 196608, 3, 458749, 131072, 2, 458748, 131072, 2, 458747, 720896, 2, -262146, 131072, 7, 458750, 131072, 2, -262145, 131072, 7, -327680, 131072, 7, -327679, 131072, 7, -327678, 131072, 7, -327677, 131072, 7, -327676, 131072, 7, -327675, 131072, 7, -262138, 65536, 3, -196602, 65536, 3, -327674, 65536, 4, -131066, 65536, 3, 262169, 0, 8, 196633, 0, 8, 131097, 0, 8, 65561, 0, 8, 25, 0, 8, -65511, 0, 8, -131047, 0, 8, -196583, 0, 8, -262119, 0, 8, 262168, 0, 8, 196632, 0, 8, 131096, 0, 8, 65560, 0, 8, 24, 0, 8, -65512, 0, 8, -131048, 0, 8, -196584, 0, 8, -262120, 0, 8, 262167, 0, 8, 196631, 0, 8, 131095, 0, 8, 65559, 0, 8, 23, 0, 8, -65513, 0, 8, -131049, 0, 8, -196585, 0, 8, -262121, 0, 8, -131050, 0, 8, -196586, 0, 8, -262122, 0, 8, -131051, 0, 8, -196587, 0, 8, -262123, 0, 8, -131052, 0, 8, -196588, 0, 8, -262124, 0, 8, -131053, 0, 8, -196589, 0, 8, -262125, 0, 8, -131054, 0, 8, -196590, 0, 8, -262126, 0, 8, -131055, 0, 8, -196591, 0, 8, -262127, 0, 8, -196592, 0, 8, -262128, 0, 8, -327664, 131072, 7, -327663, 131072, 7, -327662, 131072, 7, -131056, 0, 8, -327661, 131072, 7, -327660, 131072, 7, -327659, 131072, 7, -327658, 131072, 7, -327657, 131072, 7, 327703, 0, 8, -327656, 131072, 7, 327704, 0, 8, -327655, 131072, 7, 327705, 0, 8, -262118, 65536, 3, -196582, 65536, 3, -327654, 65536, 4, -131046, 65536, 3, -65510, 65536, 3, 26, 65536, 3, 65562, 65536, 3, 131098, 65536, 3, 196634, 65536, 3, 262170, 65536, 3, 327706, 65536, 3, 393239, 131072, 2, 393240, 131072, 2, 393241, 131072, 2, 393242, 851968, 2, -196593, 196608, 3, -262129, 196608, 3, -327665, 196608, 4, -131057, 196608, 3, 1441796, 0, 8, 1376260, 0, 8, 1310724, 0, 8, 1441795, 0, 8, 1376259, 0, 8, 1310723, 0, 8, 1441794, 0, 8, 1376258, 0, 8, 1310722, 0, 8, 1441793, 0, 8, 1376257, 0, 8, 1310721, 0, 8, 1441792, 0, 8, 1376256, 0, 8, 1310720, 0, 8, 1507327, 0, 8, 1441791, 0, 8, 1376255, 0, 8, 1507326, 0, 8, 1441790, 0, 8, 1376254, 0, 8, 1310718, 0, 8, 1245182, 0, 8, 1179646, 0, 8, 1114110, 0, 8, 1048574, 0, 8, 983038, 0, 8, 1507325, 0, 8, 1441789, 0, 8, 1376253, 0, 8, 1310717, 0, 8, 1245181, 0, 8, 1179645, 0, 8, 1114109, 0, 8, 1048573, 0, 8, 983037, 0, 8, 1507324, 0, 8, 1441788, 0, 8, 1376252, 0, 8, 1310716, 0, 8, 1245180, 0, 8, 1179644, 0, 8, 1114108, 0, 8, 1048572, 0, 8, 983036, 0, 8, 1048571, 196608, 3, 983035, 196608, 3, 917499, 196608, 4, 917500, 131072, 7, 917501, 131072, 7, 1114107, 196608, 3, 1179643, 196608, 3, 1245179, 196608, 3, 1310715, 196608, 3, 1376251, 196608, 3, 1441787, 196608, 3, 1507323, 196608, 3, 1572861, 131072, 2, 1572860, 131072, 2, 1572859, 720896, 2, 917502, 131072, 7, 1572862, 131072, 2, 1572863, 131072, 2, 1507328, 131072, 2, 1507329, 131072, 2, 1507330, 131072, 2, 1507331, 131072, 2, 1507332, 131072, 2, 1310725, 65536, 3, 1376261, 65536, 3, 1441797, 65536, 3, 1507333, 851968, 2, 1441817, 0, 8, 1376281, 0, 8, 1310745, 0, 8, 1245209, 0, 8, 1179673, 0, 8, 1114137, 0, 8, 1048601, 0, 8, 983065, 0, 8, 917529, 0, 8, 1441816, 0, 8, 1376280, 0, 8, 1310744, 0, 8, 1245208, 0, 8, 1179672, 0, 8, 1114136, 0, 8, 1048600, 0, 8, 983064, 0, 8, 917528, 0, 8, 1441815, 0, 8, 1376279, 0, 8, 1310743, 0, 8, 1245207, 0, 8, 1179671, 0, 8, 1114135, 0, 8, 1048599, 0, 8, 983063, 0, 8, 917527, 0, 8, 1441814, 0, 8, 1376278, 0, 8, 1310742, 0, 8, 1441813, 0, 8, 1376277, 0, 8, 1310741, 0, 8, 1441812, 0, 8, 1376276, 0, 8, 1310740, 0, 8, 1441811, 0, 8, 1376275, 0, 8, 1310739, 0, 8, 1441810, 0, 8, 1376274, 0, 8, 1310738, 0, 8, 1441809, 0, 8, 1376273, 0, 8, 1310737, 0, 8, 1310736, 196608, 3, 1376272, 196608, 3, 1441808, 196608, 3, 1507346, 131072, 2, 1507345, 131072, 2, 1507344, 720896, 2, 1507347, 131072, 2, 1507348, 131072, 2, 1507349, 131072, 2, 1507350, 131072, 2, 851991, 131072, 7, 1507351, 131072, 2, 851992, 131072, 7, 1507352, 131072, 2, 851993, 131072, 7, 1507353, 131072, 2, 917530, 65536, 3, 983066, 65536, 3, 851994, 65536, 4, 1048602, 65536, 3, 1114138, 65536, 3, 1179674, 65536, 3, 1245210, 65536, 3, 1310746, 65536, 3, 1376282, 65536, 3, 1441818, 65536, 3, 1507354, 851968, 2, 458754, 65536, 3, 131088, 131072, 2, 851970, 65536, 3, 131075, 131072, 2, 131074, 65536, 2, 131076, 131072, 2, 131077, 131072, 2, 131078, 131072, 2, 131079, 131072, 2, 131080, 131072, 2, 131081, 131072, 2, 131082, 131072, 2, 131083, 131072, 2, 131084, 131072, 2, 131085, 131072, 2, 131086, 131072, 2, 131087, 131072, 2, 131089, 131072, 2, 131090, 131072, 2, 131091, 196608, 2, 196627, 196608, 3, 262163, 196608, 3, 327699, 196608, 3, 393235, 196608, 3, 458771, 196608, 3, 524307, 196608, 3, 589843, 196608, 3, 655379, 196608, 3, 720915, 196608, 3, 786451, 196608, 3, 851987, 196608, 3, 917523, 196608, 3, 983059, 196608, 3, 1048595, 196608, 7, 1048578, 65536, 7, 1048579, 131072, 7, 1048580, 131072, 7, 1048581, 131072, 7, 1048582, 131072, 7, 1048583, 131072, 7, 1048584, 131072, 7, 1048585, 131072, 7, 1048586, 131072, 7, 1048587, 131072, 7, 1048588, 131072, 7, 1048589, 131072, 7, 1048590, 131072, 7, 1048591, 131072, 7, 1048592, 131072, 7, 1048593, 131072, 7, 1048594, 131072, 7, 196610, 65536, 3, 262146, 65536, 3, 327682, 65536, 3, 393218, 65536, 3, 524290, 65536, 3, 589826, 65536, 3, 655362, 65536, 3, 720898, 65536, 3, 786434, 65536, 3, 917506, 65536, 3, 983042, 65536, 3) +script = ExtResource("dungeonRoomTemplate") + +[node name="EnemyMark" type="Node2D" parent="."] +script = ExtResource("3_tkueb") +Weapon1Id = "0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark2" type="Node2D" parent="."] +position = Vector2(346, -8) +script = ExtResource("3_tkueb") +Weapon1Id = "0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark3" type="Node2D" parent="."] +position = Vector2(359, 312) +script = ExtResource("3_tkueb") +Weapon1Id = "0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark4" type="Node2D" parent="."] +position = Vector2(-8, 311) +script = ExtResource("3_tkueb") +Weapon1Id = "0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark5" type="Node2D" parent="."] +script = ExtResource("3_tkueb") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark6" type="Node2D" parent="."] +position = Vector2(346, -8) +script = ExtResource("3_tkueb") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark7" type="Node2D" parent="."] +position = Vector2(359, 312) +script = ExtResource("3_tkueb") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark8" type="Node2D" parent="."] +position = Vector2(-8, 311) +script = ExtResource("3_tkueb") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 2 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark9" type="Node2D" parent="."] +script = ExtResource("3_tkueb") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark10" type="Node2D" parent="."] +position = Vector2(346, -8) +script = ExtResource("3_tkueb") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark11" type="Node2D" parent="."] +position = Vector2(359, 312) +script = ExtResource("3_tkueb") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark12" type="Node2D" parent="."] +position = Vector2(-8, 311) +script = ExtResource("3_tkueb") +Weapon1Id = "0002(ResidueAmmo:7,CurrAmmon:7)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark13" type="Node2D" parent="."] +script = ExtResource("3_tkueb") +Weapon1Id = "0005(ResidueAmmo:0,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark14" type="Node2D" parent="."] +position = Vector2(346, -8) +script = ExtResource("3_tkueb") +Weapon1Id = "0005(ResidueAmmo:0,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark15" type="Node2D" parent="."] +position = Vector2(359, 312) +script = ExtResource("3_tkueb") +Weapon1Id = "0005(ResidueAmmo:0,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 + +[node name="EnemyMark16" type="Node2D" parent="."] +position = Vector2(-8, 311) +script = ExtResource("3_tkueb") +Weapon1Id = "0005(ResidueAmmo:0,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 1.0 +BirthRect = Vector2i(50, 50) +Altitude = 0 diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn index d4ef309..fecb878 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn @@ -12,30 +12,204 @@ script = ExtResource("dungeonRoomTemplate") [node name="EnemyMark" type="Node2D" parent="."] +position = Vector2(17, 38) script = ExtResource("3_y6it6") -Weapon1Id = "0001(ResidueAmmo:30,CurrAmmon:10)" -Weapon2Id = "null; -0003(ResidueAmmo:12,CurrAmmon:12)" +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" Type = 4 -ItemExpression = "0001; -null" +ItemExpression = "0001" Layer = 1 +DelayTime = 1.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark3" type="Node2D" parent="."] +position = Vector2(198, 129) +script = ExtResource("3_y6it6") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +BirthRect = Vector2i(100, 100) Altitude = 0 [node name="ActivityMark" type="Node2D" parent="."] -position = Vector2(202, 95) +position = Vector2(116, 80) script = ExtResource("4_5ha7k") Type = 5 -ItemExpression = "0002(ResidueAmmo:15,CurrAmmon:0)" +ItemExpression = "0002(ResidueAmmo:7,CurrAmmon:7)" WaveNumber = 2 +DelayTime = 1.0 +BirthRect = Vector2i(150, 150) + +[node name="ActivityMark2" type="Node2D" parent="."] +position = Vector2(208, 101) +script = ExtResource("4_5ha7k") +Type = 5 +ItemExpression = "0001(ResidueAmmo:15,CurrAmmon:15)" +WaveNumber = 2 +DelayTime = 1.5 +BirthRect = Vector2i(150, 150) + +[node name="ActivityMark3" type="Node2D" parent="."] +position = Vector2(115, 64) +script = ExtResource("4_5ha7k") +Type = 5 +ItemExpression = "0003(ResidueAmmo:12,CurrAmmon:12)" +WaveNumber = 2 +DelayTime = 2.0 BirthRect = Vector2i(150, 150) [node name="EnemyMark2" type="Node2D" parent="."] -position = Vector2(56, 112) +position = Vector2(52, 123) script = ExtResource("3_y6it6") Weapon1Id = "0003(ResidueAmmo:12,CurrAmmon:7)" Type = 4 ItemExpression = "0001" Layer = 1 WaveNumber = 3 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark13" type="Node2D" parent="."] +position = Vector2(69, 35) +script = ExtResource("3_y6it6") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 1.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark14" type="Node2D" parent="."] +position = Vector2(224, 41) +script = ExtResource("3_y6it6") +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 2.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark15" type="Node2D" parent="."] +position = Vector2(218, 114) +script = ExtResource("3_y6it6") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 3 +DelayTime = 4.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark4" type="Node2D" parent="."] +position = Vector2(138, 89) +script = ExtResource("3_y6it6") +Weapon1Id = "0005(ResidueAmmo:5,CurrAmmon:5)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark5" type="Node2D" parent="."] +position = Vector2(27, 108) +script = ExtResource("3_y6it6") +Weapon1Id = "0005(ResidueAmmo:5,CurrAmmon:5)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 1.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark6" type="Node2D" parent="."] +position = Vector2(175, 110) +script = ExtResource("3_y6it6") +Weapon1Id = " +" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 2.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark7" type="Node2D" parent="."] +position = Vector2(35, 47) +script = ExtResource("3_y6it6") +Weapon1Id = "0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 3.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark8" type="Node2D" parent="."] +position = Vector2(157, 38) +script = ExtResource("3_y6it6") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 4 +DelayTime = 5.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark9" type="Node2D" parent="."] +position = Vector2(5, 79) +script = ExtResource("3_y6it6") +Weapon1Id = "0001(ResidueAmmo:15,CurrAmmon:15)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 5 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark10" type="Node2D" parent="."] +position = Vector2(66, 125) +script = ExtResource("3_y6it6") +Weapon1Id = "0005(ResidueAmmo:0,CurrAmmon:10)" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 5 +DelayTime = 2.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark11" type="Node2D" parent="."] +position = Vector2(190, 104) +script = ExtResource("3_y6it6") +Weapon1Id = " +" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 5 +DelayTime = 3.0 +BirthRect = Vector2i(100, 100) +Altitude = 0 + +[node name="EnemyMark12" type="Node2D" parent="."] +position = Vector2(145, 43) +script = ExtResource("3_y6it6") +Weapon1Id = " +" +Type = 4 +ItemExpression = "0001" +Layer = 1 +WaveNumber = 5 +DelayTime = 4.0 +BirthRect = Vector2i(100, 100) Altitude = 0 diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn index 379a4bf..7c48b25 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn @@ -20,7 +20,7 @@ position = Vector2(129, 68) script = ExtResource("3_m4jrh") Type = 5 -ItemExpression = "0002(CurrAmmon:0)" +ItemExpression = "0002" WaveNumber = 2 [node name="ActivityMark5" type="Node2D" parent="."] diff --git a/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room2.json b/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room2.json new file mode 100644 index 0000000..ea48daf --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room2.json @@ -0,0 +1,154 @@ +{ + "Position": { + "X": -5, + "Y": -6 + }, + "Size": { + "X": 31, + "Y": 24 + }, + "DoorAreaInfos": [ + { + "Direction": 3, + "Start": 144, + "End": 432 + }, + { + "Direction": 1, + "Start": 48, + "End": 176 + }, + { + "Direction": 1, + "Start": 256, + "End": 368 + }, + { + "Direction": 2, + "Start": 16, + "End": 128 + }, + { + "Direction": 2, + "Start": 256, + "End": 480 + }, + { + "Direction": 0, + "Start": 272, + "End": 368 + } + ], + "NavigationList": [ + { + "Type": 0, + "Points": [ + { + "X": 72, + "Y": -72 + }, + { + "X": 344, + "Y": -72 + }, + { + "X": 344, + "Y": 32 + }, + { + "X": 248, + "Y": 32 + }, + { + "X": 248, + "Y": 120 + }, + { + "X": 344, + "Y": 120 + }, + { + "X": 344, + "Y": 200 + }, + { + "X": 392, + "Y": 200 + }, + { + "X": 392, + "Y": 272 + }, + { + "X": 184, + "Y": 272 + }, + { + "X": 184, + "Y": 208 + }, + { + "X": 40, + "Y": 208 + }, + { + "X": 40, + "Y": 272 + }, + { + "X": -56, + "Y": 272 + }, + { + "X": -56, + "Y": 184 + }, + { + "X": -8, + "Y": 184 + }, + { + "X": -8, + "Y": 80 + }, + { + "X": -56, + "Y": 80 + }, + { + "X": -56, + "Y": -24 + }, + { + "X": 72, + "Y": -24 + } + ] + }, + { + "Type": 1, + "Points": [ + { + "X": 56, + "Y": 48 + }, + { + "X": 168, + "Y": 48 + }, + { + "X": 168, + "Y": 136 + }, + { + "X": 56, + "Y": 136 + } + ] + } + ], + "GroupName": "testGroup", + "RoomType": 0, + "FileName": "Room2", + "Weight": 100 +} \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room3.json b/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room3.json new file mode 100644 index 0000000..c8f0091 --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room3.json @@ -0,0 +1,117 @@ +{ + "Position": { + "X": -1, + "Y": -1 + }, + "Size": { + "X": 26, + "Y": 20 + }, + "DoorAreaInfos": [ + { + "Direction": 3, + "Start": 16, + "End": 128 + }, + { + "Direction": 3, + "Start": 208, + "End": 320 + }, + { + "Direction": 1, + "Start": 16, + "End": 224 + }, + { + "Direction": 2, + "Start": 96, + "End": 192 + }, + { + "Direction": 2, + "Start": 288, + "End": 400 + }, + { + "Direction": 0, + "Start": 96, + "End": 304 + } + ], + "NavigationList": [ + { + "Type": 0, + "Points": [ + { + "X": 8, + "Y": 8 + }, + { + "X": 104, + "Y": 8 + }, + { + "X": 104, + "Y": 88 + }, + { + "X": 200, + "Y": 88 + }, + { + "X": 200, + "Y": 8 + }, + { + "X": 296, + "Y": 8 + }, + { + "X": 296, + "Y": 88 + }, + { + "X": 376, + "Y": 88 + }, + { + "X": 376, + "Y": 288 + }, + { + "X": 280, + "Y": 288 + }, + { + "X": 280, + "Y": 208 + }, + { + "X": 168, + "Y": 208 + }, + { + "X": 168, + "Y": 288 + }, + { + "X": 88, + "Y": 288 + }, + { + "X": 88, + "Y": 208 + }, + { + "X": 8, + "Y": 208 + } + ] + } + ], + "GroupName": "testGroup", + "RoomType": 0, + "FileName": "Room3", + "Weight": 100 +} \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room4.json b/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room4.json new file mode 100644 index 0000000..634f49d --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tiledata/testGroup/battle/Room4.json @@ -0,0 +1,164 @@ +{ + "Position": { + "X": -5, + "Y": -5 + }, + "Size": { + "X": 32, + "Y": 29 + }, + "DoorAreaInfos": [ + { + "Direction": 3, + "Start": 16, + "End": 176 + }, + { + "Direction": 1, + "Start": 16, + "End": 176 + }, + { + "Direction": 1, + "Start": 304, + "End": 448 + }, + { + "Direction": 2, + "Start": 16, + "End": 144 + }, + { + "Direction": 2, + "Start": 352, + "End": 496 + }, + { + "Direction": 0, + "Start": 304, + "End": 448 + }, + { + "Direction": 0, + "Start": 16, + "End": 176 + }, + { + "Direction": 3, + "Start": 336, + "End": 496 + } + ], + "NavigationList": [ + { + "Type": 0, + "Points": [ + { + "X": -56, + "Y": -56 + }, + { + "X": 88, + "Y": -56 + }, + { + "X": 88, + "Y": 8 + }, + { + "X": 264, + "Y": 8 + }, + { + "X": 264, + "Y": -56 + }, + { + "X": 408, + "Y": -56 + }, + { + "X": 408, + "Y": 96 + }, + { + "X": 344, + "Y": 96 + }, + { + "X": 344, + "Y": 232 + }, + { + "X": 408, + "Y": 232 + }, + { + "X": 408, + "Y": 368 + }, + { + "X": 280, + "Y": 368 + }, + { + "X": 280, + "Y": 304 + }, + { + "X": 72, + "Y": 304 + }, + { + "X": 72, + "Y": 368 + }, + { + "X": -56, + "Y": 368 + }, + { + "X": -56, + "Y": 232 + }, + { + "X": 8, + "Y": 232 + }, + { + "X": 8, + "Y": 96 + }, + { + "X": -56, + "Y": 96 + } + ] + }, + { + "Type": 1, + "Points": [ + { + "X": 24, + "Y": 32 + }, + { + "X": 328, + "Y": 32 + }, + { + "X": 328, + "Y": 280 + }, + { + "X": 24, + "Y": 280 + } + ] + } + ], + "GroupName": "testGroup", + "RoomType": 0, + "FileName": "Room4", + "Weight": 100 +} \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/map/tiledata/testGroup/inlet/Room1.json b/DungeonShooting_Godot/resource/map/tiledata/testGroup/inlet/Room1.json index 6c3fba1..952528a 100644 --- a/DungeonShooting_Godot/resource/map/tiledata/testGroup/inlet/Room1.json +++ b/DungeonShooting_Godot/resource/map/tiledata/testGroup/inlet/Room1.json @@ -1,38 +1,38 @@ { "Position": { - "X": -1, - "Y": -1 + "X": -1, + "Y": -1 }, "Size": { - "X": 12, - "Y": 8 + "X": 12, + "Y": 8 }, "DoorAreaInfos": [], "NavigationList": [ - { - "Type": 0, - "Points": [ - { - "X": 8, - "Y": 8 - }, - { - "X": 152, - "Y": 8 - }, - { - "X": 152, - "Y": 96 - }, - { - "X": 8, - "Y": 96 - } - ] - } + { + "Type": 0, + "Points": [ + { + "X": 8, + "Y": 8 + }, + { + "X": 152, + "Y": 8 + }, + { + "X": 152, + "Y": 96 + }, + { + "X": 8, + "Y": 96 + } + ] + } ], "GroupName": "testGroup", "RoomType": 1, "FileName": "Room1", "Weight": 100 -} \ No newline at end of file +} diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0001.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0001.ogg new file mode 100644 index 0000000..5921758 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0001.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0001.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0001.ogg.import new file mode 100644 index 0000000..5d6ab60 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0001.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://6nqv378nbpeo" +path="res://.godot/imported/BeLoaded0001.ogg-2ff56e92b77feed853599c53c84f22ee.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0001.ogg" +dest_files=["res://.godot/imported/BeLoaded0001.ogg-2ff56e92b77feed853599c53c84f22ee.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0002.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0002.ogg new file mode 100644 index 0000000..69130e6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0002.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0002.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0002.ogg.import new file mode 100644 index 0000000..5e94026 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0002.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c4noep75aaunu" +path="res://.godot/imported/BeLoaded0002.ogg-253b08c8a73e3687870f11ebc8aba210.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0002.ogg" +dest_files=["res://.godot/imported/BeLoaded0002.ogg-253b08c8a73e3687870f11ebc8aba210.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0003.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0003.ogg new file mode 100644 index 0000000..997de27 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0003.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0003.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0003.ogg.import new file mode 100644 index 0000000..d983a20 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0003.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cbjsb1q0vwp2" +path="res://.godot/imported/BeLoaded0003.ogg-fc4c538184d37fd5b31fdce1877496f3.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0003.ogg" +dest_files=["res://.godot/imported/BeLoaded0003.ogg-fc4c538184d37fd5b31fdce1877496f3.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0004.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0004.ogg new file mode 100644 index 0000000..5d48d01 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0004.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0004.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0004.ogg.import new file mode 100644 index 0000000..4a93594 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0004.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dyqpao6qt2ai8" +path="res://.godot/imported/BeLoaded0004.ogg-6671da21522b7a79765f13b95621bc59.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0004.ogg" +dest_files=["res://.godot/imported/BeLoaded0004.ogg-6671da21522b7a79765f13b95621bc59.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0005.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0005.ogg new file mode 100644 index 0000000..8b80080 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0005.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0005.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0005.ogg.import new file mode 100644 index 0000000..f7c3a59 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0005.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://crkg7drgexn17" +path="res://.godot/imported/BeLoaded0005.ogg-4a985ecfe7314c72fc74c1212e1869fb.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0005.ogg" +dest_files=["res://.godot/imported/BeLoaded0005.ogg-4a985ecfe7314c72fc74c1212e1869fb.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0006.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0006.ogg new file mode 100644 index 0000000..d33e2b6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0006.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0006.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0006.ogg.import new file mode 100644 index 0000000..7098f8a --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0006.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cuj4um0rdufdm" +path="res://.godot/imported/BeLoaded0006.ogg-8792516111f8fc6f284f9e98e5639b4f.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0006.ogg" +dest_files=["res://.godot/imported/BeLoaded0006.ogg-8792516111f8fc6f284f9e98e5639b4f.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0007.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0007.ogg new file mode 100644 index 0000000..7e9fb5c --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0007.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0007.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0007.ogg.import new file mode 100644 index 0000000..f0c24cf --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0007.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c7rc70p15fef8" +path="res://.godot/imported/BeLoaded0007.ogg-3831dab02c9546c0870047a2bf0ea4e6.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0007.ogg" +dest_files=["res://.godot/imported/BeLoaded0007.ogg-3831dab02c9546c0870047a2bf0ea4e6.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0008.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0008.ogg new file mode 100644 index 0000000..946dbb9 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0008.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0008.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0008.ogg.import new file mode 100644 index 0000000..970b03f --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0008.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dcyfcmbjv0r8o" +path="res://.godot/imported/BeLoaded0008.ogg-818cfd02e76b463cf478ce9c44c920e4.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0008.ogg" +dest_files=["res://.godot/imported/BeLoaded0008.ogg-818cfd02e76b463cf478ce9c44c920e4.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0009.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0009.ogg new file mode 100644 index 0000000..5ce800d --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0009.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0009.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0009.ogg.import new file mode 100644 index 0000000..c02699f --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0009.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ccw8aat5fmax" +path="res://.godot/imported/BeLoaded0009.ogg-addfb5d1e86639fa5d0f0c5ff69691dd.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0009.ogg" +dest_files=["res://.godot/imported/BeLoaded0009.ogg-addfb5d1e86639fa5d0f0c5ff69691dd.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0010.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0010.ogg new file mode 100644 index 0000000..6f5c2ab --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0010.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0010.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0010.ogg.import new file mode 100644 index 0000000..0ae31e6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0010.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://b5bkgwbs5m4k8" +path="res://.godot/imported/BeLoaded0010.ogg-c8354aca73bc5b6f2defbdefb49b3328.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0010.ogg" +dest_files=["res://.godot/imported/BeLoaded0010.ogg-c8354aca73bc5b6f2defbdefb49b3328.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0011.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0011.ogg new file mode 100644 index 0000000..7d22ebb --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0011.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0011.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0011.ogg.import new file mode 100644 index 0000000..d755f46 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0011.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bnmu7lter1gnw" +path="res://.godot/imported/BeLoaded0011.ogg-4cfb144c12ac624bee6c157d5d7637d5.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0011.ogg" +dest_files=["res://.godot/imported/BeLoaded0011.ogg-4cfb144c12ac624bee6c157d5d7637d5.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0012.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0012.ogg new file mode 100644 index 0000000..3fa5bd9 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0012.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0012.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0012.ogg.import new file mode 100644 index 0000000..8b98e6a --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0012.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dw7ake5awg0a1" +path="res://.godot/imported/BeLoaded0012.ogg-8c91014c7d35be28f3facb1179e155f4.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0012.ogg" +dest_files=["res://.godot/imported/BeLoaded0012.ogg-8c91014c7d35be28f3facb1179e155f4.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0013.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0013.ogg new file mode 100644 index 0000000..cf52506 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0013.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0013.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0013.ogg.import new file mode 100644 index 0000000..81e08ae --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0013.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://b6q1gajro6p15" +path="res://.godot/imported/BeLoaded0013.ogg-0181328a9127c3d6ddac59c6fcc263a3.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0013.ogg" +dest_files=["res://.godot/imported/BeLoaded0013.ogg-0181328a9127c3d6ddac59c6fcc263a3.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0014.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0014.ogg new file mode 100644 index 0000000..867acdf --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0014.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0014.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0014.ogg.import new file mode 100644 index 0000000..c31f147 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0014.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://mt1wov5snirq" +path="res://.godot/imported/BeLoaded0014.ogg-10f3e3f7917315e22cf8b19f5b70431d.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0014.ogg" +dest_files=["res://.godot/imported/BeLoaded0014.ogg-10f3e3f7917315e22cf8b19f5b70431d.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0015.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0015.ogg new file mode 100644 index 0000000..a037fbd --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0015.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0015.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0015.ogg.import new file mode 100644 index 0000000..d435c58 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0015.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://da50b6io6t0bo" +path="res://.godot/imported/BeLoaded0015.ogg-2014969459848c2c8e882f751d9e8e29.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0015.ogg" +dest_files=["res://.godot/imported/BeLoaded0015.ogg-2014969459848c2c8e882f751d9e8e29.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0016.ogg b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0016.ogg new file mode 100644 index 0000000..ba60496 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0016.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0016.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0016.ogg.import new file mode 100644 index 0000000..a210876 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/beLoaded/BeLoaded0016.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://0yb17oy4453o" +path="res://.godot/imported/BeLoaded0016.ogg-e9b658fa28da317bbabcdbd1c5347a09.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/beLoaded/BeLoaded0016.ogg" +dest_files=["res://.godot/imported/BeLoaded0016.ogg-e9b658fa28da317bbabcdbd1c5347a09.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0001.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0001.ogg deleted file mode 100644 index 5921758..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0001.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0001.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0001.ogg.import deleted file mode 100644 index 928b9c7..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0001.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://dip1xa8wpxdjo" -path="res://.godot/imported/Equip0001.ogg-ce76c2685b56ca81c64a249c091b676f.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0001.ogg" -dest_files=["res://.godot/imported/Equip0001.ogg-ce76c2685b56ca81c64a249c091b676f.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0002.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0002.ogg deleted file mode 100644 index 69130e6..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0002.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0002.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0002.ogg.import deleted file mode 100644 index 25b9130..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0002.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://dkrjt31o0eucf" -path="res://.godot/imported/Equip0002.ogg-3affe904bd55131140861c56f81ffb69.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0002.ogg" -dest_files=["res://.godot/imported/Equip0002.ogg-3affe904bd55131140861c56f81ffb69.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0003.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0003.ogg deleted file mode 100644 index 997de27..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0003.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0003.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0003.ogg.import deleted file mode 100644 index 07ab5c4..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0003.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://djrsm2nwhxcug" -path="res://.godot/imported/Equip0003.ogg-3b4a3d3213381cdf73dc7aef46753102.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0003.ogg" -dest_files=["res://.godot/imported/Equip0003.ogg-3b4a3d3213381cdf73dc7aef46753102.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0004.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0004.ogg deleted file mode 100644 index 5d48d01..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0004.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0004.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0004.ogg.import deleted file mode 100644 index 502517f..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0004.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://lf1ylcyoem5j" -path="res://.godot/imported/Equip0004.ogg-5a399a5e1e60fa268b1938640db45ef5.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0004.ogg" -dest_files=["res://.godot/imported/Equip0004.ogg-5a399a5e1e60fa268b1938640db45ef5.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0005.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0005.ogg deleted file mode 100644 index 8b80080..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0005.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0005.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0005.ogg.import deleted file mode 100644 index bd4eef6..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0005.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://cthbancmpyj7" -path="res://.godot/imported/Equip0005.ogg-8817a0fa1fd401c9c0d472a9d6beb42a.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0005.ogg" -dest_files=["res://.godot/imported/Equip0005.ogg-8817a0fa1fd401c9c0d472a9d6beb42a.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0006.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0006.ogg deleted file mode 100644 index d33e2b6..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0006.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0006.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0006.ogg.import deleted file mode 100644 index 878e90d..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0006.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://b8md3alwndnnd" -path="res://.godot/imported/Equip0006.ogg-44403eb376aa14102739085a04ea347c.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0006.ogg" -dest_files=["res://.godot/imported/Equip0006.ogg-44403eb376aa14102739085a04ea347c.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0007.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0007.ogg deleted file mode 100644 index 7e9fb5c..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0007.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0007.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0007.ogg.import deleted file mode 100644 index 1263481..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0007.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://b6tnjh0oopl72" -path="res://.godot/imported/Equip0007.ogg-493fa63577155645da0dec1fcb92abfd.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0007.ogg" -dest_files=["res://.godot/imported/Equip0007.ogg-493fa63577155645da0dec1fcb92abfd.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0008.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0008.ogg deleted file mode 100644 index 946dbb9..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0008.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0008.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0008.ogg.import deleted file mode 100644 index 210a331..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0008.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://c75bbsct7ba2x" -path="res://.godot/imported/Equip0008.ogg-e295816880102ab69cc8358aa6afd48d.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0008.ogg" -dest_files=["res://.godot/imported/Equip0008.ogg-e295816880102ab69cc8358aa6afd48d.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0009.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0009.ogg deleted file mode 100644 index 5ce800d..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0009.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0009.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0009.ogg.import deleted file mode 100644 index 2dd8440..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0009.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://dm5wxqo12bxml" -path="res://.godot/imported/Equip0009.ogg-c7f72aa52ad71fde004dd112cdf74ddf.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0009.ogg" -dest_files=["res://.godot/imported/Equip0009.ogg-c7f72aa52ad71fde004dd112cdf74ddf.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0010.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0010.ogg deleted file mode 100644 index 6f5c2ab..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0010.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0010.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0010.ogg.import deleted file mode 100644 index 8325eb0..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0010.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://c1qs6eghrnns0" -path="res://.godot/imported/Equip0010.ogg-1c2884443139ff20df30370181107612.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0010.ogg" -dest_files=["res://.godot/imported/Equip0010.ogg-1c2884443139ff20df30370181107612.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0011.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0011.ogg deleted file mode 100644 index 7d22ebb..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0011.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0011.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0011.ogg.import deleted file mode 100644 index f222a80..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0011.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://cdaw7ubg43yq4" -path="res://.godot/imported/Equip0011.ogg-836b37d079b40d32ddef1ca1b4449399.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0011.ogg" -dest_files=["res://.godot/imported/Equip0011.ogg-836b37d079b40d32ddef1ca1b4449399.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0012.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0012.ogg deleted file mode 100644 index 3fa5bd9..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0012.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0012.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0012.ogg.import deleted file mode 100644 index be6d010..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0012.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://d10jiojh35j72" -path="res://.godot/imported/Equip0012.ogg-7946a787c8709277f5993a50699304fe.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0012.ogg" -dest_files=["res://.godot/imported/Equip0012.ogg-7946a787c8709277f5993a50699304fe.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0013.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0013.ogg deleted file mode 100644 index cf52506..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0013.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0013.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0013.ogg.import deleted file mode 100644 index 0c86295..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0013.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://bwh74gdjikflw" -path="res://.godot/imported/Equip0013.ogg-731f9499790489e4de06466a632e81b6.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0013.ogg" -dest_files=["res://.godot/imported/Equip0013.ogg-731f9499790489e4de06466a632e81b6.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0014.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0014.ogg deleted file mode 100644 index 867acdf..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0014.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0014.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0014.ogg.import deleted file mode 100644 index e36585b..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0014.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://cys7pyrn1ymtk" -path="res://.godot/imported/Equip0014.ogg-adda0907dd891c1b7dba47fb2e7ebcbf.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0014.ogg" -dest_files=["res://.godot/imported/Equip0014.ogg-adda0907dd891c1b7dba47fb2e7ebcbf.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0015.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0015.ogg deleted file mode 100644 index a037fbd..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0015.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0015.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0015.ogg.import deleted file mode 100644 index 5b16332..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0015.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://b4w0okt3ajiqk" -path="res://.godot/imported/Equip0015.ogg-60c78f2d270234a19bd53c4e83d20957.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0015.ogg" -dest_files=["res://.godot/imported/Equip0015.ogg-60c78f2d270234a19bd53c4e83d20957.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0016.ogg b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0016.ogg deleted file mode 100644 index ba60496..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0016.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0016.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0016.ogg.import deleted file mode 100644 index 4364c9e..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/equip/Equip0016.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://xomfara07whg" -path="res://.godot/imported/Equip0016.ogg-d42ff1d28121c9f7725960dffc932a7c.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/equip/Equip0016.ogg" -dest_files=["res://.godot/imported/Equip0016.ogg-d42ff1d28121c9f7725960dffc932a7c.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/reloading/Reloading_begin0009.ogg b/DungeonShooting_Godot/resource/sound/sfx/reloading/Reloading_begin0009.ogg index d089083..d8f33b0 100644 --- a/DungeonShooting_Godot/resource/sound/sfx/reloading/Reloading_begin0009.ogg +++ b/DungeonShooting_Godot/resource/sound/sfx/reloading/Reloading_begin0009.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/shell/Shell0001.png b/DungeonShooting_Godot/resource/sprite/shell/Shell0001.png index 7a926c6..57ad71d 100644 --- a/DungeonShooting_Godot/resource/sprite/shell/Shell0001.png +++ b/DungeonShooting_Godot/resource/sprite/shell/Shell0001.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/shell/Shell0002.png b/DungeonShooting_Godot/resource/sprite/shell/Shell0002.png new file mode 100644 index 0000000..0f99570 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/shell/Shell0002.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/shell/Shell0002.png.import b/DungeonShooting_Godot/resource/sprite/shell/Shell0002.png.import new file mode 100644 index 0000000..c2fdedf --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/shell/Shell0002.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://biiplgrnviefe" +path="res://.godot/imported/Shell0002.png-268d613a3220c7d9889281c385bbb110.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/shell/Shell0002.png" +dest_files=["res://.godot/imported/Shell0002.png-268d613a3220c7d9889281c385bbb110.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 diff --git a/DungeonShooting_Godot/resource/sprite/shell/Shell0003.png b/DungeonShooting_Godot/resource/sprite/shell/Shell0003.png new file mode 100644 index 0000000..f777c80 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/shell/Shell0003.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/shell/Shell0003.png.import b/DungeonShooting_Godot/resource/sprite/shell/Shell0003.png.import new file mode 100644 index 0000000..35a53c8 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/shell/Shell0003.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tq8vhc2kycax" +path="res://.godot/imported/Shell0003.png-4e1f53d86540103929b2b7e189be424f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/shell/Shell0003.png" +dest_files=["res://.godot/imported/Shell0003.png-4e1f53d86540103929b2b7e189be424f.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 diff --git a/DungeonShooting_Godot/resource/spriteFrames/Shell0002.tres b/DungeonShooting_Godot/resource/spriteFrames/Shell0002.tres new file mode 100644 index 0000000..cda2547 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Shell0002.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://cj8psdl2pova6"] + +[ext_resource type="Texture2D" uid="uid://biiplgrnviefe" path="res://resource/sprite/shell/Shell0002.png" id="1_gpa8q"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_gpa8q") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Shell0003.tres b/DungeonShooting_Godot/resource/spriteFrames/Shell0003.tres new file mode 100644 index 0000000..99ecb0e --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Shell0003.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://kc1jwvwdg660"] + +[ext_resource type="Texture2D" uid="uid://tq8vhc2kycax" path="res://resource/sprite/shell/Shell0003.png" id="1_qhaf7"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_qhaf7") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Weapon0002.tres b/DungeonShooting_Godot/resource/spriteFrames/Weapon0002.tres index c3e68b2..4186037 100644 --- a/DungeonShooting_Godot/resource/spriteFrames/Weapon0002.tres +++ b/DungeonShooting_Godot/resource/spriteFrames/Weapon0002.tres @@ -31,14 +31,6 @@ animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("1_2tglc") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}, { -"frames": [{ -"duration": 1.0, "texture": SubResource("AtlasTexture_b4jme") }, { "duration": 1.0, @@ -57,6 +49,14 @@ "texture": SubResource("AtlasTexture_p0dy6") }], "loop": false, -"name": &"equip", +"name": &"beLoaded", "speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_2tglc") +}], +"loop": true, +"name": &"default", +"speed": 5.0 }] diff --git a/DungeonShooting_Godot/resource/theme/mainTheme.tres b/DungeonShooting_Godot/resource/theme/mainTheme.tres index c33db4e..46b8c1e 100644 --- a/DungeonShooting_Godot/resource/theme/mainTheme.tres +++ b/DungeonShooting_Godot/resource/theme/mainTheme.tres @@ -352,7 +352,7 @@ [sub_resource type="ImageTexture" id="58"] -[sub_resource type="Image" id="Image_ji00c"] +[sub_resource type="Image" id="Image_7cp2c"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -362,7 +362,7 @@ } [sub_resource type="ImageTexture" id="60"] -image = SubResource("Image_ji00c") +image = SubResource("Image_7cp2c") [sub_resource type="StyleBoxTexture" id="61"] content_margin_left = 2.0 @@ -372,7 +372,7 @@ texture = SubResource("60") region_rect = Rect2(0, 0, 12, 12) -[sub_resource type="Image" id="Image_g5vbn"] +[sub_resource type="Image" id="Image_nb7g2"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -382,7 +382,7 @@ } [sub_resource type="ImageTexture" id="63"] -image = SubResource("Image_g5vbn") +image = SubResource("Image_nb7g2") [sub_resource type="StyleBoxTexture" id="64"] content_margin_left = 2.0 @@ -392,7 +392,7 @@ texture = SubResource("63") region_rect = Rect2(0, 0, 12, 12) -[sub_resource type="Image" id="Image_1firp"] +[sub_resource type="Image" id="Image_bsp3h"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -402,7 +402,7 @@ } [sub_resource type="ImageTexture" id="66"] -image = SubResource("Image_1firp") +image = SubResource("Image_bsp3h") [sub_resource type="StyleBoxTexture" id="67"] content_margin_left = 2.0 @@ -412,7 +412,7 @@ texture = SubResource("66") region_rect = Rect2(0, 0, 12, 12) -[sub_resource type="Image" id="Image_8rrrg"] +[sub_resource type="Image" id="Image_l2654"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -422,7 +422,7 @@ } [sub_resource type="ImageTexture" id="69"] -image = SubResource("Image_8rrrg") +image = SubResource("Image_l2654") [sub_resource type="StyleBoxTexture" id="70"] content_margin_left = 0.0 @@ -446,7 +446,7 @@ content_margin_right = 4.0 content_margin_bottom = 4.0 -[sub_resource type="Image" id="Image_inqjn"] +[sub_resource type="Image" id="Image_61eau"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 228, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 228, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 18, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 17, 255, 255, 255, 186, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 191, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 186, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 189, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 77, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 77, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGBA8", @@ -456,7 +456,7 @@ } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_inqjn") +image = SubResource("Image_61eau") [sub_resource type="StyleBoxFlat" id="57"] content_margin_left = 6.0 diff --git a/DungeonShooting_Godot/src/config/ExcelConfig.cs b/DungeonShooting_Godot/src/config/ExcelConfig.cs index a1bd2b5..b0abf46 100644 --- a/DungeonShooting_Godot/src/config/ExcelConfig.cs +++ b/DungeonShooting_Godot/src/config/ExcelConfig.cs @@ -131,9 +131,9 @@ item.ReloadFinishSound = Sound_Map[item.__ReloadFinishSound]; } - if (!string.IsNullOrEmpty(item.__EquipSound)) + if (!string.IsNullOrEmpty(item.__BeLoadedSound)) { - item.EquipSound = Sound_Map[item.__EquipSound]; + item.BeLoadedSound = Sound_Map[item.__BeLoadedSound]; } if (item.__OtherSoundMap != null) diff --git a/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs b/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs index acbe1e3..4b20145 100644 --- a/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs +++ b/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs @@ -119,13 +119,25 @@ public float MinChargeTime; /// - /// 连续发射最小次数, 仅当 ContinuousShoot 为 false 时生效 + /// 单次射击后是否自动执行上膛操作, 必须将 'ContinuousShoot' 设置为 false + /// + [JsonInclude] + public bool AutoBeLoaded; + + /// + /// 上膛时间, 如果时间为0, 则不会播放上膛动画和音效, 可以视为没有上膛动作, 必须将 'ContinuousShoot' 设置为 false + /// + [JsonInclude] + public float BeLoadedTime; + + /// + /// 连续发射最小次数, 仅当 'ContinuousShoot' 为 false 时生效 /// [JsonInclude] public int MinContinuousCount; /// - /// 连续发射最大次数, 仅当 ContinuousShoot 为 false 时生效 + /// 连续发射最大次数, 仅当 'ContinuousShoot' 为 false 时生效 /// [JsonInclude] public int MaxContinuousCount; @@ -143,7 +155,7 @@ public float StartFiringSpeed; /// - /// 最终射速, 最终每分钟能开火次数, 仅当 ContinuousShoot 为 true 时生效 + /// 最终射速, 最终每分钟能开火次数, 仅当 'ContinuousShoot' 为 true 时生效 /// [JsonInclude] public float FinalFiringSpeed; @@ -251,6 +263,18 @@ public string BulletId; /// + /// 子弹造成的最大伤害 + /// + [JsonInclude] + public int BulletMaxHarm; + + /// + /// 子弹造成的最小伤害 + /// + [JsonInclude] + public int BulletMinHarm; + + /// /// 子弹最小偏移角度
/// 用于设置子弹偏移朝向, 该属性和射半径效果类似, 但与其不同的是, 散射半径是用来控制枪口朝向的, 而该属性是控制子弹朝向的, 可用于制作霰弹枪子弹效果 ///
@@ -288,6 +312,19 @@ public float BulletMaxDistance; /// + /// 默认抛出的弹壳 + /// + [JsonInclude] + public string ShellId; + + /// + /// 投抛弹壳的延时时间, 在射击或者上膛后会触发抛弹壳效果
+ /// 如果为负数, 则不自动抛弹 + ///
+ [JsonInclude] + public float ThrowShellDelayTime; + + /// /// 投抛状态下物体碰撞器大小 /// [JsonInclude] @@ -335,13 +372,13 @@ /// /// 上膛音效 /// - public Sound EquipSound; + public Sound BeLoadedSound; /// - /// 上膛音效延时时间 + /// 上膛音效延时时间, 这个时间应该小于'BeLoadedTime' /// [JsonInclude] - public float EquipSoundDelayTime; + public float BeLoadedSoundDelayTime; /// /// 其他音效 @@ -400,6 +437,8 @@ inst.AloneReloadCanShoot = AloneReloadCanShoot; inst.LooseShoot = LooseShoot; inst.MinChargeTime = MinChargeTime; + inst.AutoBeLoaded = AutoBeLoaded; + inst.BeLoadedTime = BeLoadedTime; inst.MinContinuousCount = MinContinuousCount; inst.MaxContinuousCount = MaxContinuousCount; inst.TriggerInterval = TriggerInterval; @@ -422,12 +461,16 @@ inst.DefaultAngle = DefaultAngle; inst.UpliftAngleRestore = UpliftAngleRestore; inst.BulletId = BulletId; + inst.BulletMaxHarm = BulletMaxHarm; + inst.BulletMinHarm = BulletMinHarm; inst.BulletMinDeviationAngle = BulletMinDeviationAngle; inst.BulletMaxDeviationAngle = BulletMaxDeviationAngle; inst.BulletMaxSpeed = BulletMaxSpeed; inst.BulletMinSpeed = BulletMinSpeed; inst.BulletMinDistance = BulletMinDistance; inst.BulletMaxDistance = BulletMaxDistance; + inst.ShellId = ShellId; + inst.ThrowShellDelayTime = ThrowShellDelayTime; inst.ThrowCollisionSize = ThrowCollisionSize; inst.ShootSound = ShootSound; inst.BeginReloadSound = BeginReloadSound; @@ -436,8 +479,8 @@ inst.ReloadSoundDelayTime = ReloadSoundDelayTime; inst.ReloadFinishSound = ReloadFinishSound; inst.ReloadFinishSoundAdvanceTime = ReloadFinishSoundAdvanceTime; - inst.EquipSound = EquipSound; - inst.EquipSoundDelayTime = EquipSoundDelayTime; + inst.BeLoadedSound = BeLoadedSound; + inst.BeLoadedSoundDelayTime = BeLoadedSoundDelayTime; inst.OtherSoundMap = OtherSoundMap; inst.AiUseAttribute = AiUseAttribute; inst.AiTargetLockingTime = AiTargetLockingTime; @@ -461,7 +504,7 @@ public string __ReloadFinishSound; [JsonInclude] - public string __EquipSound; + public string __BeLoadedSound; [JsonInclude] public Dictionary __OtherSoundMap; diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs index bd486c8..7a7d794 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs @@ -94,7 +94,10 @@ if (value != _affiliationArea) { _affiliationArea = value; - OnAffiliationChange(); + if (!IsDestroyed) + { + OnAffiliationChange(); + } } } } @@ -1079,6 +1082,11 @@ } IsDestroyed = true; + if (AffiliationArea != null) + { + AffiliationArea.RemoveItem(this); + } + QueueFree(); OnDestroy(); diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs index 450fbb2..5e7e2a9 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs @@ -25,6 +25,8 @@ public const string Id_bullet0001 = "bullet0001"; public const string Id_bullet0002 = "bullet0002"; public const string Id_shell0001 = "shell0001"; + public const string Id_shell0002 = "shell0002"; + public const string Id_shell0003 = "shell0003"; /// /// 敌人死亡碎片 /// @@ -59,6 +61,8 @@ _activityRegisterMap.Add("bullet0001", "res://prefab/bullet/Bullet0001.tscn"); _activityRegisterMap.Add("bullet0002", "res://prefab/bullet/Bullet0002.tscn"); _activityRegisterMap.Add("shell0001", "res://prefab/shell/Shell0001.tscn"); + _activityRegisterMap.Add("shell0002", "res://prefab/shell/Shell0002.tscn"); + _activityRegisterMap.Add("shell0003", "res://prefab/shell/Shell0003.tscn"); _activityRegisterMap.Add("effect0001", "res://prefab/effect/activityObject/Effect0001.tscn"); _activityRegisterMap.Add("other_door_e", "res://prefab/map/RoomDoor_E.tscn"); _activityRegisterMap.Add("other_door_w", "res://prefab/map/RoomDoor_W.tscn"); diff --git a/DungeonShooting_Godot/src/framework/generator/ExcelGenerator.cs b/DungeonShooting_Godot/src/framework/generator/ExcelGenerator.cs index 9558609..26d9357 100644 --- a/DungeonShooting_Godot/src/framework/generator/ExcelGenerator.cs +++ b/DungeonShooting_Godot/src/framework/generator/ExcelGenerator.cs @@ -11,7 +11,10 @@ public static void ExportExcel() { var arr = new Array(); - OS.Execute("excel/DungeonShooting_ExcelTool.exe", new string[0], arr); + var excelPath = "excel/excelFile/"; + var jsonPath = "resource/config/"; + var codePath = "src/config/"; + OS.Execute("excel/DungeonShooting_ExcelTool.exe", new string[] { excelPath, jsonPath, codePath }, arr); foreach (var message in arr) { GD.Print(message); diff --git a/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs index ea8de22..9f1e3ff 100644 --- a/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs +++ b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs @@ -214,8 +214,7 @@ } } while (_drawingQueueItems.Count > 0 && (DateTime.Now - startTime).TotalMilliseconds < step1Time); - GD.Print($"当前帧绘制完成数量: {index}, 绘制队列数量: {_drawingQueueItems.Count}, 用时: {(DateTime.Now - startTime).TotalMilliseconds}毫秒"); - + //GD.Print($"当前帧绘制完成数量: {index}, 绘制队列数量: {_drawingQueueItems.Count}, 用时: {(DateTime.Now - startTime).TotalMilliseconds}毫秒"); } //重绘画布 @@ -281,7 +280,7 @@ } } - GD.Print($"当前帧进入绘制绘队列数量: {index}, 待绘制队列数量: {_queueItems.Count}, 绘制队列数量: {_drawingQueueItems.Count}, 用时: {(DateTime.Now - startTime).TotalMilliseconds}毫秒"); + //GD.Print($"当前帧进入绘制绘队列数量: {index}, 待绘制队列数量: {_queueItems.Count}, 绘制队列数量: {_drawingQueueItems.Count}, 用时: {(DateTime.Now - startTime).TotalMilliseconds}毫秒"); } } diff --git a/DungeonShooting_Godot/src/game/AnimatorNames.cs b/DungeonShooting_Godot/src/game/AnimatorNames.cs index b26f934..5ea58e8 100644 --- a/DungeonShooting_Godot/src/game/AnimatorNames.cs +++ b/DungeonShooting_Godot/src/game/AnimatorNames.cs @@ -47,5 +47,5 @@ /// /// 子弹上膛 /// - public const string Equip = "equip"; + public const string BeLoaded = "beLoaded"; } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/GameApplication.cs b/DungeonShooting_Godot/src/game/GameApplication.cs index 73ecc5c..a7580e3 100644 --- a/DungeonShooting_Godot/src/game/GameApplication.cs +++ b/DungeonShooting_Godot/src/game/GameApplication.cs @@ -138,6 +138,7 @@ { var newDelta = (float)delta; InputManager.Update(newDelta); + SoundManager.Update(newDelta); //协程更新 if (_coroutineList != null) diff --git a/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs b/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs index bb20329..9def84a 100644 --- a/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs +++ b/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs @@ -17,6 +17,16 @@ /// public Weapon Weapon { get; private set; } + /// + /// 最小伤害 + /// + public int MinHarm { get; set; } = 4; + + /// + /// 最大伤害 + /// + public int MaxHarm { get; set; } = 4; + // 最大飞行距离 private float MaxDistance; @@ -89,7 +99,7 @@ node.GlobalPosition = GlobalPosition; node.AddToActivityRoot(RoomLayerEnum.YSortLayer); - role.CallDeferred(nameof(Role.Hurt), 4, Rotation); + role.CallDeferred(nameof(Role.Hurt), Utils.RandomRangeInt(MinHarm, MaxHarm), Rotation); Destroy(); } } diff --git a/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs index 59583fa..4cae2a7 100644 --- a/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs +++ b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs @@ -9,11 +9,6 @@ public abstract partial class Weapon : ActivityObject { /// - /// 开火回调事件 - /// - public event Action FireEvent; - - /// /// 武器属性数据 /// public ExcelConfig.Weapon Attribute => _weaponAttribute; @@ -203,6 +198,12 @@ //是否播放过换弹完成音效 private bool _playReloadFinishSoundFlag = false; + //上膛状态,-1: 等待执行自动上膛 , 0: 未上膛, 1: 上膛中, 2: 已经完成上膛 + private sbyte _beLoadedState = 2; + + //上膛计时器 + private float _beLoadedStateTimer = -1; + // ---------------------------------------------- private uint _tempLayer; @@ -289,6 +290,20 @@ /// /// 开火时枪口旋转角度 protected abstract void OnShoot(float fireRotation); + + /// + /// 上膛开始时调用 + /// + protected virtual void OnBeginBeLoaded() + { + } + + /// + /// 上膛结束时调用 + /// + protected virtual void OnBeLoadedFinish() + { + } /// /// 当按下扳机时调用 @@ -308,7 +323,7 @@ /// 开始蓄力时调用, /// 注意, 该函数仅在 Attribute.LooseShoot == false 时才能被调用 /// - protected virtual void OnStartCharge() + protected virtual void OnBeginCharge() { } @@ -324,7 +339,6 @@ /// protected virtual void OnBeginReload() { - } /// @@ -335,6 +349,13 @@ } /// + /// 单独装弹完成时调用 + /// + protected virtual void OnAloneReloadStateFinish() + { + } + + /// /// 当武器被拾起时调用 /// /// 拾起该武器的角色 @@ -425,11 +446,26 @@ _upTimer = 0; _looseShootFlag = false; _chargeTime = 0; + _beLoadedStateTimer = -1; } } else //正在使用中 { _dirtyFlag = true; + + //上膛 + if (_beLoadedState == 1) + { + _beLoadedStateTimer -= delta; + //上膛完成 + if (_beLoadedStateTimer <= 0) + { + _beLoadedStateTimer = -1; + _beLoadedState = 2; + OnBeLoadedFinish(); + } + } + //换弹 if (Reloading) { @@ -516,7 +552,7 @@ } } - // 攻击的计时器 + //攻击的计时器 if (_attackTimer > 0) { _attackTimer -= delta; @@ -526,6 +562,11 @@ _attackTimer = 0; //枪口默认角度 RotationDegrees = -Attribute.DefaultAngle; + //自动上膛 + if (_beLoadedState == -1) + { + BeLoadedHandler(); + } } } else if (_delayedTime > 0) //攻击延时 @@ -567,6 +608,12 @@ { //连发开火 TriggerFire(); + //连发最后一发打完了 + if (_continuousCount <= 0) + { + //执行上膛逻辑 + RunBeLoaded(); + } } //散射值销退 @@ -613,99 +660,130 @@ //是否第一帧按下 var justDown = _downTimer == 0; - //是否能发射 - var flag = false; - if (_continuousCount <= 0) //不能处于连发状态下 + + if (_beLoadedState == 0 || _beLoadedState == -1) //需要执行上膛操作 { - if (Attribute.ContinuousShoot) //自动射击 + if (justDown && !Reloading) { - if (_triggerTimer > 0) + if (CurrAmmo <= 0) { - if (_continuousShootFlag) + //子弹不够, 触发换弹 + Reload(); + } + else if (_attackTimer <= 0) + { + //触发上膛操作 + BeLoadedHandler(); + } + } + } + else if (_beLoadedState == 1) //上膛中 + { + + } + else //上膛完成 + { + //是否能发射 + var flag = false; + if (_continuousCount <= 0) //不能处于连发状态下 + { + if (Attribute.ContinuousShoot) //自动射击 + { + if (_triggerTimer > 0) + { + if (_continuousShootFlag) + { + flag = true; + } + } + else + { + flag = true; + if (_delayedTime <= 0 && _attackTimer <= 0) + { + _continuousShootFlag = true; + } + } + } + else //半自动 + { + if (justDown && _triggerTimer <= 0 && _attackTimer <= 0) { flag = true; } } - else + } + + if (flag) + { + var fireFlag = true; //是否能开火 + if (Reloading) //换弹中 { - flag = true; + fireFlag = false; + if (CurrAmmo > 0 && Attribute.AloneReload && Attribute.AloneReloadCanShoot) + { + //检查是否允许停止换弹 + if (_aloneReloadState == 2 || _aloneReloadState == 1) + { + //强制结束 + _aloneReloadStop = true; + } + } + } + else if (CurrAmmo <= 0) //子弹不够 + { + fireFlag = false; + if (justDown) + { + //第一帧按下, 触发换弹 + Reload(); + } + } + + if (fireFlag) + { + if (justDown) + { + //开火前延时 + if (!Attribute.LooseShoot) + { + _delayedTime = Attribute.DelayedTime; + } + //扳机按下间隔 + _triggerTimer = Attribute.TriggerInterval; + //连发数量 + if (!Attribute.ContinuousShoot) + { + _continuousCount = + Utils.RandomRangeInt(Attribute.MinContinuousCount, Attribute.MaxContinuousCount); + } + } + if (_delayedTime <= 0 && _attackTimer <= 0) { - _continuousShootFlag = true; - } - } - } - else //半自动 - { - if (justDown && _triggerTimer <= 0 && _attackTimer <= 0) - { - flag = true; - } - } - } + if (Attribute.LooseShoot) //松发开火 + { + _looseShootFlag = true; + OnBeginCharge(); + } + else + { + //开火 + TriggerFire(); - if (flag) - { - var fireFlag = true; //是否能开火 - if (Reloading) //换弹中 - { - fireFlag = false; - if (CurrAmmo > 0 && Attribute.AloneReload && Attribute.AloneReloadCanShoot) - { - //检查是否允许停止换弹 - if (_aloneReloadState == 2 || _aloneReloadState == 1) - { - //强制结束 - _aloneReloadStop = true; + //非连射模式 + if (!Attribute.ContinuousShoot && _continuousCount <= 0) + { + //执行上膛逻辑 + RunBeLoaded(); + } + } } - } - } - else if (CurrAmmo <= 0) //子弹不够 - { - fireFlag = false; - if (justDown) - { - //第一帧按下, 触发换弹 - Reload(); - } - } - if (fireFlag) - { - if (justDown) - { - //开火前延时 - if (!Attribute.LooseShoot) - { - _delayedTime = Attribute.DelayedTime; - } - //扳机按下间隔 - _triggerTimer = Attribute.TriggerInterval; - //连发数量 - if (!Attribute.ContinuousShoot) - { - _continuousCount = - Utils.RandomRangeInt(Attribute.MinContinuousCount, Attribute.MaxContinuousCount); - } + _attackFlag = true; } - if (_delayedTime <= 0 && _attackTimer <= 0) - { - if (Attribute.LooseShoot) //松发开火 - { - _looseShootFlag = true; - OnStartCharge(); - } - else - { - //开火 - TriggerFire(); - } - } - - _attackFlag = true; } - } _triggerFlag = true; @@ -770,6 +848,12 @@ if (_chargeTime >= Attribute.MinChargeTime) //判断蓄力是否够了 { TriggerFire(); + //非连射模式 + if (!Attribute.ContinuousShoot && _continuousCount <= 0) + { + //执行上膛逻辑 + RunBeLoaded(); + } } else //不能攻击 { @@ -787,7 +871,6 @@ private void TriggerFire() { _noAttackTime = 0; - _continuousCount = _continuousCount > 0 ? _continuousCount - 1 : 0; //减子弹数量 if (_playerWeaponAttribute != _weaponAttribute) //Ai使用该武器, 有一定概率不消耗弹药 @@ -802,6 +885,15 @@ CurrAmmo -= UseAmmoCount(); } + if (CurrAmmo == 0) + { + _continuousCount = 0; + } + else + { + _continuousCount = _continuousCount > 0 ? _continuousCount - 1 : 0; + } + //开火间隙 _fireInterval = 60 / Attribute.StartFiringSpeed; //攻击冷却 @@ -816,25 +908,15 @@ //播放射击音效 PlayShootSound(); + //抛弹 + if (Attribute.ContinuousShoot && Attribute.ShellId != null) + { + ThrowShellHandler(1f); + } + //触发开火函数 OnFire(); - //播放上膛动画 - if (IsAutoPlaySpriteFrames) - { - if (Attribute.EquipSoundDelayTime <= 0) - { - PlaySpriteAnimation(AnimatorNames.Equip); - } - else - { - CallDelay(Attribute.EquipSoundDelayTime, PlaySpriteAnimation, AnimatorNames.Equip); - } - } - - //播放上膛音效 - PlayEquipSound(); - //开火发射的子弹数量 var bulletCount = Utils.RandomRangeInt(Attribute.MaxFireBulletCount, Attribute.MinFireBulletCount); //武器口角度 @@ -868,11 +950,6 @@ -max, max ); Position = new Vector2(_currBacklashLength, 0).Rotated(Rotation); - - if (FireEvent != null) - { - FireEvent(this); - } } /// @@ -973,7 +1050,7 @@ /// public void Reload() { - if (CurrAmmo < Attribute.AmmoCapacity && ResidueAmmo > 0 && !Reloading) + if (CurrAmmo < Attribute.AmmoCapacity && ResidueAmmo > 0 && !Reloading && _beLoadedState != 1) { Reloading = true; _playReloadFinishSoundFlag = false; @@ -982,6 +1059,12 @@ PlayBeginReloadSound(); // GD.Print("开始换弹."); + //抛弹 + if (!Attribute.ContinuousShoot && (_beLoadedState == 0 || _beLoadedState == -1) && Attribute.BeLoadedTime > 0 && Attribute.ShellId != null) + { + ThrowShellHandler(0.6f); + } + //第一次换弹 OnBeginReload(); @@ -995,6 +1078,9 @@ //普通换弹处理 ReloadHandler(); } + + //上膛标记完成 + _beLoadedState = 2; } } @@ -1004,13 +1090,14 @@ if (Attribute.BeginReloadSound != null) { var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); + var volume = SoundManager.CalcRoleVolume(Attribute.BeginReloadSound.Volume, Master); if (Attribute.BeginReloadSoundDelayTime <= 0) { - SoundManager.PlaySoundEffectPosition(Attribute.BeginReloadSound.Path, position, Attribute.BeginReloadSound.Volume); + SoundManager.PlaySoundEffectPosition(Attribute.BeginReloadSound.Path, position, volume); } else { - SoundManager.PlaySoundEffectPositionDelay(Attribute.BeginReloadSound.Path, position, Attribute.BeginReloadSoundDelayTime, Attribute.BeginReloadSound.Volume); + SoundManager.PlaySoundEffectPositionDelay(Attribute.BeginReloadSound.Path, position, Attribute.BeginReloadSoundDelayTime, volume); } } } @@ -1021,13 +1108,14 @@ if (Attribute.ReloadSound != null) { var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); + var volume = SoundManager.CalcRoleVolume(Attribute.ReloadSound.Volume, Master); if (Attribute.ReloadSoundDelayTime <= 0) { - SoundManager.PlaySoundEffectPosition(Attribute.ReloadSound.Path, position, Attribute.ReloadSound.Volume); + SoundManager.PlaySoundEffectPosition(Attribute.ReloadSound.Path, position, volume); } else { - SoundManager.PlaySoundEffectPositionDelay(Attribute.ReloadSound.Path, position, Attribute.ReloadSoundDelayTime, Attribute.ReloadSound.Volume); + SoundManager.PlaySoundEffectPositionDelay(Attribute.ReloadSound.Path, position, Attribute.ReloadSoundDelayTime, volume); } } } @@ -1037,8 +1125,9 @@ { if (Attribute.ReloadFinishSound != null) { + var volume = SoundManager.CalcRoleVolume(Attribute.ReloadFinishSound.Volume, Master); var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); - SoundManager.PlaySoundEffectPosition(Attribute.ReloadFinishSound.Path, position, Attribute.ReloadFinishSound.Volume); + SoundManager.PlaySoundEffectPosition(Attribute.ReloadFinishSound.Path, position, volume); } } @@ -1047,28 +1136,58 @@ { if (Attribute.ShootSound != null) { + var volume = SoundManager.CalcRoleVolume(Attribute.ShootSound.Volume, Master); var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); - SoundManager.PlaySoundEffectPosition(Attribute.ShootSound.Path, position, Attribute.ShootSound.Volume); + SoundManager.PlaySoundEffectPosition(Attribute.ShootSound.Path, position, volume); } } //播放上膛音效 - private void PlayEquipSound() + private void PlayBeLoadedSound() { - if (Attribute.EquipSound != null) + if (Attribute.BeLoadedSound != null) { var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); - if (Attribute.EquipSoundDelayTime <= 0) + var volume = SoundManager.CalcRoleVolume(Attribute.BeLoadedSound.Volume, Master); + if (Attribute.BeLoadedSoundDelayTime <= 0) { - SoundManager.PlaySoundEffectPosition(Attribute.EquipSound.Path, position, Attribute.EquipSound.Volume); + SoundManager.PlaySoundEffectPosition(Attribute.BeLoadedSound.Path, position, volume); } else { - SoundManager.PlaySoundEffectPositionDelay(Attribute.EquipSound.Path, position, Attribute.EquipSoundDelayTime, Attribute.EquipSound.Volume); + SoundManager.PlaySoundEffectPositionDelay(Attribute.BeLoadedSound.Path, position, Attribute.BeLoadedSoundDelayTime, volume); } } } + //执行上膛逻辑 + private void RunBeLoaded() + { + if (Attribute.AutoBeLoaded) + { + if (_attackTimer <= 0) + { + //执行自动上膛 + BeLoadedHandler(); + } + else if (CurrAmmo > 0) + { + //等待执行自动上膛 + _beLoadedState = -1; + } + else + { + //没子弹了, 需要手动上膛 + _beLoadedState = 0; + } + } + else + { + //手动上膛 + _beLoadedState = 0; + } + } + //单独换弹处理 private void AloneReloadHandler() { @@ -1114,6 +1233,63 @@ private void AloneReloadStateFinish() { // GD.Print("单独装弹完成."); + OnAloneReloadStateFinish(); + } + + //上膛处理 + private void BeLoadedHandler() + { + //上膛抛弹 + if (!Attribute.ContinuousShoot && Attribute.BeLoadedTime > 0 && Attribute.ShellId != null) + { + ThrowShellHandler(0.6f); + } + + //开始上膛 + OnBeginBeLoaded(); + + //上膛时间为0, 直接结束上膛 + if (Attribute.BeLoadedTime <= 0) + { + //直接上膛完成 + _beLoadedState = 2; + OnBeLoadedFinish(); + return; + } + + //上膛中 + _beLoadedState = 1; + _beLoadedStateTimer = Attribute.BeLoadedTime; + + //播放上膛动画 + if (IsAutoPlaySpriteFrames) + { + if (Attribute.BeLoadedSoundDelayTime <= 0) + { + PlaySpriteAnimation(AnimatorNames.BeLoaded); + } + else + { + CallDelay(Attribute.BeLoadedSoundDelayTime, PlaySpriteAnimation, AnimatorNames.BeLoaded); + } + } + + //播放上膛音效 + PlayBeLoadedSound(); + } + + //抛弹逻辑 + private void ThrowShellHandler(float speedScale) + { + //创建一个弹壳 + if (Attribute.ThrowShellDelayTime > 0) + { + CallDelay(Attribute.ThrowShellDelayTime, () => ThrowShell(Attribute.ShellId, speedScale)); + } + else if (Attribute.ThrowShellDelayTime == 0) + { + ThrowShell(Attribute.ShellId, speedScale); + } } //停止当前的换弹状态 @@ -1237,7 +1413,7 @@ result.ShowIcon = ResourcePath.resource_sprite_ui_icon_icon_pickup_png; return result; } - else if (masterWeapon != null && masterWeapon.Attribute.WeightType == Attribute.WeightType) //替换武器 + else if (masterWeapon != null) //替换武器 // && masterWeapon.Attribute.WeightType == Attribute.WeightType) { //可以互动, 切换武器 result.CanInteractive = true; @@ -1442,21 +1618,29 @@ /// /// 投抛弹壳的默认实现方式, shellId为弹壳id /// - protected ActivityObject ThrowShell(string shellId) + protected ActivityObject ThrowShell(string shellId, float speedScale = 1) { - var shellPosition = Master.MountPoint.Position + ShellPoint.Position; + var shellPosition = (Master != null ? Master.MountPoint.Position : Position) + ShellPoint.Position; var startPos = ShellPoint.GlobalPosition; var startHeight = -shellPosition.Y; startPos.Y += startHeight; var direction = GlobalRotationDegrees + Utils.RandomRangeInt(-30, 30) + 180; - var verticalSpeed = Utils.RandomRangeInt(60, 120); - var velocity = new Vector2(Utils.RandomRangeInt(20, 60), 0).Rotated(direction * Mathf.Pi / 180); - var rotate = Utils.RandomRangeInt(-720, 720); + var verticalSpeed = Utils.RandomRangeInt((int)(60 * speedScale), (int)(120 * speedScale)); + var velocity = new Vector2(Utils.RandomRangeInt((int)(20 * speedScale), (int)(60 * speedScale)), 0).Rotated(direction * Mathf.Pi / 180); + var rotate = Utils.RandomRangeInt((int)(-720 * speedScale), (int)(720 * speedScale)); var shell = Create(shellId); - shell.Rotation = Master.MountPoint.RealRotation; - shell.InheritVelocity(Master); + shell.Rotation = (Master != null ? Master.MountPoint.RealRotation : Rotation); + shell.InheritVelocity(Master != null ? Master : this); shell.Throw(startPos, startHeight, verticalSpeed, velocity, rotate); - Master.AffiliationArea.InsertItem(shell); + if (Master == null) + { + AffiliationArea.InsertItem(shell); + } + else + { + Master.AffiliationArea.InsertItem(shell); + } + return shell; } @@ -1475,6 +1659,8 @@ fireRotation + Mathf.DegToRad(Utils.RandomRangeFloat(Attribute.BulletMinDeviationAngle, Attribute.BulletMaxDeviationAngle)), GetAttackLayer() ); + bullet.MinHarm = Attribute.BulletMinHarm; + bullet.MaxHarm = Attribute.BulletMaxHarm; bullet.PutDown(RoomLayerEnum.YSortLayer); return bullet; } diff --git a/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs b/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs index 198698d..3cf6b0d 100644 --- a/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs +++ b/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs @@ -8,9 +8,6 @@ { protected override void OnFire() { - //创建一个弹壳 - ThrowShell(ActivityObject.Ids.Id_shell0001); - if (Master == Player.Current) { //创建抖动 diff --git a/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs b/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs index 8d97533..8f7e3ce 100644 --- a/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs +++ b/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs @@ -40,7 +40,7 @@ } } - protected override void OnStartCharge() + protected override void OnBeginCharge() { //开始蓄力时武器角度上抬120度 RotationDegrees = -120; @@ -92,7 +92,8 @@ { if (activityObject is Role role) { - role.CallDeferred(nameof(Role.Hurt), 10, (role.GetCenterPosition() - GlobalPosition).Angle()); + role.CallDeferred(nameof(Role.Hurt), + Utils.RandomRangeInt(Attribute.BulletMinHarm, Attribute.BulletMaxHarm), (role.GetCenterPosition() - GlobalPosition).Angle()); } } } diff --git a/DungeonShooting_Godot/src/game/manager/SoundManager.cs b/DungeonShooting_Godot/src/game/manager/SoundManager.cs index c6e2cd7..bcf7ea4 100644 --- a/DungeonShooting_Godot/src/game/manager/SoundManager.cs +++ b/DungeonShooting_Godot/src/game/manager/SoundManager.cs @@ -1,4 +1,5 @@ using System; +using System.Collections; using System.Collections.Generic; using Godot; @@ -16,27 +17,51 @@ /// public partial class SoundManager { - private static Stack _streamPlayer2DStack = new Stack(); - private static Stack _streamPlayerStack = new Stack(); + /// + /// 全局音效音量, 范围 0 - 1 + /// + public static float SoundVolume { get; set; } = 0.4f; + + private static Stack _streamPlayer2DStack = new Stack(); + private static Stack _streamPlayerStack = new Stack(); + private static HashSet _playingSoundResourceList = new HashSet(); /// /// 2D音频播放节点 /// - private partial class AudioPlayer2D : AudioStreamPlayer2D + public partial class GameAudioPlayer2D : AudioStreamPlayer2D { - private float _delayTimer = -1; - public override void _Ready() { Finished += OnPlayFinish; } - /// - /// 延时播放 - /// - public void DelayPlay(float time) + public void PlaySoundByResource(string path, float delayTime) { - _delayTimer = time; + if (delayTime <= 0) + { + PlaySoundByResource(path); + } + else + { + GameApplication.Instance.StartCoroutine(DelayPlay(path, delayTime)); + } + } + + public void PlaySoundByResource(string path) + { + if (_playingSoundResourceList.Contains(path)) + { + GD.Print("重复播放: " + path); + } + else + { + _playingSoundResourceList.Add(path); + var sound = ResourceManager.Load(path); + Stream = sound; + Bus = Enum.GetName(typeof(BUS), 1); + Play(); + } } /// @@ -47,31 +72,25 @@ Stop(); OnPlayFinish(); } - - public override void _Process(double delta) - { - if (_delayTimer > 0) - { - _delayTimer -= (float)delta; - if (_delayTimer <= 0) - { - Play(); - } - } - } - + private void OnPlayFinish() { - _delayTimer = -1; RecycleAudioPlayer2D(this); } + + private IEnumerator DelayPlay(string path, float delayTime) + { + yield return new WaitForSeconds(delayTime); + PlaySoundByResource(path); + } } /// /// 音频播放节点 /// - private partial class AudioPlayer : AudioStreamPlayer + public partial class GameAudioPlayer : AudioStreamPlayer { + public string SoundResourceName { get; set; } public override void _Ready() { Finished += OnPlayFinish; @@ -95,12 +114,17 @@ } } + public static void Update(float delta) + { + _playingSoundResourceList.Clear(); + } + /// /// 播放声音 用于bgm /// /// bgm路径 /// 音量 - public static AudioStreamPlayer PlayMusic(string soundName, float volume = 0.5f) + public static GameAudioPlayer PlayMusic(string soundName, float volume = 0.5f) { var sound = ResourceManager.Load(soundName); var soundNode = GetAudioPlayerInstance(); @@ -117,7 +141,7 @@ /// /// 音效文件路径 /// 音量 (0 - 1) - public static AudioStreamPlayer PlaySoundEffect(string soundName, float volume = 1f) + public static GameAudioPlayer PlaySoundEffect(string soundName, float volume = 1f) { var sound = ResourceManager.Load(soundName); var soundNode = GetAudioPlayerInstance(); @@ -136,25 +160,9 @@ /// 发声节点所在全局坐标 /// 音量 (0 - 1) /// 挂载节点, 为null则挂载到房间根节点下 - public static AudioStreamPlayer2D PlaySoundEffectPosition(string soundName, Vector2 pos, float volume = 1f, Node2D target = null) + public static GameAudioPlayer2D PlaySoundEffectPosition(string soundName, Vector2 pos, float volume = 1f, Node2D target = null) { - var sound = ResourceManager.Load(soundName); - var soundNode = GetAudioPlayer2DInstance(); - if (target != null) - { - target.AddChild(soundNode); - } - else - { - GameApplication.Instance.GlobalNodeRoot.AddChild(soundNode); - } - - soundNode.GlobalPosition = pos; - soundNode.Stream = sound; - soundNode.Bus = Enum.GetName(typeof(BUS), 1); - soundNode.VolumeDb = Mathf.LinearToDb(Mathf.Clamp(volume, 0, 1)); - soundNode.Play(); - return soundNode; + return PlaySoundEffectPositionDelay(soundName, pos, 0, volume, target); } /// @@ -165,9 +173,8 @@ /// 延时时间 /// 音量 (0 - 1) /// 挂载节点, 为null则挂载到房间根节点下 - public static AudioStreamPlayer2D PlaySoundEffectPositionDelay(string soundName, Vector2 pos, float delayTime, float volume = 1f, Node2D target = null) + public static GameAudioPlayer2D PlaySoundEffectPositionDelay(string soundName, Vector2 pos, float delayTime, float volume = 1f, Node2D target = null) { - var sound = ResourceManager.Load(soundName); var soundNode = GetAudioPlayer2DInstance(); if (target != null) { @@ -179,24 +186,22 @@ } soundNode.GlobalPosition = pos; - soundNode.Stream = sound; - soundNode.Bus = Enum.GetName(typeof(BUS), 1); - soundNode.VolumeDb = Mathf.LinearToDb(Mathf.Clamp(volume, 0, 1)); - soundNode.DelayPlay(delayTime); + soundNode.VolumeDb = Mathf.LinearToDb(Mathf.Clamp(volume * SoundVolume, 0, 1)); + soundNode.PlaySoundByResource(soundName, delayTime); return soundNode; } /// /// 获取2D音频播放节点 /// - private static AudioPlayer2D GetAudioPlayer2DInstance() + private static GameAudioPlayer2D GetAudioPlayer2DInstance() { if (_streamPlayer2DStack.Count > 0) { return _streamPlayer2DStack.Pop(); } - var inst = new AudioPlayer2D(); + var inst = new GameAudioPlayer2D(); inst.AreaMask = 0; return inst; } @@ -204,20 +209,20 @@ /// /// 获取音频播放节点 /// - private static AudioPlayer GetAudioPlayerInstance() + private static GameAudioPlayer GetAudioPlayerInstance() { if (_streamPlayerStack.Count > 0) { return _streamPlayerStack.Pop(); } - return new AudioPlayer(); + return new GameAudioPlayer(); } /// /// 回收2D音频播放节点 /// - private static void RecycleAudioPlayer2D(AudioPlayer2D inst) + private static void RecycleAudioPlayer2D(GameAudioPlayer2D inst) { var parent = inst.GetParent(); if (parent != null) @@ -232,8 +237,21 @@ /// /// 回收音频播放节点 /// - private static void RecycleAudioPlayer(AudioPlayer inst) + private static void RecycleAudioPlayer(GameAudioPlayer inst) { _streamPlayerStack.Push(inst); } + + /// + /// 计算指定角色播放音效使用的音量 + /// + public static float CalcRoleVolume(float volume, Role role) + { + if (role is not Player) + { + return volume * 0.4f; + } + + return volume; + } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/role/Player.cs b/DungeonShooting_Godot/src/game/role/Player.cs index 66d1ace..de9542c 100644 --- a/DungeonShooting_Godot/src/game/role/Player.cs +++ b/DungeonShooting_Godot/src/game/role/Player.cs @@ -174,6 +174,8 @@ protected override void OnDie() { GameCamera.Main.SetFollowTarget(null); + BasisVelocity = Vector2.Zero; + MoveController.ClearForce(); UiManager.Open_Settlement(); //GameApplication.Instance.World.ProcessMode = ProcessModeEnum.WhenPaused; } diff --git a/README.md b/README.md index 18aa74c..82d70a8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -一款由Godot开发的地牢射击类型的游戏, 脚本语言使用的是C#, 当前项目使用的Godot版本: Godot_v4.1.dev +一款由Godot开发的地牢射击类型的游戏, 脚本语言使用的是C#, 当前项目使用的Godot版本: Godot_v4.1.beta --- ### 游戏定义 @@ -18,6 +18,7 @@ ### 启动项目 git仓库的目录结构如下 > ├ DungeonShooting_Document (项目帮助文档, 更新日志相关的目录) +> ├ DungeonShooting_ExcelTool (项目excel配置表导出工具源代码) > └ DungeonShooting_Godot (Godot工程目录) 下载好指定的Godot版本, 注意使用的是Godot_Mono版, 使用Godot打开`DungeonShooting_Godot/project.godot`, 如果是第一次打开项目会弹出一个找不到资源的提示, 这是因为项目没有编译过, 点击Godot右上角`build`, 然后打`开项目设置`, 在`插件`这一个页签下启用`DungeonShooting_plugin`这个插件, 然后项目就可以正常运行了