diff --git a/.gitignore b/.gitignore index ddc5aab..04ce749 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,7 @@ /DScript/DScript_Compiler_Test/obj /DScript/DScript_Runtime/Backups /DScript/DScript.sln.DotSettings.user -**/.idea \ No newline at end of file +**/.idea +**/~$* +/DungeonShooting_ExcelTool/obj +/DungeonShooting_ExcelTool/bin diff --git a/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.csproj b/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.csproj new file mode 100644 index 0000000..9a963c3 --- /dev/null +++ b/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.csproj @@ -0,0 +1,23 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + + + PreserveNewest + + + PreserveNewest + + + + diff --git a/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.sln b/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.sln new file mode 100644 index 0000000..e3d1576 --- /dev/null +++ b/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonShooting_ExcelTool", "DungeonShooting_ExcelTool.csproj", "{F6A26370-A918-40F0-8D78-414213011172}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F6A26370-A918-40F0-8D78-414213011172}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6A26370-A918-40F0-8D78-414213011172}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6A26370-A918-40F0-8D78-414213011172}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6A26370-A918-40F0-8D78-414213011172}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.sln.DotSettings.user b/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.sln.DotSettings.user new file mode 100644 index 0000000..5ef2d60 --- /dev/null +++ b/DungeonShooting_ExcelTool/DungeonShooting_ExcelTool.sln.DotSettings.user @@ -0,0 +1,2 @@ + + WARNING \ No newline at end of file diff --git a/DungeonShooting_ExcelTool/ExcelGenerator.cs b/DungeonShooting_ExcelTool/ExcelGenerator.cs new file mode 100644 index 0000000..6ee11ed --- /dev/null +++ b/DungeonShooting_ExcelTool/ExcelGenerator.cs @@ -0,0 +1,733 @@ +using System.Text.Json; +using System.Text.RegularExpressions; +using NPOI.SS.UserModel; +using NPOI.XSSF.UserModel; + +public static class ExcelGenerator +{ + 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(); + + + private enum CollectionsType + { + None, + Array, + Map + } + + private class MappingData + { + + public string TypeStr; + public string TypeName; + public CollectionsType CollectionsType; + + public bool IsRefExcel; + public string RefTypeStr; + public string RefTypeName; + + public MappingData(string typeStr, string typeName, CollectionsType collectionsType) + { + TypeStr = typeStr; + TypeName = typeName; + CollectionsType = collectionsType; + IsRefExcel = false; + } + + public MappingData(string typeStr, string typeName, CollectionsType collectionsType, string refTypeStr, string refTypeName) + { + TypeStr = typeStr; + TypeName = typeName; + CollectionsType = collectionsType; + IsRefExcel = true; + RefTypeStr = refTypeStr; + RefTypeName = refTypeName; + } + } + + private class ExcelData + { + public string TableName; + public string OutCode; + public List ColumnNames = new List(); + public Dictionary ColumnMappingData = new Dictionary(); + public Dictionary ColumnType = new Dictionary(); + public List> DataList = new List>(); + } + + public static bool ExportExcel() + { + Console.WriteLine("当前路径: " + Environment.CurrentDirectory); + try + { + var excelDataList = new List(); + + var directoryInfo = new DirectoryInfo(ExcelFilePath); + if (directoryInfo.Exists) + { + var fileInfos = directoryInfo.GetFiles(); + //记录文件 + foreach (var fileInfo in fileInfos) + { + var fileName = Path.GetFileNameWithoutExtension(fileInfo.Name).FirstToUpper(); + _excelNames.Add(fileName); + } + //读取配置文件 + foreach (var fileInfo in fileInfos) + { + if (fileInfo.Extension == ".xlsx") + { + if (fileInfo.Name == "ExcelConfig.xlsx") + { + throw new Exception("excel表文件名称不允许叫'ExcelConfig.xlsx'!"); + } + Console.WriteLine("excel表: " + fileInfo.FullName); + excelDataList.Add(ReadExcel(fileInfo.FullName)); + } + } + } + + Console.WriteLine($"一共检测到excel表共{excelDataList.Count}张."); + if (excelDataList.Count == 0) + { + return true; + } + + if (Directory.Exists(CodeOutPath)) + { + Directory.Delete(CodeOutPath, true); + } + if (Directory.Exists(JsonOutPath)) + { + Directory.Delete(JsonOutPath, true); + } + Directory.CreateDirectory(CodeOutPath); + Directory.CreateDirectory(JsonOutPath); + + //保存配置和代码 + foreach (var excelData in excelDataList) + { + 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)); + } + + //生成加载代码 + var code = GeneratorInitCode(excelDataList); + File.WriteAllText(CodeOutPath + "ExcelConfig.cs", code); + } + catch (Exception e) + { + PrintError(e.ToString()); + return false; + } + + return true; + } + + private static string GeneratorInitCode(List excelList) + { + var code = $"using System;\n"; + code += $"using System.Collections.Generic;\n"; + code += $"using System.Text.Json;\n"; + code += $"using Godot;\n"; + code += $"\n"; + code += $"namespace Config;\n"; + code += $"\n"; + code += $"public static partial class ExcelConfig\n"; + code += $"{{\n"; + + var fieldCode = ""; + var callFuncCode = ""; + var callInitRefFuncCode = ""; + var funcCode = ""; + var initRefFuncCode = ""; + + foreach (var excelData in excelList) + { + var idName = excelData.ColumnNames[0]; + var idTypeStr = excelData.ColumnMappingData[idName].TypeStr; + + //---------------------------- 引用其他表处理 ---------------------------- + var hasRefColumn = false; + var refColumnNoneCode = ""; + foreach (var columnName in excelData.ColumnNames) + { + var mappingData = excelData.ColumnMappingData[columnName]; + if (mappingData.IsRefExcel) + { + hasRefColumn = true; + if (mappingData.CollectionsType == CollectionsType.None) + { + refColumnNoneCode += $" if (!string.IsNullOrEmpty(item.__{columnName}))\n"; + refColumnNoneCode += $" {{\n"; + refColumnNoneCode += $" item.{columnName} = {mappingData.RefTypeName}_Map[item.__{columnName}];\n"; + refColumnNoneCode += $" }}\n"; + } + else if (mappingData.CollectionsType == CollectionsType.Array) + { + refColumnNoneCode += $" if (item.__{columnName} != null)\n"; + refColumnNoneCode += $" {{\n"; + refColumnNoneCode += $" item.{columnName} = new {mappingData.RefTypeName}[item.__{columnName}.Length];\n"; + refColumnNoneCode += $" for (var i = 0; i < item.__{columnName}.Length; i++)\n"; + refColumnNoneCode += $" {{\n"; + refColumnNoneCode += $" item.{columnName}[i] = {mappingData.RefTypeName}_Map[item.__{columnName}[i]];\n"; + refColumnNoneCode += $" }}\n"; + refColumnNoneCode += $" }}\n"; + } + else + { + refColumnNoneCode += $" if (item.__{columnName} != null)\n"; + refColumnNoneCode += $" {{\n"; + refColumnNoneCode += $" item.{columnName} = new {mappingData.RefTypeStr}();\n"; + refColumnNoneCode += $" foreach (var pair in item.__{columnName})\n"; + refColumnNoneCode += $" {{\n"; + refColumnNoneCode += $" item.{columnName}.Add(pair.Key, {mappingData.RefTypeName}_Map[pair.Value]);\n"; + refColumnNoneCode += $" }}\n"; + refColumnNoneCode += $" }}\n"; + } + refColumnNoneCode += $"\n"; + } + } + + //----------------------------- 数据集合 ------------------------------------ + fieldCode += $" /// \n"; + fieldCode += $" /// {excelData.TableName}.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同\n"; + fieldCode += $" /// \n"; + fieldCode += $" public static List<{excelData.TableName}> {excelData.TableName}_List {{ get; private set; }}\n"; + fieldCode += $" /// \n"; + fieldCode += $" /// {excelData.TableName}.xlsx表数据集合, 里 Map 形式存储, key 为 {idName}\n"; + fieldCode += $" /// \n"; + fieldCode += $" public static Dictionary<{idTypeStr}, {excelData.TableName}> {excelData.TableName}_Map {{ get; private set; }}\n"; + fieldCode += $"\n"; + + //------------------------------- 初始化函数 ------------------------------------- + callFuncCode += $" _Init{excelData.TableName}Config();\n"; + + funcCode += $" private static void _Init{excelData.TableName}Config()\n"; + funcCode += $" {{\n"; + funcCode += $" try\n"; + funcCode += $" {{\n"; + funcCode += $" var text = _ReadConfigAsText(\"res://resource/config/{excelData.TableName}.json\");\n"; + if (hasRefColumn) //存在引用列 + { + funcCode += $" {excelData.TableName}_List = new List<{excelData.TableName}>(JsonSerializer.Deserialize>(text));\n"; + } + else + { + funcCode += $" {excelData.TableName}_List = JsonSerializer.Deserialize>(text);\n"; + } + funcCode += $" {excelData.TableName}_Map = new Dictionary<{idTypeStr}, {excelData.TableName}>();\n"; + funcCode += $" foreach (var item in {excelData.TableName}_List)\n"; + funcCode += $" {{\n"; + funcCode += $" {excelData.TableName}_Map.Add(item.{idName}, item);\n"; + funcCode += $" }}\n"; + funcCode += $" }}\n"; + funcCode += $" catch (Exception e)\n"; + funcCode += $" {{\n"; + funcCode += $" GD.PrintErr(e.ToString());\n"; + funcCode += $" throw new Exception(\"初始化表'{excelData.TableName}'失败!\");\n"; + funcCode += $" }}\n"; + funcCode += $" }}\n"; + + + //------------------------------- 初始化引用 --------------------------------- + if (hasRefColumn) + { + callInitRefFuncCode += $" _Init{excelData.TableName}Ref();\n"; + + initRefFuncCode += $" private static void _Init{excelData.TableName}Ref()\n"; + initRefFuncCode += $" {{\n"; + initRefFuncCode += $" foreach (Ref_{excelData.TableName} item in {excelData.TableName}_List)\n"; + initRefFuncCode += $" {{\n"; + initRefFuncCode += $" try\n"; + initRefFuncCode += $" {{\n"; + initRefFuncCode += refColumnNoneCode; + initRefFuncCode += $" }}\n"; + initRefFuncCode += $" catch (Exception e)\n"; + initRefFuncCode += $" {{\n"; + initRefFuncCode += $" GD.PrintErr(e.ToString());\n"; + initRefFuncCode += $" throw new Exception(\"初始化'{excelData.TableName}'引用其他表数据失败, 当前行id: \" + item.Id);\n"; + initRefFuncCode += $" }}\n"; + initRefFuncCode += $" }}\n"; + initRefFuncCode += $" }}\n"; + } + } + + code += fieldCode; + code += $"\n"; + code += $" private static bool _init = false;\n"; + code += $" /// \n"; + code += $" /// 初始化所有配置表数据\n"; + code += $" /// \n"; + code += $" public static void Init()\n"; + code += $" {{\n"; + code += $" if (_init) return;\n"; + code += $" _init = true;\n"; + code += $"\n"; + code += callFuncCode; + code += $"\n"; + code += callInitRefFuncCode; + code += $" }}\n"; + code += funcCode; + code += $"\n"; + code += initRefFuncCode; + code += $" private static string _ReadConfigAsText(string path)\n"; + code += $" {{\n"; + code += $" var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n"; + code += $" var asText = file.GetAsText();\n"; + code += $" file.Dispose();\n"; + code += $" return asText;\n"; + code += $" }}\n"; + code += $"}}"; + return code; + } + + private static ExcelData ReadExcel(string excelPath) + { + var excelData = new ExcelData(); + //文件名称 + var fileName = Path.GetFileNameWithoutExtension(excelPath).FirstToUpper(); + excelData.TableName = fileName; + //输出代码 + var outStr = $"using System.Text.Json.Serialization;\n"; + outStr += $"using System.Collections.Generic;\n\n"; + outStr += $"namespace Config;\n\n"; + outStr += $"public static partial class ExcelConfig\n{{\n"; + outStr += $" public class {fileName}\n"; + outStr += $" {{\n"; + //继承的带有引用其他表的类代码 + var outRefStr = ""; + + var cloneFuncStr = $" /// \n"; + cloneFuncStr += $" /// 返回浅拷贝出的新对象\n"; + cloneFuncStr += $" /// \n"; + cloneFuncStr += $" public {fileName} Clone()\n"; + cloneFuncStr += $" {{\n"; + cloneFuncStr += $" var inst = new {fileName}();\n"; + + var sourceFile = excelPath; + + //行数 + var rowCount = -1; + //列数 + var columnCount = -1; + + //加载表数据 + var workbook = new XSSFWorkbook(sourceFile); + using (workbook) + { + var sheet1 = workbook.GetSheet("Sheet1"); + rowCount = sheet1.LastRowNum; + //先解析表中的列名, 注释, 类型 + var names = sheet1.GetRow(0); + var descriptions = sheet1.GetRow(1); + var types = sheet1.GetRow(2); + columnCount = names.LastCellNum; + foreach (var cell in names) + { + //字段名称 + var field = GetCellStringValue(cell); + if (string.IsNullOrEmpty(field)) + { + if (cell.ColumnIndex == 0) + { + throw new Exception($"表'{fileName}'的列数为0!"); + } + //到达最后一列了 + columnCount = cell.ColumnIndex; + break; + } + field = field.FirstToUpper(); + excelData.ColumnNames.Add(field); + if (field == "Clone") + { + throw new Exception($"表'{fileName}'中不允许有'Clone'字段!"); + } + + var descriptionCell = descriptions.GetCell(cell.ColumnIndex); + //描述 + string description; + if (descriptionCell != null) + { + description = GetCellStringValue(descriptionCell).Replace("\n", "
\n /// "); + } + else + { + description = ""; + } + //类型 + var typeString = GetCellStringValue(types.GetCell(cell.ColumnIndex)); + if (string.IsNullOrEmpty(typeString)) + { + throw new Exception($"表'{fileName}'中'{field}'这一列类型为空!"); + } + + //尝试解析类型 + MappingData mappingData; + try + { + mappingData = ConvertToType(typeString.Replace(" ", "")); + } + catch (Exception e) + { + PrintError(e.ToString()); + throw new Exception($"表'{fileName}'中'{field}'这一列类型描述语法错误: {typeString}"); + } + + if (!excelData.ColumnMappingData.TryAdd(field, mappingData)) + { + throw new Exception($"表'{fileName}'中存在相同名称的列: '{field}'!"); + } + outStr += $" /// \n"; + outStr += $" /// {description}\n"; + outStr += $" /// \n"; + if (!mappingData.IsRefExcel) //没有引用其他表 + { + outStr += $" [JsonInclude]\n"; + outStr += $" public {mappingData.TypeStr} {field};\n\n"; + } + else + { + outStr += $" public {mappingData.RefTypeStr} {field};\n\n"; + } + + if (mappingData.IsRefExcel) //引用其他表 + { + if (string.IsNullOrEmpty(outRefStr)) + { + outRefStr += $" private class Ref_{fileName} : {fileName}\n"; + outRefStr += $" {{\n"; + } + outRefStr += $" [JsonInclude]\n"; + outRefStr += $" public {mappingData.TypeStr} __{field};\n\n"; + } + + cloneFuncStr += $" inst.{field} = {field};\n"; + } + + cloneFuncStr += " return inst;\n"; + cloneFuncStr += " }\n"; + outStr += cloneFuncStr; + outStr += " }\n"; + + if (!string.IsNullOrEmpty(outRefStr)) + { + outRefStr += " }\n"; + outStr += outRefStr; + } + + outStr += "}"; + + //解析字段类型 + foreach (var kv in excelData.ColumnMappingData) + { + var typeName = kv.Value.TypeName; + var type = Type.GetType(typeName); + if (type == null) + { + throw new Exception($"表'{fileName}'中'{kv.Key}'这一列类型未知! " + kv.Value.TypeStr); + } + excelData.ColumnType.Add(kv.Key, type); + } + + //解析数据 + for (int i = 3; i <= rowCount; i++) + { + Dictionary data = null; + var row = sheet1.GetRow(i); + if (row == null) + { + continue; + } + for (int j = 0; j < columnCount; j++) + { + var cell = row.GetCell(j); + var strValue = GetCellStringValue(cell); + //如果这一行的第一列数据为空, 则跳过这一行 + if (j == 0 && string.IsNullOrEmpty(strValue)) + { + break; + } + else if (data == null) + { + data = new Dictionary(); + excelData.DataList.Add(data); + } + + var fieldName = excelData.ColumnNames[j]; + var mappingData = excelData.ColumnMappingData[fieldName]; + var field = mappingData.IsRefExcel ? "__" + fieldName : fieldName; + try + { + switch (mappingData.TypeStr) + { + case "bool": + case "boolean": + data.Add(field, GetCellBooleanValue(cell)); + break; + case "byte": + data.Add(field, Convert.ToByte(GetCellNumberValue(cell))); + break; + case "sbyte": + data.Add(field, Convert.ToSByte(GetCellNumberValue(cell))); + break; + case "short": + data.Add(field, Convert.ToInt16(GetCellNumberValue(cell))); + break; + case "ushort": + data.Add(field, Convert.ToUInt16(GetCellNumberValue(cell))); + break; + case "int": + data.Add(field, Convert.ToInt32(GetCellNumberValue(cell))); + break; + case "uint": + data.Add(field, Convert.ToUInt32(GetCellNumberValue(cell))); + break; + case "long": + data.Add(field, Convert.ToInt64(GetCellNumberValue(cell))); + break; + case "ulong": + data.Add(field, Convert.ToUInt64(GetCellNumberValue(cell))); + break; + case "float": + data.Add(field, Convert.ToSingle(GetCellNumberValue(cell))); + break; + case "double": + data.Add(field, GetCellNumberValue(cell)); + break; + case "string": + data.Add(field, GetCellStringValue(cell)); + break; + default: + { + var cellStringValue = GetCellStringValue(cell); + if (cellStringValue.Length == 0) + { + data.Add(field, null); + } + else + { + data.Add(field, JsonSerializer.Deserialize(cellStringValue, excelData.ColumnType[fieldName])); + } + } + break; + } + } + catch (Exception e) + { + PrintError(e.ToString()); + throw new Exception($"解析表'{fileName}'第'{i + 1}'行第'{j + 1}'列数据时发生异常"); + } + } + } + } + + excelData.OutCode = outStr; + return excelData; + } + + private static string GetCellStringValue(ICell cell) + { + if (cell == null) + { + return ""; + } + switch (cell.CellType) + { + case CellType.Numeric: + return cell.NumericCellValue.ToString(); + case CellType.String: + return cell.StringCellValue; + case CellType.Formula: + return cell.CellFormula; + case CellType.Boolean: + return cell.BooleanCellValue ? "true" : "false"; + } + + return ""; + } + + private static double GetCellNumberValue(ICell cell) + { + if (cell == null) + { + return 0; + } + + return cell.NumericCellValue; + } + + private static bool GetCellBooleanValue(ICell cell) + { + if (cell == null) + { + return false; + } + + return cell.BooleanCellValue; + } + + private static MappingData ConvertToType(string str, int depth = 0) + { + if (Regex.IsMatch(str, "^\\w+$")) + { + var typeStr = TypeStrMapping(str); + var typeName = TypeNameMapping(str); + return new MappingData(typeStr, typeName, CollectionsType.None); + } + else if (Regex.IsMatch(str, "^\\$\\w+$")) //引用其他表 + { + var realName = str.Substring(1); + if (!_excelNames.Contains(realName)) + { + throw new Exception($"引用表数据失败, 未找到表: {realName}!"); + } + + if (depth > 1) + { + throw new Exception("引用表数据失败, 引用表数据仅支持放入第一层的数组和字典!"); + } + + return new MappingData(TypeStrMapping("string"), TypeNameMapping("string"), CollectionsType.None, realName, realName); + } + else if (str.StartsWith('{')) //字典 + { + var tempStr = str.Substring(1, str.Length - 2); + var index = tempStr.IndexOf(':'); + if (index == -1) + { + throw new Exception("类型描述语法错误!"); + } + + var keyStr = tempStr.Substring(0, index); + if (!IsBaseType(keyStr)) + { + throw new Exception($"字典key类型必须是基础类型!"); + } + + var type1 = ConvertToType(keyStr, depth + 1); + var type2 = ConvertToType(tempStr.Substring(index + 1), depth + 1); + + var typeStr = $"Dictionary<{type1.TypeStr}, {type2.TypeStr}>"; + var typeName = $"System.Collections.Generic.Dictionary`2[[{type1.TypeName}],[{type2.TypeName}]]"; + + if (type2.IsRefExcel) //引用过其他表 + { + var refTypeStr = $"Dictionary<{type1.TypeStr}, {type2.RefTypeStr}>"; + return new MappingData(typeStr, typeName, CollectionsType.Map, refTypeStr, type2.RefTypeName); + } + + return new MappingData(typeStr, typeName, CollectionsType.Map); + } + else if (str.StartsWith('[')) //数组 + { + var tempStr = str.Substring(1, str.Length - 2); + var typeData = ConvertToType(tempStr, depth + 1); + var typeStr = typeData.TypeStr + "[]"; + var typeName = typeData.TypeName + "[]"; + + if (typeData.IsRefExcel) //引用过其他表 + { + var refTypeStr = typeData.RefTypeStr + "[]"; + return new MappingData(typeStr, typeName, CollectionsType.Array, refTypeStr, typeData.RefTypeName); + } + + return new MappingData(typeStr, typeName, CollectionsType.Array); + } + throw new Exception("类型描述语法错误!"); + } + + private static string TypeStrMapping(string typeName) + { + switch (typeName) + { + case "boolean": return "bool"; + case "vector2": return "SerializeVector2"; + case "vector3": return "SerializeVector3"; + case "color": return "SerializeColor"; + } + + return typeName; + } + + private static string TypeNameMapping(string typeName) + { + switch (typeName) + { + case "bool": + case "boolean": return typeof(bool).FullName; + case "byte": return typeof(byte).FullName; + case "sbyte": return typeof(sbyte).FullName; + case "short": return typeof(short).FullName; + case "ushort": return typeof(ushort).FullName; + case "int": return typeof(int).FullName; + case "uint": return typeof(uint).FullName; + case "long": return typeof(long).FullName; + case "ulong": return typeof(ulong).FullName; + case "string": return typeof(string).FullName; + case "float": return typeof(float).FullName; + case "double": return typeof(double).FullName; + case "vector2": return "SerializeVector2"; + case "vector3": return "SerializeVector3"; + case "color": return "SerializeColor"; + } + + return typeName; + } + + private static bool IsBaseType(string typeName) + { + switch (typeName) + { + case "bool": + case "boolean": + case "byte": + case "sbyte": + case "short": + case "ushort": + case "int": + case "uint": + case "long": + case "ulong": + case "string": + case "float": + case "double": + return true; + } + + return false; + } + + private static void PrintError(string message) + { + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine(message); + Console.ResetColor(); + } + + /// + /// 字符串首字母小写 + /// + public static string FirstToLower(this string str) + { + return str.Substring(0, 1).ToLower() + str.Substring(1); + } + + /// + /// 字符串首字母大写 + /// + public static string FirstToUpper(this string str) + { + return str.Substring(0, 1).ToUpper() + str.Substring(1); + } +} \ No newline at end of file diff --git a/DungeonShooting_ExcelTool/Program.cs b/DungeonShooting_ExcelTool/Program.cs new file mode 100644 index 0000000..142920d --- /dev/null +++ b/DungeonShooting_ExcelTool/Program.cs @@ -0,0 +1,16 @@ + +public class Program +{ + public static void Main(string[] args) + { + Console.WriteLine("准备导出excel表..."); + if (ExcelGenerator.ExportExcel()) + { + Console.WriteLine("excel表导出成功!"); + } + else + { + Console.WriteLine("excel表导出失败!"); + } + } +} \ No newline at end of file diff --git a/DungeonShooting_ExcelTool/excelFile/ActivityObject.xlsx b/DungeonShooting_ExcelTool/excelFile/ActivityObject.xlsx new file mode 100644 index 0000000..286ad1d --- /dev/null +++ b/DungeonShooting_ExcelTool/excelFile/ActivityObject.xlsx Binary files differ diff --git a/DungeonShooting_ExcelTool/excelFile/Sound.xlsx b/DungeonShooting_ExcelTool/excelFile/Sound.xlsx new file mode 100644 index 0000000..4a5986a --- /dev/null +++ b/DungeonShooting_ExcelTool/excelFile/Sound.xlsx Binary files differ diff --git a/DungeonShooting_ExcelTool/excelFile/Test.xlsx b/DungeonShooting_ExcelTool/excelFile/Test.xlsx new file mode 100644 index 0000000..3699e31 --- /dev/null +++ b/DungeonShooting_ExcelTool/excelFile/Test.xlsx Binary files differ diff --git a/DungeonShooting_ExcelTool/excelFile/Weapon.xlsx b/DungeonShooting_ExcelTool/excelFile/Weapon.xlsx new file mode 100644 index 0000000..8e77d9c --- /dev/null +++ b/DungeonShooting_ExcelTool/excelFile/Weapon.xlsx Binary files differ diff --git a/DungeonShooting_ExcelTool/serialize/SerializeColor.cs b/DungeonShooting_ExcelTool/serialize/SerializeColor.cs new file mode 100644 index 0000000..c1f6c1e --- /dev/null +++ b/DungeonShooting_ExcelTool/serialize/SerializeColor.cs @@ -0,0 +1,31 @@ + + +using System.Text.Json.Serialization; + +/// +/// 可序列化的 Color 对象 +/// +public class SerializeColor +{ + public SerializeColor(float r, float g, float b, float a) + { + R = r; + G = g; + B = b; + A = a; + } + + public SerializeColor() + { + } + + [JsonInclude] + public float R { get; private set; } + [JsonInclude] + public float G { get; private set; } + [JsonInclude] + public float B { get; private set; } + [JsonInclude] + public float A { get; private set; } + +} \ No newline at end of file diff --git a/DungeonShooting_ExcelTool/serialize/SerializeVector2.cs b/DungeonShooting_ExcelTool/serialize/SerializeVector2.cs new file mode 100644 index 0000000..f3051d1 --- /dev/null +++ b/DungeonShooting_ExcelTool/serialize/SerializeVector2.cs @@ -0,0 +1,30 @@ + +using System.Text.Json.Serialization; + +/// +/// 可序列化的 Vector2 对象 +/// +public class SerializeVector2 +{ + public SerializeVector2(float x, float y) + { + X = x; + Y = y; + } + + public SerializeVector2(SerializeVector2 v) + { + X = v.X; + Y = v.Y; + } + + public SerializeVector2() + { + + } + + [JsonInclude] + public float X { get; private set; } + [JsonInclude] + public float Y { get; private set; } +} \ No newline at end of file diff --git a/DungeonShooting_ExcelTool/serialize/SerializeVector3.cs b/DungeonShooting_ExcelTool/serialize/SerializeVector3.cs new file mode 100644 index 0000000..60f74e8 --- /dev/null +++ b/DungeonShooting_ExcelTool/serialize/SerializeVector3.cs @@ -0,0 +1,32 @@ +using System.Text.Json.Serialization; + +/// +/// 可序列化的 Vector3 对象 +/// +public class SerializeVector3 +{ + public SerializeVector3(float x, float y, float z) + { + X = x; + Y = y; + Z = z; + } + + public SerializeVector3(SerializeVector3 v) + { + X = v.X; + Y = v.Y; + } + + public SerializeVector3() + { + } + + [JsonInclude] + public float X { get; private set; } + [JsonInclude] + public float Y { get; private set; } + [JsonInclude] + public float Z { get; private set; } + +} \ No newline at end of file diff --git a/DungeonShooting_Godot/DungeonShooting.csproj b/DungeonShooting_Godot/DungeonShooting.csproj index 69ed320..4e093b1 100644 --- a/DungeonShooting_Godot/DungeonShooting.csproj +++ b/DungeonShooting_Godot/DungeonShooting.csproj @@ -1,4 +1,4 @@ - + net6.0 true diff --git a/DungeonShooting_Godot/DungeonShooting.csproj.old b/DungeonShooting_Godot/DungeonShooting.csproj.old new file mode 100644 index 0000000..8e15ac5 --- /dev/null +++ b/DungeonShooting_Godot/DungeonShooting.csproj.old @@ -0,0 +1,11 @@ + + + net6.0 + true + + + + + + + \ No newline at end of file diff --git a/DungeonShooting_Godot/Silver.ttf b/DungeonShooting_Godot/Silver.ttf deleted file mode 100644 index 9d568c4..0000000 --- a/DungeonShooting_Godot/Silver.ttf +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/Silver.ttf.import b/DungeonShooting_Godot/Silver.ttf.import deleted file mode 100644 index 0cb40e8..0000000 --- a/DungeonShooting_Godot/Silver.ttf.import +++ /dev/null @@ -1,33 +0,0 @@ -[remap] - -importer="font_data_dynamic" -type="FontFile" -uid="uid://byrf43x8my2ym" -path="res://.godot/imported/Silver.ttf-acf985a494ec9501dbab5d460c1c1e21.fontdata" - -[deps] - -source_file="res://Silver.ttf" -dest_files=["res://.godot/imported/Silver.ttf-acf985a494ec9501dbab5d460c1c1e21.fontdata"] - -[params] - -Rendering=null -antialiasing=1 -generate_mipmaps=false -multichannel_signed_distance_field=false -msdf_pixel_range=8 -msdf_size=48 -allow_system_fallback=true -force_autohinter=false -hinting=1 -subpixel_positioning=1 -oversampling=0.0 -Fallbacks=null -fallbacks=[] -Compress=null -compress=true -preload=[] -language_support={} -script_support={} -opentype_features={} diff --git a/DungeonShooting_Godot/SourceHanSerifCN-SemiBold.otf b/DungeonShooting_Godot/SourceHanSerifCN-SemiBold.otf deleted file mode 100644 index efa94cb..0000000 --- a/DungeonShooting_Godot/SourceHanSerifCN-SemiBold.otf +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/SourceHanSerifCN-SemiBold.otf.import b/DungeonShooting_Godot/SourceHanSerifCN-SemiBold.otf.import deleted file mode 100644 index 3aed657..0000000 --- a/DungeonShooting_Godot/SourceHanSerifCN-SemiBold.otf.import +++ /dev/null @@ -1,33 +0,0 @@ -[remap] - -importer="font_data_dynamic" -type="FontFile" -uid="uid://cxje5ycy236ds" -path="res://.godot/imported/SourceHanSerifCN-SemiBold.otf-8dcf564a1a7bde5d3a872366b8020586.fontdata" - -[deps] - -source_file="res://SourceHanSerifCN-SemiBold.otf" -dest_files=["res://.godot/imported/SourceHanSerifCN-SemiBold.otf-8dcf564a1a7bde5d3a872366b8020586.fontdata"] - -[params] - -Rendering=null -antialiasing=1 -generate_mipmaps=false -multichannel_signed_distance_field=false -msdf_pixel_range=8 -msdf_size=48 -allow_system_fallback=true -force_autohinter=false -hinting=1 -subpixel_positioning=1 -oversampling=0.0 -Fallbacks=null -fallbacks=[] -Compress=null -compress=true -preload=[] -language_support={} -script_support={} -opentype_features={} diff --git a/DungeonShooting_Godot/addons/dungeonShooting_plugin/Plugin.cs b/DungeonShooting_Godot/addons/dungeonShooting_plugin/Plugin.cs index 2ba1f9f..0a88097 100644 --- a/DungeonShooting_Godot/addons/dungeonShooting_plugin/Plugin.cs +++ b/DungeonShooting_Godot/addons/dungeonShooting_plugin/Plugin.cs @@ -43,12 +43,6 @@ private CustomTypeInfo[] _customTypeInfos = new CustomTypeInfo[] { new CustomTypeInfo( - "ActivityObjectTemplate", - "Node", - "res://src/framework/activity/ActivityObjectTemplate.cs", - "res://addons/dungeonShooting_plugin/ActivityObject.svg" - ), - new CustomTypeInfo( "ActivityMark", "Node2D", "res://src/framework/map/mark/ActivityMark.cs", diff --git a/DungeonShooting_Godot/default_bus_layout.tres b/DungeonShooting_Godot/default_bus_layout.tres index 60797cc..d877009 100644 --- a/DungeonShooting_Godot/default_bus_layout.tres +++ b/DungeonShooting_Godot/default_bus_layout.tres @@ -1,15 +1,15 @@ -[gd_resource type="AudioBusLayout" format=2] +[gd_resource type="AudioBusLayout" format=3 uid="uid://tqvsp0nnvq3k"] [resource] -bus/1/name = "BGM" +bus/1/name = &"BGM" bus/1/solo = false bus/1/mute = false bus/1/bypass_fx = false bus/1/volume_db = 0.0 -bus/1/send = "Master" -bus/2/name = "SFX" +bus/1/send = &"Master" +bus/2/name = &"SFX" bus/2/solo = false bus/2/mute = false bus/2/bypass_fx = false bus/2/volume_db = 0.0 -bus/2/send = "Master" +bus/2/send = &"Master" diff --git a/DungeonShooting_Godot/excel/BouncyCastle.Crypto.dll b/DungeonShooting_Godot/excel/BouncyCastle.Crypto.dll new file mode 100644 index 0000000..b811138 --- /dev/null +++ b/DungeonShooting_Godot/excel/BouncyCastle.Crypto.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.deps.json b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.deps.json new file mode 100644 index 0000000..df88148 --- /dev/null +++ b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.deps.json @@ -0,0 +1,352 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0/win-x64", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": {}, + ".NETCoreApp,Version=v6.0/win-x64": { + "DungeonShooting_ExcelTool/1.0.0": { + "dependencies": { + "NPOI": "2.6.0" + }, + "runtime": { + "DungeonShooting_ExcelTool.dll": {} + } + }, + "Enums.NET/4.0.0": { + "runtime": { + "lib/netcoreapp3.0/Enums.NET.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.0.0.0" + } + } + }, + "MathNet.Numerics.Signed/4.15.0": { + "runtime": { + "lib/netstandard2.0/MathNet.Numerics.dll": { + "assemblyVersion": "4.15.0.0", + "fileVersion": "4.15.0.0" + } + } + }, + "Microsoft.IO.RecyclableMemoryStream/2.2.0": { + "runtime": { + "lib/net5.0/Microsoft.IO.RecyclableMemoryStream.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.Win32.SystemEvents/6.0.0": { + "runtime": { + "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "NPOI/2.6.0": { + "dependencies": { + "Enums.NET": "4.0.0", + "MathNet.Numerics.Signed": "4.15.0", + "Microsoft.IO.RecyclableMemoryStream": "2.2.0", + "Portable.BouncyCastle": "1.9.0", + "SharpZipLib": "1.3.3", + "SixLabors.Fonts": "1.0.0-beta18", + "SixLabors.ImageSharp": "2.1.3", + "System.Configuration.ConfigurationManager": "6.0.0", + "System.Security.Cryptography.Xml": "6.0.1", + "System.Text.Encoding.CodePages": "6.0.0" + }, + "runtime": { + "lib/net6.0/NPOI.OOXML.dll": { + "assemblyVersion": "2.6.0.0", + "fileVersion": "2.6.0.0" + }, + "lib/net6.0/NPOI.OpenXml4Net.dll": { + "assemblyVersion": "2.6.0.0", + "fileVersion": "2.6.0.0" + }, + "lib/net6.0/NPOI.OpenXmlFormats.dll": { + "assemblyVersion": "2.6.0.0", + "fileVersion": "2.6.0.0" + }, + "lib/net6.0/NPOI.dll": { + "assemblyVersion": "2.6.0.0", + "fileVersion": "2.6.0.0" + } + } + }, + "Portable.BouncyCastle/1.9.0": { + "runtime": { + "lib/netstandard2.0/BouncyCastle.Crypto.dll": { + "assemblyVersion": "1.9.0.0", + "fileVersion": "1.9.0.1" + } + } + }, + "SharpZipLib/1.3.3": { + "runtime": { + "lib/netstandard2.1/ICSharpCode.SharpZipLib.dll": { + "assemblyVersion": "1.3.3.11", + "fileVersion": "1.3.3.11" + } + } + }, + "SixLabors.Fonts/1.0.0-beta18": { + "runtime": { + "lib/netcoreapp3.1/SixLabors.Fonts.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "SixLabors.ImageSharp/2.1.3": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encoding.CodePages": "6.0.0" + }, + "runtime": { + "lib/netcoreapp3.1/SixLabors.ImageSharp.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.1.3.0" + } + } + }, + "System.Configuration.ConfigurationManager/6.0.0": { + "dependencies": { + "System.Security.Cryptography.ProtectedData": "6.0.0", + "System.Security.Permissions": "6.0.0" + }, + "runtime": { + "lib/net6.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Drawing.Common/6.0.0": { + "dependencies": { + "Microsoft.Win32.SystemEvents": "6.0.0" + }, + "runtime": { + "runtimes/win/lib/net6.0/System.Drawing.Common.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Formats.Asn1/6.0.0": {}, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Security.AccessControl/6.0.0": {}, + "System.Security.Cryptography.Pkcs/6.0.1": { + "dependencies": { + "System.Formats.Asn1": "6.0.0" + }, + "runtime": { + "runtimes/win/lib/net6.0/System.Security.Cryptography.Pkcs.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.522.21309" + } + } + }, + "System.Security.Cryptography.ProtectedData/6.0.0": { + "runtime": { + "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Security.Cryptography.Xml/6.0.1": { + "dependencies": { + "System.Security.AccessControl": "6.0.0", + "System.Security.Cryptography.Pkcs": "6.0.1" + }, + "runtime": { + "lib/net6.0/System.Security.Cryptography.Xml.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.822.36306" + } + } + }, + "System.Security.Permissions/6.0.0": { + "dependencies": { + "System.Security.AccessControl": "6.0.0", + "System.Windows.Extensions": "6.0.0" + }, + "runtime": { + "lib/net6.0/System.Security.Permissions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "System.Text.Encoding.CodePages/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Windows.Extensions/6.0.0": { + "dependencies": { + "System.Drawing.Common": "6.0.0" + }, + "runtime": { + "runtimes/win/lib/net6.0/System.Windows.Extensions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + } + } + }, + "libraries": { + "DungeonShooting_ExcelTool/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Enums.NET/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d47SgeuGxKpalKhYoHqFkDPmO9SoE3amSwVNDoUdy4d675/tX7bLyZFHdjfo3Tobth9Y80VnjfasQ/PD4LqUuA==", + "path": "enums.net/4.0.0", + "hashPath": "enums.net.4.0.0.nupkg.sha512" + }, + "MathNet.Numerics.Signed/4.15.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LFjukMRatkg9dgRM7U/gM4uKgaWAX7E0lt3fsVDTPdtBIVuh7uPlksDie290br1/tv1a4Ar/Bz9ywCPSL8PhHg==", + "path": "mathnet.numerics.signed/4.15.0", + "hashPath": "mathnet.numerics.signed.4.15.0.nupkg.sha512" + }, + "Microsoft.IO.RecyclableMemoryStream/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uyjY/cqomw1irT4L7lDeg4sJ36MsjHg3wKqpGrBAdzvZaxo85yMF+sAA9RIzTV92fDxuUzjqksMqA0+SNMkMgA==", + "path": "microsoft.io.recyclablememorystream/2.2.0", + "hashPath": "microsoft.io.recyclablememorystream.2.2.0.nupkg.sha512" + }, + "Microsoft.Win32.SystemEvents/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==", + "path": "microsoft.win32.systemevents/6.0.0", + "hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512" + }, + "NPOI/2.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Pwjo65CUH3MiRnBEbVo8ff31ZrDGdGyyFJyAEncmbTQ0/gYgDkBUnGKm20aLpdwCpPNLzvapZm8v5tx4S6qAWg==", + "path": "npoi/2.6.0", + "hashPath": "npoi.2.6.0.nupkg.sha512" + }, + "Portable.BouncyCastle/1.9.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eZZBCABzVOek+id9Xy04HhmgykF0wZg9wpByzrWN7q8qEI0Qen9b7tfd7w8VA3dOeesumMG7C5ZPy0jk7PSRHw==", + "path": "portable.bouncycastle/1.9.0", + "hashPath": "portable.bouncycastle.1.9.0.nupkg.sha512" + }, + "SharpZipLib/1.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N8+hwhsKZm25tDJfWpBSW7EGhH/R7EMuiX+KJ4C4u+fCWVc1lJ5zg1u3S1RPPVYgTqhx/C3hxrqUpi6RwK5+Tg==", + "path": "sharpziplib/1.3.3", + "hashPath": "sharpziplib.1.3.3.nupkg.sha512" + }, + "SixLabors.Fonts/1.0.0-beta18": { + "type": "package", + "serviceable": true, + "sha512": "sha512-evykNmy/kEE9EAEKgZm3MNUYXuMHFfmcLUNPw7Ho5q7OI96GFkkIxBm+QaKOTPBKw+L0AjKOs+ArVg8P40Ac9g==", + "path": "sixlabors.fonts/1.0.0-beta18", + "hashPath": "sixlabors.fonts.1.0.0-beta18.nupkg.sha512" + }, + "SixLabors.ImageSharp/2.1.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8yonNRWX3vUE9k29ta0Hbfa0AEc0hbDjSH/nZ3vOTJEXmY6hLnGsjDKoz96Z+AgOsrdkAu6PdL/Ebaf70aitzw==", + "path": "sixlabors.imagesharp/2.1.3", + "hashPath": "sixlabors.imagesharp.2.1.3.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==", + "path": "system.configuration.configurationmanager/6.0.0", + "hashPath": "system.configuration.configurationmanager.6.0.0.nupkg.sha512" + }, + "System.Drawing.Common/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", + "path": "system.drawing.common/6.0.0", + "hashPath": "system.drawing.common.6.0.0.nupkg.sha512" + }, + "System.Formats.Asn1/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-T6fD00dQ3NTbPDy31m4eQUwKW84s03z0N2C8HpOklyeaDgaJPa/TexP4/SkORMSOwc7WhKifnA6Ya33AkzmafA==", + "path": "system.formats.asn1/6.0.0", + "hashPath": "system.formats.asn1.6.0.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Security.AccessControl/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", + "path": "system.security.accesscontrol/6.0.0", + "hashPath": "system.security.accesscontrol.6.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.Pkcs/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ynmbW2GjIGg9K1wXmVIRs4IlyDolf0JXNpzFQ8JCVgwM+myUC2JeUggl2PwQig2PNVMegKmN1aAx7WPQ8tI3vA==", + "path": "system.security.cryptography.pkcs/6.0.1", + "hashPath": "system.security.cryptography.pkcs.6.0.1.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==", + "path": "system.security.cryptography.protecteddata/6.0.0", + "hashPath": "system.security.cryptography.protecteddata.6.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.Xml/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5e5bI28T0x73AwTsbuFP4qSRzthmU2C0Gqgg3AZ3KTxmSyA+Uhk31puA3srdaeWaacVnHhLdJywCzqOiEpbO/w==", + "path": "system.security.cryptography.xml/6.0.1", + "hashPath": "system.security.cryptography.xml.6.0.1.nupkg.sha512" + }, + "System.Security.Permissions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", + "path": "system.security.permissions/6.0.0", + "hashPath": "system.security.permissions.6.0.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", + "path": "system.text.encoding.codepages/6.0.0", + "hashPath": "system.text.encoding.codepages.6.0.0.nupkg.sha512" + }, + "System.Windows.Extensions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==", + "path": "system.windows.extensions/6.0.0", + "hashPath": "system.windows.extensions.6.0.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.dll b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.dll new file mode 100644 index 0000000..c2ed8e7 --- /dev/null +++ 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 new file mode 100644 index 0000000..c623fc8 --- /dev/null +++ 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 new file mode 100644 index 0000000..3b1e68d --- /dev/null +++ b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.pdb Binary files differ diff --git a/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.runtimeconfig.json b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.runtimeconfig.json new file mode 100644 index 0000000..e7b3b03 --- /dev/null +++ b/DungeonShooting_Godot/excel/DungeonShooting_ExcelTool.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net6.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "6.0.0" + }, + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false + } + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/excel/Enums.NET.dll b/DungeonShooting_Godot/excel/Enums.NET.dll new file mode 100644 index 0000000..1979743 --- /dev/null +++ b/DungeonShooting_Godot/excel/Enums.NET.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/ICSharpCode.SharpZipLib.dll b/DungeonShooting_Godot/excel/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000..8a74343 --- /dev/null +++ b/DungeonShooting_Godot/excel/ICSharpCode.SharpZipLib.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/MathNet.Numerics.dll b/DungeonShooting_Godot/excel/MathNet.Numerics.dll new file mode 100644 index 0000000..71d6b4c --- /dev/null +++ b/DungeonShooting_Godot/excel/MathNet.Numerics.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/Microsoft.IO.RecyclableMemoryStream.dll b/DungeonShooting_Godot/excel/Microsoft.IO.RecyclableMemoryStream.dll new file mode 100644 index 0000000..c19ee7f --- /dev/null +++ b/DungeonShooting_Godot/excel/Microsoft.IO.RecyclableMemoryStream.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/Microsoft.Win32.SystemEvents.dll b/DungeonShooting_Godot/excel/Microsoft.Win32.SystemEvents.dll new file mode 100644 index 0000000..66af198 --- /dev/null +++ b/DungeonShooting_Godot/excel/Microsoft.Win32.SystemEvents.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/NPOI.OOXML.dll b/DungeonShooting_Godot/excel/NPOI.OOXML.dll new file mode 100644 index 0000000..b476bdc --- /dev/null +++ b/DungeonShooting_Godot/excel/NPOI.OOXML.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/NPOI.OpenXml4Net.dll b/DungeonShooting_Godot/excel/NPOI.OpenXml4Net.dll new file mode 100644 index 0000000..bbdf16b --- /dev/null +++ b/DungeonShooting_Godot/excel/NPOI.OpenXml4Net.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/NPOI.OpenXmlFormats.dll b/DungeonShooting_Godot/excel/NPOI.OpenXmlFormats.dll new file mode 100644 index 0000000..a968c09 --- /dev/null +++ b/DungeonShooting_Godot/excel/NPOI.OpenXmlFormats.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/NPOI.dll b/DungeonShooting_Godot/excel/NPOI.dll new file mode 100644 index 0000000..2b08549 --- /dev/null +++ b/DungeonShooting_Godot/excel/NPOI.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/SixLabors.Fonts.dll b/DungeonShooting_Godot/excel/SixLabors.Fonts.dll new file mode 100644 index 0000000..5780135 --- /dev/null +++ b/DungeonShooting_Godot/excel/SixLabors.Fonts.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/SixLabors.ImageSharp.dll b/DungeonShooting_Godot/excel/SixLabors.ImageSharp.dll new file mode 100644 index 0000000..dd87091 --- /dev/null +++ b/DungeonShooting_Godot/excel/SixLabors.ImageSharp.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/System.Configuration.ConfigurationManager.dll b/DungeonShooting_Godot/excel/System.Configuration.ConfigurationManager.dll new file mode 100644 index 0000000..d67c8a8 --- /dev/null +++ b/DungeonShooting_Godot/excel/System.Configuration.ConfigurationManager.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/System.Drawing.Common.dll b/DungeonShooting_Godot/excel/System.Drawing.Common.dll new file mode 100644 index 0000000..7c9e87b --- /dev/null +++ b/DungeonShooting_Godot/excel/System.Drawing.Common.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/System.Security.Cryptography.Pkcs.dll b/DungeonShooting_Godot/excel/System.Security.Cryptography.Pkcs.dll new file mode 100644 index 0000000..6cbb734 --- /dev/null +++ b/DungeonShooting_Godot/excel/System.Security.Cryptography.Pkcs.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/System.Security.Cryptography.ProtectedData.dll b/DungeonShooting_Godot/excel/System.Security.Cryptography.ProtectedData.dll new file mode 100644 index 0000000..332dbfa --- /dev/null +++ b/DungeonShooting_Godot/excel/System.Security.Cryptography.ProtectedData.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/System.Security.Cryptography.Xml.dll b/DungeonShooting_Godot/excel/System.Security.Cryptography.Xml.dll new file mode 100644 index 0000000..b43ece0 --- /dev/null +++ b/DungeonShooting_Godot/excel/System.Security.Cryptography.Xml.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/System.Security.Permissions.dll b/DungeonShooting_Godot/excel/System.Security.Permissions.dll new file mode 100644 index 0000000..39dd4df --- /dev/null +++ b/DungeonShooting_Godot/excel/System.Security.Permissions.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/System.Windows.Extensions.dll b/DungeonShooting_Godot/excel/System.Windows.Extensions.dll new file mode 100644 index 0000000..69f0d1b --- /dev/null +++ b/DungeonShooting_Godot/excel/System.Windows.Extensions.dll Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityObject.xlsx new file mode 100644 index 0000000..24e11a1 --- /dev/null +++ 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 new file mode 100644 index 0000000..6679fea --- /dev/null +++ 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 new file mode 100644 index 0000000..a2bd8f8 --- /dev/null +++ b/DungeonShooting_Godot/excel/excelFile/Weapon.xlsx Binary files differ diff --git a/DungeonShooting_Godot/prefab/Cursor.tscn b/DungeonShooting_Godot/prefab/Cursor.tscn index c228d62..728e892 100644 --- a/DungeonShooting_Godot/prefab/Cursor.tscn +++ b/DungeonShooting_Godot/prefab/Cursor.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=4 format=3] +[gd_scene load_steps=4 format=3 uid="uid://d16r232hmj3ow"] -[ext_resource type="Texture2D" uid="uid://ct5v768lsf6nc" path="res://resource/sprite/ui/Cursor.png" id="1"] [ext_resource type="Script" path="res://src/game/Cursor.cs" id="2"] [ext_resource type="Texture2D" uid="uid://cjiiu86a42mnj" path="res://resource/sprite/ui/CursorCenter.png" id="2_2j135"] - +[ext_resource type="Texture2D" uid="uid://dta28v3fgkfru" path="res://resource/sprite/ui/cursors.png" id="3_ni3bs"] [node name="Cursor" type="Node2D"] z_index = 10 @@ -16,28 +15,36 @@ [node name="LT" type="Sprite2D" parent="."] scale = Vector2(4, 4) -texture = ExtResource("1") +texture = ExtResource("3_ni3bs") offset = Vector2(-2, -2) region_enabled = true -region_rect = Rect2(0, 0, 4, 4) +region_rect = Rect2(67, 35, 4, 4) [node name="LB" type="Sprite2D" parent="."] scale = Vector2(4, 4) -texture = ExtResource("1") +texture = ExtResource("3_ni3bs") offset = Vector2(-2, 2) region_enabled = true -region_rect = Rect2(0, 4, 4, 4) +region_rect = Rect2(67, 41, 4, 4) [node name="RT" type="Sprite2D" parent="."] scale = Vector2(4, 4) -texture = ExtResource("1") +texture = ExtResource("3_ni3bs") offset = Vector2(2, -2) region_enabled = true -region_rect = Rect2(4, 0, 4, 4) +region_rect = Rect2(73, 35, 4, 4) [node name="RB" type="Sprite2D" parent="."] scale = Vector2(4, 4) -texture = ExtResource("1") +texture = ExtResource("3_ni3bs") offset = Vector2(2, 2) region_enabled = true -region_rect = Rect2(4, 4, 4, 4) +region_rect = Rect2(73, 41, 4, 4) + +[node name="Finger" type="Sprite2D" parent="."] +visible = false +position = Vector2(8, 6) +scale = Vector2(4, 4) +texture = ExtResource("3_ni3bs") +region_enabled = true +region_rect = Rect2(68, 21, 7, 9) diff --git a/DungeonShooting_Godot/prefab/bullet/Bullet0001.tscn b/DungeonShooting_Godot/prefab/bullet/Bullet0001.tscn new file mode 100644 index 0000000..4081afc --- /dev/null +++ b/DungeonShooting_Godot/prefab/bullet/Bullet0001.tscn @@ -0,0 +1,67 @@ +[gd_scene load_steps=9 format=3 uid="uid://bj4kmvt8jg1cf"] + +[ext_resource type="Script" path="res://src/game/activity/bullet/Bullet.cs" id="1_82ma0"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_p12d3"] +[ext_resource type="Texture2D" uid="uid://bu0b11hiuecxy" path="res://resource/sprite/bullet/bullet.png" id="3_hjgpe"] + + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5a4f2"] +resource_local_to_scene = true +shader = ExtResource("2_p12d3") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o0655"] +resource_local_to_scene = true +shader = ExtResource("2_p12d3") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="SpriteFrames" id="SpriteFrames_5wvmf"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("3_hjgpe") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_c0onq"] +size = Vector2(44.72, 12) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_lcqb8"] +size = Vector2(11, 4) + +[node name="Bullet0001" type="CharacterBody2D" node_paths=PackedStringArray("CollisionArea", "ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 2 +script = ExtResource("1_82ma0") +CollisionArea = NodePath("CollisionArea") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_5a4f2") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +modulate = Color(1.8, 1.8, 1.8, 1) +material = SubResource("ShaderMaterial_o0655") +sprite_frames = SubResource("SpriteFrames_5wvmf") + +[node name="CollisionArea" type="Area2D" parent="."] +visible = false +collision_layer = 0 +collision_mask = 0 +monitorable = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CollisionArea"] +position = Vector2(2.93353, 0) +scale = Vector2(0.226586, 0.333333) +shape = SubResource("RectangleShape2D_c0onq") + +[node name="Collision" type="CollisionShape2D" parent="."] +position = Vector2(2.5, 0) +shape = SubResource("RectangleShape2D_lcqb8") diff --git a/DungeonShooting_Godot/prefab/bullet/Bullet0002.tscn b/DungeonShooting_Godot/prefab/bullet/Bullet0002.tscn new file mode 100644 index 0000000..da195d0 --- /dev/null +++ b/DungeonShooting_Godot/prefab/bullet/Bullet0002.tscn @@ -0,0 +1,54 @@ +[gd_scene load_steps=8 format=3 uid="uid://bqkj0rn72ppge"] + +[ext_resource type="Script" path="res://src/game/activity/bullet/Bullet.cs" id="1_hga3h"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_n44pd"] +[ext_resource type="SpriteFrames" uid="uid://bpeodjqiy3mil" path="res://resource/spriteFrames/Bullet0002.tres" id="3_uvuj8"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5a4f2"] +resource_local_to_scene = true +shader = ExtResource("2_n44pd") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o0655"] +resource_local_to_scene = true +shader = ExtResource("2_n44pd") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_c0onq"] +size = Vector2(44.72, 12) + +[sub_resource type="CircleShape2D" id="CircleShape2D_e2yn3"] +radius = 3.0 + +[node name="Bullet0002" type="CharacterBody2D" node_paths=PackedStringArray("CollisionArea", "ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 2 +script = ExtResource("1_hga3h") +CollisionArea = NodePath("CollisionArea") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_5a4f2") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +modulate = Color(1.8, 1.8, 1.8, 1) +material = SubResource("ShaderMaterial_o0655") +sprite_frames = ExtResource("3_uvuj8") + +[node name="CollisionArea" type="Area2D" parent="."] +visible = false +collision_layer = 0 +collision_mask = 0 +monitorable = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CollisionArea"] +position = Vector2(2.93353, 0) +scale = Vector2(0.226586, 0.333333) +shape = SubResource("RectangleShape2D_c0onq") + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_e2yn3") diff --git a/DungeonShooting_Godot/prefab/effect/Blood.tscn b/DungeonShooting_Godot/prefab/effect/Blood.tscn index 1e6ad14..7abbec9 100644 --- a/DungeonShooting_Godot/prefab/effect/Blood.tscn +++ b/DungeonShooting_Godot/prefab/effect/Blood.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3] -[ext_resource path="res://resource/effects/Circle.png" type="Texture2D" id=1] -[ext_resource path="res://src/game/effects/Blood.cs" type="Script" id=2] +[ext_resource type="Texture2D" uid="uid://cgptnp74ive4r" path="res://resource/sprite/effects/Circle.png" id="1"] +[ext_resource type="Script" path="res://src/game/effects/Blood.cs" id="2"] + [node name="Blood" type="CPUParticles2D"] z_index = -5 diff --git a/DungeonShooting_Godot/prefab/effect/BulletDisappear.tscn b/DungeonShooting_Godot/prefab/effect/BulletDisappear.tscn index 96428cb..54549a1 100644 --- a/DungeonShooting_Godot/prefab/effect/BulletDisappear.tscn +++ b/DungeonShooting_Godot/prefab/effect/BulletDisappear.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=15 format=3 uid="uid://vbu1phb8mchw"] +[gd_scene load_steps=15 format=3] -[ext_resource type="Texture2D" uid="uid://d8ot2wrdoe4j" path="res://resource/effects/Explosion.png" id="1_qqm6c"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/effects/Smoke.png" id="1_ybsvf"] +[ext_resource type="Texture2D" uid="uid://d8ot2wrdoe4j" path="res://resource/sprite/effects/Explosion.png" id="1_qqm6c"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="1_ybsvf"] + [sub_resource type="AtlasTexture" id="AtlasTexture_tscb3"] atlas = ExtResource("1_qqm6c") diff --git a/DungeonShooting_Godot/prefab/effect/BulletSmoke.tscn b/DungeonShooting_Godot/prefab/effect/BulletSmoke.tscn index 22ba2ef..368fd26 100644 --- a/DungeonShooting_Godot/prefab/effect/BulletSmoke.tscn +++ b/DungeonShooting_Godot/prefab/effect/BulletSmoke.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=9 format=3 uid="uid://dtr8nurmv2qtg"] +[gd_scene load_steps=9 format=3] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/effects/Smoke.png" id="1"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="1"] [ext_resource type="Texture2D" uid="uid://bs1lan5uwxyfg" path="res://resource/curve/Curve1.tres" id="1_8pe88"] -[ext_resource type="Texture2D" uid="uid://dwa4chrugc6b1" path="res://resource/effects/Collision.png" id="2"] +[ext_resource type="Texture2D" uid="uid://dwa4chrugc6b1" path="res://resource/sprite/effects/Collision.png" id="2"] [sub_resource type="CanvasItemMaterial" id="1"] particles_animation = true diff --git a/DungeonShooting_Godot/prefab/effect/Effect1.tscn b/DungeonShooting_Godot/prefab/effect/Effect1.tscn index 17115a1..4cd0ba7 100644 --- a/DungeonShooting_Godot/prefab/effect/Effect1.tscn +++ b/DungeonShooting_Godot/prefab/effect/Effect1.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=8 format=3 uid="uid://crx1kqqrymmdb"] +[gd_scene load_steps=8 format=3] [ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_dxavj"] [ext_resource type="Texture2D" uid="uid://bs1lan5uwxyfg" path="res://resource/curve/Curve1.tres" id="1_s60r7"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/effects/Smoke.png" id="2_3kyig"] -[ext_resource type="Texture2D" uid="uid://csud4e6kc3iku" path="res://resource/effects/Effect1.png" id="3_1mceu"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="2_3kyig"] +[ext_resource type="Texture2D" uid="uid://csud4e6kc3iku" path="res://resource/sprite/effects/Effect1.png" id="3_1mceu"] [ext_resource type="Script" path="res://src/game/effects/Effect1.cs" id="3_ax5u4"] [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_ipadv"] diff --git a/DungeonShooting_Godot/prefab/effect/ShotFire.tscn b/DungeonShooting_Godot/prefab/effect/ShotFire.tscn index 8c1d374..1a07305 100644 --- a/DungeonShooting_Godot/prefab/effect/ShotFire.tscn +++ b/DungeonShooting_Godot/prefab/effect/ShotFire.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3] -[ext_resource path="res://resource/effects/ShotFire.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://b0jsyrbk4bydt" path="res://resource/sprite/effects/ShotFire.png" id="1"] + [sub_resource type="Animation" id=2] length = 0.001 diff --git a/DungeonShooting_Godot/prefab/effect/activityObject/Effect0001.tscn b/DungeonShooting_Godot/prefab/effect/activityObject/Effect0001.tscn new file mode 100644 index 0000000..bf30d58 --- /dev/null +++ b/DungeonShooting_Godot/prefab/effect/activityObject/Effect0001.tscn @@ -0,0 +1,193 @@ +[gd_scene load_steps=30 format=3 uid="uid://pr88a1phtxgb"] + +[ext_resource type="Script" path="res://src/game/effects/EnemyDebris.cs" id="1_jnsw0"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_b3d83"] +[ext_resource type="Texture2D" uid="uid://d2f55lu60x64i" path="res://resource/sprite/role/enemy0001/Enemy0001_Debris.png" id="3_ntutm"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="4_egbbr"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] +resource_local_to_scene = true +shader = ExtResource("2_b3d83") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_08fn3"] +resource_local_to_scene = true +shader = ExtResource("2_b3d83") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_cldwb"] +atlas = ExtResource("3_ntutm") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ehtnl"] +atlas = ExtResource("3_ntutm") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j05gd"] +atlas = ExtResource("3_ntutm") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7el6f"] +atlas = ExtResource("3_ntutm") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n7sw3"] +atlas = ExtResource("3_ntutm") +region = Rect2(64, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mumsm"] +atlas = ExtResource("3_ntutm") +region = Rect2(80, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gx41d"] +atlas = ExtResource("3_ntutm") +region = Rect2(96, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r4nx1"] +atlas = ExtResource("3_ntutm") +region = Rect2(112, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s8j4o"] +atlas = ExtResource("3_ntutm") +region = Rect2(128, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2svrb"] +atlas = ExtResource("3_ntutm") +region = Rect2(144, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_twd5t"] +atlas = ExtResource("3_ntutm") +region = Rect2(160, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8w5ka"] +atlas = ExtResource("3_ntutm") +region = Rect2(176, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6iumv"] +atlas = ExtResource("3_ntutm") +region = Rect2(192, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lpilf"] +atlas = ExtResource("3_ntutm") +region = Rect2(208, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n1a5a"] +atlas = ExtResource("3_ntutm") +region = Rect2(224, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q0oeq"] +atlas = ExtResource("3_ntutm") +region = Rect2(240, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_15g84"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_cldwb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ehtnl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j05gd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7el6f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n7sw3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mumsm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gx41d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r4nx1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s8j4o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2svrb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_twd5t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8w5ka") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6iumv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lpilf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n1a5a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q0oeq") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_p3lv8"] +particles_animation = true +particles_anim_h_frames = 3 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="Gradient" id="Gradient_ryemi"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.537255) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_orgu0"] +gradient = SubResource("Gradient_ryemi") + +[sub_resource type="Curve" id="Curve_21dxk"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.177419, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0272727), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_rutlp"] +curve = SubResource("Curve_21dxk") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ku1mm"] +particle_flag_disable_z = true +gravity = Vector3(0, 0, 0) +orbit_velocity_min = 0.0 +orbit_velocity_max = 0.0 +angle_max = 360.0 +scale_min = 0.4 +scale_max = 1.5 +scale_curve = SubResource("CurveTexture_rutlp") +color = Color(0.811765, 0.0980392, 0.0980392, 0.627451) +color_ramp = SubResource("GradientTexture1D_orgu0") +anim_offset_max = 1.0 + +[node name="Effect0001" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +script = ExtResource("1_jnsw0") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_s1mj2") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_08fn3") +sprite_frames = SubResource("SpriteFrames_15g84") + +[node name="Collision" type="CollisionShape2D" parent="."] + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +material = SubResource("CanvasItemMaterial_p3lv8") +emitting = false +process_material = SubResource("ParticleProcessMaterial_ku1mm") +texture = ExtResource("4_egbbr") +fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/effect/activityObject/EnemyBloodEffect.tscn b/DungeonShooting_Godot/prefab/effect/activityObject/EnemyBloodEffect.tscn index a96a14e..b19d4aa 100644 --- a/DungeonShooting_Godot/prefab/effect/activityObject/EnemyBloodEffect.tscn +++ b/DungeonShooting_Godot/prefab/effect/activityObject/EnemyBloodEffect.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=5 format=3 uid="uid://dv3pstsr56ux7"] +[gd_scene load_steps=5 format=3 uid="uid://m0s0k5nw7nbi"] -[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_wwb7t"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/effects/Smoke.png" id="2_5rrhq"] -[ext_resource type="Script" path="res://src/game/effects/AutoDestroyEffect.cs" id="3_cvfk3"] +[ext_resource type="Material" uid="uid://c1chld6lkpgji" path="res://resource/material/SmokeParticleMaterial.tres" id="1_jp2tw"] +[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/sprite/effects/Smoke.png" id="2_xg444"] +[ext_resource type="Script" path="res://src/game/effects/AutoDestroyEffect.cs" id="3_lldtd"] [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_emuda"] particles_animation = true @@ -15,11 +15,11 @@ material = SubResource("CanvasItemMaterial_emuda") emitting = false amount = 10 -process_material = ExtResource("1_wwb7t") -texture = ExtResource("2_5rrhq") +process_material = ExtResource("1_jp2tw") +texture = ExtResource("2_xg444") lifetime = 1.2 one_shot = true explosiveness = 1.0 fixed_fps = 20 -script = ExtResource("3_cvfk3") +script = ExtResource("3_lldtd") DelayTime = 1.5 diff --git a/DungeonShooting_Godot/prefab/effect/activityObject/EnemyDebris.tscn b/DungeonShooting_Godot/prefab/effect/activityObject/EnemyDebris.tscn deleted file mode 100644 index 58a339d..0000000 --- a/DungeonShooting_Godot/prefab/effect/activityObject/EnemyDebris.tscn +++ /dev/null @@ -1,191 +0,0 @@ -[gd_scene load_steps=30 format=3 uid="uid://cj47w003yql4x"] - -[ext_resource type="Script" path="res://src/framework/activity/ActivityObjectTemplate.cs" id="1_h7exw"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_vlp01"] -[ext_resource type="Texture2D" uid="uid://d2f55lu60x64i" path="res://resource/effects/activityObject/Enemy0001_Debris.png" id="3_ohnrx"] -[ext_resource type="Texture2D" uid="uid://h7hkgbwj1li" path="res://resource/effects/Smoke.png" id="4_e30nm"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1mj2"] -resource_local_to_scene = true -shader = ExtResource("2_vlp01") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_08fn3"] -resource_local_to_scene = true -shader = ExtResource("2_vlp01") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_hqaf2"] -atlas = ExtResource("3_ohnrx") -region = Rect2(0, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_b55yq"] -atlas = ExtResource("3_ohnrx") -region = Rect2(8, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6ouxh"] -atlas = ExtResource("3_ohnrx") -region = Rect2(16, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_sfr41"] -atlas = ExtResource("3_ohnrx") -region = Rect2(24, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j5qpi"] -atlas = ExtResource("3_ohnrx") -region = Rect2(32, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ltfhd"] -atlas = ExtResource("3_ohnrx") -region = Rect2(40, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_oh4q1"] -atlas = ExtResource("3_ohnrx") -region = Rect2(48, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ebvnk"] -atlas = ExtResource("3_ohnrx") -region = Rect2(56, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lboyj"] -atlas = ExtResource("3_ohnrx") -region = Rect2(64, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6qefr"] -atlas = ExtResource("3_ohnrx") -region = Rect2(72, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_aya5f"] -atlas = ExtResource("3_ohnrx") -region = Rect2(80, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_el804"] -atlas = ExtResource("3_ohnrx") -region = Rect2(88, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_pha71"] -atlas = ExtResource("3_ohnrx") -region = Rect2(96, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ps4oc"] -atlas = ExtResource("3_ohnrx") -region = Rect2(104, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l8my6"] -atlas = ExtResource("3_ohnrx") -region = Rect2(112, 0, 8, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4jpot"] -atlas = ExtResource("3_ohnrx") -region = Rect2(120, 0, 8, 8) - -[sub_resource type="SpriteFrames" id="SpriteFrames_15g84"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_hqaf2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_b55yq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6ouxh") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_sfr41") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j5qpi") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ltfhd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_oh4q1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ebvnk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lboyj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6qefr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_aya5f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_el804") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_pha71") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ps4oc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l8my6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4jpot") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}] - -[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_p3lv8"] -particles_animation = true -particles_anim_h_frames = 3 -particles_anim_v_frames = 1 -particles_anim_loop = false - -[sub_resource type="Gradient" id="Gradient_ryemi"] -colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0.537255) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_orgu0"] -gradient = SubResource("Gradient_ryemi") - -[sub_resource type="Curve" id="Curve_21dxk"] -_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.177419, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0272727), 0.0, 0.0, 0, 0] -point_count = 3 - -[sub_resource type="CurveTexture" id="CurveTexture_rutlp"] -curve = SubResource("Curve_21dxk") - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ku1mm"] -particle_flag_disable_z = true -gravity = Vector3(0, 0, 0) -orbit_velocity_min = 0.0 -orbit_velocity_max = 0.0 -angle_max = 360.0 -scale_min = 0.4 -scale_max = 1.5 -scale_curve = SubResource("CurveTexture_rutlp") -color = Color(0.811765, 0.0980392, 0.0980392, 0.627451) -color_ramp = SubResource("GradientTexture1D_orgu0") -anim_offset_max = 1.0 - -[node name="EnemyDebris" type="Node"] -script = ExtResource("1_h7exw") -collision_mask = 1 - -[node name="ShadowSprite" type="Sprite2D" parent="."] -z_index = -1 -material = SubResource("ShaderMaterial_s1mj2") - -[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] -material = SubResource("ShaderMaterial_08fn3") -sprite_frames = SubResource("SpriteFrames_15g84") - -[node name="Collision" type="CollisionShape2D" parent="."] - -[node name="GPUParticles2D" type="GPUParticles2D" parent="."] -material = SubResource("CanvasItemMaterial_p3lv8") -emitting = false -process_material = SubResource("ParticleProcessMaterial_ku1mm") -texture = ExtResource("4_e30nm") -fixed_fps = 20 diff --git a/DungeonShooting_Godot/prefab/map/RoomDoor.tscn b/DungeonShooting_Godot/prefab/map/RoomDoor.tscn deleted file mode 100644 index ce49453..0000000 --- a/DungeonShooting_Godot/prefab/map/RoomDoor.tscn +++ /dev/null @@ -1,62 +0,0 @@ -[gd_scene load_steps=10 format=3] - -[ext_resource type="Script" path="res://src/framework/activity/ActivityObjectTemplate.cs" id="1_8es7a"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_d8jnk"] -[ext_resource type="Texture2D" uid="uid://dviv44fhwvkb1" path="res://resource/sprite/map/door1_down.png" id="3_knmoy"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_x5aop"] -resource_local_to_scene = true -shader = ExtResource("2_d8jnk") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_f8vun"] -resource_local_to_scene = true -shader = ExtResource("2_d8jnk") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_wfl7i"] -atlas = ExtResource("3_knmoy") -region = Rect2(32, 0, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j20kt"] -atlas = ExtResource("3_knmoy") -region = Rect2(32, 32, 16, 48) - -[sub_resource type="SpriteFrames" id="SpriteFrames_ugstb"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_wfl7i") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j20kt") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}] - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_lvvwj"] -resource_local_to_scene = true -size = Vector2(32, 23) - -[node name="RoomDoor" type="Node"] -script = ExtResource("1_8es7a") -collision_layer = 1 -z_index = 15 - -[node name="ShadowSprite" type="Sprite2D" parent="."] -z_index = -1 -material = SubResource("ShaderMaterial_x5aop") -position = Vector2(0, 8) - -[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] -material = SubResource("ShaderMaterial_f8vun") -position = Vector2(0, -8) -sprite_frames = SubResource("SpriteFrames_ugstb") - -[node name="Collision" type="CollisionShape2D" parent="."] -position = Vector2(0, -3.5) -shape = SubResource("RectangleShape2D_lvvwj") diff --git a/DungeonShooting_Godot/prefab/map/RoomDoor_E.tscn b/DungeonShooting_Godot/prefab/map/RoomDoor_E.tscn new file mode 100644 index 0000000..6ade137 --- /dev/null +++ b/DungeonShooting_Godot/prefab/map/RoomDoor_E.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=7 format=3 uid="uid://yhewdkpru0up"] + +[ext_resource type="Script" path="res://src/game/room/RoomDoor.cs" id="1_4c6sw"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_lwx51"] +[ext_resource type="SpriteFrames" uid="uid://3ps6h2f54qa5" path="res://resource/spriteFrames/RoomDoor_EW.tres" id="3_pjvd8"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_yvwpk"] +resource_local_to_scene = true +shader = ExtResource("2_lwx51") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_t4ayq"] +resource_local_to_scene = true +shader = ExtResource("2_lwx51") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_opsb6"] +resource_local_to_scene = true +size = Vector2(14, 40) + +[node name="RoomDoor_N" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +script = ExtResource("1_4c6sw") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_yvwpk") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_t4ayq") +position = Vector2(0, -8) +sprite_frames = ExtResource("3_pjvd8") +animation = &"closeDoor" +autoplay = "default" + +[node name="Collision" type="CollisionShape2D" parent="."] +position = Vector2(0, 4) +shape = SubResource("RectangleShape2D_opsb6") diff --git a/DungeonShooting_Godot/prefab/map/RoomDoor_N.tscn b/DungeonShooting_Godot/prefab/map/RoomDoor_N.tscn new file mode 100644 index 0000000..54aa32f --- /dev/null +++ b/DungeonShooting_Godot/prefab/map/RoomDoor_N.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=7 format=3 uid="uid://cbtj6bsaqqomt"] + +[ext_resource type="Script" path="res://src/game/room/RoomDoor.cs" id="1_220be"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_h5ru6"] +[ext_resource type="SpriteFrames" uid="uid://xs72aopsgpg6" path="res://resource/spriteFrames/RoomDoor_NS.tres" id="3_apluc"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_yvwpk"] +resource_local_to_scene = true +shader = ExtResource("2_h5ru6") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_t4ayq"] +resource_local_to_scene = true +shader = ExtResource("2_h5ru6") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_opsb6"] +resource_local_to_scene = true +size = Vector2(32, 23) + +[node name="RoomDoor_N" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +script = ExtResource("1_220be") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_yvwpk") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_t4ayq") +position = Vector2(0, -8) +sprite_frames = ExtResource("3_apluc") +animation = &"openDoor" +autoplay = "default" + +[node name="Collision" type="CollisionShape2D" parent="."] +position = Vector2(0, -3.5) +shape = SubResource("RectangleShape2D_opsb6") diff --git a/DungeonShooting_Godot/prefab/map/RoomDoor_S.tscn b/DungeonShooting_Godot/prefab/map/RoomDoor_S.tscn new file mode 100644 index 0000000..e3b5afb --- /dev/null +++ b/DungeonShooting_Godot/prefab/map/RoomDoor_S.tscn @@ -0,0 +1,41 @@ +[gd_scene load_steps=7 format=3 uid="uid://bvfnnqo71knb"] + +[ext_resource type="Script" path="res://src/game/room/RoomDoor.cs" id="1_f3qbq"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_6vvcd"] +[ext_resource type="SpriteFrames" uid="uid://xs72aopsgpg6" path="res://resource/spriteFrames/RoomDoor_NS.tres" id="3_at5v2"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_yvwpk"] +resource_local_to_scene = true +shader = ExtResource("2_6vvcd") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_t4ayq"] +resource_local_to_scene = true +shader = ExtResource("2_6vvcd") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_opsb6"] +resource_local_to_scene = true +size = Vector2(32, 23) + +[node name="RoomDoor_N" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +script = ExtResource("1_f3qbq") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_yvwpk") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_t4ayq") +position = Vector2(0, -8) +sprite_frames = ExtResource("3_at5v2") +autoplay = "default" + +[node name="Collision" type="CollisionShape2D" parent="."] +position = Vector2(0, -3.5) +shape = SubResource("RectangleShape2D_opsb6") diff --git a/DungeonShooting_Godot/prefab/map/RoomDoor_W.tscn b/DungeonShooting_Godot/prefab/map/RoomDoor_W.tscn new file mode 100644 index 0000000..e32ebf8 --- /dev/null +++ b/DungeonShooting_Godot/prefab/map/RoomDoor_W.tscn @@ -0,0 +1,41 @@ +[gd_scene load_steps=7 format=3 uid="uid://wmedlesabvr3"] + +[ext_resource type="Script" path="res://src/game/room/RoomDoor.cs" id="1_agux2"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_wx2w3"] +[ext_resource type="SpriteFrames" uid="uid://3ps6h2f54qa5" path="res://resource/spriteFrames/RoomDoor_EW.tres" id="3_a2hvw"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_yvwpk"] +resource_local_to_scene = true +shader = ExtResource("2_wx2w3") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_t4ayq"] +resource_local_to_scene = true +shader = ExtResource("2_wx2w3") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_2ko2r"] +resource_local_to_scene = true +size = Vector2(14, 40) + +[node name="RoomDoor_N" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +script = ExtResource("1_agux2") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_yvwpk") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_t4ayq") +position = Vector2(0, -8) +sprite_frames = ExtResource("3_a2hvw") +autoplay = "default" + +[node name="Collision" type="CollisionShape2D" parent="."] +position = Vector2(0, 4) +shape = SubResource("RectangleShape2D_2ko2r") diff --git a/DungeonShooting_Godot/prefab/role/Enemy.tscn b/DungeonShooting_Godot/prefab/role/Enemy.tscn deleted file mode 100644 index 04a1f50..0000000 --- a/DungeonShooting_Godot/prefab/role/Enemy.tscn +++ /dev/null @@ -1,158 +0,0 @@ -[gd_scene load_steps=20 format=3 uid="uid://dbrig6dq441wo"] - -[ext_resource type="PackedScene" uid="uid://b515ti0qinck8" path="res://prefab/role/Role.tscn" id="1_qkqsa"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_1ah5y"] -[ext_resource type="Texture2D" uid="uid://chd2vtesap5cf" path="res://resource/sprite/role/role1.png" id="3_tqhbo"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_8vxx6"] -resource_local_to_scene = true -shader = ExtResource("2_1ah5y") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_k8mt5"] -resource_local_to_scene = true -shader = ExtResource("2_1ah5y") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_gx4d0"] -atlas = ExtResource("3_tqhbo") -region = Rect2(0, 0, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_da1qy"] -atlas = ExtResource("3_tqhbo") -region = Rect2(0, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qr6u5"] -atlas = ExtResource("3_tqhbo") -region = Rect2(16, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_yxi4p"] -atlas = ExtResource("3_tqhbo") -region = Rect2(32, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1g0j1"] -atlas = ExtResource("3_tqhbo") -region = Rect2(48, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mqoog"] -atlas = ExtResource("3_tqhbo") -region = Rect2(48, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6n45h"] -atlas = ExtResource("3_tqhbo") -region = Rect2(32, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7bfvr"] -atlas = ExtResource("3_tqhbo") -region = Rect2(16, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jep37"] -atlas = ExtResource("3_tqhbo") -region = Rect2(0, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n0mff"] -atlas = ExtResource("3_tqhbo") -region = Rect2(0, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_snkia"] -atlas = ExtResource("3_tqhbo") -region = Rect2(16, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l4qvj"] -atlas = ExtResource("3_tqhbo") -region = Rect2(32, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_yxje3"] -atlas = ExtResource("3_tqhbo") -region = Rect2(48, 48, 16, 24) - -[sub_resource type="SpriteFrames" id="SpriteFrames_m7t3e"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_gx4d0") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_da1qy") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qr6u5") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_yxi4p") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1g0j1") -}], -"loop": true, -"name": &"idle", -"speed": 7.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_mqoog") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6n45h") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7bfvr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jep37") -}], -"loop": true, -"name": &"reverseRun", -"speed": 10.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_n0mff") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_snkia") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l4qvj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_yxje3") -}], -"loop": true, -"name": &"run", -"speed": 10.0 -}] - -[node name="Enemy" instance=ExtResource("1_qkqsa")] -collision_layer = 16 -collision_mask = 25 - -[node name="ShadowSprite" parent="." index="0"] -material = SubResource("ShaderMaterial_8vxx6") - -[node name="AnimatedSprite" parent="." index="2"] -material = SubResource("ShaderMaterial_k8mt5") -sprite_frames = SubResource("SpriteFrames_m7t3e") -frame_progress = 0.877597 - -[node name="HurtArea" parent="." index="4"] -visible = false - -[node name="ViewRay" type="RayCast2D" parent="." index="6"] -position = Vector2(0, -8) -enabled = false - -[node name="NavigationPoint" type="Marker2D" parent="." index="8"] -position = Vector2(0, -5) - -[node name="NavigationAgent2D" type="NavigationAgent2D" parent="NavigationPoint" index="0"] -path_desired_distance = 3.0 -target_desired_distance = 3.0 -radius = 20.0 diff --git a/DungeonShooting_Godot/prefab/role/Enemy0001.tscn b/DungeonShooting_Godot/prefab/role/Enemy0001.tscn new file mode 100644 index 0000000..b40cbfa --- /dev/null +++ b/DungeonShooting_Godot/prefab/role/Enemy0001.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=7 format=3 uid="uid://dbrig6dq441wo"] + +[ext_resource type="PackedScene" uid="uid://cyrcv2jdgr8cf" path="res://prefab/role/RoleTemplate.tscn" id="1_5po38"] +[ext_resource type="Script" path="res://src/game/role/enemy/Enemy.cs" id="2_1plrq"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="3_x8agd"] +[ext_resource type="SpriteFrames" uid="uid://cnctpyrn02rhd" path="res://resource/spriteFrames/Role1001.tres" id="4_qv8w5"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_8vxx6"] +resource_local_to_scene = true +shader = ExtResource("3_x8agd") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_k8mt5"] +resource_local_to_scene = true +shader = ExtResource("3_x8agd") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[node name="Enemy0001" node_paths=PackedStringArray("HurtArea", "MountPoint", "BackMountPoint", "InteractiveArea", "ShadowSprite", "AnimatedSprite", "Collision") instance=ExtResource("1_5po38")] +collision_layer = 16 +collision_mask = 25 +script = ExtResource("2_1plrq") +HurtArea = NodePath("HurtArea") +MountPoint = NodePath("MountPoint") +BackMountPoint = NodePath("BackMountPoint") +InteractiveArea = NodePath("InteractiveArea") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" parent="." index="0"] +material = SubResource("ShaderMaterial_8vxx6") + +[node name="AnimatedSprite" parent="." index="2"] +material = SubResource("ShaderMaterial_k8mt5") +sprite_frames = ExtResource("4_qv8w5") +animation = &"run" + +[node name="ViewRay" type="RayCast2D" parent="." index="6"] +position = Vector2(0, -8) +enabled = false + +[node name="NavigationPoint" type="Marker2D" parent="." index="8"] +position = Vector2(0, -5) + +[node name="NavigationAgent2D" type="NavigationAgent2D" parent="NavigationPoint" index="0"] +path_desired_distance = 3.0 +target_desired_distance = 3.0 +radius = 20.0 diff --git a/DungeonShooting_Godot/prefab/role/Player.tscn b/DungeonShooting_Godot/prefab/role/Player.tscn deleted file mode 100644 index 016c4b5..0000000 --- a/DungeonShooting_Godot/prefab/role/Player.tscn +++ /dev/null @@ -1,142 +0,0 @@ -[gd_scene load_steps=20 format=3] - -[ext_resource type="PackedScene" uid="uid://b515ti0qinck8" path="res://prefab/role/Role.tscn" id="1"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_nvo1u"] -[ext_resource type="Texture2D" uid="uid://bhwhhg2dfsr26" path="res://resource/sprite/role/role2.png" id="3_55mk2"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_vejn8"] -resource_local_to_scene = true -shader = ExtResource("2_nvo1u") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_0gb8j"] -resource_local_to_scene = true -shader = ExtResource("2_nvo1u") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="AtlasTexture" id="AtlasTexture_tmewn"] -atlas = ExtResource("3_55mk2") -region = Rect2(0, 0, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_dvg4a"] -atlas = ExtResource("3_55mk2") -region = Rect2(0, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kvuct"] -atlas = ExtResource("3_55mk2") -region = Rect2(16, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5op76"] -atlas = ExtResource("3_55mk2") -region = Rect2(32, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_helyc"] -atlas = ExtResource("3_55mk2") -region = Rect2(48, 24, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_67mn8"] -atlas = ExtResource("3_55mk2") -region = Rect2(48, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jeywq"] -atlas = ExtResource("3_55mk2") -region = Rect2(32, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_oycx8"] -atlas = ExtResource("3_55mk2") -region = Rect2(16, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tjg1t"] -atlas = ExtResource("3_55mk2") -region = Rect2(0, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2ltxw"] -atlas = ExtResource("3_55mk2") -region = Rect2(0, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_x1va1"] -atlas = ExtResource("3_55mk2") -region = Rect2(16, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ic2p5"] -atlas = ExtResource("3_55mk2") -region = Rect2(32, 48, 16, 24) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j3hdu"] -atlas = ExtResource("3_55mk2") -region = Rect2(48, 48, 16, 24) - -[sub_resource type="SpriteFrames" id="SpriteFrames_3poqo"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_tmewn") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_dvg4a") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kvuct") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5op76") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_helyc") -}], -"loop": true, -"name": &"idle", -"speed": 7.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_67mn8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jeywq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_oycx8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tjg1t") -}], -"loop": true, -"name": &"reverseRun", -"speed": 10.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_2ltxw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_x1va1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ic2p5") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j3hdu") -}], -"loop": true, -"name": &"run", -"speed": 10.0 -}] - -[node name="Player" instance=ExtResource("1")] -collision_layer = 8 -collision_mask = 1 - -[node name="ShadowSprite" parent="." index="0"] -material = SubResource("ShaderMaterial_vejn8") - -[node name="AnimatedSprite" parent="." index="2"] -material = SubResource("ShaderMaterial_0gb8j") -sprite_frames = SubResource("SpriteFrames_3poqo") diff --git a/DungeonShooting_Godot/prefab/role/Role.tscn b/DungeonShooting_Godot/prefab/role/Role.tscn deleted file mode 100644 index 0b11811..0000000 --- a/DungeonShooting_Godot/prefab/role/Role.tscn +++ /dev/null @@ -1,67 +0,0 @@ -[gd_scene load_steps=9 format=3] - -[ext_resource type="Script" path="res://src/framework/activity/ActivityObjectTemplate.cs" id="1_hm41b"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_q6jwp"] -[ext_resource type="Script" path="res://src/game/role/MountRotation.cs" id="4"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_v2kfw"] -resource_local_to_scene = true -shader = ExtResource("2_q6jwp") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_yif6x"] -resource_local_to_scene = true -shader = ExtResource("2_q6jwp") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_5pj80"] -radius = 4.0 - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_1eja2"] -size = Vector2(10, 15) - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_n68nu"] -size = Vector2(10, 16.5) - -[node name="Role" type="Node"] -script = ExtResource("1_hm41b") - -[node name="ShadowSprite" type="Sprite2D" parent="."] -z_index = -1 -material = SubResource("ShaderMaterial_v2kfw") - -[node name="BackMountPoint" type="Marker2D" parent="."] -position = Vector2(0, -10) - -[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] -material = SubResource("ShaderMaterial_yif6x") -position = Vector2(0, -12) - -[node name="Collision" type="CollisionShape2D" parent="."] -position = Vector2(0, -4) -shape = SubResource("CircleShape2D_5pj80") - -[node name="HurtArea" type="Area2D" parent="."] -collision_layer = 0 -collision_mask = 0 -monitoring = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="HurtArea"] -position = Vector2(0, -7.5) -shape = SubResource("RectangleShape2D_1eja2") - -[node name="InteractiveArea" type="Area2D" parent="."] -visible = false -collision_layer = 0 -collision_mask = 4 -monitorable = false - -[node name="Collision" type="CollisionShape2D" parent="InteractiveArea"] -position = Vector2(0, -5) -shape = SubResource("RectangleShape2D_n68nu") - -[node name="MountPoint" type="Marker2D" parent="."] -position = Vector2(2, -4) -script = ExtResource("4") diff --git a/DungeonShooting_Godot/prefab/role/Role0001.tscn b/DungeonShooting_Godot/prefab/role/Role0001.tscn new file mode 100644 index 0000000..4190ab6 --- /dev/null +++ b/DungeonShooting_Godot/prefab/role/Role0001.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=7 format=3 uid="uid://cxhrcytrx0kcf"] + +[ext_resource type="PackedScene" uid="uid://cyrcv2jdgr8cf" path="res://prefab/role/RoleTemplate.tscn" id="1_10c2n"] +[ext_resource type="Script" path="res://src/game/role/Player.cs" id="2_7dmp4"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="3_rk4gg"] +[ext_resource type="SpriteFrames" uid="uid://n11thtali6es" path="res://resource/spriteFrames/Role0001.tres" id="4_galcc"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_lvutq"] +resource_local_to_scene = true +shader = ExtResource("3_rk4gg") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5ok5s"] +resource_local_to_scene = true +shader = ExtResource("3_rk4gg") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[node name="Role0001" node_paths=PackedStringArray("HurtArea", "MountPoint", "BackMountPoint", "InteractiveArea", "ShadowSprite", "AnimatedSprite", "Collision") instance=ExtResource("1_10c2n")] +collision_layer = 8 +script = ExtResource("2_7dmp4") +HurtArea = NodePath("HurtArea") +MountPoint = NodePath("MountPoint") +BackMountPoint = NodePath("BackMountPoint") +InteractiveArea = NodePath("InteractiveArea") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" parent="." index="0"] +material = SubResource("ShaderMaterial_lvutq") + +[node name="AnimatedSprite" parent="." index="2"] +material = SubResource("ShaderMaterial_5ok5s") +sprite_frames = ExtResource("4_galcc") +frame_progress = 0.0995217 diff --git a/DungeonShooting_Godot/prefab/role/RoleTemplate.tscn b/DungeonShooting_Godot/prefab/role/RoleTemplate.tscn new file mode 100644 index 0000000..31c3ab7 --- /dev/null +++ b/DungeonShooting_Godot/prefab/role/RoleTemplate.tscn @@ -0,0 +1,65 @@ +[gd_scene load_steps=8 format=3 uid="uid://cyrcv2jdgr8cf"] + +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_xk5yk"] +[ext_resource type="Script" path="res://src/game/role/MountRotation.cs" id="2_5ddpw"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_v2kfw"] +resource_local_to_scene = true +shader = ExtResource("1_xk5yk") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_yif6x"] +resource_local_to_scene = true +shader = ExtResource("1_xk5yk") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_5pj80"] +radius = 4.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_1eja2"] +size = Vector2(12, 18) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_n68nu"] +size = Vector2(10, 16.5) + +[node name="RoleTemplate" type="CharacterBody2D"] + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_v2kfw") + +[node name="BackMountPoint" type="Marker2D" parent="."] +position = Vector2(0, -12) + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_yif6x") +position = Vector2(0, -12) + +[node name="Collision" type="CollisionShape2D" parent="."] +position = Vector2(0, -4) +shape = SubResource("CircleShape2D_5pj80") + +[node name="HurtArea" type="Area2D" parent="."] +collision_layer = 0 +collision_mask = 0 +monitoring = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="HurtArea"] +position = Vector2(0, -9) +shape = SubResource("RectangleShape2D_1eja2") + +[node name="InteractiveArea" type="Area2D" parent="."] +visible = false +collision_layer = 0 +collision_mask = 4 +monitorable = false + +[node name="Collision" type="CollisionShape2D" parent="InteractiveArea"] +position = Vector2(0, -5) +shape = SubResource("RectangleShape2D_n68nu") + +[node name="MountPoint" type="Marker2D" parent="."] +position = Vector2(1, -6) +script = ExtResource("2_5ddpw") diff --git a/DungeonShooting_Godot/prefab/shell/Shell0001.tscn b/DungeonShooting_Godot/prefab/shell/Shell0001.tscn new file mode 100644 index 0000000..1d7c32b --- /dev/null +++ b/DungeonShooting_Godot/prefab/shell/Shell0001.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=6 format=3 uid="uid://bj4yr6ru8nhwr"] + +[ext_resource type="Script" path="res://src/game/activity/shell/Shell.cs" id="1_2g70c"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_tdny6"] +[ext_resource type="SpriteFrames" uid="uid://b8gksxl7auquc" path="res://resource/spriteFrames/Shell0001.tres" id="3_ujn5y"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_px12l"] +resource_local_to_scene = true +shader = ExtResource("2_tdny6") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7e6fo"] +resource_local_to_scene = true +shader = ExtResource("2_tdny6") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[node name="Shell0001" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")] +script = ExtResource("1_2g70c") +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_ujn5y") + +[node name="Collision" type="CollisionShape2D" parent="."] diff --git a/DungeonShooting_Godot/prefab/ui/EditorTools.tscn b/DungeonShooting_Godot/prefab/ui/EditorTools.tscn index ea25f16..27e37f9 100644 --- a/DungeonShooting_Godot/prefab/ui/EditorTools.tscn +++ b/DungeonShooting_Godot/prefab/ui/EditorTools.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://kw3o772vpne"] -[ext_resource type="Script" path="res://src/game/ui/editorTools/EditorToolsPanel.cs" id="1_pav1q"] +[ext_resource type="Script" path="res://src/game/ui/editorTools/EditorToolsPanel.cs" id="1_43d6l"] [node name="EditorTools" type="Control"] layout_mode = 3 @@ -11,7 +11,7 @@ grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -script = ExtResource("1_pav1q") +script = ExtResource("1_43d6l") [node name="ScrollContainer" type="ScrollContainer" parent="."] layout_mode = 0 @@ -107,6 +107,10 @@ [node name="RoomGroupSelect" type="OptionButton" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6"] layout_mode = 2 +item_count = 1 +selected = 0 +popup/item_0/text = "testGroup" +popup/item_0/id = 0 [node name="Label3" type="Label" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6"] layout_mode = 2 @@ -114,6 +118,22 @@ [node name="RoomTypeSelect" type="OptionButton" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6"] layout_mode = 2 +item_count = 7 +selected = 0 +popup/item_0/text = "battle (战斗房间)" +popup/item_0/id = 0 +popup/item_1/text = "inlet (起始房间)" +popup/item_1/id = 1 +popup/item_2/text = "outlet (结束房间)" +popup/item_2/id = 2 +popup/item_3/text = "boss (boss战房间)" +popup/item_3/id = 3 +popup/item_4/text = "reward (奖励房间)" +popup/item_4/id = 4 +popup/item_5/text = "shop (商店房间)" +popup/item_5/id = 5 +popup/item_6/text = "event (事件房间)" +popup/item_6/id = 6 [node name="Button" type="Button" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6"] layout_mode = 2 @@ -132,6 +152,18 @@ layout_mode = 2 text = "运行" +[node name="HBoxContainer7" type="HBoxContainer" parent="ScrollContainer/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_constants/separation = 5 + +[node name="Label" type="Label" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7"] +layout_mode = 2 +text = "导出Excel表" + +[node name="Button" type="Button" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7"] +layout_mode = 2 +text = "运行" + [node name="Confirm" type="ConfirmationDialog" parent="."] initial_position = 1 size = Vector2i(200, 124) diff --git a/DungeonShooting_Godot/prefab/ui/Loading.tscn b/DungeonShooting_Godot/prefab/ui/Loading.tscn new file mode 100644 index 0000000..ba23836 --- /dev/null +++ b/DungeonShooting_Godot/prefab/ui/Loading.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=2 format=3 uid="uid://da5kqq45ow5am"] + +[ext_resource type="Script" path="res://src/game/ui/loading/LoadingPanel.cs" id="1_x0t5x"] + +[node name="Loading" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_x0t5x") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.109804, 0.0666667, 0.0901961, 1) + +[node name="Label" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "loading..." +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/DungeonShooting_Godot/prefab/ui/Main.tscn b/DungeonShooting_Godot/prefab/ui/Main.tscn new file mode 100644 index 0000000..860fe85 --- /dev/null +++ b/DungeonShooting_Godot/prefab/ui/Main.tscn @@ -0,0 +1,81 @@ +[gd_scene load_steps=3 format=3 uid="uid://cd7hl6b2mn5c8"] + +[ext_resource type="Script" path="res://src/game/ui/main/MainPanel.cs" id="1_s44xr"] +[ext_resource type="Theme" uid="uid://drb1ajgvcih7p" path="res://resource/theme/theme1.tres" id="2_bbd6i"] + +[node name="Main" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_s44xr") + +[node name="Title" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_top = 172.0 +offset_bottom = 405.0 +grow_horizontal = 2 +theme_override_font_sizes/font_size = 160 +text = "Program dungeon" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ButtonList" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -96.0 +offset_top = -641.0 +offset_right = 96.0 +grow_horizontal = 2 +grow_vertical = 0 +alignment = 1 + +[node name="Start" type="Button" parent="ButtonList"] +custom_minimum_size = Vector2(0, 50) +layout_mode = 2 +focus_neighbor_top = NodePath("../Exit") +focus_neighbor_bottom = NodePath("../Setting") +theme = ExtResource("2_bbd6i") +text = "开始游戏 +" + +[node name="Setting" type="Button" parent="ButtonList"] +custom_minimum_size = Vector2(0, 50) +layout_mode = 2 +focus_neighbor_top = NodePath("../Start") +focus_neighbor_bottom = NodePath("../Exit") +theme = ExtResource("2_bbd6i") +theme_override_font_sizes/font_size = 32 +text = "设置" + +[node name="Exit" type="Button" parent="ButtonList"] +custom_minimum_size = Vector2(0, 50) +layout_mode = 2 +focus_neighbor_top = NodePath("../Setting") +focus_neighbor_bottom = NodePath("../Start") +theme = ExtResource("2_bbd6i") +text = "退出" + +[node name="Version" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -195.0 +offset_top = -53.0 +offset_right = -10.0 +offset_bottom = -1.0 +grow_horizontal = 0 +grow_vertical = 0 +text = "v0.01" +horizontal_alignment = 2 diff --git a/DungeonShooting_Godot/prefab/ui/RoomUI.tscn b/DungeonShooting_Godot/prefab/ui/RoomUI.tscn index 22dc29c..8554aa3 100644 --- a/DungeonShooting_Godot/prefab/ui/RoomUI.tscn +++ b/DungeonShooting_Godot/prefab/ui/RoomUI.tscn @@ -1,17 +1,17 @@ [gd_scene load_steps=14 format=3 uid="uid://bvpmtfupny8iu"] -[ext_resource type="Script" path="res://src/game/ui/roomUI/RoomUIPanel.cs" id="1_u48k1"] -[ext_resource type="Texture2D" uid="uid://k621mhhkg65f" path="res://resource/sprite/ui/mapBar.png" id="2"] -[ext_resource type="Texture2D" uid="uid://b67i86mtqrn32" path="res://resource/sprite/ui/icon/icon_bullet.png" id="2_004n3"] -[ext_resource type="Texture2D" uid="uid://dxstii6f4l8m0" path="res://resource/sprite/ui/keyboard/e.png" id="3_ajp3c"] -[ext_resource type="Texture2D" uid="uid://u5ul7fu8wv1a" path="res://resource/sprite/ui/healthBar.png" id="4"] -[ext_resource type="Texture2D" uid="uid://cukrx5yyqw86o" path="res://resource/sprite/ui/reloadBar.png" id="4_npp5n"] -[ext_resource type="Texture2D" uid="uid://xafbhgrxmosy" path="res://resource/sprite/gun/gun4.png" id="5"] -[ext_resource type="Texture2D" uid="uid://cx3i1nkcc4307" path="res://resource/sprite/ui/reloadBarBlock.png" id="5_t7fdk"] -[ext_resource type="Texture2D" uid="uid://bxd75tme0v3pb" path="res://resource/sprite/ui/hpBar.png" id="6"] -[ext_resource type="Texture2D" uid="uid://h25j6uka74tv" path="res://resource/sprite/ui/shieldBar.png" id="7"] -[ext_resource type="Texture2D" uid="uid://djcdjrs07ighv" path="res://resource/sprite/ui/hpSlot.png" id="8"] -[ext_resource type="Texture2D" uid="uid://dnpguajopuyd7" path="res://resource/sprite/ui/shieldSlot.png" id="9"] +[ext_resource type="Script" path="res://src/game/ui/roomUI/RoomUIPanel.cs" id="1_tfcrp"] +[ext_resource type="Texture2D" uid="uid://b67i86mtqrn32" path="res://resource/sprite/ui/icon/icon_bullet.png" id="2_a2ohq"] +[ext_resource type="Texture2D" uid="uid://dxstii6f4l8m0" path="res://resource/sprite/ui/keyboard/e.png" id="3_h7n2a"] +[ext_resource type="Texture2D" uid="uid://cukrx5yyqw86o" path="res://resource/sprite/ui/reloadBar.png" id="4_nt6mj"] +[ext_resource type="Texture2D" uid="uid://cx3i1nkcc4307" path="res://resource/sprite/ui/reloadBarBlock.png" id="5_wob8d"] +[ext_resource type="Texture2D" uid="uid://u5ul7fu8wv1a" path="res://resource/sprite/ui/healthBar.png" id="6_e4f48"] +[ext_resource type="Texture2D" uid="uid://djcdjrs07ighv" path="res://resource/sprite/ui/hpSlot.png" id="7_kk5l8"] +[ext_resource type="Texture2D" uid="uid://bxd75tme0v3pb" path="res://resource/sprite/ui/hpBar.png" id="8_j85pm"] +[ext_resource type="Texture2D" uid="uid://dnpguajopuyd7" path="res://resource/sprite/ui/shieldSlot.png" id="9_spw0e"] +[ext_resource type="Texture2D" uid="uid://h25j6uka74tv" path="res://resource/sprite/ui/shieldBar.png" id="10_8lm6q"] +[ext_resource type="Texture2D" uid="uid://k621mhhkg65f" path="res://resource/sprite/ui/mapBar.png" id="11_yaqsk"] +[ext_resource type="Texture2D" uid="uid://xafbhgrxmosy" path="res://resource/sprite/weapon/gun4.png" id="12_o2big"] [sub_resource type="Gradient" id="1"] colors = PackedColorArray(0.4, 0.498039, 1, 1, 0.4, 0.498039, 1, 0.313726) @@ -23,7 +23,8 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -script = ExtResource("1_u48k1") +mouse_filter = 2 +script = ExtResource("1_tfcrp") [node name="InteractiveTipBar" type="Node2D" parent="."] z_index = 10 @@ -32,12 +33,12 @@ [node name="Icon" type="Sprite2D" parent="InteractiveTipBar"] position = Vector2(0, -25) -texture = ExtResource("2_004n3") +texture = ExtResource("2_a2ohq") [node name="InteractiveIcon" type="Sprite2D" parent="InteractiveTipBar"] visible = false position = Vector2(0, -30) -texture = ExtResource("3_ajp3c") +texture = ExtResource("3_h7n2a") [node name="Line2D" type="Line2D" parent="InteractiveTipBar"] points = PackedVector2Array(0, -17, 0, -15.0938, 0, 0) @@ -51,10 +52,10 @@ [node name="Slot" type="Sprite2D" parent="ReloadBar"] position = Vector2(0, -24) -texture = ExtResource("4_npp5n") +texture = ExtResource("4_nt6mj") [node name="Block" type="Sprite2D" parent="ReloadBar/Slot"] -texture = ExtResource("5_t7fdk") +texture = ExtResource("5_wob8d") [node name="Control" type="Control" parent="."] anchors_preset = 0 @@ -64,13 +65,14 @@ offset_top = 20.0 offset_right = -20.0 offset_bottom = -20.0 +mouse_filter = 2 [node name="HealthBar" type="TextureRect" parent="Control"] layout_mode = 0 offset_right = 14.0 offset_bottom = 14.0 scale = Vector2(4, 4) -texture = ExtResource("4") +texture = ExtResource("6_e4f48") [node name="HpSlot" type="NinePatchRect" parent="Control/HealthBar"] layout_mode = 0 @@ -78,7 +80,7 @@ offset_top = 1.0 offset_right = 66.0 offset_bottom = 9.0 -texture = ExtResource("8") +texture = ExtResource("7_kk5l8") patch_margin_left = 1 patch_margin_top = 1 patch_margin_right = 2 @@ -90,7 +92,7 @@ offset_top = 2.0 offset_right = 51.0 offset_bottom = 6.0 -texture = ExtResource("6") +texture = ExtResource("8_j85pm") expand_mode = 1 [node name="ShieldSlot" type="NinePatchRect" parent="Control/HealthBar"] @@ -99,7 +101,7 @@ offset_top = 8.0 offset_right = 65.0 offset_bottom = 13.0 -texture = ExtResource("9") +texture = ExtResource("9_spw0e") patch_margin_left = 1 patch_margin_top = 1 patch_margin_right = 1 @@ -111,7 +113,7 @@ offset_top = 1.0 offset_right = 51.0 offset_bottom = 4.0 -texture = ExtResource("7") +texture = ExtResource("10_8lm6q") expand_mode = 1 [node name="MapBar" type="TextureRect" parent="Control"] @@ -124,7 +126,7 @@ offset_bottom = 44.0 grow_horizontal = 0 scale = Vector2(4, 4) -texture = ExtResource("2") +texture = ExtResource("11_yaqsk") [node name="GunBar" type="Control" parent="Control"] anchors_preset = 0 @@ -145,7 +147,8 @@ offset_right = -66.0 offset_bottom = -66.0 scale = Vector2(4, 4) -texture = ExtResource("5") +texture = ExtResource("12_o2big") +stretch_mode = 3 [node name="BulletText" type="Label" parent="Control/GunBar"] layout_mode = 0 diff --git a/DungeonShooting_Godot/prefab/ui/Settlement.tscn b/DungeonShooting_Godot/prefab/ui/Settlement.tscn new file mode 100644 index 0000000..a67e040 --- /dev/null +++ b/DungeonShooting_Godot/prefab/ui/Settlement.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=3 format=3 uid="uid://c8rugox2mbl3v"] + +[ext_resource type="Script" path="res://src/game/ui/settlement/SettlementPanel.cs" id="1_ayhkb"] +[ext_resource type="Theme" uid="uid://drb1ajgvcih7p" path="res://resource/theme/theme1.tres" id="2_63mpy"] + +[node name="Settlement" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_ayhkb") + +[node name="Bg" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 0.27451) + +[node name="Title" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_top = 268.0 +offset_bottom = 311.0 +grow_horizontal = 2 +theme_override_font_sizes/font_size = 160 +text = "Game Over!" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ButtonList" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -96.0 +offset_top = -641.0 +offset_right = 96.0 +grow_horizontal = 2 +grow_vertical = 0 +alignment = 1 + +[node name="Restart" type="Button" parent="ButtonList"] +custom_minimum_size = Vector2(0, 50) +layout_mode = 2 +focus_neighbor_top = NodePath("../ToMenu") +theme = ExtResource("2_63mpy") +text = "重新开始 +" + +[node name="ToMenu" type="Button" parent="ButtonList"] +custom_minimum_size = Vector2(0, 50) +layout_mode = 2 +focus_neighbor_bottom = NodePath("../Restart") +theme = ExtResource("2_63mpy") +text = "回到主菜单" diff --git a/DungeonShooting_Godot/prefab/weapon/Knife.tscn b/DungeonShooting_Godot/prefab/weapon/Knife.tscn deleted file mode 100644 index c1b92fa..0000000 --- a/DungeonShooting_Godot/prefab/weapon/Knife.tscn +++ /dev/null @@ -1,48 +0,0 @@ -[gd_scene load_steps=8 format=3] - -[ext_resource type="PackedScene" uid="uid://bcosbsgt7a7o3" path="res://prefab/weapon/Weapon.tscn" id="1_xk7sg"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_vwwhv"] -[ext_resource type="Texture2D" uid="uid://bxhbsq0wb2yo1" path="res://resource/sprite/gun/knife1.png" id="3_s52oh"] -[ext_resource type="PackedScene" path="res://prefab/FanCollisionShape.tscn" id="3_wdje6"] - - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_o5ytq"] -resource_local_to_scene = true -shader = ExtResource("2_vwwhv") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_rtliw"] -resource_local_to_scene = true -shader = ExtResource("2_vwwhv") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="SpriteFrames" id="SpriteFrames_fbixs"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": ExtResource("3_s52oh") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}] - -[node name="Knife" instance=ExtResource("1_xk7sg")] - -[node name="ShadowSprite" parent="." index="0"] -material = SubResource("ShaderMaterial_o5ytq") - -[node name="AnimatedSprite" parent="." index="1"] -material = SubResource("ShaderMaterial_rtliw") -position = Vector2(0, 0) -sprite_frames = SubResource("SpriteFrames_fbixs") - -[node name="HitArea" type="Area2D" parent="." index="4"] -monitoring = false -monitorable = false - -[node name="FanCollisionShape" parent="HitArea" index="0" instance=ExtResource("3_wdje6")] -rotation = -1.5708 -scale = Vector2(3, 3) diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon.tscn deleted file mode 100644 index 139fef6..0000000 --- a/DungeonShooting_Godot/prefab/weapon/Weapon.tscn +++ /dev/null @@ -1,89 +0,0 @@ -[gd_scene load_steps=9 format=3] - -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1"] -[ext_resource type="Script" path="res://src/framework/activity/ActivityObjectTemplate.cs" id="1_dtam7"] - - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_cbiyh"] -resource_local_to_scene = true -shader = ExtResource("1") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_o36tv"] -resource_local_to_scene = true -shader = ExtResource("1") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_3p5jk"] -size = Vector2(15.6, 7) - -[sub_resource type="Animation" id="Animation_x136i"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0] -} - -[sub_resource type="Animation" id="Animation_3piau"] -resource_name = "floodlight" -length = 3.0 -loop_mode = 1 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 2.3, 2.6, 2.7, 3), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1), -"update": 0, -"values": [0, 0, 0.5, 0.5, 0] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_trkjd"] -_data = { -"RESET": SubResource("Animation_x136i"), -"floodlight": SubResource("Animation_3piau") -} - -[node name="Weapon" type="Node"] -script = ExtResource("1_dtam7") -collision_layer = 4 - -[node name="ShadowSprite" type="Sprite2D" parent="."] -z_index = -1 -material = SubResource("ShaderMaterial_cbiyh") - -[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] -material = SubResource("ShaderMaterial_o36tv") -position = Vector2(0.4, -2.6) -scale = Vector2(0.8, 0.8) - -[node name="OriginPoint" type="Marker2D" parent="."] -position = Vector2(-3.6, -1.1) - -[node name="ShellPoint" type="Marker2D" parent="."] -position = Vector2(-2.6, -2.6) - -[node name="FirePoint" type="Marker2D" parent="."] -position = Vector2(7.4, -1.1) - -[node name="Collision" type="CollisionShape2D" parent="."] -position = Vector2(0.6, 0.2) -shape = SubResource("RectangleShape2D_3p5jk") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -"": SubResource("AnimationLibrary_trkjd") -} diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon0001.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon0001.tscn new file mode 100644 index 0000000..ef51173 --- /dev/null +++ b/DungeonShooting_Godot/prefab/weapon/Weapon0001.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=7 format=3 uid="uid://c6etppq4v63xw"] + +[ext_resource type="PackedScene" uid="uid://cxltmhhp4rbyk" path="res://prefab/weapon/WeaponTemplate.tscn" id="1_ykl0r"] +[ext_resource type="Script" path="res://src/game/activity/weapon/gun/Gun.cs" id="2_t56pk"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="3_x1q03"] +[ext_resource type="SpriteFrames" uid="uid://5m0qs7m4er5u" path="res://resource/spriteFrames/Weapon0001.tres" id="4_d5c81"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5bfqf"] +resource_local_to_scene = true +shader = ExtResource("3_x1q03") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_bj7y3"] +resource_local_to_scene = true +shader = ExtResource("3_x1q03") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[node name="Weapon0001" node_paths=PackedStringArray("FirePoint", "ShellPoint", "GripPoint", "AnimationPlayer", "ShadowSprite", "AnimatedSprite", "Collision") instance=ExtResource("1_ykl0r")] +script = ExtResource("2_t56pk") +FirePoint = NodePath("AnimatedSprite/FirePoint") +ShellPoint = NodePath("AnimatedSprite/ShellPoint") +GripPoint = NodePath("GripPoint") +AnimationPlayer = NodePath("AnimationPlayer") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" parent="." index="0"] +material = SubResource("ShaderMaterial_5bfqf") + +[node name="AnimatedSprite" parent="." index="1"] +material = SubResource("ShaderMaterial_bj7y3") +sprite_frames = ExtResource("4_d5c81") + +[node name="ShellPoint" parent="AnimatedSprite" index="0"] +position = Vector2(1.5, -3.5) + +[node name="FirePoint" parent="AnimatedSprite" index="1"] +position = Vector2(15, -2) + +[node name="GripPoint" parent="." index="2"] +position = Vector2(-5, -1) diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon0002.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon0002.tscn new file mode 100644 index 0000000..543177a --- /dev/null +++ b/DungeonShooting_Godot/prefab/weapon/Weapon0002.tscn @@ -0,0 +1,95 @@ +[gd_scene load_steps=10 format=3 uid="uid://doj2eilx1xtxf"] + +[ext_resource type="Script" path="res://src/game/activity/weapon/gun/Shotgun.cs" id="1_8kiv4"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_8nvny"] +[ext_resource type="SpriteFrames" uid="uid://domhmo4flmlt0" path="res://resource/spriteFrames/Weapon0002.tres" id="3_4h3je"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_cbiyh"] +resource_local_to_scene = true +shader = ExtResource("2_8nvny") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o36tv"] +resource_local_to_scene = true +shader = ExtResource("2_8nvny") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3p5jk"] +size = Vector2(19.5, 8.75) + +[sub_resource type="Animation" id="Animation_x136i"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_3piau"] +resource_name = "floodlight" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.3, 2.6, 2.7, 3), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [0, 0, 0.5, 0.5, 0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_trkjd"] +_data = { +"RESET": SubResource("Animation_x136i"), +"floodlight": SubResource("Animation_3piau") +} + +[node name="Weapon0002" type="CharacterBody2D" node_paths=PackedStringArray("FirePoint", "ShellPoint", "GripPoint", "AnimationPlayer", "ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 4 +script = ExtResource("1_8kiv4") +FirePoint = NodePath("AnimatedSprite/FirePoint") +ShellPoint = NodePath("AnimatedSprite/ShellPoint") +GripPoint = NodePath("GripPoint") +AnimationPlayer = NodePath("AnimationPlayer") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_cbiyh") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_o36tv") +sprite_frames = ExtResource("3_4h3je") +animation = &"equip" + +[node name="ShellPoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(-3, -2) + +[node name="FirePoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(12, -2) + +[node name="GripPoint" type="Marker2D" parent="."] +position = Vector2(-10, 1) + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_3p5jk") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_trkjd") +} diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon0003.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon0003.tscn new file mode 100644 index 0000000..a4548d1 --- /dev/null +++ b/DungeonShooting_Godot/prefab/weapon/Weapon0003.tscn @@ -0,0 +1,94 @@ +[gd_scene load_steps=10 format=3 uid="uid://dqy4trli5wcms"] + +[ext_resource type="Script" path="res://src/game/activity/weapon/gun/Gun.cs" id="1_aeolk"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_4yjnk"] +[ext_resource type="SpriteFrames" uid="uid://c7dt1uwdybn5" path="res://resource/spriteFrames/Weapon0003.tres" id="3_upkjt"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_cbiyh"] +resource_local_to_scene = true +shader = ExtResource("2_4yjnk") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o36tv"] +resource_local_to_scene = true +shader = ExtResource("2_4yjnk") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3p5jk"] +size = Vector2(14, 8) + +[sub_resource type="Animation" id="Animation_x136i"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_3piau"] +resource_name = "floodlight" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.3, 2.6, 2.7, 3), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [0, 0, 0.5, 0.5, 0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_trkjd"] +_data = { +"RESET": SubResource("Animation_x136i"), +"floodlight": SubResource("Animation_3piau") +} + +[node name="Weapon0003" type="CharacterBody2D" node_paths=PackedStringArray("FirePoint", "ShellPoint", "GripPoint", "AnimationPlayer", "ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 4 +script = ExtResource("1_aeolk") +FirePoint = NodePath("AnimatedSprite/FirePoint") +ShellPoint = NodePath("AnimatedSprite/ShellPoint") +GripPoint = NodePath("GripPoint") +AnimationPlayer = NodePath("AnimationPlayer") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_cbiyh") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_o36tv") +sprite_frames = ExtResource("3_upkjt") + +[node name="ShellPoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(0, -3) + +[node name="FirePoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(9, -2) + +[node name="GripPoint" type="Marker2D" parent="."] +position = Vector2(-4, 0) + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_3p5jk") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_trkjd") +} diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon0004.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon0004.tscn new file mode 100644 index 0000000..40556be --- /dev/null +++ b/DungeonShooting_Godot/prefab/weapon/Weapon0004.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=8 format=3 uid="uid://c4kckcisk7opo"] + +[ext_resource type="PackedScene" uid="uid://cxltmhhp4rbyk" path="res://prefab/weapon/WeaponTemplate.tscn" id="1_kg172"] +[ext_resource type="Script" path="res://src/game/activity/weapon/knife/Knife.cs" id="2_v1wer"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="3_63s5g"] +[ext_resource type="SpriteFrames" uid="uid://k2tktysa7j86" path="res://resource/spriteFrames/Weapon0004.tres" id="4_uymcs"] +[ext_resource type="PackedScene" path="res://prefab/FanCollisionShape.tscn" id="5_nr15b"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o5ytq"] +resource_local_to_scene = true +shader = ExtResource("3_63s5g") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_rtliw"] +resource_local_to_scene = true +shader = ExtResource("3_63s5g") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[node name="Weapon0004" node_paths=PackedStringArray("FirePoint", "ShellPoint", "GripPoint", "AnimationPlayer", "ShadowSprite", "AnimatedSprite", "Collision") instance=ExtResource("1_kg172")] +script = ExtResource("2_v1wer") +FirePoint = NodePath("AnimatedSprite/FirePoint") +ShellPoint = NodePath("AnimatedSprite/ShellPoint") +GripPoint = NodePath("GripPoint") +AnimationPlayer = NodePath("AnimationPlayer") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" parent="." index="0"] +material = SubResource("ShaderMaterial_o5ytq") + +[node name="AnimatedSprite" parent="." index="1"] +material = SubResource("ShaderMaterial_rtliw") +sprite_frames = ExtResource("4_uymcs") + +[node name="GripPoint" parent="." index="2"] +position = Vector2(-12, -1) + +[node name="HitArea" type="Area2D" parent="." index="4"] +monitoring = false +monitorable = false + +[node name="FanCollisionShape" parent="HitArea" index="0" instance=ExtResource("5_nr15b")] +rotation = -1.5708 +scale = Vector2(3, 3) diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon0005.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon0005.tscn new file mode 100644 index 0000000..7237343 --- /dev/null +++ b/DungeonShooting_Godot/prefab/weapon/Weapon0005.tscn @@ -0,0 +1,94 @@ +[gd_scene load_steps=10 format=3 uid="uid://cisivapjn5rq2"] + +[ext_resource type="Script" path="res://src/game/activity/weapon/gun/Gun.cs" id="1_3lu3r"] +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_466gw"] +[ext_resource type="SpriteFrames" uid="uid://djdvlmqsn8bie" path="res://resource/spriteFrames/Weapon0005.tres" id="2_m3plc"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_cbiyh"] +resource_local_to_scene = true +shader = ExtResource("1_466gw") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o36tv"] +resource_local_to_scene = true +shader = ExtResource("1_466gw") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3p5jk"] +size = Vector2(26, 8) + +[sub_resource type="Animation" id="Animation_x136i"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_3piau"] +resource_name = "floodlight" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.3, 2.6, 2.7, 3), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [0, 0, 0.5, 0.5, 0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_trkjd"] +_data = { +"RESET": SubResource("Animation_x136i"), +"floodlight": SubResource("Animation_3piau") +} + +[node name="Weapon0005" type="CharacterBody2D" node_paths=PackedStringArray("FirePoint", "ShellPoint", "GripPoint", "AnimationPlayer", "ShadowSprite", "AnimatedSprite", "Collision")] +collision_layer = 4 +script = ExtResource("1_3lu3r") +FirePoint = NodePath("AnimatedSprite/FirePoint") +ShellPoint = NodePath("AnimatedSprite/ShellPoint") +GripPoint = NodePath("GripPoint") +AnimationPlayer = NodePath("AnimationPlayer") +ShadowSprite = NodePath("ShadowSprite") +AnimatedSprite = NodePath("AnimatedSprite") +Collision = NodePath("Collision") + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_cbiyh") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_o36tv") +sprite_frames = ExtResource("2_m3plc") + +[node name="ShellPoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(-1, -3.5) + +[node name="FirePoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(20, -3.5) + +[node name="GripPoint" type="Marker2D" parent="."] +position = Vector2(-9, 0) + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_3p5jk") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_trkjd") +} diff --git a/DungeonShooting_Godot/prefab/weapon/WeaponTemplate.tscn b/DungeonShooting_Godot/prefab/weapon/WeaponTemplate.tscn new file mode 100644 index 0000000..6af9687 --- /dev/null +++ b/DungeonShooting_Godot/prefab/weapon/WeaponTemplate.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=8 format=3 uid="uid://cxltmhhp4rbyk"] + +[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_3p8rg"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_cbiyh"] +resource_local_to_scene = true +shader = ExtResource("1_3p8rg") +shader_parameter/blend = Color(0, 0, 0, 0.470588) +shader_parameter/schedule = 1 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o36tv"] +resource_local_to_scene = true +shader = ExtResource("1_3p8rg") +shader_parameter/blend = Color(1, 1, 1, 1) +shader_parameter/schedule = 0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3p5jk"] +size = Vector2(19.5, 8.75) + +[sub_resource type="Animation" id="Animation_x136i"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_3piau"] +resource_name = "floodlight" +length = 3.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite:material:shader_parameter/schedule") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.3, 2.6, 2.7, 3), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [0, 0, 0.5, 0.5, 0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_trkjd"] +_data = { +"RESET": SubResource("Animation_x136i"), +"floodlight": SubResource("Animation_3piau") +} + +[node name="WeaponTemplate" type="CharacterBody2D"] +collision_layer = 4 + +[node name="ShadowSprite" type="Sprite2D" parent="."] +z_index = -1 +material = SubResource("ShaderMaterial_cbiyh") + +[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] +material = SubResource("ShaderMaterial_o36tv") + +[node name="ShellPoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(0, -2) + +[node name="FirePoint" type="Marker2D" parent="AnimatedSprite"] +position = Vector2(10, -2) + +[node name="GripPoint" type="Marker2D" parent="."] + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_3p5jk") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_trkjd") +} diff --git a/DungeonShooting_Godot/prefab/weapon/bullet/Bullet.tscn b/DungeonShooting_Godot/prefab/weapon/bullet/Bullet.tscn deleted file mode 100644 index e0b78f3..0000000 --- a/DungeonShooting_Godot/prefab/weapon/bullet/Bullet.tscn +++ /dev/null @@ -1,64 +0,0 @@ -[gd_scene load_steps=9 format=3] - -[ext_resource type="Script" path="res://src/framework/activity/ActivityObjectTemplate.cs" id="1_nwypj"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2"] -[ext_resource type="Texture2D" uid="uid://bu0b11hiuecxy" path="res://resource/sprite/bullet/bullet.png" id="3"] - - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_5a4f2"] -resource_local_to_scene = true -shader = ExtResource("2") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_o0655"] -resource_local_to_scene = true -shader = ExtResource("2") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="SpriteFrames" id="SpriteFrames_5wvmf"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": ExtResource("3") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}] - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_c0onq"] -size = Vector2(44.72, 12) - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_lcqb8"] -size = Vector2(11, 4) - -[node name="Bullet" type="Node"] -script = ExtResource("1_nwypj") -collision_layer = 2 -collision_mask = 1 - -[node name="ShadowSprite" type="Sprite2D" parent="."] -z_index = -1 -material = SubResource("ShaderMaterial_5a4f2") - -[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."] -modulate = Color(1.8, 1.8, 1.8, 1) -material = SubResource("ShaderMaterial_o0655") -sprite_frames = SubResource("SpriteFrames_5wvmf") - -[node name="CollisionArea" type="Area2D" parent="."] -visible = false -collision_layer = 0 -collision_mask = 0 -monitorable = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CollisionArea"] -position = Vector2(2.93353, 0) -scale = Vector2(0.226586, 0.333333) -shape = SubResource("RectangleShape2D_c0onq") - -[node name="Collision" type="CollisionShape2D" parent="."] -position = Vector2(2.5, 0) -shape = SubResource("RectangleShape2D_lcqb8") diff --git a/DungeonShooting_Godot/prefab/weapon/shell/ShellCase.tscn b/DungeonShooting_Godot/prefab/weapon/shell/ShellCase.tscn deleted file mode 100644 index 48d475e..0000000 --- a/DungeonShooting_Godot/prefab/weapon/shell/ShellCase.tscn +++ /dev/null @@ -1,41 +0,0 @@ -[gd_scene load_steps=7 format=3 uid="uid://bj4yr6ru8nhwr"] - -[ext_resource type="Texture2D" uid="uid://dto03bc2qbhnj" path="res://resource/sprite/shell/shellCase.png" id="1"] -[ext_resource type="Script" path="res://src/framework/activity/ActivityObjectTemplate.cs" id="1_nmhqm"] -[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_px12l"] -resource_local_to_scene = true -shader = ExtResource("2") -shader_parameter/blend = Color(0, 0, 0, 0.470588) -shader_parameter/schedule = 1 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_7e6fo"] -resource_local_to_scene = true -shader = ExtResource("2") -shader_parameter/blend = Color(1, 1, 1, 1) -shader_parameter/schedule = 0 - -[sub_resource type="SpriteFrames" id="SpriteFrames_4huvy"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": ExtResource("1") -}], -"loop": true, -"name": &"default", -"speed": 5.0 -}] - -[node name="ShellCase" type="Node"] -script = ExtResource("1_nmhqm") - -[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 = SubResource("SpriteFrames_4huvy") - -[node name="Collision" type="CollisionShape2D" parent="."] diff --git a/DungeonShooting_Godot/project.godot b/DungeonShooting_Godot/project.godot index d16c3b7..601f8cb 100644 --- a/DungeonShooting_Godot/project.godot +++ b/DungeonShooting_Godot/project.godot @@ -37,7 +37,6 @@ [gui] theme/custom="res://resource/theme/mainTheme.tres" -theme/custom_font="res://resource/font/cn_font_36.tres" [importer_defaults] @@ -110,7 +109,7 @@ } fire={ "deadzone": 0.5, -"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"pressed":false,"double_click":false,"script":null) +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) ] } move_left={ @@ -145,12 +144,12 @@ } mouse_roll_up={ "deadzone": 0.5, -"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"pressed":false,"double_click":false,"script":null) +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null) ] } mouse_roll_down={ "deadzone": 0.5, -"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"pressed":false,"double_click":false,"script":null) +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null) ] } interactive={ @@ -163,6 +162,16 @@ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":114,"echo":false,"script":null) ] } +meleeAttack={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":2,"position":Vector2(34.8, 12.8),"global_position":Vector2(38, 46),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +roll={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} [layer_names] @@ -172,6 +181,8 @@ 2d_physics/layer_4="player" 2d_physics/layer_5="enemy" 2d_physics/layer_6="affiliation" +2d_physics/layer_7="onHead" +2d_physics/layer_8="In hand" [mono] diff --git a/DungeonShooting_Godot/resource/config/ActivityObject.json b/DungeonShooting_Godot/resource/config/ActivityObject.json new file mode 100644 index 0000000..d44e410 --- /dev/null +++ b/DungeonShooting_Godot/resource/config/ActivityObject.json @@ -0,0 +1,92 @@ +[ + { + "Id": "role0001", + "Type": 3, + "Prefab": "res://prefab/role/Role0001.tscn", + "Remark": "\u73A9\u5BB6" + }, + { + "Id": "enemy0001", + "Type": 4, + "Prefab": "res://prefab/role/Enemy0001.tscn", + "Remark": "\u654C\u4EBA" + }, + { + "Id": "weapon0001", + "Type": 5, + "Prefab": "res://prefab/weapon/Weapon0001.tscn", + "Remark": "" + }, + { + "Id": "weapon0002", + "Type": 5, + "Prefab": "res://prefab/weapon/Weapon0002.tscn", + "Remark": "" + }, + { + "Id": "weapon0003", + "Type": 5, + "Prefab": "res://prefab/weapon/Weapon0003.tscn", + "Remark": "" + }, + { + "Id": "weapon0004", + "Type": 5, + "Prefab": "res://prefab/weapon/Weapon0004.tscn", + "Remark": "" + }, + { + "Id": "weapon0005", + "Type": 5, + "Prefab": "res://prefab/weapon/Weapon0005.tscn", + "Remark": "" + }, + { + "Id": "bullet0001", + "Type": 6, + "Prefab": "res://prefab/bullet/Bullet0001.tscn", + "Remark": "" + }, + { + "Id": "bullet0002", + "Type": 6, + "Prefab": "res://prefab/bullet/Bullet0002.tscn", + "Remark": "" + }, + { + "Id": "shell0001", + "Type": 7, + "Prefab": "res://prefab/shell/Shell0001.tscn", + "Remark": "" + }, + { + "Id": "effect0001", + "Type": 8, + "Prefab": "res://prefab/effect/activityObject/Effect0001.tscn", + "Remark": "\u654C\u4EBA\u6B7B\u4EA1\u788E\u7247" + }, + { + "Id": "other_door_e", + "Type": 9, + "Prefab": "res://prefab/map/RoomDoor_E.tscn", + "Remark": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u4E1C\u4FA7)" + }, + { + "Id": "other_door_w", + "Type": 9, + "Prefab": "res://prefab/map/RoomDoor_W.tscn", + "Remark": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u897F\u4FA7)" + }, + { + "Id": "other_door_s", + "Type": 9, + "Prefab": "res://prefab/map/RoomDoor_S.tscn", + "Remark": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u5357\u4FA7)" + }, + { + "Id": "other_door_n", + "Type": 9, + "Prefab": "res://prefab/map/RoomDoor_N.tscn", + "Remark": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u5317\u4FA7)" + } +] \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/config/Sound.json b/DungeonShooting_Godot/resource/config/Sound.json new file mode 100644 index 0000000..0dd2fff --- /dev/null +++ b/DungeonShooting_Godot/resource/config/Sound.json @@ -0,0 +1,80 @@ +[ + { + "Id": "shooting0001", + "Path": "res://resource/sound/sfx/Shooting0001.ogg", + "Volume": 1, + "Remark": "\u624B\u67AA" + }, + { + "Id": "shooting0002", + "Path": "res://resource/sound/sfx/Shooting0002.mp3", + "Volume": 1, + "Remark": "\u6B65\u67AA(\u6D88\u97F3)" + }, + { + "Id": "shooting0003", + "Path": "res://resource/sound/sfx/Shooting0003.mp3", + "Volume": 1, + "Remark": "\u9730\u5F39\u67AA" + }, + { + "Id": "reloading0001", + "Path": "res://resource/sound/sfx/Reloading0001.mp3", + "Volume": 1, + "Remark": "\u624B\u67AA" + }, + { + "Id": "reloading0002", + "Path": "res://resource/sound/sfx/Reloading0002.ogg", + "Volume": 1, + "Remark": "\u9730\u5F39\u67AA\u5355\u72EC\u88C5\u5F39" + }, + { + "Id": "reloadBegin0002", + "Path": "res://resource/sound/sfx/Reloading_begin0002.ogg", + "Volume": 1, + "Remark": "\u9730\u5F39\u67AA" + }, + { + "Id": "reloadFinish0002", + "Path": "res://resource/sound/sfx/Reloading_finish0002.ogg", + "Volume": 1, + "Remark": "\u9730\u5F39\u67AA" + }, + { + "Id": "equip0001", + "Path": "res://resource/sound/sfx/Equip0001.ogg", + "Volume": 1, + "Remark": "" + }, + { + "Id": "equip0002", + "Path": "res://resource/sound/sfx/Equip0002.ogg", + "Volume": 1, + "Remark": "" + }, + { + "Id": "equip0003", + "Path": "res://resource/sound/sfx/Equip0003.ogg", + "Volume": 1, + "Remark": "" + }, + { + "Id": "equip0004", + "Path": "res://resource/sound/sfx/Equip0004.ogg", + "Volume": 1, + "Remark": "\u9730\u5F39\u67AA" + }, + { + "Id": "equip0005", + "Path": "res://resource/sound/sfx/Equip0005.ogg", + "Volume": 1, + "Remark": "\u9730\u5F39\u67AA" + }, + { + "Id": "equip0006", + "Path": "res://resource/sound/sfx/Equip0006.ogg", + "Volume": 1, + "Remark": "\u9730\u5F39\u67AA" + } +] \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/config/Weapon.json b/DungeonShooting_Godot/resource/config/Weapon.json new file mode 100644 index 0000000..9d5b78e --- /dev/null +++ b/DungeonShooting_Godot/resource/config/Weapon.json @@ -0,0 +1,560 @@ +[ + { + "Id": "0001", + "WeaponId": "weapon0001", + "Name": "\u6B65\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 40, + "WeightType": 2, + "ContinuousShoot": true, + "AmmoCapacity": 30, + "MaxAmmoCapacity": 90, + "StandbyAmmoCapacity": 90, + "ReloadTime": 2, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": false, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 0, + "StartFiringSpeed": 480, + "FinalFiringSpeed": 480, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 10, + "FinalScatteringRange": 60, + "ScatteringRangeAddValue": 3, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.5, + "MinDistance": 300, + "MaxDistance": 400, + "MinBacklash": 2, + "MaxBacklash": 4, + "BacklashRegressionSpeed": 35, + "UpliftAngle": 10, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0001", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0002", + "__BeginReloadSound": "", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "", + "ReloadFinishSoundAdvanceTime": 0, + "__EquipSound": "", + "EquipSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "0002", + "AiTargetLockingTime": 0, + "AiBulletSpeedScale": 0, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0002", + "WeaponId": "", + "Name": "\u6B65\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 40, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 30, + "MaxAmmoCapacity": 90, + "StandbyAmmoCapacity": 30, + "ReloadTime": 2, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": false, + "MinChargeTime": 0, + "MinContinuousCount": 3, + "MaxContinuousCount": 3, + "TriggerInterval": 3, + "StartFiringSpeed": 480, + "FinalFiringSpeed": 480, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 30, + "FinalScatteringRange": 60, + "ScatteringRangeAddValue": 3, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.5, + "MinDistance": 300, + "MaxDistance": 400, + "MinBacklash": 2, + "MaxBacklash": 4, + "BacklashRegressionSpeed": 35, + "UpliftAngle": 10, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0001", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0002", + "__BeginReloadSound": "", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "", + "ReloadFinishSoundAdvanceTime": 0, + "__EquipSound": "", + "EquipSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "", + "AiTargetLockingTime": 0.5, + "AiBulletSpeedScale": 0.7, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0003", + "WeaponId": "weapon0002", + "Name": "\u9730\u5F39\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 40, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 7, + "MaxAmmoCapacity": 42, + "StandbyAmmoCapacity": 42, + "ReloadTime": 0.4, + "AloneReload": true, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0.6, + "AloneReloadFinishIntervalTime": 0.6, + "AloneReloadCanShoot": true, + "LooseShoot": false, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 0, + "StartFiringSpeed": 55, + "FinalFiringSpeed": 55, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 5, + "MaxFireBulletCount": 5, + "DelayedTime": 0, + "StartScatteringRange": 12, + "FinalScatteringRange": 30, + "ScatteringRangeAddValue": 20, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.5, + "MinDistance": 200, + "MaxDistance": 250, + "MinBacklash": 5, + "MaxBacklash": 6, + "BacklashRegressionSpeed": 35, + "UpliftAngle": 15, + "DefaultAngle": 0, + "UpliftAngleRestore": 2.5, + "BulletId": "bullet0002", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0003", + "__BeginReloadSound": "reloadBegin0002", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "reloading0002", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "reloadFinish0002", + "ReloadFinishSoundAdvanceTime": 0.3, + "__EquipSound": "equip0005", + "EquipSoundDelayTime": 0.4, + "__OtherSoundMap": null, + "__AiUseAttribute": "0004", + "AiTargetLockingTime": 0, + "AiBulletSpeedScale": 0, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0004", + "WeaponId": "", + "Name": "\u9730\u5F39\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 40, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 7, + "MaxAmmoCapacity": 42, + "StandbyAmmoCapacity": 42, + "ReloadTime": 0.4, + "AloneReload": true, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0.6, + "AloneReloadFinishIntervalTime": 0.6, + "AloneReloadCanShoot": true, + "LooseShoot": false, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 3.5, + "StartFiringSpeed": 55, + "FinalFiringSpeed": 55, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 5, + "MaxFireBulletCount": 5, + "DelayedTime": 0, + "StartScatteringRange": 12, + "FinalScatteringRange": 30, + "ScatteringRangeAddValue": 20, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.5, + "MinDistance": 200, + "MaxDistance": 250, + "MinBacklash": 5, + "MaxBacklash": 6, + "BacklashRegressionSpeed": 35, + "UpliftAngle": 15, + "DefaultAngle": 0, + "UpliftAngleRestore": 2.5, + "BulletId": "bullet0002", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0003", + "__BeginReloadSound": "reloadBegin0002", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "reloading0002", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "reloadFinish0002", + "ReloadFinishSoundAdvanceTime": 0.3, + "__EquipSound": "equip0005", + "EquipSoundDelayTime": 0.4, + "__OtherSoundMap": null, + "__AiUseAttribute": "", + "AiTargetLockingTime": 0.4, + "AiBulletSpeedScale": 0.7, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0005", + "WeaponId": "weapon0003", + "Name": "\u624B\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 20, + "WeightType": 1, + "ContinuousShoot": false, + "AmmoCapacity": 12, + "MaxAmmoCapacity": 72, + "StandbyAmmoCapacity": 72, + "ReloadTime": 1.5, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": false, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 0.1, + "StartFiringSpeed": 300, + "FinalFiringSpeed": 300, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 5, + "FinalScatteringRange": 60, + "ScatteringRangeAddValue": 8, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.5, + "MinDistance": 250, + "MaxDistance": 300, + "MinBacklash": 3, + "MaxBacklash": 5, + "BacklashRegressionSpeed": 35, + "UpliftAngle": 20, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0001", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0001", + "__BeginReloadSound": "reloading0001", + "BeginReloadSoundDelayTime": 0.3, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "", + "ReloadFinishSoundAdvanceTime": 0, + "__EquipSound": "", + "EquipSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "0006", + "AiTargetLockingTime": 0, + "AiBulletSpeedScale": 0, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0006", + "WeaponId": "", + "Name": "\u624B\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 20, + "WeightType": 1, + "ContinuousShoot": false, + "AmmoCapacity": 12, + "MaxAmmoCapacity": 72, + "StandbyAmmoCapacity": 72, + "ReloadTime": 1.5, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": false, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 2, + "StartFiringSpeed": 300, + "FinalFiringSpeed": 300, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 5, + "FinalScatteringRange": 60, + "ScatteringRangeAddValue": 8, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.5, + "MinDistance": 250, + "MaxDistance": 300, + "MinBacklash": 3, + "MaxBacklash": 5, + "BacklashRegressionSpeed": 35, + "UpliftAngle": 20, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0001", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0001", + "__BeginReloadSound": "reloading0001", + "BeginReloadSoundDelayTime": 0.3, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "", + "ReloadFinishSoundAdvanceTime": 0, + "__EquipSound": "", + "EquipSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "", + "AiTargetLockingTime": 1, + "AiBulletSpeedScale": 0.7, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0007", + "WeaponId": "weapon0004", + "Name": "\u5200", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 40, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 180, + "MaxAmmoCapacity": 180, + "StandbyAmmoCapacity": 180, + "ReloadTime": 2, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": true, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 0, + "StartFiringSpeed": 180, + "FinalFiringSpeed": 180, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 0, + "FinalScatteringRange": 0, + "ScatteringRangeAddValue": 0, + "ScatteringRangeBackSpeed": 0, + "ScatteringRangeBackDelayTime": 0, + "MinDistance": 35, + "MaxDistance": 35, + "MinBacklash": -8, + "MaxBacklash": -8, + "BacklashRegressionSpeed": 24, + "UpliftAngle": -95, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0001", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "", + "__BeginReloadSound": "", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "", + "ReloadFinishSoundAdvanceTime": 0, + "__EquipSound": "", + "EquipSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "0008", + "AiTargetLockingTime": 0, + "AiBulletSpeedScale": 0, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0008", + "WeaponId": "", + "Name": "\u5200", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 40, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 180, + "MaxAmmoCapacity": 180, + "StandbyAmmoCapacity": 180, + "ReloadTime": 2, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": true, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 3, + "StartFiringSpeed": 180, + "FinalFiringSpeed": 180, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 0, + "FinalScatteringRange": 0, + "ScatteringRangeAddValue": 0, + "ScatteringRangeBackSpeed": 0, + "ScatteringRangeBackDelayTime": 0, + "MinDistance": 35, + "MaxDistance": 35, + "MinBacklash": -8, + "MaxBacklash": -8, + "BacklashRegressionSpeed": 24, + "UpliftAngle": -95, + "DefaultAngle": 0, + "UpliftAngleRestore": 1, + "BulletId": "bullet0001", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "", + "__BeginReloadSound": "", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "", + "ReloadSoundDelayTime": 0, + "__ReloadFinishSound": "", + "ReloadFinishSoundAdvanceTime": 0, + "__EquipSound": "", + "EquipSoundDelayTime": 0, + "__OtherSoundMap": null, + "__AiUseAttribute": "", + "AiTargetLockingTime": 0.7, + "AiBulletSpeedScale": 0.7, + "AiAmmoConsumptionProbability": 0 + }, + { + "Id": "0009", + "WeaponId": "weapon0005", + "Name": "\u72D9\u51FB\u67AA", + "Icon": "res://resource/sprite/gun/gun4.png", + "Weight": 50, + "WeightType": 2, + "ContinuousShoot": false, + "AmmoCapacity": 10, + "MaxAmmoCapacity": 40, + "StandbyAmmoCapacity": 40, + "ReloadTime": 2.5, + "AloneReload": false, + "AloneReloadCount": 1, + "AloneReloadBeginIntervalTime": 0, + "AloneReloadFinishIntervalTime": 0, + "AloneReloadCanShoot": false, + "LooseShoot": false, + "MinChargeTime": 0, + "MinContinuousCount": 1, + "MaxContinuousCount": 1, + "TriggerInterval": 0, + "StartFiringSpeed": 45, + "FinalFiringSpeed": 45, + "FiringSpeedAddSpeed": 0, + "FiringSpeedBackSpeed": 0, + "MinFireBulletCount": 1, + "MaxFireBulletCount": 1, + "DelayedTime": 0, + "StartScatteringRange": 3, + "FinalScatteringRange": 60, + "ScatteringRangeAddValue": 40, + "ScatteringRangeBackSpeed": 40, + "ScatteringRangeBackDelayTime": 0.8, + "MinDistance": 700, + "MaxDistance": 900, + "MinBacklash": 5, + "MaxBacklash": 7, + "BacklashRegressionSpeed": 20, + "UpliftAngle": 20, + "DefaultAngle": 0, + "UpliftAngleRestore": 3, + "BulletId": "bullet0001", + "ThrowCollisionSize": { + "X": 20, + "Y": 15 + }, + "__ShootSound": "shooting0003", + "__BeginReloadSound": "", + "BeginReloadSoundDelayTime": 0, + "__ReloadSound": "", + "ReloadSoundDelayTime": 1.2, + "__ReloadFinishSound": "", + "ReloadFinishSoundAdvanceTime": 0, + "__EquipSound": "", + "EquipSoundDelayTime": 0.7, + "__OtherSoundMap": null, + "__AiUseAttribute": "", + "AiTargetLockingTime": 0.6, + "AiBulletSpeedScale": 0.7, + "AiAmmoConsumptionProbability": 0 + } +] \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/effects/Circle.png b/DungeonShooting_Godot/resource/effects/Circle.png deleted file mode 100644 index b441812..0000000 --- a/DungeonShooting_Godot/resource/effects/Circle.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/Circle.png.import b/DungeonShooting_Godot/resource/effects/Circle.png.import deleted file mode 100644 index 0db5db8..0000000 --- a/DungeonShooting_Godot/resource/effects/Circle.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cgptnp74ive4r" -path="res://.godot/imported/Circle.png-768473019d8d1278c7455b04b18ad833.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/Circle.png" -dest_files=["res://.godot/imported/Circle.png-768473019d8d1278c7455b04b18ad833.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/effects/Collision.png b/DungeonShooting_Godot/resource/effects/Collision.png deleted file mode 100644 index f15c822..0000000 --- a/DungeonShooting_Godot/resource/effects/Collision.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/Collision.png.import b/DungeonShooting_Godot/resource/effects/Collision.png.import deleted file mode 100644 index 0dec77a..0000000 --- a/DungeonShooting_Godot/resource/effects/Collision.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dwa4chrugc6b1" -path="res://.godot/imported/Collision.png-8020a497389b37f0e87e0893185bc96f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/Collision.png" -dest_files=["res://.godot/imported/Collision.png-8020a497389b37f0e87e0893185bc96f.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/effects/Effect1.png b/DungeonShooting_Godot/resource/effects/Effect1.png deleted file mode 100644 index 51ef9a9..0000000 --- a/DungeonShooting_Godot/resource/effects/Effect1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/Effect1.png.import b/DungeonShooting_Godot/resource/effects/Effect1.png.import deleted file mode 100644 index f6bc5d2..0000000 --- a/DungeonShooting_Godot/resource/effects/Effect1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://csud4e6kc3iku" -path="res://.godot/imported/Effect1.png-277a43c6763fd3e5c0967adefb26bf09.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/Effect1.png" -dest_files=["res://.godot/imported/Effect1.png-277a43c6763fd3e5c0967adefb26bf09.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/effects/Explosion.png b/DungeonShooting_Godot/resource/effects/Explosion.png deleted file mode 100644 index dab1f49..0000000 --- a/DungeonShooting_Godot/resource/effects/Explosion.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/Explosion.png.import b/DungeonShooting_Godot/resource/effects/Explosion.png.import deleted file mode 100644 index 31fef57..0000000 --- a/DungeonShooting_Godot/resource/effects/Explosion.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://d8ot2wrdoe4j" -path="res://.godot/imported/Explosion.png-34699b5100df62b592d53e9982fcc430.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/Explosion.png" -dest_files=["res://.godot/imported/Explosion.png-34699b5100df62b592d53e9982fcc430.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/effects/Hit.tres b/DungeonShooting_Godot/resource/effects/Hit.tres deleted file mode 100644 index 7f0238d..0000000 --- a/DungeonShooting_Godot/resource/effects/Hit.tres +++ /dev/null @@ -1,15 +0,0 @@ -[gd_resource type="SpriteFrames" load_steps=6 format=2] - -[ext_resource path="res://resource/sprite/effect/hit/hit2.png" type="Texture2D" id=1] -[ext_resource path="res://resource/sprite/effect/hit/hit4.png" type="Texture2D" id=2] -[ext_resource path="res://resource/sprite/effect/hit/hit0.png" type="Texture2D" id=3] -[ext_resource path="res://resource/sprite/effect/hit/hit3.png" type="Texture2D" id=4] -[ext_resource path="res://resource/sprite/effect/hit/hit1.png" type="Texture2D" id=5] - -[resource] -animations = [ { -"frames": [ ExtResource( 3 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 4 ), ExtResource( 2 ) ], -"loop": true, -"name": "default", -"speed": 20.0 -} ] diff --git a/DungeonShooting_Godot/resource/effects/KnifeHit1.tres b/DungeonShooting_Godot/resource/effects/KnifeHit1.tres deleted file mode 100644 index a7588d2..0000000 --- a/DungeonShooting_Godot/resource/effects/KnifeHit1.tres +++ /dev/null @@ -1,35 +0,0 @@ -[gd_resource type="SpriteFrames" load_steps=8 format=2] - -[ext_resource path="res://resource/sprite/effect/KnifeHit1.png" type="Texture2D" id=1] - -[sub_resource type="AtlasTexture" id=1] -atlas = ExtResource( 1 ) -region = Rect2( 0, 0, 64, 68 ) - -[sub_resource type="AtlasTexture" id=2] -atlas = ExtResource( 1 ) -region = Rect2( 64, 0, 64, 68 ) - -[sub_resource type="AtlasTexture" id=3] -atlas = ExtResource( 1 ) -region = Rect2( 128, 0, 64, 68 ) - -[sub_resource type="AtlasTexture" id=4] -atlas = ExtResource( 1 ) -region = Rect2( 192, 0, 64, 68 ) - -[sub_resource type="AtlasTexture" id=5] -atlas = ExtResource( 1 ) -region = Rect2( 256, 0, 64, 68 ) - -[sub_resource type="AtlasTexture" id=6] -atlas = ExtResource( 1 ) -region = Rect2( 320, 0, 64, 68 ) - -[resource] -animations = [ { -"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ], -"loop": true, -"name": "default", -"speed": 30.0 -} ] diff --git a/DungeonShooting_Godot/resource/effects/ShotFire.png b/DungeonShooting_Godot/resource/effects/ShotFire.png deleted file mode 100644 index 5c6d63a..0000000 --- a/DungeonShooting_Godot/resource/effects/ShotFire.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/ShotFire.png.import b/DungeonShooting_Godot/resource/effects/ShotFire.png.import deleted file mode 100644 index 96e4f04..0000000 --- a/DungeonShooting_Godot/resource/effects/ShotFire.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b0jsyrbk4bydt" -path="res://.godot/imported/ShotFire.png-452ffba8f1f5c13a9f6807c93e5409e0.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/ShotFire.png" -dest_files=["res://.godot/imported/ShotFire.png-452ffba8f1f5c13a9f6807c93e5409e0.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/effects/Smoke.png b/DungeonShooting_Godot/resource/effects/Smoke.png deleted file mode 100644 index f358c57..0000000 --- a/DungeonShooting_Godot/resource/effects/Smoke.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/Smoke.png.import b/DungeonShooting_Godot/resource/effects/Smoke.png.import deleted file mode 100644 index c62f456..0000000 --- a/DungeonShooting_Godot/resource/effects/Smoke.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://h7hkgbwj1li" -path="res://.godot/imported/Smoke.png-7f6cb73c1414481cc8ba911eefd55a69.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/Smoke.png" -dest_files=["res://.godot/imported/Smoke.png-7f6cb73c1414481cc8ba911eefd55a69.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/effects/activityObject/Enemy0001_Debris.png b/DungeonShooting_Godot/resource/effects/activityObject/Enemy0001_Debris.png deleted file mode 100644 index 1c4d212..0000000 --- a/DungeonShooting_Godot/resource/effects/activityObject/Enemy0001_Debris.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/activityObject/Enemy0001_Debris.png.import b/DungeonShooting_Godot/resource/effects/activityObject/Enemy0001_Debris.png.import deleted file mode 100644 index a522847..0000000 --- a/DungeonShooting_Godot/resource/effects/activityObject/Enemy0001_Debris.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://d2f55lu60x64i" -path="res://.godot/imported/Enemy0001_Debris.png-acec55b336255e10e72d7cc4a1ba1163.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/activityObject/Enemy0001_Debris.png" -dest_files=["res://.godot/imported/Enemy0001_Debris.png-acec55b336255e10e72d7cc4a1ba1163.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/effects/debug_arrows.png b/DungeonShooting_Godot/resource/effects/debug_arrows.png deleted file mode 100644 index a92ff48..0000000 --- a/DungeonShooting_Godot/resource/effects/debug_arrows.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/effects/debug_arrows.png.import b/DungeonShooting_Godot/resource/effects/debug_arrows.png.import deleted file mode 100644 index 3399c2b..0000000 --- a/DungeonShooting_Godot/resource/effects/debug_arrows.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bv0i11jk5te5u" -path="res://.godot/imported/debug_arrows.png-de39def0e104ff1cb28ee09cfa7420c8.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/effects/debug_arrows.png" -dest_files=["res://.godot/imported/debug_arrows.png-de39def0e104ff1cb28ee09cfa7420c8.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/font/DinkieBitmap-7pxDemo.ttf b/DungeonShooting_Godot/resource/font/DinkieBitmap-7pxDemo.ttf new file mode 100644 index 0000000..55cbdf8 --- /dev/null +++ b/DungeonShooting_Godot/resource/font/DinkieBitmap-7pxDemo.ttf Binary files differ diff --git a/DungeonShooting_Godot/resource/font/DinkieBitmap-7pxDemo.ttf.import b/DungeonShooting_Godot/resource/font/DinkieBitmap-7pxDemo.ttf.import new file mode 100644 index 0000000..2d42770 --- /dev/null +++ b/DungeonShooting_Godot/resource/font/DinkieBitmap-7pxDemo.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://c6ro3d4a83wcm" +path="res://.godot/imported/DinkieBitmap-7pxDemo.ttf-6bafb17be9ea4a6ad6662aafec72411d.fontdata" + +[deps] + +source_file="res://resource/font/DinkieBitmap-7pxDemo.ttf" +dest_files=["res://.godot/imported/DinkieBitmap-7pxDemo.ttf-6bafb17be9ea4a6ad6662aafec72411d.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxDemo.ttf b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxDemo.ttf new file mode 100644 index 0000000..aedb541 --- /dev/null +++ b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxDemo.ttf Binary files differ diff --git a/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxDemo.ttf.import b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxDemo.ttf.import new file mode 100644 index 0000000..71a2d7e --- /dev/null +++ b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxDemo.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://xxfml3spcbee" +path="res://.godot/imported/DinkieBitmap-9pxDemo.ttf-15ad6b126041d3ee0dea32e690612521.fontdata" + +[deps] + +source_file="res://resource/font/DinkieBitmap-9pxDemo.ttf" +dest_files=["res://.godot/imported/DinkieBitmap-9pxDemo.ttf-15ad6b126041d3ee0dea32e690612521.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxItalicDemo.ttf b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxItalicDemo.ttf new file mode 100644 index 0000000..e7675bb --- /dev/null +++ b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxItalicDemo.ttf Binary files differ diff --git a/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxItalicDemo.ttf.import b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxItalicDemo.ttf.import new file mode 100644 index 0000000..36f4326 --- /dev/null +++ b/DungeonShooting_Godot/resource/font/DinkieBitmap-9pxItalicDemo.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://lqhvyvsai0w8" +path="res://.godot/imported/DinkieBitmap-9pxItalicDemo.ttf-24f0ecfb4d0dfb2b13392a341f4c8e14.fontdata" + +[deps] + +source_file="res://resource/font/DinkieBitmap-9pxItalicDemo.ttf" +dest_files=["res://.godot/imported/DinkieBitmap-9pxItalicDemo.ttf-24f0ecfb4d0dfb2b13392a341f4c8e14.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/DungeonShooting_Godot/resource/font/VonwaonBitmap-12px.ttf b/DungeonShooting_Godot/resource/font/VonwaonBitmap-12px.ttf new file mode 100644 index 0000000..d337c4d --- /dev/null +++ b/DungeonShooting_Godot/resource/font/VonwaonBitmap-12px.ttf Binary files differ diff --git a/DungeonShooting_Godot/resource/font/VonwaonBitmap-12px.ttf.import b/DungeonShooting_Godot/resource/font/VonwaonBitmap-12px.ttf.import new file mode 100644 index 0000000..5bf5d21 --- /dev/null +++ b/DungeonShooting_Godot/resource/font/VonwaonBitmap-12px.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://c7pjgpbp28igq" +path="res://.godot/imported/VonwaonBitmap-12px.ttf-f0c6f7ea0d11709c60f005cec9d12691.fontdata" + +[deps] + +source_file="res://resource/font/VonwaonBitmap-12px.ttf" +dest_files=["res://.godot/imported/VonwaonBitmap-12px.ttf-f0c6f7ea0d11709c60f005cec9d12691.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/DungeonShooting_Godot/resource/font/VonwaonBitmap-16px.ttf b/DungeonShooting_Godot/resource/font/VonwaonBitmap-16px.ttf new file mode 100644 index 0000000..a956053 --- /dev/null +++ b/DungeonShooting_Godot/resource/font/VonwaonBitmap-16px.ttf Binary files differ diff --git a/DungeonShooting_Godot/resource/font/VonwaonBitmap-16px.ttf.import b/DungeonShooting_Godot/resource/font/VonwaonBitmap-16px.ttf.import new file mode 100644 index 0000000..4c35ce8 --- /dev/null +++ b/DungeonShooting_Godot/resource/font/VonwaonBitmap-16px.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://cad0in7dtweo5" +path="res://.godot/imported/VonwaonBitmap-16px.ttf-45ba1c29e0693eadade28feaced5d034.fontdata" + +[deps] + +source_file="res://resource/font/VonwaonBitmap-16px.ttf" +dest_files=["res://.godot/imported/VonwaonBitmap-16px.ttf-45ba1c29e0693eadade28feaced5d034.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/DungeonShooting_Godot/resource/font/cn_font_12.tres b/DungeonShooting_Godot/resource/font/cn_font_12.tres deleted file mode 100644 index df37088..0000000 --- a/DungeonShooting_Godot/resource/font/cn_font_12.tres +++ /dev/null @@ -1,9 +0,0 @@ -[gd_resource type="FontFile" load_steps=2 format=2] - -[ext_resource path="res://Silver.ttf" type="FontFile" id=1] - -[resource] -size = 12 -extra_spacing_top = -2 -extra_spacing_bottom = -2 -font_data = ExtResource( 1 ) diff --git a/DungeonShooting_Godot/resource/font/cn_font_18.tres b/DungeonShooting_Godot/resource/font/cn_font_18.tres deleted file mode 100644 index 8b55445..0000000 --- a/DungeonShooting_Godot/resource/font/cn_font_18.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="FontFile" load_steps=2 format=2] - -[ext_resource path="res://Silver.ttf" type="FontFile" id=1] - -[resource] -size = 18 -font_data = ExtResource( 1 ) diff --git a/DungeonShooting_Godot/resource/font/cn_font_36.tres b/DungeonShooting_Godot/resource/font/cn_font_36.tres deleted file mode 100644 index c7f99f1..0000000 --- a/DungeonShooting_Godot/resource/font/cn_font_36.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="FontFile" load_steps=2 format=2] - -[ext_resource path="res://Silver.ttf" type="FontFile" id=1] - -[resource] -size = 36 -font_data = ExtResource( 1 ) diff --git a/DungeonShooting_Godot/resource/map/RoomConfig.json b/DungeonShooting_Godot/resource/map/RoomConfig.json index 79c87cc..db72572 100644 --- a/DungeonShooting_Godot/resource/map/RoomConfig.json +++ b/DungeonShooting_Godot/resource/map/RoomConfig.json @@ -23,7 +23,12 @@ "ConfigPath": "res://resource/map/tiledata/testGroup/outlet/Room1.json" } ], - "BossList": [], + "BossList": [ + { + "ScenePath": "res://resource/map/tileMaps/testGroup/boss/Room1.tscn", + "ConfigPath": "res://resource/map/tiledata/testGroup/boss/Room1.json" + } + ], "RewardList": [], "ShopList": [], "EventList": [] diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn index 5e87d4a..0c61620 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room1.tscn @@ -48,7 +48,7 @@ BirthRect = Vector2i(50, 50) [node name="EnemyMark3" type="Node2D" parent="."] -position = Vector2(117, 74) +position = Vector2(126, 77) script = ExtResource("3_68nmn") Type = 4 ItemExpression = "0001" @@ -108,7 +108,7 @@ Altitude = 0 [node name="EnemyMark7" type="Node2D" parent="."] -position = Vector2(3, 75) +position = Vector2(11, 80) script = ExtResource("3_68nmn") Type = 4 ItemExpression = "0001" diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/boss/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/boss/Room1.tscn new file mode 100644 index 0000000..3ce4628 --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/boss/Room1.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=4 format=3 uid="uid://bm1820vfwqf52"] + +[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_k0vyv"] +[ext_resource type="Script" path="res://src/framework/map/mark/EnemyMark.cs" id="3_enrje"] +[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="dungeonRoomTemplate"] + +[node name="Room1" type="TileMap"] +tile_set = ExtResource("1_k0vyv") +format = 2 +layer_0/tile_data = PackedInt32Array(1114144, 0, 8, 1048608, 0, 8, 983072, 0, 8, 917536, 0, 8, 852000, 0, 8, 786464, 0, 8, 720928, 0, 8, 655392, 0, 8, 589856, 0, 8, 524320, 0, 8, 458784, 0, 8, 393248, 0, 8, 327712, 0, 8, 262176, 0, 8, 196640, 0, 8, 131104, 0, 8, 65568, 0, 8, 32, 0, 8, -65504, 0, 8, -131040, 0, 8, -196576, 0, 8, -262112, 0, 8, -327648, 0, 8, 1114143, 0, 8, 1048607, 0, 8, 983071, 0, 8, 917535, 0, 8, 851999, 0, 8, 786463, 0, 8, 720927, 0, 8, 655391, 0, 8, 589855, 0, 8, 524319, 0, 8, 458783, 0, 8, 393247, 0, 8, 327711, 0, 8, 262175, 0, 8, 196639, 0, 8, 131103, 0, 8, 65567, 0, 8, 31, 0, 8, -65505, 0, 8, -131041, 0, 8, -196577, 0, 8, -262113, 0, 8, -327649, 0, 8, 1114142, 0, 8, 1048606, 0, 8, 983070, 0, 8, 917534, 0, 8, 851998, 0, 8, 786462, 0, 8, 720926, 0, 8, 655390, 0, 8, 589854, 0, 8, 524318, 0, 8, 458782, 0, 8, 393246, 0, 8, 327710, 0, 8, 262174, 0, 8, 196638, 0, 8, 131102, 0, 8, 65566, 0, 8, 30, 0, 8, -65506, 0, 8, -131042, 0, 8, -196578, 0, 8, -262114, 0, 8, -327650, 0, 8, 1114141, 0, 8, 1048605, 0, 8, 983069, 0, 8, 917533, 0, 8, 851997, 0, 8, 786461, 0, 8, 720925, 0, 8, 655389, 0, 8, 589853, 0, 8, 524317, 0, 8, 458781, 0, 8, 393245, 0, 8, 327709, 0, 8, 262173, 0, 8, 196637, 0, 8, 131101, 0, 8, 65565, 0, 8, 29, 0, 8, -65507, 0, 8, -131043, 0, 8, -196579, 0, 8, -262115, 0, 8, -327651, 0, 8, 1114140, 0, 8, 1048604, 0, 8, 983068, 0, 8, 917532, 0, 8, 851996, 0, 8, 786460, 0, 8, 720924, 0, 8, 655388, 0, 8, 589852, 0, 8, 524316, 0, 8, 458780, 0, 8, 393244, 0, 8, 327708, 0, 8, 262172, 0, 8, 196636, 0, 8, 131100, 0, 8, 65564, 0, 8, 28, 0, 8, -65508, 0, 8, -131044, 0, 8, -196580, 0, 8, -262116, 0, 8, -327652, 0, 8, 1114139, 0, 8, 1048603, 0, 8, 983067, 0, 8, 917531, 0, 8, 851995, 0, 8, 786459, 0, 8, 720923, 0, 8, 655387, 0, 8, 589851, 0, 8, 524315, 0, 8, 458779, 0, 8, 393243, 0, 8, 327707, 0, 8, 262171, 0, 8, 196635, 0, 8, 131099, 0, 8, 65563, 0, 8, 27, 0, 8, -65509, 0, 8, -131045, 0, 8, -196581, 0, 8, -262117, 0, 8, -327653, 0, 8, 1114138, 0, 8, 1048602, 0, 8, 983066, 0, 8, 917530, 0, 8, 851994, 0, 8, 786458, 0, 8, 720922, 0, 8, 655386, 0, 8, 589850, 0, 8, 524314, 0, 8, 458778, 0, 8, 393242, 0, 8, 327706, 0, 8, 262170, 0, 8, 196634, 0, 8, 131098, 0, 8, 65562, 0, 8, 26, 0, 8, -65510, 0, 8, -131046, 0, 8, -196582, 0, 8, -262118, 0, 8, -327654, 0, 8, 1114137, 0, 8, 1048601, 0, 8, 983065, 0, 8, 917529, 0, 8, 851993, 0, 8, 786457, 0, 8, 720921, 0, 8, 655385, 0, 8, 589849, 0, 8, 524313, 0, 8, 458777, 0, 8, 393241, 0, 8, 327705, 0, 8, 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, -327655, 0, 8, 1114136, 0, 8, 1048600, 0, 8, 983064, 0, 8, 917528, 0, 8, 851992, 0, 8, 786456, 0, 8, 720920, 0, 8, 655384, 0, 8, 589848, 0, 8, 524312, 0, 8, 458776, 0, 8, 393240, 0, 8, 327704, 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, -327656, 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, 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, -327657, 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, 262166, 0, 8, 196630, 0, 8, 131094, 0, 8, 65558, 0, 8, 22, 0, 8, -65514, 0, 8, -131050, 0, 8, -196586, 0, 8, -262122, 0, 8, -327658, 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, -65515, 0, 8, -131051, 0, 8, -196587, 0, 8, -262123, 0, 8, -327659, 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, 196628, 0, 8, 131092, 0, 8, 65556, 0, 8, 20, 0, 8, -65516, 0, 8, -131052, 0, 8, -196588, 0, 8, -262124, 0, 8, -327660, 0, 8, 1114131, 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, 196627, 0, 8, 131091, 0, 8, 65555, 0, 8, 19, 0, 8, -65517, 0, 8, -131053, 0, 8, -196589, 0, 8, -262125, 0, 8, -327661, 0, 8, 1114130, 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, 196626, 0, 8, 131090, 0, 8, 65554, 0, 8, 18, 0, 8, -65518, 0, 8, -131054, 0, 8, -196590, 0, 8, -262126, 0, 8, -327662, 0, 8, 1114129, 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, 196625, 0, 8, 131089, 0, 8, 65553, 0, 8, 17, 0, 8, -65519, 0, 8, -131055, 0, 8, -196591, 0, 8, -262127, 0, 8, -327663, 0, 8, 1114128, 0, 8, 1048592, 0, 8, 983056, 0, 8, 917520, 0, 8, 851984, 0, 8, 786448, 0, 8, -65520, 0, 8, -131056, 0, 8, -196592, 0, 8, -262128, 0, 8, -327664, 0, 8, 1114127, 0, 8, 1048591, 0, 8, 983055, 0, 8, 917519, 0, 8, 851983, 0, 8, 786447, 0, 8, -65521, 0, 8, -131057, 0, 8, -196593, 0, 8, -262129, 0, 8, -327665, 0, 8, 1114126, 0, 8, 1048590, 0, 8, 983054, 0, 8, 917518, 0, 8, 851982, 0, 8, 786446, 0, 8, -65522, 0, 8, -131058, 0, 8, -196594, 0, 8, -262130, 0, 8, -327666, 0, 8, 1114125, 0, 8, 1048589, 0, 8, 983053, 0, 8, 917517, 0, 8, 851981, 0, 8, 786445, 0, 8, -65523, 0, 8, -131059, 0, 8, -196595, 0, 8, -262131, 0, 8, -327667, 0, 8, 1114124, 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, 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, 1114123, 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, 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, 1114122, 0, 8, 1048586, 0, 8, 983050, 0, 8, 917514, 0, 8, 851978, 0, 8, 786442, 0, 8, 720906, 0, 8, 655370, 0, 8, 589834, 0, 8, 524298, 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, 1114121, 0, 8, 1048585, 0, 8, 983049, 0, 8, 917513, 0, 8, 851977, 0, 8, 786441, 0, 8, 720905, 0, 8, 655369, 0, 8, 589833, 0, 8, 524297, 0, 8, 196617, 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, 1114120, 0, 8, 1048584, 0, 8, 983048, 0, 8, 917512, 0, 8, 851976, 0, 8, 786440, 0, 8, 720904, 0, 8, 655368, 0, 8, 589832, 0, 8, 524296, 0, 8, 458760, 0, 8, 393224, 0, 8, 327688, 0, 8, 262152, 0, 8, 196616, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, -65528, 0, 8, -131064, 0, 8, -196600, 0, 8, -262136, 0, 8, -327672, 0, 8, 1114119, 0, 8, 1048583, 0, 8, 983047, 0, 8, 917511, 0, 8, 851975, 0, 8, 786439, 0, 8, 720903, 0, 8, 655367, 0, 8, 589831, 0, 8, 524295, 0, 8, 458759, 0, 8, 393223, 0, 8, 327687, 0, 8, 262151, 0, 8, 196615, 0, 8, 131079, 0, 8, 65543, 0, 8, 7, 0, 8, -65529, 0, 8, -131065, 0, 8, -196601, 0, 8, -262137, 0, 8, -327673, 0, 8, 1114118, 0, 8, 1048582, 0, 8, 983046, 0, 8, 917510, 0, 8, 851974, 0, 8, 786438, 0, 8, 720902, 0, 8, 655366, 0, 8, 589830, 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, 0, 8, -131066, 0, 8, -196602, 0, 8, -262138, 0, 8, -327674, 0, 8, 1114117, 0, 8, 1048581, 0, 8, 983045, 0, 8, 917509, 0, 8, 851973, 0, 8, 786437, 0, 8, 720901, 0, 8, 655365, 0, 8, 589829, 0, 8, 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, 0, 8, -131067, 0, 8, -196603, 0, 8, -262139, 0, 8, -327675, 0, 8, 1114116, 0, 8, 1048580, 0, 8, 983044, 0, 8, 917508, 0, 8, 851972, 0, 8, 786436, 0, 8, 720900, 0, 8, 655364, 0, 8, 589828, 0, 8, 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, 0, 8, -131068, 0, 8, -196604, 0, 8, -262140, 0, 8, -327676, 0, 8, 1114115, 0, 8, 1048579, 0, 8, 983043, 0, 8, 917507, 0, 8, 851971, 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, -65533, 0, 8, -131069, 0, 8, -196605, 0, 8, -262141, 0, 8, -327677, 0, 8, 1114114, 0, 8, 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, 393218, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, -65534, 0, 8, -131070, 0, 8, -196606, 0, 8, -262142, 0, 8, -327678, 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, -65535, 0, 8, -131071, 0, 8, -196607, 0, 8, -262143, 0, 8, -327679, 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, -65536, 0, 8, -131072, 0, 8, -196608, 0, 8, -262144, 0, 8, -327680, 0, 8, 1179647, 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, 524287, 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, -65537, 0, 8, -131073, 0, 8, -196609, 0, 8, -262145, 0, 8, 1179646, 0, 8, 1114110, 0, 8, 1048574, 0, 8, 983038, 0, 8, 917502, 0, 8, 851966, 0, 8, 786430, 0, 8, 720894, 0, 8, 655358, 0, 8, 589822, 0, 8, 524286, 0, 8, 458750, 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, -262146, 0, 8, 1179645, 0, 8, 1114109, 0, 8, 1048573, 0, 8, 983037, 0, 8, 917501, 0, 8, 851965, 0, 8, 786429, 0, 8, 720893, 0, 8, 655357, 0, 8, 589821, 0, 8, 524285, 0, 8, 458749, 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, -262147, 0, 8, 1179644, 0, 8, 1114108, 0, 8, 1048572, 0, 8, 983036, 0, 8, 917500, 0, 8, 851964, 0, 8, 786428, 0, 8, 720892, 0, 8, 655356, 0, 8, 589820, 0, 8, 524284, 0, 8, 458748, 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, -262148, 0, 8, -196613, 196608, 3, -262149, 196608, 3, -327685, 196608, 4, -327684, 131072, 7, -327683, 131072, 7, -131077, 196608, 3, -65541, 196608, 3, -5, 196608, 3, 65531, 196608, 3, 131067, 196608, 3, 196603, 196608, 3, 262139, 196608, 3, 327675, 196608, 3, 393211, 196608, 3, 458747, 196608, 3, 524283, 196608, 3, 589819, 196608, 3, 655355, 196608, 3, 720891, 196608, 3, 786427, 196608, 3, 851963, 196608, 3, 917499, 196608, 3, 983035, 196608, 3, 1048571, 196608, 3, 1114107, 196608, 3, 1179643, 196608, 3, 1245181, 131072, 2, 1245180, 131072, 2, 1245179, 720896, 2, -327682, 131072, 7, 1245182, 131072, 2, -327681, 131072, 7, 1245183, 131072, 2, -393216, 131072, 7, 1179648, 131072, 2, -393215, 131072, 7, 1179649, 131072, 2, -393214, 131072, 7, 1179650, 131072, 2, -393213, 131072, 7, 1179651, 131072, 2, -393212, 131072, 7, 1179652, 131072, 2, -393211, 131072, 7, 1179653, 131072, 2, -393210, 131072, 7, 1179654, 131072, 2, -393209, 131072, 7, 1179655, 131072, 2, -393208, 131072, 7, 1179656, 131072, 2, -393207, 131072, 7, 1179657, 131072, 2, -393206, 131072, 7, 1179658, 131072, 2, -393205, 131072, 7, 1179659, 131072, 2, -393204, 131072, 7, 1179660, 131072, 2, -393203, 131072, 7, 1179661, 131072, 2, -393202, 131072, 7, 1179662, 131072, 2, -393201, 131072, 7, 1179663, 131072, 2, -393200, 131072, 7, 1179664, 131072, 2, -393199, 131072, 7, 1179665, 131072, 2, -393198, 131072, 7, 1179666, 131072, 2, -393197, 131072, 7, 1179667, 131072, 2, -393196, 131072, 7, 1179668, 131072, 2, -393195, 131072, 7, 1179669, 131072, 2, -393194, 131072, 7, 1179670, 131072, 2, -393193, 131072, 7, 1179671, 131072, 2, -393192, 131072, 7, 1179672, 131072, 2, -393191, 131072, 7, 1179673, 131072, 2, -393190, 131072, 7, 1179674, 131072, 2, -393189, 131072, 7, 1179675, 131072, 2, -393188, 131072, 7, 1179676, 131072, 2, -393187, 131072, 7, 1179677, 131072, 2, -393186, 131072, 7, 1179678, 131072, 2, -393185, 131072, 7, 1179679, 131072, 2, -393184, 131072, 7, 1179680, 131072, 2, -327647, 65536, 3, -262111, 65536, 3, -393183, 65536, 4, -196575, 65536, 3, -131039, 65536, 3, -65503, 65536, 3, 33, 65536, 3, 65569, 65536, 3, 131105, 65536, 3, 196641, 65536, 3, 262177, 65536, 3, 327713, 65536, 3, 393249, 65536, 3, 458785, 65536, 3, 524321, 65536, 3, 589857, 65536, 3, 655393, 65536, 3, 720929, 65536, 3, 786465, 65536, 3, 852001, 65536, 3, 917537, 65536, 3, 983073, 65536, 3, 1048609, 65536, 3, 1114145, 65536, 3, 1179681, 851968, 2, 196621, 65536, 3, 524301, 65536, 3, 262155, 131072, 2, 458763, 131072, 7, 262162, 131072, 2, 65552, 196608, 3, 16, 196608, 2, 131088, 196608, 3, 196624, 196608, 3, 262161, 131072, 2, 262160, 720896, 2, 262163, 131072, 2, 262164, 196608, 2, 13, 65536, 2, 14, 131072, 2, 15, 131072, 2, 262153, 65536, 2, 262154, 131072, 2, 262156, 131072, 2, 65549, 65536, 3, 131085, 65536, 3, 262157, 851968, 2, 327689, 65536, 3, 393225, 65536, 3, 458761, 65536, 7, 458762, 131072, 7, 458764, 131072, 7, 589837, 65536, 3, 458765, 65536, 4, 655373, 65536, 3, 720909, 65536, 7, 720910, 131072, 7, 720911, 131072, 7, 720912, 196608, 7, 589840, 196608, 3, 524304, 196608, 3, 458768, 196608, 4, 458769, 131072, 7, 458770, 131072, 7, 655376, 196608, 3, 458771, 131072, 7, 458772, 196608, 7, 327700, 196608, 3, 393236, 196608, 3) +script = ExtResource("dungeonRoomTemplate") + +[node name="EnemyMark" type="Node2D" parent="."] +position = Vector2(152, 15) +script = ExtResource("3_enrje") +Weapon1Id = "0001(ResidueAmmo:30,CurrAmmon:10)" +Weapon2Id = "null; +0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001; +null" +Layer = 1 +Altitude = 0 + +[node name="EnemyMark2" type="Node2D" parent="."] +position = Vector2(148, 175) +script = ExtResource("3_enrje") +Weapon1Id = "0001(ResidueAmmo:30,CurrAmmon:10)" +Weapon2Id = "null; +0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001; +null" +Layer = 1 +Altitude = 0 + +[node name="EnemyMark3" type="Node2D" parent="."] +position = Vector2(317, 171) +script = ExtResource("3_enrje") +Weapon1Id = "0001(ResidueAmmo:30,CurrAmmon:10)" +Weapon2Id = "null; +0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001; +null" +Layer = 1 +Altitude = 0 + +[node name="EnemyMark4" type="Node2D" parent="."] +position = Vector2(321, 22) +script = ExtResource("3_enrje") +Weapon1Id = "0001(ResidueAmmo:30,CurrAmmon:10)" +Weapon2Id = "null; +0003(ResidueAmmo:12,CurrAmmon:12)" +Type = 4 +ItemExpression = "0001; +null" +Layer = 1 +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 5c2022c..7d14d13 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn @@ -1,44 +1,45 @@ [gd_scene load_steps=4 format=3 uid="uid://dmeb88jotqro6"] -[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_gh7sf"] -[ext_resource type="Script" path="res://src/framework/map/mark/ActivityMark.cs" id="3_pf56w"] -[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="dungeonRoomTemplate"] +[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_osa3n"] +[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="2_erhdx"] +[ext_resource type="Script" path="res://src/framework/map/mark/ActivityMark.cs" id="3_m4jrh"] [node name="Room1" type="TileMap"] -tile_set = ExtResource("1_gh7sf") +tile_set = ExtResource("1_osa3n") format = 2 layer_0/tile_data = PackedInt32Array(327689, 0, 8, 262153, 0, 8, 196617, 0, 8, 131081, 0, 8, 65545, 0, 8, 9, 0, 8, 327688, 0, 8, 262152, 0, 8, 196616, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, 327687, 0, 8, 262151, 0, 8, 196615, 0, 8, 131079, 0, 8, 65543, 0, 8, 7, 0, 8, 327686, 0, 8, 262150, 0, 8, 196614, 0, 8, 131078, 0, 8, 65542, 0, 8, 6, 0, 8, 327685, 0, 8, 262149, 0, 8, 196613, 0, 8, 131077, 0, 8, 65541, 0, 8, 5, 0, 8, 327684, 0, 8, 262148, 0, 8, 196612, 0, 8, 131076, 0, 8, 65540, 0, 8, 4, 0, 8, 327683, 0, 8, 262147, 0, 8, 196611, 0, 8, 131075, 0, 8, 65539, 0, 8, 3, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 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, 393217, 131072, 2, 393216, 131072, 2, 458751, 720896, 2, -65534, 131072, 7, 393218, 131072, 2, -65533, 131072, 7, 393219, 131072, 2, -65532, 131072, 7, 393220, 131072, 2, -65531, 131072, 7, 393221, 131072, 2, -65530, 131072, 7, 393222, 131072, 2, -65529, 131072, 7, 393223, 131072, 2, -65528, 131072, 7, 393224, 131072, 2, -65527, 131072, 7, 393225, 131072, 2, 10, 65536, 3, 65546, 65536, 3, -65526, 65536, 4, 131082, 65536, 3, 196618, 65536, 3, 262154, 65536, 3, 327690, 65536, 3, 393226, 851968, 2) -script = ExtResource("dungeonRoomTemplate") +script = ExtResource("2_erhdx") [node name="Player" type="Node2D" parent="."] position = Vector2(80, 47) -script = ExtResource("3_pf56w") +script = ExtResource("3_m4jrh") Type = 1 Altitude = 0 [node name="ActivityMark" type="Node2D" parent="."] -position = Vector2(126, 21) -script = ExtResource("3_pf56w") +position = Vector2(129, 22) +script = ExtResource("3_m4jrh") Type = 5 -ItemExpression = "0002(ResidueAmmo:15,CurrAmmon:0)" - -[node name="ActivityMark2" type="Node2D" parent="."] -position = Vector2(39, 75) -script = ExtResource("3_pf56w") -Type = 5 -ItemExpression = "0001(ResidueAmmo:15,CurrAmmon:0)" +ItemExpression = "0001" WaveNumber = 2 -[node name="ActivityMark3" type="Node2D" parent="."] -position = Vector2(128, 74) -script = ExtResource("3_pf56w") +[node name="ActivityMark4" type="Node2D" parent="."] +position = Vector2(129, 68) +script = ExtResource("3_m4jrh") Type = 5 -ItemExpression = "0003(ResidueAmmo:12,CurrAmmon:15)" +ItemExpression = "0002" +WaveNumber = 2 + +[node name="ActivityMark2" type="Node2D" parent="."] +position = Vector2(29, 75) +script = ExtResource("3_m4jrh") +Type = 5 +ItemExpression = "0003 +" WaveNumber = 3 -[node name="ActivityMark4" type="Node2D" parent="."] -position = Vector2(39, 23) -script = ExtResource("3_pf56w") +[node name="ActivityMark3" type="Node2D" parent="."] +position = Vector2(29, 22) +script = ExtResource("3_m4jrh") Type = 5 -ItemExpression = "0004(ResidueAmmo:15,CurrAmmon:0)" -WaveNumber = 4 +ItemExpression = "0005" diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/outlet/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/outlet/Room1.tscn index 2055eaf..ee24274 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/outlet/Room1.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/outlet/Room1.tscn @@ -6,5 +6,5 @@ [node name="Room1" type="TileMap"] tile_set = ExtResource("1_fhl21") format = 2 -layer_0/tile_data = PackedInt32Array(327688, 0, 8, 262152, 0, 8, 196616, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, -65528, 0, 8, -131064, 0, 8, -196600, 0, 8, 327687, 0, 8, 262151, 0, 8, 196615, 0, 8, 131079, 0, 8, 65543, 0, 8, 7, 0, 8, -65529, 0, 8, -131065, 0, 8, -196601, 0, 8, 327686, 0, 8, 262150, 0, 8, 196614, 0, 8, 131078, 0, 8, 65542, 0, 8, 6, 0, 8, -65530, 0, 8, -131066, 0, 8, -196602, 0, 8, 327685, 0, 8, 262149, 0, 8, 196613, 0, 8, 131077, 0, 8, 65541, 0, 8, 5, 0, 8, -65531, 0, 8, -131067, 0, 8, -196603, 0, 8, 327684, 0, 8, 262148, 0, 8, 196612, 0, 8, 131076, 0, 8, 65540, 0, 8, 4, 0, 8, -65532, 0, 8, -131068, 0, 8, -196604, 0, 8, 327683, 0, 8, 262147, 0, 8, 196611, 0, 8, 131075, 0, 8, 65539, 0, 8, 3, 0, 8, -65533, 0, 8, -131069, 0, 8, -196605, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, -65534, 0, 8, -131070, 0, 8, -196606, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, -65535, 0, 8, -131071, 0, 8, -196607, 0, 8, 327680, 0, 8, 262144, 0, 8, 196608, 0, 8, 131072, 0, 8, 65536, 0, 8, 0, 0, 8, -65536, 0, 8, -131072, 0, 8, -196608, 0, 8, 393215, 0, 8, 327679, 0, 8, 262143, 0, 8, 196607, 0, 8, 131071, 0, 8, 65535, 0, 8, -1, 0, 8, -65537, 0, 8, -131073, 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, 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, -65540, 196608, 3, -131076, 196608, 3, -196612, 196608, 4, -196611, 131072, 7, -196610, 131072, 7, -4, 196608, 3, 65532, 196608, 3, 131068, 196608, 3, 196604, 196608, 3, 262140, 196608, 3, 327676, 196608, 3, 393212, 196608, 3, 458750, 131072, 2, 458749, 131072, 2, 458748, 720896, 2, -196609, 131072, 7, 458751, 131072, 2, -262144, 131072, 7, 393216, 131072, 2, -262143, 131072, 7, 393217, 131072, 2, -262142, 131072, 7, 393218, 131072, 2, -262141, 131072, 7, 393219, 131072, 2, -262140, 131072, 7, 393220, 131072, 2, -262139, 131072, 7, 393221, 131072, 2, -262138, 131072, 7, 393222, 131072, 2, -262137, 131072, 7, 393223, 131072, 2, -262136, 131072, 7, 393224, 131072, 2, -196599, 65536, 3, -131063, 65536, 3, -262135, 65536, 4, -65527, 65536, 3, 9, 65536, 3, 65545, 65536, 3, 131081, 65536, 3, 196617, 65536, 3, 262153, 65536, 3, 327689, 65536, 3, 393225, 851968, 2) +layer_0/tile_data = PackedInt32Array(327688, 0, 8, 262152, 0, 8, 196616, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, -65528, 0, 8, -131064, 0, 8, -196600, 0, 8, 327687, 0, 8, 262151, 0, 8, 196615, 0, 8, 131079, 0, 8, 65543, 0, 8, 7, 0, 8, -65529, 0, 8, -131065, 0, 8, -196601, 0, 8, 327686, 0, 8, 262150, 0, 8, -65530, 0, 8, -131066, 0, 8, -196602, 0, 8, 327685, 0, 8, 262149, 0, 8, -65531, 0, 8, -131067, 0, 8, -196603, 0, 8, 327684, 0, 8, 262148, 0, 8, 196612, 0, 8, 131076, 0, 8, -65532, 0, 8, -131068, 0, 8, -196604, 0, 8, 327683, 0, 8, 262147, 0, 8, 196611, 0, 8, 131075, 0, 8, -131069, 0, 8, -196605, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, -131070, 0, 8, -196606, 0, 8, 327681, 0, 8, 262145, 0, 8, -131071, 0, 8, -196607, 0, 8, 327680, 0, 8, 262144, 0, 8, -131072, 0, 8, -196608, 0, 8, 393215, 0, 8, 327679, 0, 8, 131071, 0, 8, 65535, 0, 8, -1, 0, 8, -65537, 0, 8, -131073, 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, 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, -65540, 196608, 3, -131076, 196608, 3, -196612, 196608, 4, -196611, 131072, 7, -196610, 131072, 7, -4, 196608, 3, 65532, 196608, 3, 131068, 196608, 3, 196604, 196608, 3, 262140, 196608, 3, 327676, 196608, 3, 393212, 196608, 3, 458750, 0, 8, 458749, 0, 8, 458748, 196608, 3, -196609, 131072, 7, 458751, 0, 8, -262144, 131072, 7, 393216, 0, 8, -262143, 131072, 7, 393217, 0, 8, -262142, 131072, 7, 393218, 0, 8, -262141, 131072, 7, 393219, 0, 8, -262140, 131072, 7, 393220, 0, 8, -262139, 131072, 7, 393221, 0, 8, -262138, 131072, 7, 393222, 0, 8, -262137, 131072, 7, 393223, 0, 8, -262136, 131072, 7, 393224, 0, 8, -196599, 0, 8, -131063, 0, 8, -262135, 131072, 7, -65527, 0, 8, 9, 0, 8, 65545, 0, 8, 131081, 0, 8, 196617, 0, 8, 262153, 0, 8, 327689, 0, 8, 393225, 0, 8, -65533, 0, 8, -65534, 0, 8, -65535, 0, 8, -65536, 0, 8, 1, 131072, 2, 4, 131072, 2, 262143, 0, 8, 196607, 0, 8, 65536, 65536, 3, 131072, 65536, 3, 0, 65536, 2, 196608, 65536, 7, 196609, 196608, 7, 196613, 65536, 7, 196614, 196608, 7, 131073, 196608, 3, 65537, 196608, 4, 65538, 131072, 7, 65539, 131072, 7, 65540, 131072, 7, 131077, 65536, 3, 65541, 65536, 4, 2, 131072, 2, 3, 131072, 2, 5, 131072, 2, 6, 196608, 2, 65542, 196608, 3, 131078, 196608, 3, -196598, 65536, 3, -131062, 65536, 3, -262134, 65536, 4, -65526, 65536, 3, 10, 65536, 3, 65546, 65536, 3, 131082, 65536, 3, 196618, 65536, 3, 262154, 65536, 3, 327690, 65536, 3, 393226, 65536, 3, 524286, 131072, 2, 524285, 131072, 2, 524284, 720896, 2, 524287, 131072, 2, 458752, 131072, 2, 458753, 131072, 2, 458754, 131072, 2, 458755, 131072, 2, 458756, 131072, 2, 458757, 131072, 2, 458758, 131072, 2, 458759, 131072, 2, 458760, 131072, 2, 458761, 131072, 2, 458762, 851968, 2) script = ExtResource("dungeonRoomTemplate") diff --git a/DungeonShooting_Godot/resource/map/tiledata/testGroup/boss/Room1.json b/DungeonShooting_Godot/resource/map/tiledata/testGroup/boss/Room1.json new file mode 100644 index 0000000..d2d0c0e --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tiledata/testGroup/boss/Room1.json @@ -0,0 +1,91 @@ +{ + "Position": { + "X": -5, + "Y": -6 + }, + "Size": { + "X": 39, + "Y": 25 + }, + "DoorAreaInfos": [], + "NavigationList": [ + { + "Type": 0, + "Points": [ + { + "X": -56, + "Y": -72 + }, + { + "X": 520, + "Y": -72 + }, + { + "X": 520, + "Y": 288 + }, + { + "X": -56, + "Y": 288 + } + ] + }, + { + "Type": 1, + "Points": [ + { + "X": 200, + "Y": 0 + }, + { + "X": 280, + "Y": 0 + }, + { + "X": 280, + "Y": 64 + }, + { + "X": 344, + "Y": 64 + }, + { + "X": 344, + "Y": 136 + }, + { + "X": 280, + "Y": 136 + }, + { + "X": 280, + "Y": 200 + }, + { + "X": 200, + "Y": 200 + }, + { + "X": 200, + "Y": 136 + }, + { + "X": 136, + "Y": 136 + }, + { + "X": 136, + "Y": 64 + }, + { + "X": 200, + "Y": 64 + } + ] + } + ], + "GroupName": "testGroup", + "RoomType": 3, + "FileName": "Room1", + "Weight": 100 +} \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/map/tiledata/testGroup/outlet/Room1.json b/DungeonShooting_Godot/resource/map/tiledata/testGroup/outlet/Room1.json index fb367d6..d69b1f8 100644 --- a/DungeonShooting_Godot/resource/map/tiledata/testGroup/outlet/Room1.json +++ b/DungeonShooting_Godot/resource/map/tiledata/testGroup/outlet/Room1.json @@ -4,8 +4,8 @@ "Y": -4 }, "Size": { - "X": 14, - "Y": 11 + "X": 15, + "Y": 12 }, "DoorAreaInfos": [], "NavigationList": [ @@ -17,16 +17,53 @@ "Y": -40 }, { - "X": 136, + "X": 152, "Y": -40 }, { - "X": 136, - "Y": 88 + "X": 152, + "Y": 112 }, { "X": -40, - "Y": 88 + "Y": 112 + } + ] + }, + { + "Type": 1, + "Points": [ + { + "X": -8, + "Y": 0 + }, + { + "X": 120, + "Y": 0 + }, + { + "X": 120, + "Y": 72 + }, + { + "X": 72, + "Y": 72 + }, + { + "X": 72, + "Y": 40 + }, + { + "X": 40, + "Y": 40 + }, + { + "X": 40, + "Y": 72 + }, + { + "X": -8, + "Y": 72 } ] } diff --git a/DungeonShooting_Godot/resource/map/tileset/TileSet1.tres b/DungeonShooting_Godot/resource/map/tileset/TileSet1.tres index a8fe7bb..5173fe2 100644 --- a/DungeonShooting_Godot/resource/map/tileset/TileSet1.tres +++ b/DungeonShooting_Godot/resource/map/tileset/TileSet1.tres @@ -1,9 +1,9 @@ [gd_resource type="TileSet" load_steps=3 format=3 uid="uid://b00g22o1cqhe8"] -[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="1_uvtye"] +[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="1_e0f3i"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_yvgyd"] -texture = ExtResource("1_uvtye") +texture = ExtResource("1_e0f3i") 0:0/0 = 0 0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) 0:0/0/physics_layer_0/angular_velocity = 0.0 diff --git a/DungeonShooting_Godot/resource/map/tileset/TileSet_old.tres b/DungeonShooting_Godot/resource/map/tileset/TileSet_old.tres index 8f15fc4..b082db6 100644 --- a/DungeonShooting_Godot/resource/map/tileset/TileSet_old.tres +++ b/DungeonShooting_Godot/resource/map/tileset/TileSet_old.tres @@ -1,6 +1,6 @@ [gd_resource type="TileSet" load_steps=3 format=3 uid="uid://bn21mn0gu6jel"] -[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="1_vqd0o"] +[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="1_vqd0o"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_rkmbu"] texture = ExtResource("1_vqd0o") diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0001.ogg b/DungeonShooting_Godot/resource/sound/sfx/Equip0001.ogg new file mode 100644 index 0000000..5921758 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0001.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0001.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Equip0001.ogg.import new file mode 100644 index 0000000..cb89324 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0001.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dip1xa8wpxdjo" +path="res://.godot/imported/Equip0001.ogg-0f060e55a565fb3d05f50f4d89e22394.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Equip0001.ogg" +dest_files=["res://.godot/imported/Equip0001.ogg-0f060e55a565fb3d05f50f4d89e22394.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0002.ogg b/DungeonShooting_Godot/resource/sound/sfx/Equip0002.ogg new file mode 100644 index 0000000..69130e6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0002.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0002.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Equip0002.ogg.import new file mode 100644 index 0000000..cc0121d --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0002.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dkrjt31o0eucf" +path="res://.godot/imported/Equip0002.ogg-18b2612fbdcea05574238dd2355d78e7.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Equip0002.ogg" +dest_files=["res://.godot/imported/Equip0002.ogg-18b2612fbdcea05574238dd2355d78e7.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0003.ogg b/DungeonShooting_Godot/resource/sound/sfx/Equip0003.ogg new file mode 100644 index 0000000..997de27 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0003.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0003.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Equip0003.ogg.import new file mode 100644 index 0000000..b040c80 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0003.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://djrsm2nwhxcug" +path="res://.godot/imported/Equip0003.ogg-dae81fb10e5b44c75fe894bbe95f75de.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Equip0003.ogg" +dest_files=["res://.godot/imported/Equip0003.ogg-dae81fb10e5b44c75fe894bbe95f75de.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0004.ogg b/DungeonShooting_Godot/resource/sound/sfx/Equip0004.ogg new file mode 100644 index 0000000..5d48d01 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0004.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0004.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Equip0004.ogg.import new file mode 100644 index 0000000..353e29d --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0004.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://lf1ylcyoem5j" +path="res://.godot/imported/Equip0004.ogg-bde6d107d90fe969a7d4debb6f1f4268.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Equip0004.ogg" +dest_files=["res://.godot/imported/Equip0004.ogg-bde6d107d90fe969a7d4debb6f1f4268.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0005.ogg b/DungeonShooting_Godot/resource/sound/sfx/Equip0005.ogg new file mode 100644 index 0000000..8b80080 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0005.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0005.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Equip0005.ogg.import new file mode 100644 index 0000000..d5f184e --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0005.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cthbancmpyj7" +path="res://.godot/imported/Equip0005.ogg-3ca997c2676e6c9bd4391911f7d5f68c.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Equip0005.ogg" +dest_files=["res://.godot/imported/Equip0005.ogg-3ca997c2676e6c9bd4391911f7d5f68c.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0006.ogg b/DungeonShooting_Godot/resource/sound/sfx/Equip0006.ogg new file mode 100644 index 0000000..d33e2b6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0006.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Equip0006.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Equip0006.ogg.import new file mode 100644 index 0000000..f77a0ca --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Equip0006.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://b8md3alwndnnd" +path="res://.godot/imported/Equip0006.ogg-6694e0194fc473d2e74f0f21b8efe115.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Equip0006.ogg" +dest_files=["res://.godot/imported/Equip0006.ogg-6694e0194fc473d2e74f0f21b8efe115.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Explosion0001.ogg b/DungeonShooting_Godot/resource/sound/sfx/Explosion0001.ogg new file mode 100644 index 0000000..57a9ec2 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Explosion0001.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Explosion0001.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Explosion0001.ogg.import new file mode 100644 index 0000000..03200cf --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Explosion0001.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dif1ehqqak60r" +path="res://.godot/imported/Explosion0001.ogg-3998886713ed22da0f09534afefebbf4.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Explosion0001.ogg" +dest_files=["res://.godot/imported/Explosion0001.ogg-3998886713ed22da0f09534afefebbf4.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Explosion0002.ogg b/DungeonShooting_Godot/resource/sound/sfx/Explosion0002.ogg new file mode 100644 index 0000000..31f8f34 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Explosion0002.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Explosion0002.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Explosion0002.ogg.import new file mode 100644 index 0000000..71af49d --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Explosion0002.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bhesqipwmgvtg" +path="res://.godot/imported/Explosion0002.ogg-e3e0d2c66b67aa61f8a61877ec95b9be.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Explosion0002.ogg" +dest_files=["res://.godot/imported/Explosion0002.ogg-e3e0d2c66b67aa61f8a61877ec95b9be.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Explosion0003.ogg b/DungeonShooting_Godot/resource/sound/sfx/Explosion0003.ogg new file mode 100644 index 0000000..0edc916 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Explosion0003.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Explosion0003.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Explosion0003.ogg.import new file mode 100644 index 0000000..3429b65 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Explosion0003.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dbnu0nwcie1oq" +path="res://.godot/imported/Explosion0003.ogg-2285833a7bd7d651bfa22c9d4e13ccc5.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Explosion0003.ogg" +dest_files=["res://.godot/imported/Explosion0003.ogg-2285833a7bd7d651bfa22c9d4e13ccc5.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading0001.mp3 b/DungeonShooting_Godot/resource/sound/sfx/Reloading0001.mp3 new file mode 100644 index 0000000..586e772 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading0001.mp3 Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading0001.mp3.import b/DungeonShooting_Godot/resource/sound/sfx/Reloading0001.mp3.import new file mode 100644 index 0000000..0a49000 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading0001.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://cubladp3u8jbj" +path="res://.godot/imported/Reloading0001.mp3-e0aa400da581f2f6ebdc337714439d82.mp3str" + +[deps] + +source_file="res://resource/sound/sfx/Reloading0001.mp3" +dest_files=["res://.godot/imported/Reloading0001.mp3-e0aa400da581f2f6ebdc337714439d82.mp3str"] + +[params] + +loop=false +loop_offset=0.0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading0002.ogg b/DungeonShooting_Godot/resource/sound/sfx/Reloading0002.ogg new file mode 100644 index 0000000..6754397 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading0002.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading0002.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Reloading0002.ogg.import new file mode 100644 index 0000000..60bb83c --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading0002.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c107t2g7g38l" +path="res://.godot/imported/Reloading0002.ogg-1b8209757ee63ea95fa23f03c6f3caaa.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Reloading0002.ogg" +dest_files=["res://.godot/imported/Reloading0002.ogg-1b8209757ee63ea95fa23f03c6f3caaa.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0001.ogg b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0001.ogg new file mode 100644 index 0000000..801ab54 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0001.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0001.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0001.ogg.import new file mode 100644 index 0000000..238d7bd --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0001.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://hpyer4baoptl" +path="res://.godot/imported/Reloading_begin0001.ogg-b3c0c7d63c726e7dfdd556cc41bbecf1.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Reloading_begin0001.ogg" +dest_files=["res://.godot/imported/Reloading_begin0001.ogg-b3c0c7d63c726e7dfdd556cc41bbecf1.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0002.ogg b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0002.ogg new file mode 100644 index 0000000..4a62dd2 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0002.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0002.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0002.ogg.import new file mode 100644 index 0000000..87870eb --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_begin0002.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c6ab4vp7bexl7" +path="res://.godot/imported/Reloading_begin0002.ogg-4b4a29283a1ac5b7a0e46beefca82e64.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Reloading_begin0002.ogg" +dest_files=["res://.godot/imported/Reloading_begin0002.ogg-4b4a29283a1ac5b7a0e46beefca82e64.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0001.ogg b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0001.ogg new file mode 100644 index 0000000..7e149a1 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0001.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0001.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0001.ogg.import new file mode 100644 index 0000000..e31095e --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0001.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cxu23trqe00ij" +path="res://.godot/imported/Reloading_finish0001.ogg-def829198f233ebe6b00cfbc7e4625f7.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Reloading_finish0001.ogg" +dest_files=["res://.godot/imported/Reloading_finish0001.ogg-def829198f233ebe6b00cfbc7e4625f7.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0002.ogg b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0002.ogg new file mode 100644 index 0000000..21fb101 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0002.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0002.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0002.ogg.import new file mode 100644 index 0000000..39e715a --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Reloading_finish0002.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://kcye7mqil5g" +path="res://.godot/imported/Reloading_finish0002.ogg-d313924afb2617cd2ca2a5073e102977.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Reloading_finish0002.ogg" +dest_files=["res://.godot/imported/Reloading_finish0002.ogg-d313924afb2617cd2ca2a5073e102977.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Shooting0001.ogg b/DungeonShooting_Godot/resource/sound/sfx/Shooting0001.ogg new file mode 100644 index 0000000..dca1774 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Shooting0001.ogg Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Shooting0001.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/Shooting0001.ogg.import new file mode 100644 index 0000000..56e3ced --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Shooting0001.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bnrursvt8gg11" +path="res://.godot/imported/Shooting0001.ogg-8050fb383c434d15397f2869fd9b4603.oggvorbisstr" + +[deps] + +source_file="res://resource/sound/sfx/Shooting0001.ogg" +dest_files=["res://.godot/imported/Shooting0001.ogg-8050fb383c434d15397f2869fd9b4603.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Shooting0002.mp3 b/DungeonShooting_Godot/resource/sound/sfx/Shooting0002.mp3 new file mode 100644 index 0000000..09faa04 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Shooting0002.mp3 Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Shooting0002.mp3.import b/DungeonShooting_Godot/resource/sound/sfx/Shooting0002.mp3.import new file mode 100644 index 0000000..862df18 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Shooting0002.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://ddie4d8go1t8g" +path="res://.godot/imported/Shooting0002.mp3-2e045b269e2ea080c15811bc4f51f16d.mp3str" + +[deps] + +source_file="res://resource/sound/sfx/Shooting0002.mp3" +dest_files=["res://.godot/imported/Shooting0002.mp3-2e045b269e2ea080c15811bc4f51f16d.mp3str"] + +[params] + +loop=false +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/Shooting0003.mp3 b/DungeonShooting_Godot/resource/sound/sfx/Shooting0003.mp3 new file mode 100644 index 0000000..06b18e6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Shooting0003.mp3 Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/Shooting0003.mp3.import b/DungeonShooting_Godot/resource/sound/sfx/Shooting0003.mp3.import new file mode 100644 index 0000000..490e5d3 --- /dev/null +++ b/DungeonShooting_Godot/resource/sound/sfx/Shooting0003.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://j6d3n7f5rf8e" +path="res://.godot/imported/Shooting0003.mp3-d85c5b09dcaf6f48682b5dc947b8fdd4.mp3str" + +[deps] + +source_file="res://resource/sound/sfx/Shooting0003.mp3" +dest_files=["res://.godot/imported/Shooting0003.mp3-d85c5b09dcaf6f48682b5dc947b8fdd4.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet.ogg b/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet.ogg deleted file mode 100644 index f5a886a..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet.ogg +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet.ogg.import b/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet.ogg.import deleted file mode 100644 index 0d7e06a..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://bnrursvt8gg11" -path="res://.godot/imported/ordinaryBullet.ogg-cfe42761de70631705f4e117ce06ad61.oggvorbisstr" - -[deps] - -source_file="res://resource/sound/sfx/ordinaryBullet.ogg" -dest_files=["res://.godot/imported/ordinaryBullet.ogg-cfe42761de70631705f4e117ce06ad61.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet2.mp3 b/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet2.mp3 deleted file mode 100644 index 09faa04..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet2.mp3 +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet2.mp3.import b/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet2.mp3.import deleted file mode 100644 index 43ceb9a..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet2.mp3.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -uid="uid://ddie4d8go1t8g" -path="res://.godot/imported/ordinaryBullet2.mp3-363566e6f98fe28405c9762713f94f39.mp3str" - -[deps] - -source_file="res://resource/sound/sfx/ordinaryBullet2.mp3" -dest_files=["res://.godot/imported/ordinaryBullet2.mp3-363566e6f98fe28405c9762713f94f39.mp3str"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet3.mp3 b/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet3.mp3 deleted file mode 100644 index 06b18e6..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet3.mp3 +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet3.mp3.import b/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet3.mp3.import deleted file mode 100644 index b20f030..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/ordinaryBullet3.mp3.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -uid="uid://j6d3n7f5rf8e" -path="res://.godot/imported/ordinaryBullet3.mp3-071f70567ddf76a565a2dbe75703e424.mp3str" - -[deps] - -source_file="res://resource/sound/sfx/ordinaryBullet3.mp3" -dest_files=["res://.godot/imported/ordinaryBullet3.mp3-071f70567ddf76a565a2dbe75703e424.mp3str"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sound/sfx/reloading.mp3 b/DungeonShooting_Godot/resource/sound/sfx/reloading.mp3 deleted file mode 100644 index 586e772..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/reloading.mp3 +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sound/sfx/reloading.mp3.import b/DungeonShooting_Godot/resource/sound/sfx/reloading.mp3.import deleted file mode 100644 index f4a33b4..0000000 --- a/DungeonShooting_Godot/resource/sound/sfx/reloading.mp3.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -uid="uid://cubladp3u8jbj" -path="res://.godot/imported/reloading.mp3-a718918dc3dc57c0c17a3c31a9e33c3f.mp3str" - -[deps] - -source_file="res://resource/sound/sfx/reloading.mp3" -dest_files=["res://.godot/imported/reloading.mp3-a718918dc3dc57c0c17a3c31a9e33c3f.mp3str"] - -[params] - -loop=false -loop_offset=0.0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/DungeonShooting_Godot/resource/sprite/bullet/bullet3.png b/DungeonShooting_Godot/resource/sprite/bullet/bullet3.png new file mode 100644 index 0000000..ce0577e --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/bullet/bullet3.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/bullet/bullet3.png.import b/DungeonShooting_Godot/resource/sprite/bullet/bullet3.png.import new file mode 100644 index 0000000..765caff --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/bullet/bullet3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctsvj4y1t538u" +path="res://.godot/imported/bullet3.png-da66182a32c8e83b9b95206d8e836cf2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/bullet/bullet3.png" +dest_files=["res://.godot/imported/bullet3.png-da66182a32c8e83b9b95206d8e836cf2.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/effect/KnifeHit1.aseprite b/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.aseprite deleted file mode 100644 index be780df..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.aseprite +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.png b/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.png deleted file mode 100644 index 83465d0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.png.import b/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.png.import deleted file mode 100644 index 144d037..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/KnifeHit1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dx07ta0asnmuw" -path="res://.godot/imported/KnifeHit1.png-8ec1b83e3e29bcb0e825de1a30fc9c75.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/KnifeHit1.png" -dest_files=["res://.godot/imported/KnifeHit1.png-8ec1b83e3e29bcb0e825de1a30fc9c75.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/effect/Trajectory.png b/DungeonShooting_Godot/resource/sprite/effect/Trajectory.png deleted file mode 100644 index f6cd27a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/Trajectory.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/Trajectory.png.import b/DungeonShooting_Godot/resource/sprite/effect/Trajectory.png.import deleted file mode 100644 index b01aa4e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/Trajectory.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cvcic34xnwmqn" -path="res://.godot/imported/Trajectory.png-76c08620c3b29f4d728c82f31f8f0bb9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/Trajectory.png" -dest_files=["res://.godot/imported/Trajectory.png-76c08620c3b29f4d728c82f31f8f0bb9.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/effect/fire/fire1.aseprite b/DungeonShooting_Godot/resource/sprite/effect/fire/fire1.aseprite deleted file mode 100644 index 1c47cfe..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/fire/fire1.aseprite +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/hit/hit0.png b/DungeonShooting_Godot/resource/sprite/effect/hit/hit0.png deleted file mode 100644 index a4457f0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/hit/hit0.png.import b/DungeonShooting_Godot/resource/sprite/effect/hit/hit0.png.import deleted file mode 100644 index b40bcd5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ch8h8mwpeh8oo" -path="res://.godot/imported/hit0.png-17276b3668c4e0cb4c107848aa290086.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/hit/hit0.png" -dest_files=["res://.godot/imported/hit0.png-17276b3668c4e0cb4c107848aa290086.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/effect/hit/hit1.png b/DungeonShooting_Godot/resource/sprite/effect/hit/hit1.png deleted file mode 100644 index fc1e151..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/hit/hit1.png.import b/DungeonShooting_Godot/resource/sprite/effect/hit/hit1.png.import deleted file mode 100644 index 74a206e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ep1s6vsopk4y" -path="res://.godot/imported/hit1.png-4c89ae30862deb32de3206a28a45db55.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/hit/hit1.png" -dest_files=["res://.godot/imported/hit1.png-4c89ae30862deb32de3206a28a45db55.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/effect/hit/hit2.png b/DungeonShooting_Godot/resource/sprite/effect/hit/hit2.png deleted file mode 100644 index acf1526..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/hit/hit2.png.import b/DungeonShooting_Godot/resource/sprite/effect/hit/hit2.png.import deleted file mode 100644 index 0b9f33e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://q8ddt2warhfg" -path="res://.godot/imported/hit2.png-0d34746142da1b03f2100dd624526a03.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/hit/hit2.png" -dest_files=["res://.godot/imported/hit2.png-0d34746142da1b03f2100dd624526a03.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/effect/hit/hit3.png b/DungeonShooting_Godot/resource/sprite/effect/hit/hit3.png deleted file mode 100644 index 272462c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/hit/hit3.png.import b/DungeonShooting_Godot/resource/sprite/effect/hit/hit3.png.import deleted file mode 100644 index e5f9a17..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c01wt1b3h6237" -path="res://.godot/imported/hit3.png-87522b4136861ca3b16e8936be841355.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/hit/hit3.png" -dest_files=["res://.godot/imported/hit3.png-87522b4136861ca3b16e8936be841355.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/effect/hit/hit4.png b/DungeonShooting_Godot/resource/sprite/effect/hit/hit4.png deleted file mode 100644 index aa1f261..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/hit/hit4.png.import b/DungeonShooting_Godot/resource/sprite/effect/hit/hit4.png.import deleted file mode 100644 index d847857..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/hit/hit4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://pa5wvjmx2xv6" -path="res://.godot/imported/hit4.png-7d42c20b94c8395d3b41e4bc03afae84.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/hit/hit4.png" -dest_files=["res://.godot/imported/hit4.png-7d42c20b94c8395d3b41e4bc03afae84.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/effect/itch-io-MiniPack/1/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_0.png deleted file mode 100644 index ab11449..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_0.png.import deleted file mode 100644 index 9856d42..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b5dx2x1tu0wdn" -path="res://.godot/imported/1_0.png-bb7bd3ed0abf45a046807a3fe058263f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_0.png" -dest_files=["res://.godot/imported/1_0.png-bb7bd3ed0abf45a046807a3fe058263f.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/effect/itch-io-MiniPack/1/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_1.png deleted file mode 100644 index 27d9bc9..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_1.png.import deleted file mode 100644 index bcce569..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bwkrastrgbvku" -path="res://.godot/imported/1_1.png-b6db5c2dd3ecc707d28e3fc576c55857.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_1.png" -dest_files=["res://.godot/imported/1_1.png-b6db5c2dd3ecc707d28e3fc576c55857.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/effect/itch-io-MiniPack/1/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_10.png deleted file mode 100644 index 5bf59ac..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_10.png.import deleted file mode 100644 index 4716c66..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://l0hjyv5ws4gq" -path="res://.godot/imported/1_10.png-149e16e190aa65abeffe2a9b41ccbefc.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_10.png" -dest_files=["res://.godot/imported/1_10.png-149e16e190aa65abeffe2a9b41ccbefc.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/effect/itch-io-MiniPack/1/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_11.png deleted file mode 100644 index c7fd756..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_11.png.import deleted file mode 100644 index 1627f3e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b3boij7a5nrfw" -path="res://.godot/imported/1_11.png-ad5256b36571eacb890241a8fc28723c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_11.png" -dest_files=["res://.godot/imported/1_11.png-ad5256b36571eacb890241a8fc28723c.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/effect/itch-io-MiniPack/1/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_12.png deleted file mode 100644 index a985b72..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_12.png.import deleted file mode 100644 index 1dbcf1d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dbom3a7wbdfud" -path="res://.godot/imported/1_12.png-08ec92579b1502d1de6825c3b2d2449b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_12.png" -dest_files=["res://.godot/imported/1_12.png-08ec92579b1502d1de6825c3b2d2449b.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/effect/itch-io-MiniPack/1/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_13.png deleted file mode 100644 index 8131d26..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_13.png.import deleted file mode 100644 index 6f1a233..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dvrvgwvq4uwa8" -path="res://.godot/imported/1_13.png-b2b88924917d2a392736bbf41b66940c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_13.png" -dest_files=["res://.godot/imported/1_13.png-b2b88924917d2a392736bbf41b66940c.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/effect/itch-io-MiniPack/1/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_14.png deleted file mode 100644 index 428517c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_14.png.import deleted file mode 100644 index 641beb5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bqf76f5dai3dw" -path="res://.godot/imported/1_14.png-299a8dec5b87d2e1350324ca28c67ff0.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_14.png" -dest_files=["res://.godot/imported/1_14.png-299a8dec5b87d2e1350324ca28c67ff0.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/effect/itch-io-MiniPack/1/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_2.png deleted file mode 100644 index fb2b237..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_2.png.import deleted file mode 100644 index 87531fe..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://crfaw6rql22p8" -path="res://.godot/imported/1_2.png-1291b1f38f06f2bcbfc49f715ea68565.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_2.png" -dest_files=["res://.godot/imported/1_2.png-1291b1f38f06f2bcbfc49f715ea68565.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/effect/itch-io-MiniPack/1/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_3.png deleted file mode 100644 index 3f3e0ed..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_3.png.import deleted file mode 100644 index d451d1b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b86rr5jmo5xio" -path="res://.godot/imported/1_3.png-5d248fb7559fb49601c32cb56c227041.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_3.png" -dest_files=["res://.godot/imported/1_3.png-5d248fb7559fb49601c32cb56c227041.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/effect/itch-io-MiniPack/1/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_4.png deleted file mode 100644 index 7f62d6d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_4.png.import deleted file mode 100644 index f92f092..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://nbe0vkpr2ey0" -path="res://.godot/imported/1_4.png-4c3e41450d51944394b15cad895b4f6e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_4.png" -dest_files=["res://.godot/imported/1_4.png-4c3e41450d51944394b15cad895b4f6e.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/effect/itch-io-MiniPack/1/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_5.png deleted file mode 100644 index 5734be6..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_5.png.import deleted file mode 100644 index e57b0d7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://boborm6q8sdfa" -path="res://.godot/imported/1_5.png-3fb68c238fc5236dcb56de5f2c3460a1.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_5.png" -dest_files=["res://.godot/imported/1_5.png-3fb68c238fc5236dcb56de5f2c3460a1.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/effect/itch-io-MiniPack/1/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_6.png deleted file mode 100644 index 6cfb7ca..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_6.png.import deleted file mode 100644 index 01d3111..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://1br2pjcaat2m" -path="res://.godot/imported/1_6.png-afb4b08f7a3ff1a94fecd605fb2e5e5a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_6.png" -dest_files=["res://.godot/imported/1_6.png-afb4b08f7a3ff1a94fecd605fb2e5e5a.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/effect/itch-io-MiniPack/1/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_7.png deleted file mode 100644 index f7e17af..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_7.png.import deleted file mode 100644 index ca2f445..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ev1baympjcuv" -path="res://.godot/imported/1_7.png-bde2fd9a2c43bfd2832b9549ee294ad1.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_7.png" -dest_files=["res://.godot/imported/1_7.png-bde2fd9a2c43bfd2832b9549ee294ad1.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/effect/itch-io-MiniPack/1/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_8.png deleted file mode 100644 index dd338cf..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_8.png.import deleted file mode 100644 index ae7ee36..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://df6kwvaf6t5r1" -path="res://.godot/imported/1_8.png-f363683713cc3380d31a87ab1e8b0fa0.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_8.png" -dest_files=["res://.godot/imported/1_8.png-f363683713cc3380d31a87ab1e8b0fa0.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/effect/itch-io-MiniPack/1/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_9.png deleted file mode 100644 index 587662c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_9.png.import deleted file mode 100644 index 590576b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/1/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dbe5kr02u8yqg" -path="res://.godot/imported/1_9.png-ebab354fa60dd77aeaeef3b64c87e66a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/1/1_9.png" -dest_files=["res://.godot/imported/1_9.png-ebab354fa60dd77aeaeef3b64c87e66a.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/effect/itch-io-MiniPack/2/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_0.png deleted file mode 100644 index 804cfd5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_0.png.import deleted file mode 100644 index e42e333..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://doq034gdmcn7u" -path="res://.godot/imported/1_0.png-cf7c9a690a2b3339f09993e7e0b98f69.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_0.png" -dest_files=["res://.godot/imported/1_0.png-cf7c9a690a2b3339f09993e7e0b98f69.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/effect/itch-io-MiniPack/2/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_1.png deleted file mode 100644 index 249d1ad..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_1.png.import deleted file mode 100644 index ea6057a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://baq3nyrqi0ir2" -path="res://.godot/imported/1_1.png-056ee531e29ce9911a1100edf8a3e8e6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_1.png" -dest_files=["res://.godot/imported/1_1.png-056ee531e29ce9911a1100edf8a3e8e6.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/effect/itch-io-MiniPack/2/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_10.png deleted file mode 100644 index faaad98..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_10.png.import deleted file mode 100644 index b57a5e9..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dbhtp2y4cdpag" -path="res://.godot/imported/1_10.png-5a6542ed8bd3534ffeba7fc454b20545.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_10.png" -dest_files=["res://.godot/imported/1_10.png-5a6542ed8bd3534ffeba7fc454b20545.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/effect/itch-io-MiniPack/2/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_11.png deleted file mode 100644 index fa371e1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_11.png.import deleted file mode 100644 index 0aadf10..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://d0ob4vvrfppnt" -path="res://.godot/imported/1_11.png-05386ab82314732a85da8747a13a776b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_11.png" -dest_files=["res://.godot/imported/1_11.png-05386ab82314732a85da8747a13a776b.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/effect/itch-io-MiniPack/2/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_12.png deleted file mode 100644 index 7ed8a33..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_12.png.import deleted file mode 100644 index c64a861..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://332pqohifj5m" -path="res://.godot/imported/1_12.png-ee8fe8ed6497c3cc6aec9ee87f269ae7.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_12.png" -dest_files=["res://.godot/imported/1_12.png-ee8fe8ed6497c3cc6aec9ee87f269ae7.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/effect/itch-io-MiniPack/2/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_13.png deleted file mode 100644 index 017ad1f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_13.png.import deleted file mode 100644 index 0b8c098..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b7lfjpk15i8d2" -path="res://.godot/imported/1_13.png-4e8f3390eb040840f2220e2ae1571d7e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_13.png" -dest_files=["res://.godot/imported/1_13.png-4e8f3390eb040840f2220e2ae1571d7e.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/effect/itch-io-MiniPack/2/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_14.png deleted file mode 100644 index 8d9a14c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_14.png.import deleted file mode 100644 index 6c2fd03..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://2dpuqk3k1fd7" -path="res://.godot/imported/1_14.png-9514b9b893518030c8dd4fc3185880fe.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_14.png" -dest_files=["res://.godot/imported/1_14.png-9514b9b893518030c8dd4fc3185880fe.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/effect/itch-io-MiniPack/2/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_2.png deleted file mode 100644 index 4f80121..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_2.png.import deleted file mode 100644 index 0a0e016..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dmklns4ub257r" -path="res://.godot/imported/1_2.png-8cc8f6bece2cb40b4c5da06b64df0d3d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_2.png" -dest_files=["res://.godot/imported/1_2.png-8cc8f6bece2cb40b4c5da06b64df0d3d.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/effect/itch-io-MiniPack/2/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_3.png deleted file mode 100644 index e8cda26..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_3.png.import deleted file mode 100644 index e153c0a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://urrjam8prl0r" -path="res://.godot/imported/1_3.png-7599c9f1d973246b2eff3980935b0c58.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_3.png" -dest_files=["res://.godot/imported/1_3.png-7599c9f1d973246b2eff3980935b0c58.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/effect/itch-io-MiniPack/2/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_4.png deleted file mode 100644 index 6eb603f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_4.png.import deleted file mode 100644 index bd94389..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dlt8do3evum6u" -path="res://.godot/imported/1_4.png-1449ae9c7dd648f95f340f66110e0e32.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_4.png" -dest_files=["res://.godot/imported/1_4.png-1449ae9c7dd648f95f340f66110e0e32.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/effect/itch-io-MiniPack/2/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_5.png deleted file mode 100644 index d426b19..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_5.png.import deleted file mode 100644 index b06ae48..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c0lnl4adymqex" -path="res://.godot/imported/1_5.png-d9200592719a98fee604cac161be4a44.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_5.png" -dest_files=["res://.godot/imported/1_5.png-d9200592719a98fee604cac161be4a44.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/effect/itch-io-MiniPack/2/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_6.png deleted file mode 100644 index 5183766..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_6.png.import deleted file mode 100644 index d317931..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cw4f7u36q2q2r" -path="res://.godot/imported/1_6.png-5f21056d41c5c6d31f0e9588b3abddcd.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_6.png" -dest_files=["res://.godot/imported/1_6.png-5f21056d41c5c6d31f0e9588b3abddcd.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/effect/itch-io-MiniPack/2/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_7.png deleted file mode 100644 index b0e9a25..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_7.png.import deleted file mode 100644 index 33407ec..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://d4hjbhuh13mi3" -path="res://.godot/imported/1_7.png-0109ba36532c25a7c6c9f502d3479d1e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_7.png" -dest_files=["res://.godot/imported/1_7.png-0109ba36532c25a7c6c9f502d3479d1e.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/effect/itch-io-MiniPack/2/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_8.png deleted file mode 100644 index 1f9bb07..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_8.png.import deleted file mode 100644 index cb6d40f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ce1x3rvk48xku" -path="res://.godot/imported/1_8.png-759fa2a84f4a4b5dd71ac524f3fad91b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_8.png" -dest_files=["res://.godot/imported/1_8.png-759fa2a84f4a4b5dd71ac524f3fad91b.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/effect/itch-io-MiniPack/2/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_9.png deleted file mode 100644 index 977db9c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_9.png.import deleted file mode 100644 index 7d21d57..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/2/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cn28hr34bobu5" -path="res://.godot/imported/1_9.png-fe12402a453fbef81be104ac38918322.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/2/1_9.png" -dest_files=["res://.godot/imported/1_9.png-fe12402a453fbef81be104ac38918322.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/effect/itch-io-MiniPack/3/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_0.png deleted file mode 100644 index 864b850..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_0.png.import deleted file mode 100644 index 9e6786b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bapttawh2yo2n" -path="res://.godot/imported/1_0.png-c41d32446e402c901a18a25556c0e3ee.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_0.png" -dest_files=["res://.godot/imported/1_0.png-c41d32446e402c901a18a25556c0e3ee.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/effect/itch-io-MiniPack/3/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_1.png deleted file mode 100644 index 274c9c5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_1.png.import deleted file mode 100644 index e66c0d7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b1jonwkhb5fmo" -path="res://.godot/imported/1_1.png-654c03cb309a5b5be8b2f38fb453a4b8.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_1.png" -dest_files=["res://.godot/imported/1_1.png-654c03cb309a5b5be8b2f38fb453a4b8.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/effect/itch-io-MiniPack/3/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_10.png deleted file mode 100644 index abc194f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_10.png.import deleted file mode 100644 index 306c935..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bf2rx5lyvp5qd" -path="res://.godot/imported/1_10.png-bc252ccd1aafafe2ec15a2e0f96735d0.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_10.png" -dest_files=["res://.godot/imported/1_10.png-bc252ccd1aafafe2ec15a2e0f96735d0.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/effect/itch-io-MiniPack/3/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_11.png deleted file mode 100644 index cbce42a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_11.png.import deleted file mode 100644 index 70c0cdb..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bv1tp2gsjgy4f" -path="res://.godot/imported/1_11.png-affa1059b1c2784f7670cfc72e68f7de.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_11.png" -dest_files=["res://.godot/imported/1_11.png-affa1059b1c2784f7670cfc72e68f7de.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/effect/itch-io-MiniPack/3/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_12.png deleted file mode 100644 index 1e02f4d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_12.png.import deleted file mode 100644 index 8676e87..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c562ybdv6b71w" -path="res://.godot/imported/1_12.png-67b55bd7e6488dda9a12bd03240fb150.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_12.png" -dest_files=["res://.godot/imported/1_12.png-67b55bd7e6488dda9a12bd03240fb150.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/effect/itch-io-MiniPack/3/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_13.png deleted file mode 100644 index e1747f4..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_13.png.import deleted file mode 100644 index b57a852..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c5v41tk2opbf5" -path="res://.godot/imported/1_13.png-c44258464ead9ef1c2c7d4eff0ee930f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_13.png" -dest_files=["res://.godot/imported/1_13.png-c44258464ead9ef1c2c7d4eff0ee930f.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/effect/itch-io-MiniPack/3/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_14.png deleted file mode 100644 index d8de213..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_14.png.import deleted file mode 100644 index d6d45dc..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://3uthl1vr2e2o" -path="res://.godot/imported/1_14.png-77c4e7939eea51cfb5ac09e717fb1b60.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_14.png" -dest_files=["res://.godot/imported/1_14.png-77c4e7939eea51cfb5ac09e717fb1b60.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/effect/itch-io-MiniPack/3/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_2.png deleted file mode 100644 index 1558a26..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_2.png.import deleted file mode 100644 index 5af2b1c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b3jupcbaivrqd" -path="res://.godot/imported/1_2.png-c50e3d8d5890c6e67ac58c95d0ed6ca8.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_2.png" -dest_files=["res://.godot/imported/1_2.png-c50e3d8d5890c6e67ac58c95d0ed6ca8.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/effect/itch-io-MiniPack/3/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_3.png deleted file mode 100644 index 808a5b1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_3.png.import deleted file mode 100644 index 8bd1c82..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://tuv6rcl3wakp" -path="res://.godot/imported/1_3.png-5fa5b772cfb46df19dccbdedd406d0cf.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_3.png" -dest_files=["res://.godot/imported/1_3.png-5fa5b772cfb46df19dccbdedd406d0cf.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/effect/itch-io-MiniPack/3/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_4.png deleted file mode 100644 index 1c7e850..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_4.png.import deleted file mode 100644 index e530334..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bhfjxavf503pr" -path="res://.godot/imported/1_4.png-201af51785f5e73b6c3081b2f122d330.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_4.png" -dest_files=["res://.godot/imported/1_4.png-201af51785f5e73b6c3081b2f122d330.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/effect/itch-io-MiniPack/3/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_5.png deleted file mode 100644 index d6945f2..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_5.png.import deleted file mode 100644 index b3a4ac2..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://d2q6n5nqkf7g3" -path="res://.godot/imported/1_5.png-1e522eaf21b05bc0c20fc57c693e76ff.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_5.png" -dest_files=["res://.godot/imported/1_5.png-1e522eaf21b05bc0c20fc57c693e76ff.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/effect/itch-io-MiniPack/3/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_6.png deleted file mode 100644 index 65b8e6a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_6.png.import deleted file mode 100644 index f07d2a7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://uwg5ml8gf4w7" -path="res://.godot/imported/1_6.png-ea4417b06659fb449af812923e2b34a1.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_6.png" -dest_files=["res://.godot/imported/1_6.png-ea4417b06659fb449af812923e2b34a1.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/effect/itch-io-MiniPack/3/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_7.png deleted file mode 100644 index 1f3f458..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_7.png.import deleted file mode 100644 index 0416321..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://4hufvbxlfr18" -path="res://.godot/imported/1_7.png-d3389092ca9f5992df202f950e12db88.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_7.png" -dest_files=["res://.godot/imported/1_7.png-d3389092ca9f5992df202f950e12db88.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/effect/itch-io-MiniPack/3/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_8.png deleted file mode 100644 index c192980..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_8.png.import deleted file mode 100644 index 9cdb817..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bsj40dku7y2a7" -path="res://.godot/imported/1_8.png-f0d4275eac3b9570bc26f7350371f6c5.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_8.png" -dest_files=["res://.godot/imported/1_8.png-f0d4275eac3b9570bc26f7350371f6c5.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/effect/itch-io-MiniPack/3/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_9.png deleted file mode 100644 index c753f81..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_9.png.import deleted file mode 100644 index f9d41d6..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/3/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bu1dv3enlf66s" -path="res://.godot/imported/1_9.png-0d752730bb83f36b95f74becc9093d41.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/3/1_9.png" -dest_files=["res://.godot/imported/1_9.png-0d752730bb83f36b95f74becc9093d41.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/effect/itch-io-MiniPack/4/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_0.png deleted file mode 100644 index 3ad1492..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_0.png.import deleted file mode 100644 index 5d7da8b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bm5iool0xw2j1" -path="res://.godot/imported/1_0.png-d57482ab70a0082661d5eb7c947e459c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_0.png" -dest_files=["res://.godot/imported/1_0.png-d57482ab70a0082661d5eb7c947e459c.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/effect/itch-io-MiniPack/4/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_1.png deleted file mode 100644 index b632822..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_1.png.import deleted file mode 100644 index ac6df33..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dwv6kw3qruvo5" -path="res://.godot/imported/1_1.png-edde6cd79900adccca4ca3e0957774a4.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_1.png" -dest_files=["res://.godot/imported/1_1.png-edde6cd79900adccca4ca3e0957774a4.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/effect/itch-io-MiniPack/4/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_10.png deleted file mode 100644 index 4cbfdaf..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_10.png.import deleted file mode 100644 index 3b74088..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cjswq21h8a0uc" -path="res://.godot/imported/1_10.png-26c487c18e5d50a2aadc3caa34fd7b85.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_10.png" -dest_files=["res://.godot/imported/1_10.png-26c487c18e5d50a2aadc3caa34fd7b85.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/effect/itch-io-MiniPack/4/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_11.png deleted file mode 100644 index a5a8e61..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_11.png.import deleted file mode 100644 index 5800982..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b3ormq0jebbkg" -path="res://.godot/imported/1_11.png-8d1c9c016fb101b78569ed8254d8fdb9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_11.png" -dest_files=["res://.godot/imported/1_11.png-8d1c9c016fb101b78569ed8254d8fdb9.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/effect/itch-io-MiniPack/4/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_12.png deleted file mode 100644 index ac357d3..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_12.png.import deleted file mode 100644 index 00ec12c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cqmjec0jp6yai" -path="res://.godot/imported/1_12.png-b4ba9aaf3f36d9226243fb417fbce815.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_12.png" -dest_files=["res://.godot/imported/1_12.png-b4ba9aaf3f36d9226243fb417fbce815.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/effect/itch-io-MiniPack/4/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_13.png deleted file mode 100644 index 6d6925f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_13.png.import deleted file mode 100644 index cb84451..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://f1ta5tu0al2b" -path="res://.godot/imported/1_13.png-0784098602d3d5efbe55a935fc627c3e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_13.png" -dest_files=["res://.godot/imported/1_13.png-0784098602d3d5efbe55a935fc627c3e.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/effect/itch-io-MiniPack/4/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_14.png deleted file mode 100644 index 2a21d5d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_14.png.import deleted file mode 100644 index b99bd53..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bfhl0fx576rr8" -path="res://.godot/imported/1_14.png-68495b096a09686a14641f2627c06284.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_14.png" -dest_files=["res://.godot/imported/1_14.png-68495b096a09686a14641f2627c06284.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/effect/itch-io-MiniPack/4/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_2.png deleted file mode 100644 index 04f12c0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_2.png.import deleted file mode 100644 index 72e8f49..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://iuh5tqcw871q" -path="res://.godot/imported/1_2.png-940ede56a192dc2a803f3ee1486d0579.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_2.png" -dest_files=["res://.godot/imported/1_2.png-940ede56a192dc2a803f3ee1486d0579.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/effect/itch-io-MiniPack/4/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_3.png deleted file mode 100644 index cd18891..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_3.png.import deleted file mode 100644 index 758603a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cpim7x8gsv2re" -path="res://.godot/imported/1_3.png-8e55e61f9b2c51f221f61b25bb14e722.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_3.png" -dest_files=["res://.godot/imported/1_3.png-8e55e61f9b2c51f221f61b25bb14e722.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/effect/itch-io-MiniPack/4/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_4.png deleted file mode 100644 index b60141e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_4.png.import deleted file mode 100644 index b0f7462..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://o77bwamh4giq" -path="res://.godot/imported/1_4.png-64fb2c568028d558f105fd58975703a7.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_4.png" -dest_files=["res://.godot/imported/1_4.png-64fb2c568028d558f105fd58975703a7.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/effect/itch-io-MiniPack/4/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_5.png deleted file mode 100644 index 1e83793..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_5.png.import deleted file mode 100644 index 058a14d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c030pkchub71x" -path="res://.godot/imported/1_5.png-377bf84adc25c2d5e51410cd7246e095.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_5.png" -dest_files=["res://.godot/imported/1_5.png-377bf84adc25c2d5e51410cd7246e095.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/effect/itch-io-MiniPack/4/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_6.png deleted file mode 100644 index 385d4da..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_6.png.import deleted file mode 100644 index 980cd9a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b4ed10blftola" -path="res://.godot/imported/1_6.png-3a010eb996fa34be1506a64fc0f28c6f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_6.png" -dest_files=["res://.godot/imported/1_6.png-3a010eb996fa34be1506a64fc0f28c6f.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/effect/itch-io-MiniPack/4/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_7.png deleted file mode 100644 index a1712f6..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_7.png.import deleted file mode 100644 index 3bf43e5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dumbvj047hdrb" -path="res://.godot/imported/1_7.png-de3602636924764fc2e2278f62031b29.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_7.png" -dest_files=["res://.godot/imported/1_7.png-de3602636924764fc2e2278f62031b29.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/effect/itch-io-MiniPack/4/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_8.png deleted file mode 100644 index 3380bf8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_8.png.import deleted file mode 100644 index 96b185e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://iswx6n20v1qc" -path="res://.godot/imported/1_8.png-3c7bd19a2038f375c9b156c4660a0b4c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_8.png" -dest_files=["res://.godot/imported/1_8.png-3c7bd19a2038f375c9b156c4660a0b4c.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/effect/itch-io-MiniPack/4/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_9.png deleted file mode 100644 index 40331e8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_9.png.import deleted file mode 100644 index b9b7a3f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/4/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cf3d45x0pmqm7" -path="res://.godot/imported/1_9.png-2ea379b01530ee7facc8441a4396f597.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/4/1_9.png" -dest_files=["res://.godot/imported/1_9.png-2ea379b01530ee7facc8441a4396f597.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/effect/itch-io-MiniPack/5/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_0.png deleted file mode 100644 index fc5d408..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_0.png.import deleted file mode 100644 index b54a577..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dfbu7o8nnk45w" -path="res://.godot/imported/1_0.png-acdcb092c2a3136ef24b2f66a2bb388b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_0.png" -dest_files=["res://.godot/imported/1_0.png-acdcb092c2a3136ef24b2f66a2bb388b.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/effect/itch-io-MiniPack/5/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_1.png deleted file mode 100644 index 204f2d1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_1.png.import deleted file mode 100644 index 0b4da2d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cvnkor87x1vyc" -path="res://.godot/imported/1_1.png-76de21c2871c1f2c2ba91ba368271413.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_1.png" -dest_files=["res://.godot/imported/1_1.png-76de21c2871c1f2c2ba91ba368271413.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/effect/itch-io-MiniPack/5/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_10.png deleted file mode 100644 index 2371b42..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_10.png.import deleted file mode 100644 index 878ae32..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://8isjke2yvios" -path="res://.godot/imported/1_10.png-d7c4a2f85b3c9d0ec494290df626378b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_10.png" -dest_files=["res://.godot/imported/1_10.png-d7c4a2f85b3c9d0ec494290df626378b.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/effect/itch-io-MiniPack/5/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_11.png deleted file mode 100644 index 639e3ca..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_11.png.import deleted file mode 100644 index 77e67a7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dwckw1hxlryol" -path="res://.godot/imported/1_11.png-469b78c2733f928df718e47c54d73811.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_11.png" -dest_files=["res://.godot/imported/1_11.png-469b78c2733f928df718e47c54d73811.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/effect/itch-io-MiniPack/5/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_12.png deleted file mode 100644 index e1ce3d9..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_12.png.import deleted file mode 100644 index 08136b9..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c7u10ewkpiuou" -path="res://.godot/imported/1_12.png-0734650e101cbe38881ba9ef7156cb2d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_12.png" -dest_files=["res://.godot/imported/1_12.png-0734650e101cbe38881ba9ef7156cb2d.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/effect/itch-io-MiniPack/5/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_13.png deleted file mode 100644 index cf753a0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_13.png.import deleted file mode 100644 index 7791c37..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bvmr126ck5tqh" -path="res://.godot/imported/1_13.png-563a9fb2e822927a3601814f1b782431.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_13.png" -dest_files=["res://.godot/imported/1_13.png-563a9fb2e822927a3601814f1b782431.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/effect/itch-io-MiniPack/5/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_14.png deleted file mode 100644 index 8528232..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_14.png.import deleted file mode 100644 index f5127ba..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dd8m5bntu7ps5" -path="res://.godot/imported/1_14.png-09f40e0a977ee443bbd4ddc40a827508.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_14.png" -dest_files=["res://.godot/imported/1_14.png-09f40e0a977ee443bbd4ddc40a827508.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/effect/itch-io-MiniPack/5/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_2.png deleted file mode 100644 index 4ba3de2..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_2.png.import deleted file mode 100644 index 9fc8916..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bk3yvoi5bvo5l" -path="res://.godot/imported/1_2.png-d5c86ee4bc07b33af032242bb614e0ba.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_2.png" -dest_files=["res://.godot/imported/1_2.png-d5c86ee4bc07b33af032242bb614e0ba.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/effect/itch-io-MiniPack/5/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_3.png deleted file mode 100644 index 4a4d137..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_3.png.import deleted file mode 100644 index 146b4f8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c3u4xmluektmy" -path="res://.godot/imported/1_3.png-93eb1b7cba37b2acffd356a9534f9924.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_3.png" -dest_files=["res://.godot/imported/1_3.png-93eb1b7cba37b2acffd356a9534f9924.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/effect/itch-io-MiniPack/5/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_4.png deleted file mode 100644 index 5c5d887..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_4.png.import deleted file mode 100644 index 86bd145..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://llq60qtfy0kg" -path="res://.godot/imported/1_4.png-80cea0411223113a6d025a5ee6d0df7d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_4.png" -dest_files=["res://.godot/imported/1_4.png-80cea0411223113a6d025a5ee6d0df7d.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/effect/itch-io-MiniPack/5/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_5.png deleted file mode 100644 index 3c796e9..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_5.png.import deleted file mode 100644 index 9ae6dca..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bmn33wnrx3g6q" -path="res://.godot/imported/1_5.png-cf7f664f1244c7d2a9a65e7fcc5466cb.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_5.png" -dest_files=["res://.godot/imported/1_5.png-cf7f664f1244c7d2a9a65e7fcc5466cb.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/effect/itch-io-MiniPack/5/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_6.png deleted file mode 100644 index 296976e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_6.png.import deleted file mode 100644 index f803594..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://44j5k3ggg1p8" -path="res://.godot/imported/1_6.png-3c5315bf04021a376a86f69a5a84ca74.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_6.png" -dest_files=["res://.godot/imported/1_6.png-3c5315bf04021a376a86f69a5a84ca74.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/effect/itch-io-MiniPack/5/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_7.png deleted file mode 100644 index 2d98921..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_7.png.import deleted file mode 100644 index a40cf1d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bcxjj8tbmcipv" -path="res://.godot/imported/1_7.png-a28af4a96d4aeed3a68a80ac69f02e9d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_7.png" -dest_files=["res://.godot/imported/1_7.png-a28af4a96d4aeed3a68a80ac69f02e9d.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/effect/itch-io-MiniPack/5/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_8.png deleted file mode 100644 index e28d302..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_8.png.import deleted file mode 100644 index 8a9520c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://carkql124mvy8" -path="res://.godot/imported/1_8.png-bd4e477e0458db360b63faf58506b2a2.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_8.png" -dest_files=["res://.godot/imported/1_8.png-bd4e477e0458db360b63faf58506b2a2.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/effect/itch-io-MiniPack/5/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_9.png deleted file mode 100644 index ea1c47e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_9.png.import deleted file mode 100644 index 3b07eb3..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/5/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c554dcbkmhwda" -path="res://.godot/imported/1_9.png-ab58993b6db5809708f39236a240c3a6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/5/1_9.png" -dest_files=["res://.godot/imported/1_9.png-ab58993b6db5809708f39236a240c3a6.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/effect/itch-io-MiniPack/6/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_0.png deleted file mode 100644 index 332b1af..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_0.png.import deleted file mode 100644 index 08e3891..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cb8s4ve7mguqb" -path="res://.godot/imported/1_0.png-bcf48e963494b07d4d18f4f6b889b827.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_0.png" -dest_files=["res://.godot/imported/1_0.png-bcf48e963494b07d4d18f4f6b889b827.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/effect/itch-io-MiniPack/6/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_1.png deleted file mode 100644 index 1372512..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_1.png.import deleted file mode 100644 index 992a1ad..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://wslm8kgy560o" -path="res://.godot/imported/1_1.png-1b756d342591d65c38caaedfca3f53ec.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_1.png" -dest_files=["res://.godot/imported/1_1.png-1b756d342591d65c38caaedfca3f53ec.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/effect/itch-io-MiniPack/6/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_10.png deleted file mode 100644 index 3d6ccd0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_10.png.import deleted file mode 100644 index b380f7f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://n2wsrn1janpu" -path="res://.godot/imported/1_10.png-0600d5513a0de54de67cb670e8b82d9b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_10.png" -dest_files=["res://.godot/imported/1_10.png-0600d5513a0de54de67cb670e8b82d9b.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/effect/itch-io-MiniPack/6/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_11.png deleted file mode 100644 index 1f224d6..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_11.png.import deleted file mode 100644 index 54f15be..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cyj2o8ffsyquu" -path="res://.godot/imported/1_11.png-2fb062709331ffa2b66080528ddcb74d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_11.png" -dest_files=["res://.godot/imported/1_11.png-2fb062709331ffa2b66080528ddcb74d.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/effect/itch-io-MiniPack/6/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_12.png deleted file mode 100644 index 148c0a4..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_12.png.import deleted file mode 100644 index 279dc1c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://boos6v8hx6h6f" -path="res://.godot/imported/1_12.png-37b6fd335029f9771889e3f85596f6cb.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_12.png" -dest_files=["res://.godot/imported/1_12.png-37b6fd335029f9771889e3f85596f6cb.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/effect/itch-io-MiniPack/6/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_13.png deleted file mode 100644 index 6e08b07..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_13.png.import deleted file mode 100644 index 8a239e0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c2xsn1hfvssj3" -path="res://.godot/imported/1_13.png-ad18956352021f4c8b5bce0baed64e37.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_13.png" -dest_files=["res://.godot/imported/1_13.png-ad18956352021f4c8b5bce0baed64e37.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/effect/itch-io-MiniPack/6/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_14.png deleted file mode 100644 index fb12b63..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_14.png.import deleted file mode 100644 index 255d422..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://8vj5hjrh83lc" -path="res://.godot/imported/1_14.png-39f5c533552b1401bc6149bf5a1adec8.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_14.png" -dest_files=["res://.godot/imported/1_14.png-39f5c533552b1401bc6149bf5a1adec8.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/effect/itch-io-MiniPack/6/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_2.png deleted file mode 100644 index 7f773e2..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_2.png.import deleted file mode 100644 index 05aa2b4..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://1oelvjoouubu" -path="res://.godot/imported/1_2.png-429813c75900d5e9482b46b1f2115443.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_2.png" -dest_files=["res://.godot/imported/1_2.png-429813c75900d5e9482b46b1f2115443.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/effect/itch-io-MiniPack/6/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_3.png deleted file mode 100644 index 65c787b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_3.png.import deleted file mode 100644 index 13e68c7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://hcr17xu55i4" -path="res://.godot/imported/1_3.png-4c78b07180538dc439d5e51a35aa22ea.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_3.png" -dest_files=["res://.godot/imported/1_3.png-4c78b07180538dc439d5e51a35aa22ea.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/effect/itch-io-MiniPack/6/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_4.png deleted file mode 100644 index 2085cd7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_4.png.import deleted file mode 100644 index 91e2b4b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://du5kmx31xxbi" -path="res://.godot/imported/1_4.png-7e90abfd7c3e1bf058bdbada22509318.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_4.png" -dest_files=["res://.godot/imported/1_4.png-7e90abfd7c3e1bf058bdbada22509318.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/effect/itch-io-MiniPack/6/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_5.png deleted file mode 100644 index 4c3f898..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_5.png.import deleted file mode 100644 index 330452b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bbklmagkk7juu" -path="res://.godot/imported/1_5.png-03b714942d0d46c57b7a113b167da193.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_5.png" -dest_files=["res://.godot/imported/1_5.png-03b714942d0d46c57b7a113b167da193.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/effect/itch-io-MiniPack/6/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_6.png deleted file mode 100644 index a284592..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_6.png.import deleted file mode 100644 index c86ce73..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ds6l24exe7ga8" -path="res://.godot/imported/1_6.png-791c4d6ecaef174ae5ec0e967488c2c6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_6.png" -dest_files=["res://.godot/imported/1_6.png-791c4d6ecaef174ae5ec0e967488c2c6.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/effect/itch-io-MiniPack/6/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_7.png deleted file mode 100644 index c1559ba..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_7.png.import deleted file mode 100644 index 1d0fdfc..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://p1mdy4fcsgj4" -path="res://.godot/imported/1_7.png-0679eebcc1637d741581a298e32858b6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_7.png" -dest_files=["res://.godot/imported/1_7.png-0679eebcc1637d741581a298e32858b6.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/effect/itch-io-MiniPack/6/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_8.png deleted file mode 100644 index 14dd1cf..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_8.png.import deleted file mode 100644 index 863d145..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://4p4lfudhwhhe" -path="res://.godot/imported/1_8.png-ec80c95a2dd0bf7c9fd2cac59233d275.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_8.png" -dest_files=["res://.godot/imported/1_8.png-ec80c95a2dd0bf7c9fd2cac59233d275.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/effect/itch-io-MiniPack/6/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_9.png deleted file mode 100644 index 3c857f1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_9.png.import deleted file mode 100644 index d2d8d5b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/6/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://db3n1fd50rxh7" -path="res://.godot/imported/1_9.png-be573e53b164f5d7d4948b44b73d2d6d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/6/1_9.png" -dest_files=["res://.godot/imported/1_9.png-be573e53b164f5d7d4948b44b73d2d6d.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/effect/itch-io-MiniPack/7/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_0.png deleted file mode 100644 index 0105748..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_0.png.import deleted file mode 100644 index 82437aa..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ba506a63vsb3w" -path="res://.godot/imported/1_0.png-655bfac5d978a366646117f9cb40f350.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_0.png" -dest_files=["res://.godot/imported/1_0.png-655bfac5d978a366646117f9cb40f350.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/effect/itch-io-MiniPack/7/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_1.png deleted file mode 100644 index cb72786..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_1.png.import deleted file mode 100644 index 1110f5b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://caoe8f3n8lgtt" -path="res://.godot/imported/1_1.png-80690ce791039fac362662d2612012f4.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_1.png" -dest_files=["res://.godot/imported/1_1.png-80690ce791039fac362662d2612012f4.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/effect/itch-io-MiniPack/7/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_10.png deleted file mode 100644 index 653eeb6..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_10.png.import deleted file mode 100644 index 39ef3a6..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ch48sl2tvd4wx" -path="res://.godot/imported/1_10.png-55f0a04a88c608a5ac07720c20c1e55d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_10.png" -dest_files=["res://.godot/imported/1_10.png-55f0a04a88c608a5ac07720c20c1e55d.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/effect/itch-io-MiniPack/7/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_11.png deleted file mode 100644 index 7c3e22f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_11.png.import deleted file mode 100644 index ea4df6c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cssku1cp1w1du" -path="res://.godot/imported/1_11.png-9779c36acb30a402fb8daf54b657fdd6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_11.png" -dest_files=["res://.godot/imported/1_11.png-9779c36acb30a402fb8daf54b657fdd6.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/effect/itch-io-MiniPack/7/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_12.png deleted file mode 100644 index 7afb614..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_12.png.import deleted file mode 100644 index 93db722..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://beyueatb8fj2h" -path="res://.godot/imported/1_12.png-a67cd29aa70458532058492f49928a8f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_12.png" -dest_files=["res://.godot/imported/1_12.png-a67cd29aa70458532058492f49928a8f.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/effect/itch-io-MiniPack/7/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_13.png deleted file mode 100644 index e2c290e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_13.png.import deleted file mode 100644 index 53f63cb..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bm3gw83usxvk7" -path="res://.godot/imported/1_13.png-a1530701775303cbd35468ceaee17c6f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_13.png" -dest_files=["res://.godot/imported/1_13.png-a1530701775303cbd35468ceaee17c6f.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/effect/itch-io-MiniPack/7/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_14.png deleted file mode 100644 index acf4377..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_14.png.import deleted file mode 100644 index 446a1cf..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://csksjgpjye6ui" -path="res://.godot/imported/1_14.png-01603787593841c60efc276cc0c7757b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_14.png" -dest_files=["res://.godot/imported/1_14.png-01603787593841c60efc276cc0c7757b.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/effect/itch-io-MiniPack/7/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_2.png deleted file mode 100644 index a701acc..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_2.png.import deleted file mode 100644 index 351ff96..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://pusd80e716jc" -path="res://.godot/imported/1_2.png-7e4cbe3084659d55cf909337de1416fc.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_2.png" -dest_files=["res://.godot/imported/1_2.png-7e4cbe3084659d55cf909337de1416fc.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/effect/itch-io-MiniPack/7/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_3.png deleted file mode 100644 index c1f5062..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_3.png.import deleted file mode 100644 index ca32963..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://befs1pcci3xdi" -path="res://.godot/imported/1_3.png-5364701630c05a3650156423575999a5.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_3.png" -dest_files=["res://.godot/imported/1_3.png-5364701630c05a3650156423575999a5.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/effect/itch-io-MiniPack/7/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_4.png deleted file mode 100644 index c7c4e87..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_4.png.import deleted file mode 100644 index d8092c8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://capkp0alpq4a5" -path="res://.godot/imported/1_4.png-30f6918d73ea2876c11bcca0b1d4320a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_4.png" -dest_files=["res://.godot/imported/1_4.png-30f6918d73ea2876c11bcca0b1d4320a.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/effect/itch-io-MiniPack/7/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_5.png deleted file mode 100644 index 063f727..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_5.png.import deleted file mode 100644 index e975b19..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://uo7hi7xb32d4" -path="res://.godot/imported/1_5.png-a3f0adf992d66619ee3b006c09234971.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_5.png" -dest_files=["res://.godot/imported/1_5.png-a3f0adf992d66619ee3b006c09234971.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/effect/itch-io-MiniPack/7/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_6.png deleted file mode 100644 index d7d3f5f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_6.png.import deleted file mode 100644 index d4f9cff..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://wlruhsj4lxwm" -path="res://.godot/imported/1_6.png-fee4c28367320eb087f9f5fd928b7051.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_6.png" -dest_files=["res://.godot/imported/1_6.png-fee4c28367320eb087f9f5fd928b7051.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/effect/itch-io-MiniPack/7/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_7.png deleted file mode 100644 index e719f52..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_7.png.import deleted file mode 100644 index f0f8f2e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cxmvwyk7umlle" -path="res://.godot/imported/1_7.png-484e2065c7fc3a4e912c6df4772ecf22.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_7.png" -dest_files=["res://.godot/imported/1_7.png-484e2065c7fc3a4e912c6df4772ecf22.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/effect/itch-io-MiniPack/7/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_8.png deleted file mode 100644 index 7f64d25..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_8.png.import deleted file mode 100644 index 70cf848..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://depq4xyxfjj8d" -path="res://.godot/imported/1_8.png-8b30ec83cd55f0eb51215d8e4e652e92.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_8.png" -dest_files=["res://.godot/imported/1_8.png-8b30ec83cd55f0eb51215d8e4e652e92.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/effect/itch-io-MiniPack/7/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_9.png deleted file mode 100644 index 64f7086..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_9.png.import deleted file mode 100644 index 11274b1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/7/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://1irhkhrhtysi" -path="res://.godot/imported/1_9.png-1b82e268590f96b4d2a873424931bed3.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/7/1_9.png" -dest_files=["res://.godot/imported/1_9.png-1b82e268590f96b4d2a873424931bed3.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/effect/itch-io-MiniPack/8/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_0.png deleted file mode 100644 index ddefcb0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_0.png.import deleted file mode 100644 index 5d9856a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bhfsy3itt65tp" -path="res://.godot/imported/1_0.png-4999729c4a1dbaf3e7cf548dd1446d2f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_0.png" -dest_files=["res://.godot/imported/1_0.png-4999729c4a1dbaf3e7cf548dd1446d2f.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/effect/itch-io-MiniPack/8/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_1.png deleted file mode 100644 index 2c3b895..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_1.png.import deleted file mode 100644 index 392f91b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://rpjm6y24ddw1" -path="res://.godot/imported/1_1.png-066b8aea1db8323b1a02b0392b29ba63.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_1.png" -dest_files=["res://.godot/imported/1_1.png-066b8aea1db8323b1a02b0392b29ba63.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/effect/itch-io-MiniPack/8/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_10.png deleted file mode 100644 index b3e7e1b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_10.png.import deleted file mode 100644 index e87d8bf..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dq0xjmxmuqixl" -path="res://.godot/imported/1_10.png-9df15d70e6d5360577e9cb45b5a0aac4.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_10.png" -dest_files=["res://.godot/imported/1_10.png-9df15d70e6d5360577e9cb45b5a0aac4.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/effect/itch-io-MiniPack/8/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_11.png deleted file mode 100644 index d6282f3..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_11.png.import deleted file mode 100644 index 33e78dc..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://p4ohyxycsdfm" -path="res://.godot/imported/1_11.png-4a185e1f44635418f3a59a03abde4fe4.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_11.png" -dest_files=["res://.godot/imported/1_11.png-4a185e1f44635418f3a59a03abde4fe4.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/effect/itch-io-MiniPack/8/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_12.png deleted file mode 100644 index f520c90..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_12.png.import deleted file mode 100644 index 2a82192..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c45vhl285vmcp" -path="res://.godot/imported/1_12.png-2fee94ebce65328fa7602a1b46a1d5b6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_12.png" -dest_files=["res://.godot/imported/1_12.png-2fee94ebce65328fa7602a1b46a1d5b6.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/effect/itch-io-MiniPack/8/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_13.png deleted file mode 100644 index 160fb71..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_13.png.import deleted file mode 100644 index 9f96a91..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dbcwmdpwp2n5d" -path="res://.godot/imported/1_13.png-ad5aecd78ed4b134ac977e42879ef3c9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_13.png" -dest_files=["res://.godot/imported/1_13.png-ad5aecd78ed4b134ac977e42879ef3c9.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/effect/itch-io-MiniPack/8/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_14.png deleted file mode 100644 index 4b71915..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_14.png.import deleted file mode 100644 index 38825aa..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://blslvpndlghhe" -path="res://.godot/imported/1_14.png-e41a7923fe39c47768def6d9ab0e71fc.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_14.png" -dest_files=["res://.godot/imported/1_14.png-e41a7923fe39c47768def6d9ab0e71fc.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/effect/itch-io-MiniPack/8/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_2.png deleted file mode 100644 index d3caf33..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_2.png.import deleted file mode 100644 index 7ed56c5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c54mqjdk4via6" -path="res://.godot/imported/1_2.png-f5cd9a813089d10cc94e277578e382ed.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_2.png" -dest_files=["res://.godot/imported/1_2.png-f5cd9a813089d10cc94e277578e382ed.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/effect/itch-io-MiniPack/8/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_3.png deleted file mode 100644 index af067c1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_3.png.import deleted file mode 100644 index 2380da8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://oq8u6i6mweru" -path="res://.godot/imported/1_3.png-fe2d5240ece29568082a2a4ebbf29467.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_3.png" -dest_files=["res://.godot/imported/1_3.png-fe2d5240ece29568082a2a4ebbf29467.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/effect/itch-io-MiniPack/8/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_4.png deleted file mode 100644 index ca47301..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_4.png.import deleted file mode 100644 index 534d2ed..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c47pyo65s58g3" -path="res://.godot/imported/1_4.png-77fac48c77afe920fc5e8c4667a9a5e6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_4.png" -dest_files=["res://.godot/imported/1_4.png-77fac48c77afe920fc5e8c4667a9a5e6.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/effect/itch-io-MiniPack/8/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_5.png deleted file mode 100644 index c93412f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_5.png.import deleted file mode 100644 index 6c0cd3b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://r0iuvsv354w8" -path="res://.godot/imported/1_5.png-9510c64e50f9998724d489e05ad12175.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_5.png" -dest_files=["res://.godot/imported/1_5.png-9510c64e50f9998724d489e05ad12175.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/effect/itch-io-MiniPack/8/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_6.png deleted file mode 100644 index 1650ca8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_6.png.import deleted file mode 100644 index cf7e860..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cwlwtn6fc8fec" -path="res://.godot/imported/1_6.png-ff86f20ff216874d1c7df7a8fbd56c56.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_6.png" -dest_files=["res://.godot/imported/1_6.png-ff86f20ff216874d1c7df7a8fbd56c56.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/effect/itch-io-MiniPack/8/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_7.png deleted file mode 100644 index c554558..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_7.png.import deleted file mode 100644 index 47913f9..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bvqn7lg0jurav" -path="res://.godot/imported/1_7.png-e9f50940c8fb7d21f251eea6c224c833.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_7.png" -dest_files=["res://.godot/imported/1_7.png-e9f50940c8fb7d21f251eea6c224c833.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/effect/itch-io-MiniPack/8/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_8.png deleted file mode 100644 index 484150c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_8.png.import deleted file mode 100644 index 10cf96d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b2e1wonuglbkm" -path="res://.godot/imported/1_8.png-8531f8d492433aa377fdfd9656315b17.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_8.png" -dest_files=["res://.godot/imported/1_8.png-8531f8d492433aa377fdfd9656315b17.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/effect/itch-io-MiniPack/8/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_9.png deleted file mode 100644 index d9cb807..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_9.png.import deleted file mode 100644 index ddb44cf..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/8/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://6jp4cdu6wvl0" -path="res://.godot/imported/1_9.png-584c03ae6b4dd1d3f2a5c8335b48b3b6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/8/1_9.png" -dest_files=["res://.godot/imported/1_9.png-584c03ae6b4dd1d3f2a5c8335b48b3b6.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/effect/itch-io-MiniPack/9/1_0.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_0.png deleted file mode 100644 index 5be81ce..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_0.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_0.png.import deleted file mode 100644 index 840331a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ci8ukw5kl13p6" -path="res://.godot/imported/1_0.png-9a83d7da7ba9492e611bb8729639ce86.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_0.png" -dest_files=["res://.godot/imported/1_0.png-9a83d7da7ba9492e611bb8729639ce86.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/effect/itch-io-MiniPack/9/1_1.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_1.png deleted file mode 100644 index 359dbe5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_1.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_1.png.import deleted file mode 100644 index 089bfd7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://tyx353krn2yv" -path="res://.godot/imported/1_1.png-d6fb3c3cbf73d6332b80930e81baf4a2.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_1.png" -dest_files=["res://.godot/imported/1_1.png-d6fb3c3cbf73d6332b80930e81baf4a2.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/effect/itch-io-MiniPack/9/1_10.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_10.png deleted file mode 100644 index 2abe121..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_10.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_10.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_10.png.import deleted file mode 100644 index a1e8584..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_10.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cla0gotc7xjl1" -path="res://.godot/imported/1_10.png-1e0fc38ea56f276a6596ea912d799909.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_10.png" -dest_files=["res://.godot/imported/1_10.png-1e0fc38ea56f276a6596ea912d799909.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/effect/itch-io-MiniPack/9/1_11.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_11.png deleted file mode 100644 index ec8e611..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_11.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_11.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_11.png.import deleted file mode 100644 index 6d19ad8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_11.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bl0h5l68ra2dl" -path="res://.godot/imported/1_11.png-36b4b11e92120042f13c233998950243.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_11.png" -dest_files=["res://.godot/imported/1_11.png-36b4b11e92120042f13c233998950243.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/effect/itch-io-MiniPack/9/1_12.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_12.png deleted file mode 100644 index 157a88d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_12.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_12.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_12.png.import deleted file mode 100644 index 56689f8..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_12.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dldb7lvbj5g4f" -path="res://.godot/imported/1_12.png-2d59010b2847d1e46747397ed962cf6c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_12.png" -dest_files=["res://.godot/imported/1_12.png-2d59010b2847d1e46747397ed962cf6c.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/effect/itch-io-MiniPack/9/1_13.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_13.png deleted file mode 100644 index b8b969c..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_13.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_13.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_13.png.import deleted file mode 100644 index 34948a7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_13.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://1j5q17c1ct6e" -path="res://.godot/imported/1_13.png-07b9d3cc6a5b639d24e9ff441188de99.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_13.png" -dest_files=["res://.godot/imported/1_13.png-07b9d3cc6a5b639d24e9ff441188de99.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/effect/itch-io-MiniPack/9/1_14.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_14.png deleted file mode 100644 index 6398f25..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_14.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_14.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_14.png.import deleted file mode 100644 index 54542b0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_14.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://beho81lye8ng" -path="res://.godot/imported/1_14.png-c506cc6551faf1d2a6e0c9a8a8139c6e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_14.png" -dest_files=["res://.godot/imported/1_14.png-c506cc6551faf1d2a6e0c9a8a8139c6e.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/effect/itch-io-MiniPack/9/1_2.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_2.png deleted file mode 100644 index d349a5a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_2.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_2.png.import deleted file mode 100644 index 7058f5d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dugovhrg1gjpe" -path="res://.godot/imported/1_2.png-cfbc25918c3785ccc3e1e757a1decf84.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_2.png" -dest_files=["res://.godot/imported/1_2.png-cfbc25918c3785ccc3e1e757a1decf84.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/effect/itch-io-MiniPack/9/1_3.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_3.png deleted file mode 100644 index 94406ff..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_3.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_3.png.import deleted file mode 100644 index 0fe2fd4..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://d4gfwddqtsx7n" -path="res://.godot/imported/1_3.png-e693ff4e716e080cab370b43fe4f9ab9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_3.png" -dest_files=["res://.godot/imported/1_3.png-e693ff4e716e080cab370b43fe4f9ab9.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/effect/itch-io-MiniPack/9/1_4.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_4.png deleted file mode 100644 index b52a335..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_4.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_4.png.import deleted file mode 100644 index 41bc110..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dg2xs1cv1x382" -path="res://.godot/imported/1_4.png-58c8ee11eac831f33a1c7f9f74d18972.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_4.png" -dest_files=["res://.godot/imported/1_4.png-58c8ee11eac831f33a1c7f9f74d18972.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/effect/itch-io-MiniPack/9/1_5.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_5.png deleted file mode 100644 index ce4a7c4..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_5.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_5.png.import deleted file mode 100644 index 8477ca7..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://wei15np48lj3" -path="res://.godot/imported/1_5.png-599e5d98b2d986ce38181943e8cf020a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_5.png" -dest_files=["res://.godot/imported/1_5.png-599e5d98b2d986ce38181943e8cf020a.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/effect/itch-io-MiniPack/9/1_6.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_6.png deleted file mode 100644 index 990af37..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_6.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_6.png.import deleted file mode 100644 index 9c0af65..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bvqh4viw2f2xu" -path="res://.godot/imported/1_6.png-18fe0be10a98ab5920533f201691fc91.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_6.png" -dest_files=["res://.godot/imported/1_6.png-18fe0be10a98ab5920533f201691fc91.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/effect/itch-io-MiniPack/9/1_7.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_7.png deleted file mode 100644 index ed94a3a..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_7.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_7.png.import deleted file mode 100644 index 69165a1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c20ugxf0j63oy" -path="res://.godot/imported/1_7.png-789980e09e97078ffb5a20653b87c3b6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_7.png" -dest_files=["res://.godot/imported/1_7.png-789980e09e97078ffb5a20653b87c3b6.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/effect/itch-io-MiniPack/9/1_8.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_8.png deleted file mode 100644 index 5b8bd58..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_8.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_8.png.import deleted file mode 100644 index 253085b..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c1g1o3xm8ruww" -path="res://.godot/imported/1_8.png-218561a4067910bbc9957620f1ca2884.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_8.png" -dest_files=["res://.godot/imported/1_8.png-218561a4067910bbc9957620f1ca2884.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/effect/itch-io-MiniPack/9/1_9.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_9.png deleted file mode 100644 index f0cdfb0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_9.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_9.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_9.png.import deleted file mode 100644 index 2b5a23d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/9/1_9.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://buug3wn1bnauu" -path="res://.godot/imported/1_9.png-794c37cf4fdc52c5583d7c446caa0b30.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-MiniPack/9/1_9.png" -dest_files=["res://.godot/imported/1_9.png-794c37cf4fdc52c5583d7c446caa0b30.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/effect/itch-io-MiniPack/website.txt b/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/website.txt deleted file mode 100644 index 2a02caa..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-MiniPack/website.txt +++ /dev/null @@ -1 +0,0 @@ -https://xyezawr.itch.io/free-pixel-effects-pack8 \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png deleted file mode 100644 index 92a0442..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png.import deleted file mode 100644 index 8988747..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dwp0whfe6jcjy" -path="res://.godot/imported/Effect 1 - Sprite Sheet.png-d62485e0ad4a6271cbbb86bd241745c5.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png" -dest_files=["res://.godot/imported/Effect 1 - Sprite Sheet.png-d62485e0ad4a6271cbbb86bd241745c5.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/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png deleted file mode 100644 index 22ca629..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png.import deleted file mode 100644 index 81cc922..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://seq1w8qc84e0" -path="res://.godot/imported/Effect 2 - Sprite Sheet.png-f18966135b9f965b23cc853e0e9cd35b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png" -dest_files=["res://.godot/imported/Effect 2 - Sprite Sheet.png-f18966135b9f965b23cc853e0e9cd35b.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/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png deleted file mode 100644 index 26158b5..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png.import deleted file mode 100644 index 2bc075d..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cjsqjteeo0lcp" -path="res://.godot/imported/Effect 3 - Sprite Sheet.png-a092da7a5c5099536b1bad4970dfd831.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png" -dest_files=["res://.godot/imported/Effect 3 - Sprite Sheet.png-a092da7a5c5099536b1bad4970dfd831.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/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png deleted file mode 100644 index 4e8ebec..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png.import deleted file mode 100644 index 7fb8302..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ci7vww2a0eiv0" -path="res://.godot/imported/Effect 4 - Sprite Sheet.png-408c2dd5faca1f1da98ec9fe633107eb.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png" -dest_files=["res://.godot/imported/Effect 4 - Sprite Sheet.png-408c2dd5faca1f1da98ec9fe633107eb.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/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png deleted file mode 100644 index d24f9ea..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png.import deleted file mode 100644 index 94168f4..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cgcckvcjgecut" -path="res://.godot/imported/Effect1 Gameboy Spritesheet.png-8ecac65dcb760932ecd8c466e32ef8e6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png" -dest_files=["res://.godot/imported/Effect1 Gameboy Spritesheet.png-8ecac65dcb760932ecd8c466e32ef8e6.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/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png deleted file mode 100644 index 948f427..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png.import deleted file mode 100644 index 65bbfa1..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ddtbpg6uh33v3" -path="res://.godot/imported/Effect3 Gameboy Spritesheet.png-68b16fa58108fc3f614e749696c38607.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png" -dest_files=["res://.godot/imported/Effect3 Gameboy Spritesheet.png-68b16fa58108fc3f614e749696c38607.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/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png deleted file mode 100644 index 7e81424..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png.import deleted file mode 100644 index 2c94864..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://yl4w13f073vl" -path="res://.godot/imported/Effect4 Gameboy Spritesheet.png-39492d49cc19343081c17a903b3ccad1.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png" -dest_files=["res://.godot/imported/Effect4 Gameboy Spritesheet.png-39492d49cc19343081c17a903b3ccad1.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/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png deleted file mode 100644 index 01a154e..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png.import b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png.import deleted file mode 100644 index a98ec3f..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://lxmr2uqyb8s2" -path="res://.godot/imported/Effectst2 Gameboy Spritesheet.png-cfbfb0796e6b6b4f913fc5418fe150b9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png" -dest_files=["res://.godot/imported/Effectst2 Gameboy Spritesheet.png-cfbfb0796e6b6b4f913fc5418fe150b9.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/effect/itch-io-pixel-battle-effects/website.txt b/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/website.txt deleted file mode 100644 index 84a24d0..0000000 --- a/DungeonShooting_Godot/resource/sprite/effect/itch-io-pixel-battle-effects/website.txt +++ /dev/null @@ -1 +0,0 @@ -https://pimen.itch.io/pixel-battle-effects \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/sprite/effects/Circle.png b/DungeonShooting_Godot/resource/sprite/effects/Circle.png new file mode 100644 index 0000000..b441812 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Circle.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Circle.png.import b/DungeonShooting_Godot/resource/sprite/effects/Circle.png.import new file mode 100644 index 0000000..7b5d4f7 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Circle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgptnp74ive4r" +path="res://.godot/imported/Circle.png-a2c1c1644069aac7590ae57b452f8682.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/Circle.png" +dest_files=["res://.godot/imported/Circle.png-a2c1c1644069aac7590ae57b452f8682.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/effects/Collision.png b/DungeonShooting_Godot/resource/sprite/effects/Collision.png new file mode 100644 index 0000000..f15c822 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Collision.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Collision.png.import b/DungeonShooting_Godot/resource/sprite/effects/Collision.png.import new file mode 100644 index 0000000..a7cddfb --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Collision.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwa4chrugc6b1" +path="res://.godot/imported/Collision.png-c44899b0822a30bd5fe788c9b566e1c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/Collision.png" +dest_files=["res://.godot/imported/Collision.png-c44899b0822a30bd5fe788c9b566e1c7.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/effects/Effect1.png b/DungeonShooting_Godot/resource/sprite/effects/Effect1.png new file mode 100644 index 0000000..51ef9a9 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Effect1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Effect1.png.import b/DungeonShooting_Godot/resource/sprite/effects/Effect1.png.import new file mode 100644 index 0000000..73c78cc --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Effect1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csud4e6kc3iku" +path="res://.godot/imported/Effect1.png-851e49cafde0258e42b0cba6b7034139.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/Effect1.png" +dest_files=["res://.godot/imported/Effect1.png-851e49cafde0258e42b0cba6b7034139.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/effects/Explosion.png b/DungeonShooting_Godot/resource/sprite/effects/Explosion.png new file mode 100644 index 0000000..dab1f49 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Explosion.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Explosion.png.import b/DungeonShooting_Godot/resource/sprite/effects/Explosion.png.import new file mode 100644 index 0000000..27c5b4b --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Explosion.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d8ot2wrdoe4j" +path="res://.godot/imported/Explosion.png-f6ade742e1df9fc7ae3c5f68bc2d2284.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/Explosion.png" +dest_files=["res://.godot/imported/Explosion.png-f6ade742e1df9fc7ae3c5f68bc2d2284.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/effects/KnifeHit1.png b/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png new file mode 100644 index 0000000..83465d0 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png.import b/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png.import new file mode 100644 index 0000000..1e10427 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/KnifeHit1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dx07ta0asnmuw" +path="res://.godot/imported/KnifeHit1.png-6ddd3aef14cf0bb7d2f668cd41ac74d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/KnifeHit1.png" +dest_files=["res://.godot/imported/KnifeHit1.png-6ddd3aef14cf0bb7d2f668cd41ac74d0.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/effects/ShotFire.png b/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png new file mode 100644 index 0000000..5c6d63a --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png.import b/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png.import new file mode 100644 index 0000000..6eda108 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/ShotFire.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0jsyrbk4bydt" +path="res://.godot/imported/ShotFire.png-19fbeb61d685dfc2c763d73aa70d548b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/ShotFire.png" +dest_files=["res://.godot/imported/ShotFire.png-19fbeb61d685dfc2c763d73aa70d548b.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/effects/Smoke.png b/DungeonShooting_Godot/resource/sprite/effects/Smoke.png new file mode 100644 index 0000000..f358c57 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Smoke.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/Smoke.png.import b/DungeonShooting_Godot/resource/sprite/effects/Smoke.png.import new file mode 100644 index 0000000..11eadf7 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/Smoke.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h7hkgbwj1li" +path="res://.godot/imported/Smoke.png-6cf8f8f0055f43a859d02942814cba94.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/Smoke.png" +dest_files=["res://.godot/imported/Smoke.png-6cf8f8f0055f43a859d02942814cba94.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/effects/debug_arrows.png b/DungeonShooting_Godot/resource/sprite/effects/debug_arrows.png new file mode 100644 index 0000000..a92ff48 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/debug_arrows.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/effects/debug_arrows.png.import b/DungeonShooting_Godot/resource/sprite/effects/debug_arrows.png.import new file mode 100644 index 0000000..0a070ab --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/effects/debug_arrows.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv0i11jk5te5u" +path="res://.godot/imported/debug_arrows.png-8070fefa9c5a4f250534aaddd14d315c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/effects/debug_arrows.png" +dest_files=["res://.godot/imported/debug_arrows.png-8070fefa9c5a4f250534aaddd14d315c.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/environment/craftpix-net-248911/16x16.png b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/16x16.png deleted file mode 100644 index 25987fc..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/16x16.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/16x16.png.import b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/16x16.png.import deleted file mode 100644 index f96e7a9..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/16x16.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://brk1udnii78hm" -path="res://.godot/imported/16x16.png-6e9ff775940a8533671e6598dc2d886d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/craftpix-net-248911/16x16.png" -dest_files=["res://.godot/imported/16x16.png-6e9ff775940a8533671e6598dc2d886d.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/environment/craftpix-net-248911/A Note to the Dev.txt b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/A Note to the Dev.txt deleted file mode 100644 index 6596983..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/A Note to the Dev.txt +++ /dev/null @@ -1,15 +0,0 @@ -Ho ho, the title got you, huh! :) - -Hello, thank you for your purchase! - -I'm Caio, the Clockwork Raven Studios artist, owner, and i hope this product live up to your expectations, i want you to know that your interest in my projects is what makes me work on it even harder. - -In case if it doesn't take up too much of your time, I would like to see what you're thinking about it in the comments, in the page of the store that you purchased the product, this helps me a lot! - -You can also see my progress in the creation of new assets and/or make suggestions, follow my twitter here: https://twitter.com/cwrstudios - -If you like my work, i would recommend you to take a look at my Patreon, you get spoilers of my upcoming assets, a community and everything i already made for only $5, and for staying as a Patron you'll always receive my new assets for free! - -My Patreon: https://www.patreon.com/clockworkravenstudios - -Regards, Caio \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png deleted file mode 100644 index 25987fc..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png.import b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png.import deleted file mode 100644 index 89dc5e9..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bgmkr3k6dfdsw" -path="res://.godot/imported/16x16.png-03810c2e769fb05274c12adf666f9aa1.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png" -dest_files=["res://.godot/imported/16x16.png-03810c2e769fb05274c12adf666f9aa1.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/environment/craftpix-net-248911/EsRson.gif b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/EsRson.gif deleted file mode 100644 index 493642d..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/EsRson.gif +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/Palette/Pallete.txt b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/Palette/Pallete.txt deleted file mode 100644 index ad6e6d8..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/Palette/Pallete.txt +++ /dev/null @@ -1 +0,0 @@ -This palette belongs to Kerrie Lake, and can be found and downloaded for free here: https://lospec.com/palette-list/resurrect-64 \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/Rww2te.gif b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/Rww2te.gif deleted file mode 100644 index 977edd3..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/Rww2te.gif +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/license.txt b/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/license.txt deleted file mode 100644 index 673e1aa..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/craftpix-net-248911/license.txt +++ /dev/null @@ -1 +0,0 @@ -https://craftpix.net/file-licenses/ \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png deleted file mode 100644 index 26c54b7..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png.import deleted file mode 100644 index 37b8a2e..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dj8nrd5od4fcl" -path="res://.godot/imported/16x16 dungeon ii wall reconfig v04 spritesheet.png-912443f06cd2aff252dec097396c5d34.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png" -dest_files=["res://.godot/imported/16x16 dungeon ii wall reconfig v04 spritesheet.png-912443f06cd2aff252dec097396c5d34.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/environment/itch-io-DungeonTileset4/bow/arrow.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/arrow.png deleted file mode 100644 index 4baebfb..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/arrow.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/arrow.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/arrow.png.import deleted file mode 100644 index 75f2ce4..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/arrow.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bqwt06ei11krp" -path="res://.godot/imported/arrow.png-d945c13a6ca437c3e71d6adb0e3d6c2d.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/bow/arrow.png" -dest_files=["res://.godot/imported/arrow.png-d945c13a6ca437c3e71d6adb0e3d6c2d.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/environment/itch-io-DungeonTileset4/bow/bow.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/bow.png deleted file mode 100644 index 0654ef2..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/bow.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/bow.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/bow.png.import deleted file mode 100644 index 2dc8fb2..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/bow.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://br2qjnk51rgr3" -path="res://.godot/imported/bow.png-cf7ed3be40c3c132dffe693ed3eaea62.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/bow/bow.png" -dest_files=["res://.godot/imported/bow.png-cf7ed3be40c3c132dffe693ed3eaea62.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/environment/itch-io-DungeonTileset4/bow/effect/hit0.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit0.png deleted file mode 100644 index a4457f0..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit0.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit0.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit0.png.import deleted file mode 100644 index 9e87455..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://0rl2vt3wp2u0" -path="res://.godot/imported/hit0.png-f6ae5bf8aa634586ba35cd298657e88f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit0.png" -dest_files=["res://.godot/imported/hit0.png-f6ae5bf8aa634586ba35cd298657e88f.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/environment/itch-io-DungeonTileset4/bow/effect/hit1.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit1.png deleted file mode 100644 index fc1e151..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit1.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit1.png.import deleted file mode 100644 index 7acc467..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://buhvcxo2t0w8e" -path="res://.godot/imported/hit1.png-dff71ff18aaf926e3783079227be8aa0.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit1.png" -dest_files=["res://.godot/imported/hit1.png-dff71ff18aaf926e3783079227be8aa0.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/environment/itch-io-DungeonTileset4/bow/effect/hit2.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit2.png deleted file mode 100644 index acf1526..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit2.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit2.png.import deleted file mode 100644 index e6b134d..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://pe45t3xwk3oq" -path="res://.godot/imported/hit2.png-08913f6ef3702516923e214eb44be2a2.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit2.png" -dest_files=["res://.godot/imported/hit2.png-08913f6ef3702516923e214eb44be2a2.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/environment/itch-io-DungeonTileset4/bow/effect/hit3.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit3.png deleted file mode 100644 index 272462c..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit3.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit3.png.import deleted file mode 100644 index 397381d..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://1cipr03e74qk" -path="res://.godot/imported/hit3.png-3e0b6dd0e6800e136aa13a83ec93ddc3.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit3.png" -dest_files=["res://.godot/imported/hit3.png-3e0b6dd0e6800e136aa13a83ec93ddc3.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/environment/itch-io-DungeonTileset4/bow/effect/hit4.png b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit4.png deleted file mode 100644 index aa1f261..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit4.png.import b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit4.png.import deleted file mode 100644 index b05e5f8..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://jnlqxbb6pk8n" -path="res://.godot/imported/hit4.png-13aa48a76ab50428f2595b5c50c88cf3.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit4.png" -dest_files=["res://.godot/imported/hit4.png-13aa48a76ab50428f2595b5c50c88cf3.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/environment/itch-io-DungeonTileset4/website.txt b/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/website.txt deleted file mode 100644 index cea76c3..0000000 --- a/DungeonShooting_Godot/resource/sprite/environment/itch-io-DungeonTileset4/website.txt +++ /dev/null @@ -1 +0,0 @@ -https://aekae13.itch.io/16x16-dungeon-walls-reconfig \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/sprite/gun/bow.png b/DungeonShooting_Godot/resource/sprite/gun/bow.png deleted file mode 100644 index 0654ef2..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/bow.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/bow.png.import b/DungeonShooting_Godot/resource/sprite/gun/bow.png.import deleted file mode 100644 index aad1840..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/bow.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b4exgoa8t0wny" -path="res://.godot/imported/bow.png-bf9e685f71e0011b6ec8dc0a31121391.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/bow.png" -dest_files=["res://.godot/imported/bow.png-bf9e685f71e0011b6ec8dc0a31121391.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/gun/gun1.png b/DungeonShooting_Godot/resource/sprite/gun/gun1.png deleted file mode 100644 index fc6c2ce..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun1.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun1.png.import deleted file mode 100644 index afc58bd..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://yn8t7ovmt4gj" -path="res://.godot/imported/gun1.png-f7bc3e27b4b477d47c7353ffb91687ea.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun1.png" -dest_files=["res://.godot/imported/gun1.png-f7bc3e27b4b477d47c7353ffb91687ea.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/gun/gun2.png b/DungeonShooting_Godot/resource/sprite/gun/gun2.png deleted file mode 100644 index 8889f01..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun2.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun2.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun2.png.import deleted file mode 100644 index e80698b..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun2.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://5geiuvv6hyov" -path="res://.godot/imported/gun2.png-67d4f6125e770591468ba3ab236736ef.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun2.png" -dest_files=["res://.godot/imported/gun2.png-67d4f6125e770591468ba3ab236736ef.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/gun/gun3.png b/DungeonShooting_Godot/resource/sprite/gun/gun3.png deleted file mode 100644 index ebccd94..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun3.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun3.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun3.png.import deleted file mode 100644 index 623f764..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun3.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c1tnh6laf172u" -path="res://.godot/imported/gun3.png-f2b98956d7fdf008b4a87a7be920ea12.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun3.png" -dest_files=["res://.godot/imported/gun3.png-f2b98956d7fdf008b4a87a7be920ea12.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/gun/gun4.png b/DungeonShooting_Godot/resource/sprite/gun/gun4.png deleted file mode 100644 index d3643d2..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun4.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun4.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun4.png.import deleted file mode 100644 index 1cee318..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun4.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://xafbhgrxmosy" -path="res://.godot/imported/gun4.png-ba6b1c54aee277c1e95a427dbdaaddeb.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun4.png" -dest_files=["res://.godot/imported/gun4.png-ba6b1c54aee277c1e95a427dbdaaddeb.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/gun/gun5.png b/DungeonShooting_Godot/resource/sprite/gun/gun5.png deleted file mode 100644 index 9845085..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun5.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun5.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun5.png.import deleted file mode 100644 index 5b7b1bd..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun5.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c2eber1v7nb4j" -path="res://.godot/imported/gun5.png-6f355c0cd6234d52c0b85a3bec0a414e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun5.png" -dest_files=["res://.godot/imported/gun5.png-6f355c0cd6234d52c0b85a3bec0a414e.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/gun/gun6.png b/DungeonShooting_Godot/resource/sprite/gun/gun6.png deleted file mode 100644 index b4948f3..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun6.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun6.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun6.png.import deleted file mode 100644 index 8e5fc99..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun6.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://rlp8f2rgxlbf" -path="res://.godot/imported/gun6.png-0667c2b2b24159daf259f9cc3faa9fee.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun6.png" -dest_files=["res://.godot/imported/gun6.png-0667c2b2b24159daf259f9cc3faa9fee.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/gun/gun7.png b/DungeonShooting_Godot/resource/sprite/gun/gun7.png deleted file mode 100644 index a4d1cea..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun7.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun7.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun7.png.import deleted file mode 100644 index fd99067..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun7.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bs6ukbtcmxuiw" -path="res://.godot/imported/gun7.png-c5124593247a40157a5388c936276859.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun7.png" -dest_files=["res://.godot/imported/gun7.png-c5124593247a40157a5388c936276859.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/gun/gun8.png b/DungeonShooting_Godot/resource/sprite/gun/gun8.png deleted file mode 100644 index 6186597..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun8.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/gun8.png.import b/DungeonShooting_Godot/resource/sprite/gun/gun8.png.import deleted file mode 100644 index d601047..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/gun8.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://2lcc20olyi5d" -path="res://.godot/imported/gun8.png-ce26b9cb6654714a9891481124571c4f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/gun8.png" -dest_files=["res://.godot/imported/gun8.png-ce26b9cb6654714a9891481124571c4f.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/gun/knife1.png b/DungeonShooting_Godot/resource/sprite/gun/knife1.png deleted file mode 100644 index a75464a..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/knife1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/knife1.png.import b/DungeonShooting_Godot/resource/sprite/gun/knife1.png.import deleted file mode 100644 index 91b8af9..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/knife1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bxhbsq0wb2yo1" -path="res://.godot/imported/knife1.png-dd5849c94377d47ed0b17223d5f25d6a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/knife1.png" -dest_files=["res://.godot/imported/knife1.png-dd5849c94377d47ed0b17223d5f25d6a.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/gun/out/default.png b/DungeonShooting_Godot/resource/sprite/gun/out/default.png deleted file mode 100644 index e806751..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/out/default.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/gun/out/default.png.import b/DungeonShooting_Godot/resource/sprite/gun/out/default.png.import deleted file mode 100644 index e81938b..0000000 --- a/DungeonShooting_Godot/resource/sprite/gun/out/default.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://gxnb77x23of3" -path="res://.godot/imported/default.png-e5a685da8f657e6b9105cc7f2f935dc9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/gun/out/default.png" -dest_files=["res://.godot/imported/default.png-e5a685da8f657e6b9105cc7f2f935dc9.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/map/door1_down.png b/DungeonShooting_Godot/resource/sprite/map/door1_down.png deleted file mode 100644 index a5014a4..0000000 --- a/DungeonShooting_Godot/resource/sprite/map/door1_down.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/map/door1_down.png.import b/DungeonShooting_Godot/resource/sprite/map/door1_down.png.import deleted file mode 100644 index de95af2..0000000 --- a/DungeonShooting_Godot/resource/sprite/map/door1_down.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dviv44fhwvkb1" -path="res://.godot/imported/door1_down.png-59ffc0993731fd627318f9402b22d199.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/map/door1_down.png" -dest_files=["res://.godot/imported/door1_down.png-59ffc0993731fd627318f9402b22d199.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/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png b/DungeonShooting_Godot/resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png new file mode 100644 index 0000000..26c54b7 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png.import b/DungeonShooting_Godot/resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png.import new file mode 100644 index 0000000..2f22127 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj8nrd5od4fcl" +path="res://.godot/imported/16x16 dungeon ii wall reconfig v04 spritesheet.png-ff78c744bd80f7a90af72583d38712d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png" +dest_files=["res://.godot/imported/16x16 dungeon ii wall reconfig v04 spritesheet.png-ff78c744bd80f7a90af72583d38712d5.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/map/map1/door1_down.png b/DungeonShooting_Godot/resource/sprite/map/map1/door1_down.png new file mode 100644 index 0000000..faeba59 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/map/map1/door1_down.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/map/map1/door1_down.png.import b/DungeonShooting_Godot/resource/sprite/map/map1/door1_down.png.import new file mode 100644 index 0000000..b7e352f --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/map/map1/door1_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dviv44fhwvkb1" +path="res://.godot/imported/door1_down.png-0738db3503e6a0f8ce04f89dbe063801.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/map/map1/door1_down.png" +dest_files=["res://.godot/imported/door1_down.png-0738db3503e6a0f8ce04f89dbe063801.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/map/map1/website.txt b/DungeonShooting_Godot/resource/sprite/map/map1/website.txt new file mode 100644 index 0000000..cea76c3 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/map/map1/website.txt @@ -0,0 +1 @@ +https://aekae13.itch.io/16x16-dungeon-walls-reconfig \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001.png b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001.png new file mode 100644 index 0000000..f902601 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001.png.import new file mode 100644 index 0000000..c36be94 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chd2vtesap5cf" +path="res://.godot/imported/Enemy0001.png-148a38dfa95953b26d890356e8875de4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0001/Enemy0001.png" +dest_files=["res://.godot/imported/Enemy0001.png-148a38dfa95953b26d890356e8875de4.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/role/enemy0001/Enemy0001_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001_Debris.png new file mode 100644 index 0000000..60d644b --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001_Debris.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001_Debris.png.import new file mode 100644 index 0000000..d563acf --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/Enemy0001_Debris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2f55lu60x64i" +path="res://.godot/imported/Enemy0001_Debris.png-ac416dc79cd3c1217b27e1ef1fbe0d0b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0001/Enemy0001_Debris.png" +dest_files=["res://.godot/imported/Enemy0001_Debris.png-ac416dc79cd3c1217b27e1ef1fbe0d0b.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/role/enemy0001/enemy0001.png b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001.png new file mode 100644 index 0000000..f902601 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001.png.import new file mode 100644 index 0000000..c36be94 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chd2vtesap5cf" +path="res://.godot/imported/Enemy0001.png-148a38dfa95953b26d890356e8875de4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0001/Enemy0001.png" +dest_files=["res://.godot/imported/Enemy0001.png-148a38dfa95953b26d890356e8875de4.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/role/enemy0001/enemy0001_Debris.png b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001_Debris.png new file mode 100644 index 0000000..60d644b --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001_Debris.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001_Debris.png.import b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001_Debris.png.import new file mode 100644 index 0000000..d563acf --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001_Debris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2f55lu60x64i" +path="res://.godot/imported/Enemy0001_Debris.png-ac416dc79cd3c1217b27e1ef1fbe0d0b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/role/enemy0001/Enemy0001_Debris.png" +dest_files=["res://.godot/imported/Enemy0001_Debris.png-ac416dc79cd3c1217b27e1ef1fbe0d0b.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/role/role1.png b/DungeonShooting_Godot/resource/sprite/role/role1.png deleted file mode 100644 index 1418340..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/role1.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role1.png.import b/DungeonShooting_Godot/resource/sprite/role/role1.png.import deleted file mode 100644 index a0ffc06..0000000 --- a/DungeonShooting_Godot/resource/sprite/role/role1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://chd2vtesap5cf" -path="res://.godot/imported/role1.png-958d620452f56d0f9929cebb052b8bfc.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/role/role1.png" -dest_files=["res://.godot/imported/role1.png-958d620452f56d0f9929cebb052b8bfc.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/role/role10.png b/DungeonShooting_Godot/resource/sprite/role/role10.png index 6268724..a77808d 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role10.png +++ b/DungeonShooting_Godot/resource/sprite/role/role10.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role2.png b/DungeonShooting_Godot/resource/sprite/role/role2.png index 60cd623..cc2133d 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role2.png +++ b/DungeonShooting_Godot/resource/sprite/role/role2.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role3.png b/DungeonShooting_Godot/resource/sprite/role/role3.png index 802b0bf..3e5e98f 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role3.png +++ b/DungeonShooting_Godot/resource/sprite/role/role3.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role4.png b/DungeonShooting_Godot/resource/sprite/role/role4.png index 72031be..853ef1e 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role4.png +++ b/DungeonShooting_Godot/resource/sprite/role/role4.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role5.png b/DungeonShooting_Godot/resource/sprite/role/role5.png index a21325b..b0aa65d 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role5.png +++ b/DungeonShooting_Godot/resource/sprite/role/role5.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role6.png b/DungeonShooting_Godot/resource/sprite/role/role6.png index 0b5d02d..2e3924a 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role6.png +++ b/DungeonShooting_Godot/resource/sprite/role/role6.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role7.png b/DungeonShooting_Godot/resource/sprite/role/role7.png index a7846a4..23961ef 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role7.png +++ b/DungeonShooting_Godot/resource/sprite/role/role7.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role8.png b/DungeonShooting_Godot/resource/sprite/role/role8.png index 6dc6f6b..bbfe8db 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role8.png +++ b/DungeonShooting_Godot/resource/sprite/role/role8.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/role/role9.png b/DungeonShooting_Godot/resource/sprite/role/role9.png index 111f8c3..0c88e8e 100644 --- a/DungeonShooting_Godot/resource/sprite/role/role9.png +++ b/DungeonShooting_Godot/resource/sprite/role/role9.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/ui/Cursor.png b/DungeonShooting_Godot/resource/sprite/ui/Cursor.png deleted file mode 100644 index 068c198..0000000 --- a/DungeonShooting_Godot/resource/sprite/ui/Cursor.png +++ /dev/null Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/ui/Cursor.png.import b/DungeonShooting_Godot/resource/sprite/ui/Cursor.png.import deleted file mode 100644 index 611d10f..0000000 --- a/DungeonShooting_Godot/resource/sprite/ui/Cursor.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ct5v768lsf6nc" -path="res://.godot/imported/Cursor.png-8fd0f20a3d3b122868ba81366de2aaf6.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://resource/sprite/ui/Cursor.png" -dest_files=["res://.godot/imported/Cursor.png-8fd0f20a3d3b122868ba81366de2aaf6.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/ui/GUI.png b/DungeonShooting_Godot/resource/sprite/ui/GUI.png new file mode 100644 index 0000000..56475ca --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/ui/GUI.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/ui/GUI.png.import b/DungeonShooting_Godot/resource/sprite/ui/GUI.png.import new file mode 100644 index 0000000..6ae4ae9 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/ui/GUI.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5adiy3ycqyxw" +path="res://.godot/imported/GUI.png-56ce605f877ce7100610e88d3451eb06.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/ui/GUI.png" +dest_files=["res://.godot/imported/GUI.png-56ce605f877ce7100610e88d3451eb06.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/ui/cursors.png b/DungeonShooting_Godot/resource/sprite/ui/cursors.png new file mode 100644 index 0000000..b40cfe5 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/ui/cursors.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/ui/cursors.png.import b/DungeonShooting_Godot/resource/sprite/ui/cursors.png.import new file mode 100644 index 0000000..2460561 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/ui/cursors.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dta28v3fgkfru" +path="res://.godot/imported/cursors.png-39228cc5284ece278357dbc1a5b6c668.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/ui/cursors.png" +dest_files=["res://.godot/imported/cursors.png-39228cc5284ece278357dbc1a5b6c668.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/weapon/bow.png b/DungeonShooting_Godot/resource/sprite/weapon/bow.png new file mode 100644 index 0000000..0654ef2 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/bow.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/bow.png.import b/DungeonShooting_Godot/resource/sprite/weapon/bow.png.import new file mode 100644 index 0000000..412e93d --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/bow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4exgoa8t0wny" +path="res://.godot/imported/bow.png-9ae685914082766e6dbcd1eaddb43b40.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/bow.png" +dest_files=["res://.godot/imported/bow.png-9ae685914082766e6dbcd1eaddb43b40.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/weapon/gun1.png b/DungeonShooting_Godot/resource/sprite/weapon/gun1.png new file mode 100644 index 0000000..fc6c2ce --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun1.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun1.png.import new file mode 100644 index 0000000..9964bdc --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yn8t7ovmt4gj" +path="res://.godot/imported/gun1.png-87777518c2382cd35c967ee32bf367ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun1.png" +dest_files=["res://.godot/imported/gun1.png-87777518c2382cd35c967ee32bf367ad.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/weapon/gun2.png b/DungeonShooting_Godot/resource/sprite/weapon/gun2.png new file mode 100644 index 0000000..4e0b9e6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun2.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun2.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun2.png.import new file mode 100644 index 0000000..feb8eb6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5geiuvv6hyov" +path="res://.godot/imported/gun2.png-78b331a2f245cfbe03b10da276435b64.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun2.png" +dest_files=["res://.godot/imported/gun2.png-78b331a2f245cfbe03b10da276435b64.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/weapon/gun3.png b/DungeonShooting_Godot/resource/sprite/weapon/gun3.png new file mode 100644 index 0000000..4f5aff6 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun3.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun3.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun3.png.import new file mode 100644 index 0000000..e5154c0 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1tnh6laf172u" +path="res://.godot/imported/gun3.png-d2428e7c1819cfb8a78ef87505aee0a3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun3.png" +dest_files=["res://.godot/imported/gun3.png-d2428e7c1819cfb8a78ef87505aee0a3.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/weapon/gun4.png b/DungeonShooting_Godot/resource/sprite/weapon/gun4.png new file mode 100644 index 0000000..c6b4b23 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun4.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun4.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun4.png.import new file mode 100644 index 0000000..316b26d --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xafbhgrxmosy" +path="res://.godot/imported/gun4.png-f47ef44de364483b033f38a2d031303c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun4.png" +dest_files=["res://.godot/imported/gun4.png-f47ef44de364483b033f38a2d031303c.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/weapon/gun5.png b/DungeonShooting_Godot/resource/sprite/weapon/gun5.png new file mode 100644 index 0000000..9845085 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun5.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun5.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun5.png.import new file mode 100644 index 0000000..3e8d082 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2eber1v7nb4j" +path="res://.godot/imported/gun5.png-da05c9e18ddc46a7f72168cb9c25449c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun5.png" +dest_files=["res://.godot/imported/gun5.png-da05c9e18ddc46a7f72168cb9c25449c.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/weapon/gun6.png b/DungeonShooting_Godot/resource/sprite/weapon/gun6.png new file mode 100644 index 0000000..b4948f3 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun6.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun6.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun6.png.import new file mode 100644 index 0000000..94f2abb --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rlp8f2rgxlbf" +path="res://.godot/imported/gun6.png-698dacce2603c9d452b55702363db8fc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun6.png" +dest_files=["res://.godot/imported/gun6.png-698dacce2603c9d452b55702363db8fc.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/weapon/gun7.png b/DungeonShooting_Godot/resource/sprite/weapon/gun7.png new file mode 100644 index 0000000..a4d1cea --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun7.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun7.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun7.png.import new file mode 100644 index 0000000..92fb78d --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs6ukbtcmxuiw" +path="res://.godot/imported/gun7.png-9068807109603150cd0529909f81d6c1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun7.png" +dest_files=["res://.godot/imported/gun7.png-9068807109603150cd0529909f81d6c1.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/weapon/gun8.png b/DungeonShooting_Godot/resource/sprite/weapon/gun8.png new file mode 100644 index 0000000..6186597 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun8.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/gun8.png.import b/DungeonShooting_Godot/resource/sprite/weapon/gun8.png.import new file mode 100644 index 0000000..ac3d0d8 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/gun8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2lcc20olyi5d" +path="res://.godot/imported/gun8.png-a936b61cfb3713c19173bfa954b35ecd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/gun8.png" +dest_files=["res://.godot/imported/gun8.png-a936b61cfb3713c19173bfa954b35ecd.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/weapon/knife1.png b/DungeonShooting_Godot/resource/sprite/weapon/knife1.png new file mode 100644 index 0000000..a75464a --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/knife1.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/knife1.png.import b/DungeonShooting_Godot/resource/sprite/weapon/knife1.png.import new file mode 100644 index 0000000..e13d626 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/knife1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxhbsq0wb2yo1" +path="res://.godot/imported/knife1.png-7a8e87bb9fc40c8adf95391721186a58.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/knife1.png" +dest_files=["res://.godot/imported/knife1.png-7a8e87bb9fc40c8adf95391721186a58.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/weapon/weapon0001/Weapon0001.png b/DungeonShooting_Godot/resource/sprite/weapon/weapon0001/Weapon0001.png new file mode 100644 index 0000000..a8d9384 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0001/Weapon0001.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/weapon0001/Weapon0001.png.import b/DungeonShooting_Godot/resource/sprite/weapon/weapon0001/Weapon0001.png.import new file mode 100644 index 0000000..60991cf --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0001/Weapon0001.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://civvcowt2wklr" +path="res://.godot/imported/Weapon0001.png-4eb27e33b168dda75d544fb56e9370b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/weapon0001/Weapon0001.png" +dest_files=["res://.godot/imported/Weapon0001.png-4eb27e33b168dda75d544fb56e9370b2.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/weapon/weapon0002/Weapon0002.png b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002.png new file mode 100644 index 0000000..68a0336 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002.png.import b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002.png.import new file mode 100644 index 0000000..6d98fb0 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b53kofmyan42g" +path="res://.godot/imported/Weapon0002.png-f84831dbe20e83e0314a3a53978d34ea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/weapon0002/Weapon0002.png" +dest_files=["res://.godot/imported/Weapon0002.png-f84831dbe20e83e0314a3a53978d34ea.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/weapon/weapon0002/Weapon0002_reloading.png b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002_reloading.png new file mode 100644 index 0000000..90b10e7 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002_reloading.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002_reloading.png.import b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002_reloading.png.import new file mode 100644 index 0000000..cf29671 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0002/Weapon0002_reloading.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cog4u2dr46anc" +path="res://.godot/imported/Weapon0002_reloading.png-92d56562c66b85ad28fe76e3f2ed0752.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/weapon0002/Weapon0002_reloading.png" +dest_files=["res://.godot/imported/Weapon0002_reloading.png-92d56562c66b85ad28fe76e3f2ed0752.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/weapon/weapon0003/Weapon0003.png b/DungeonShooting_Godot/resource/sprite/weapon/weapon0003/Weapon0003.png new file mode 100644 index 0000000..3c0c458 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0003/Weapon0003.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/weapon0003/Weapon0003.png.import b/DungeonShooting_Godot/resource/sprite/weapon/weapon0003/Weapon0003.png.import new file mode 100644 index 0000000..cf3d12e --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0003/Weapon0003.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clgf63extg800" +path="res://.godot/imported/Weapon0003.png-5a0da135506f9ff0bc0591a165fe8682.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/weapon0003/Weapon0003.png" +dest_files=["res://.godot/imported/Weapon0003.png-5a0da135506f9ff0bc0591a165fe8682.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/weapon/weapon0005/Weapon0005.png b/DungeonShooting_Godot/resource/sprite/weapon/weapon0005/Weapon0005.png new file mode 100644 index 0000000..dd42c8a --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0005/Weapon0005.png Binary files differ diff --git a/DungeonShooting_Godot/resource/sprite/weapon/weapon0005/Weapon0005.png.import b/DungeonShooting_Godot/resource/sprite/weapon/weapon0005/Weapon0005.png.import new file mode 100644 index 0000000..e535ca7 --- /dev/null +++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0005/Weapon0005.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://504f1r0mi33n" +path="res://.godot/imported/Weapon0005.png-c52c1188e23836aa507447c2088105f4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/sprite/weapon/weapon0005/Weapon0005.png" +dest_files=["res://.godot/imported/Weapon0005.png-c52c1188e23836aa507447c2088105f4.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/Bullet0001.tres b/DungeonShooting_Godot/resource/spriteFrames/Bullet0001.tres new file mode 100644 index 0000000..6af29a8 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Bullet0001.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://baoxep7vami72"] + +[ext_resource type="Texture2D" uid="uid://bu0b11hiuecxy" path="res://resource/sprite/bullet/bullet.png" id="1_ktu7r"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_ktu7r") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Bullet0002.tres b/DungeonShooting_Godot/resource/spriteFrames/Bullet0002.tres new file mode 100644 index 0000000..cb31134 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Bullet0002.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://bpeodjqiy3mil"] + +[ext_resource type="Texture2D" uid="uid://ctsvj4y1t538u" path="res://resource/sprite/bullet/bullet3.png" id="1_53f3g"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_53f3g") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/KnifeHit1.tres b/DungeonShooting_Godot/resource/spriteFrames/KnifeHit1.tres new file mode 100644 index 0000000..a491979 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/KnifeHit1.tres @@ -0,0 +1,53 @@ +[gd_resource type="SpriteFrames" load_steps=8 format=3 uid="uid://dj8o7ws03bik4"] + +[ext_resource type="Texture2D" uid="uid://dx07ta0asnmuw" path="res://resource/sprite/effects/KnifeHit1.png" id="1_0yl3h"] + +[sub_resource type="AtlasTexture" id="1"] +atlas = ExtResource("1_0yl3h") +region = Rect2(0, 0, 64, 68) + +[sub_resource type="AtlasTexture" id="2"] +atlas = ExtResource("1_0yl3h") +region = Rect2(64, 0, 64, 68) + +[sub_resource type="AtlasTexture" id="3"] +atlas = ExtResource("1_0yl3h") +region = Rect2(128, 0, 64, 68) + +[sub_resource type="AtlasTexture" id="4"] +atlas = ExtResource("1_0yl3h") +region = Rect2(192, 0, 64, 68) + +[sub_resource type="AtlasTexture" id="5"] +atlas = ExtResource("1_0yl3h") +region = Rect2(256, 0, 64, 68) + +[sub_resource type="AtlasTexture" id="6"] +atlas = ExtResource("1_0yl3h") +region = Rect2(320, 0, 64, 68) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("1") +}, { +"duration": 1.0, +"texture": SubResource("2") +}, { +"duration": 1.0, +"texture": SubResource("3") +}, { +"duration": 1.0, +"texture": SubResource("4") +}, { +"duration": 1.0, +"texture": SubResource("5") +}, { +"duration": 1.0, +"texture": SubResource("6") +}], +"loop": true, +"name": &"default", +"speed": 30.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Role0001.tres b/DungeonShooting_Godot/resource/spriteFrames/Role0001.tres new file mode 100644 index 0000000..c813ce3 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Role0001.tres @@ -0,0 +1,117 @@ +[gd_resource type="SpriteFrames" load_steps=15 format=3 uid="uid://n11thtali6es"] + +[ext_resource type="Texture2D" uid="uid://bhwhhg2dfsr26" path="res://resource/sprite/role/role2.png" id="1_n8j7s"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_tmewn"] +atlas = ExtResource("1_n8j7s") +region = Rect2(0, 0, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dvg4a"] +atlas = ExtResource("1_n8j7s") +region = Rect2(0, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kvuct"] +atlas = ExtResource("1_n8j7s") +region = Rect2(16, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5op76"] +atlas = ExtResource("1_n8j7s") +region = Rect2(32, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_helyc"] +atlas = ExtResource("1_n8j7s") +region = Rect2(48, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_67mn8"] +atlas = ExtResource("1_n8j7s") +region = Rect2(48, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jeywq"] +atlas = ExtResource("1_n8j7s") +region = Rect2(32, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oycx8"] +atlas = ExtResource("1_n8j7s") +region = Rect2(16, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tjg1t"] +atlas = ExtResource("1_n8j7s") +region = Rect2(0, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ltxw"] +atlas = ExtResource("1_n8j7s") +region = Rect2(0, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x1va1"] +atlas = ExtResource("1_n8j7s") +region = Rect2(16, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ic2p5"] +atlas = ExtResource("1_n8j7s") +region = Rect2(32, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j3hdu"] +atlas = ExtResource("1_n8j7s") +region = Rect2(48, 48, 16, 24) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_tmewn") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_dvg4a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kvuct") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5op76") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_helyc") +}], +"loop": true, +"name": &"idle", +"speed": 7.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_67mn8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jeywq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oycx8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tjg1t") +}], +"loop": true, +"name": &"reverseRun", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_2ltxw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x1va1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ic2p5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j3hdu") +}], +"loop": true, +"name": &"run", +"speed": 10.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Role1001.tres b/DungeonShooting_Godot/resource/spriteFrames/Role1001.tres new file mode 100644 index 0000000..1a49770 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Role1001.tres @@ -0,0 +1,117 @@ +[gd_resource type="SpriteFrames" load_steps=15 format=3 uid="uid://cnctpyrn02rhd"] + +[ext_resource type="Texture2D" uid="uid://chd2vtesap5cf" path="res://resource/sprite/role/enemy0001/Enemy0001.png" id="1_5jhli"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_0rmv6"] +atlas = ExtResource("1_5jhli") +region = Rect2(0, 0, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3ira8"] +atlas = ExtResource("1_5jhli") +region = Rect2(0, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7fx5y"] +atlas = ExtResource("1_5jhli") +region = Rect2(16, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5wd43"] +atlas = ExtResource("1_5jhli") +region = Rect2(32, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kbrex"] +atlas = ExtResource("1_5jhli") +region = Rect2(48, 24, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bhiip"] +atlas = ExtResource("1_5jhli") +region = Rect2(0, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_41c1u"] +atlas = ExtResource("1_5jhli") +region = Rect2(16, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1o2v8"] +atlas = ExtResource("1_5jhli") +region = Rect2(32, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_niadr"] +atlas = ExtResource("1_5jhli") +region = Rect2(48, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j73hc"] +atlas = ExtResource("1_5jhli") +region = Rect2(48, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3bgji"] +atlas = ExtResource("1_5jhli") +region = Rect2(32, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_besw3"] +atlas = ExtResource("1_5jhli") +region = Rect2(16, 48, 16, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_350uy"] +atlas = ExtResource("1_5jhli") +region = Rect2(0, 48, 16, 24) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_0rmv6") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_3ira8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7fx5y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5wd43") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kbrex") +}], +"loop": true, +"name": &"idle", +"speed": 7.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_bhiip") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_41c1u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1o2v8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_niadr") +}], +"loop": true, +"name": &"reverseRun", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_j73hc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3bgji") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_besw3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_350uy") +}], +"loop": true, +"name": &"run", +"speed": 10.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/RoomDoor_EW.tres b/DungeonShooting_Godot/resource/spriteFrames/RoomDoor_EW.tres new file mode 100644 index 0000000..8fa6c2a --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/RoomDoor_EW.tres @@ -0,0 +1,161 @@ +[gd_resource type="SpriteFrames" load_steps=22 format=3 uid="uid://3ps6h2f54qa5"] + +[ext_resource type="Texture2D" uid="uid://dviv44fhwvkb1" path="res://resource/sprite/map/map1/door1_down.png" id="1_7f8h7"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_5m6ya"] +atlas = ExtResource("1_7f8h7") +region = Rect2(144, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kmhtl"] +atlas = ExtResource("1_7f8h7") +region = Rect2(128, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_umaop"] +atlas = ExtResource("1_7f8h7") +region = Rect2(112, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aqex7"] +atlas = ExtResource("1_7f8h7") +region = Rect2(96, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hdocg"] +atlas = ExtResource("1_7f8h7") +region = Rect2(80, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aiymw"] +atlas = ExtResource("1_7f8h7") +region = Rect2(64, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8f7dv"] +atlas = ExtResource("1_7f8h7") +region = Rect2(32, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iv82l"] +atlas = ExtResource("1_7f8h7") +region = Rect2(16, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ycmnv"] +atlas = ExtResource("1_7f8h7") +region = Rect2(0, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o7xw0"] +atlas = ExtResource("1_7f8h7") +region = Rect2(144, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j8iw2"] +atlas = ExtResource("1_7f8h7") +region = Rect2(0, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_823if"] +atlas = ExtResource("1_7f8h7") +region = Rect2(16, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7hyae"] +atlas = ExtResource("1_7f8h7") +region = Rect2(32, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6lhu3"] +atlas = ExtResource("1_7f8h7") +region = Rect2(48, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a026j"] +atlas = ExtResource("1_7f8h7") +region = Rect2(64, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wfjf7"] +atlas = ExtResource("1_7f8h7") +region = Rect2(80, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rhj60"] +atlas = ExtResource("1_7f8h7") +region = Rect2(96, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_06y08"] +atlas = ExtResource("1_7f8h7") +region = Rect2(112, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1200j"] +atlas = ExtResource("1_7f8h7") +region = Rect2(128, 48, 16, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mbnbx"] +atlas = ExtResource("1_7f8h7") +region = Rect2(144, 48, 16, 48) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_5m6ya") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kmhtl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_umaop") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aqex7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hdocg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aiymw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8f7dv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iv82l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ycmnv") +}], +"loop": false, +"name": &"closeDoor", +"speed": 20.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_o7xw0") +}], +"loop": false, +"name": &"default", +"speed": 20.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_j8iw2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_823if") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7hyae") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6lhu3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a026j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wfjf7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rhj60") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_06y08") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1200j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mbnbx") +}], +"loop": false, +"name": &"openDoor", +"speed": 20.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/RoomDoor_NS.tres b/DungeonShooting_Godot/resource/spriteFrames/RoomDoor_NS.tres new file mode 100644 index 0000000..48f90e2 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/RoomDoor_NS.tres @@ -0,0 +1,154 @@ +[gd_resource type="SpriteFrames" load_steps=21 format=3 uid="uid://xs72aopsgpg6"] + +[ext_resource type="Texture2D" uid="uid://dviv44fhwvkb1" path="res://resource/sprite/map/map1/door1_down.png" id="1_ugffo"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_77i3w"] +atlas = ExtResource("1_ugffo") +region = Rect2(256, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_112lq"] +atlas = ExtResource("1_ugffo") +region = Rect2(224, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ojr8"] +atlas = ExtResource("1_ugffo") +region = Rect2(192, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q58ag"] +atlas = ExtResource("1_ugffo") +region = Rect2(160, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ghweb"] +atlas = ExtResource("1_ugffo") +region = Rect2(128, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_28y4l"] +atlas = ExtResource("1_ugffo") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0fk5y"] +atlas = ExtResource("1_ugffo") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eu8jg"] +atlas = ExtResource("1_ugffo") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rw4x5"] +atlas = ExtResource("1_ugffo") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5dlkq"] +atlas = ExtResource("1_ugffo") +region = Rect2(256, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dnc85"] +atlas = ExtResource("1_ugffo") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8wepo"] +atlas = ExtResource("1_ugffo") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s2c1g"] +atlas = ExtResource("1_ugffo") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_umj5m"] +atlas = ExtResource("1_ugffo") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sceep"] +atlas = ExtResource("1_ugffo") +region = Rect2(128, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0vntu"] +atlas = ExtResource("1_ugffo") +region = Rect2(160, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_66ox7"] +atlas = ExtResource("1_ugffo") +region = Rect2(192, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o2uxo"] +atlas = ExtResource("1_ugffo") +region = Rect2(224, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m6v3e"] +atlas = ExtResource("1_ugffo") +region = Rect2(256, 0, 32, 32) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_77i3w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_112lq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2ojr8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q58ag") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ghweb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_28y4l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0fk5y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eu8jg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rw4x5") +}], +"loop": false, +"name": &"closeDoor", +"speed": 20.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_5dlkq") +}], +"loop": false, +"name": &"default", +"speed": 20.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_dnc85") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8wepo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s2c1g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_umj5m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sceep") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0vntu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_66ox7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o2uxo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m6v3e") +}], +"loop": false, +"name": &"openDoor", +"speed": 20.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Shell0001.tres b/DungeonShooting_Godot/resource/spriteFrames/Shell0001.tres new file mode 100644 index 0000000..5d2b5b6 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Shell0001.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://b8gksxl7auquc"] + +[ext_resource type="Texture2D" uid="uid://dto03bc2qbhnj" path="res://resource/sprite/shell/shellCase.png" id="1_4nusd"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_4nusd") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Weapon0001.tres b/DungeonShooting_Godot/resource/spriteFrames/Weapon0001.tres new file mode 100644 index 0000000..da7b2a8 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Weapon0001.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://5m0qs7m4er5u"] + +[ext_resource type="Texture2D" uid="uid://civvcowt2wklr" path="res://resource/sprite/weapon/weapon0001/Weapon0001.png" id="1_derf1"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_derf1") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Weapon0002.tres b/DungeonShooting_Godot/resource/spriteFrames/Weapon0002.tres new file mode 100644 index 0000000..c3e68b2 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Weapon0002.tres @@ -0,0 +1,62 @@ +[gd_resource type="SpriteFrames" load_steps=9 format=3 uid="uid://domhmo4flmlt0"] + +[ext_resource type="Texture2D" uid="uid://b53kofmyan42g" path="res://resource/sprite/weapon/weapon0002/Weapon0002.png" id="1_2tglc"] +[ext_resource type="Texture2D" uid="uid://cog4u2dr46anc" path="res://resource/sprite/weapon/weapon0002/Weapon0002_reloading.png" id="2_kr54x"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_b4jme"] +atlas = ExtResource("2_kr54x") +region = Rect2(0, 0, 36, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hhpo6"] +atlas = ExtResource("2_kr54x") +region = Rect2(36, 0, 36, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vicgs"] +atlas = ExtResource("2_kr54x") +region = Rect2(72, 0, 36, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_addwe"] +atlas = ExtResource("2_kr54x") +region = Rect2(108, 0, 36, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6nxvp"] +atlas = ExtResource("2_kr54x") +region = Rect2(144, 0, 36, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p0dy6"] +atlas = ExtResource("2_kr54x") +region = Rect2(180, 0, 36, 15) + +[resource] +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, +"texture": SubResource("AtlasTexture_hhpo6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vicgs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_addwe") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6nxvp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p0dy6") +}], +"loop": false, +"name": &"equip", +"speed": 10.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Weapon0003.tres b/DungeonShooting_Godot/resource/spriteFrames/Weapon0003.tres new file mode 100644 index 0000000..0b2c99f --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Weapon0003.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://c7dt1uwdybn5"] + +[ext_resource type="Texture2D" uid="uid://clgf63extg800" path="res://resource/sprite/weapon/weapon0003/Weapon0003.png" id="1_ioiy8"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_ioiy8") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Weapon0004.tres b/DungeonShooting_Godot/resource/spriteFrames/Weapon0004.tres new file mode 100644 index 0000000..57dbe94 --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Weapon0004.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://k2tktysa7j86"] + +[ext_resource type="Texture2D" uid="uid://bxhbsq0wb2yo1" path="res://resource/sprite/weapon/knife1.png" id="1_jb24v"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_jb24v") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/spriteFrames/Weapon0005.tres b/DungeonShooting_Godot/resource/spriteFrames/Weapon0005.tres new file mode 100644 index 0000000..42bfa7e --- /dev/null +++ b/DungeonShooting_Godot/resource/spriteFrames/Weapon0005.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://djdvlmqsn8bie"] + +[ext_resource type="Texture2D" uid="uid://504f1r0mi33n" path="res://resource/sprite/weapon/weapon0005/Weapon0005.png" id="1_85vfm"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_85vfm") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] diff --git a/DungeonShooting_Godot/resource/theme/mainTheme.tres b/DungeonShooting_Godot/resource/theme/mainTheme.tres index f0db64e..42c5113 100644 --- a/DungeonShooting_Godot/resource/theme/mainTheme.tres +++ b/DungeonShooting_Godot/resource/theme/mainTheme.tres @@ -1,6 +1,6 @@ -[gd_resource type="Theme" load_steps=78 format=3 uid="uid://cyfdqgfonv22k"] +[gd_resource type="Theme" load_steps=78 format=3 uid="uid://ds668te2rph30"] -[ext_resource type="FontFile" uid="uid://byrf43x8my2ym" path="res://Silver.ttf" id="1_cylyq"] +[ext_resource type="FontFile" uid="uid://cad0in7dtweo5" path="res://resource/font/VonwaonBitmap-16px.ttf" id="1_1e6k7"] [sub_resource type="StyleBoxFlat" id="1"] content_margin_left = 6.0 @@ -352,7 +352,7 @@ [sub_resource type="ImageTexture" id="58"] -[sub_resource type="Image" id="Image_151oh"] +[sub_resource type="Image" id="Image_flhyv"] 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_151oh") +image = SubResource("Image_flhyv") [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_ev2o0"] +[sub_resource type="Image" id="Image_raohe"] 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_ev2o0") +image = SubResource("Image_raohe") [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_22as7"] +[sub_resource type="Image" id="Image_ccid8"] 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_22as7") +image = SubResource("Image_ccid8") [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_xsoii"] +[sub_resource type="Image" id="Image_vvate"] 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_xsoii") +image = SubResource("Image_vvate") [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_g5uvy"] +[sub_resource type="Image" id="Image_pxi6j"] 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_g5uvy") +image = SubResource("Image_pxi6j") [sub_resource type="StyleBoxFlat" id="57"] content_margin_left = 6.0 @@ -506,8 +506,8 @@ region_rect = Rect2(0, 0, 12, 12) [resource] -default_font = ExtResource("1_cylyq") -default_font_size = 36 +default_font = ExtResource("1_1e6k7") +default_font_size = 32 Button/colors/font_color = Color(0.780392, 0.780392, 0.780392, 1) Button/colors/font_color_disabled = Color(1, 1, 1, 0.3) Button/colors/font_color_focus = Color(0.868235, 0.868235, 0.868235, 1) @@ -516,7 +516,7 @@ Button/colors/icon_color_hover = Color(1.15, 1.15, 1.15, 1) Button/colors/icon_color_pressed = Color(0.135294, 0.496079, 1.04176, 1) Button/constants/hseparation = 2 -Button/fonts/font = ExtResource("1_cylyq") +Button/fonts/font = ExtResource("1_1e6k7") Button/styles/disabled = SubResource("1") Button/styles/focus = SubResource("2") Button/styles/hover = SubResource("3") @@ -618,7 +618,7 @@ Label/constants/shadow_as_outline = 0 Label/constants/shadow_offset_x = 1 Label/constants/shadow_offset_y = 1 -Label/fonts/font = ExtResource("1_cylyq") +Label/fonts/font = ExtResource("1_1e6k7") Label/styles/normal = SubResource("54") LineEdit/colors/clear_button_color = Color(0.780392, 0.780392, 0.780392, 1) LineEdit/colors/clear_button_color_pressed = Color(0.117647, 0.431373, 0.905882, 1) @@ -629,7 +629,7 @@ LineEdit/colors/read_only = Color(1, 1, 1, 0.3) LineEdit/colors/selection_color = Color(0.117647, 0.431373, 0.905882, 0.4) LineEdit/constants/minimum_spaces = 12 -LineEdit/fonts/font = ExtResource("1_cylyq") +LineEdit/fonts/font = ExtResource("1_1e6k7") LineEdit/icons/clear = SubResource("56") LineEdit/styles/focus = SubResource("2") LineEdit/styles/normal = SubResource("4") diff --git a/DungeonShooting_Godot/resource/theme/theme1.tres b/DungeonShooting_Godot/resource/theme/theme1.tres new file mode 100644 index 0000000..b7e11f2 --- /dev/null +++ b/DungeonShooting_Godot/resource/theme/theme1.tres @@ -0,0 +1,23 @@ +[gd_resource type="Theme" load_steps=6 format=3 uid="uid://drb1ajgvcih7p"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hp72k"] +bg_color = Color(1, 1, 1, 0) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_s1akm"] +bg_color = Color(1, 1, 1, 0) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_d8v3b"] +bg_color = Color(1, 1, 1, 0) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8y7k3"] +bg_color = Color(1, 1, 1, 0) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2imip"] +bg_color = Color(1, 1, 1, 0) + +[resource] +Button/styles/disabled = SubResource("StyleBoxFlat_hp72k") +Button/styles/focus = SubResource("StyleBoxFlat_s1akm") +Button/styles/hover = SubResource("StyleBoxFlat_d8v3b") +Button/styles/normal = SubResource("StyleBoxFlat_8y7k3") +Button/styles/pressed = SubResource("StyleBoxFlat_2imip") diff --git a/DungeonShooting_Godot/scene/Main.tscn b/DungeonShooting_Godot/scene/Main.tscn index 21417bf..aeba075 100644 --- a/DungeonShooting_Godot/scene/Main.tscn +++ b/DungeonShooting_Godot/scene/Main.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://lbe753cb8heb"] -[ext_resource type="Script" path="res://src/game/GameApplication.cs" id="3"] -[ext_resource type="Script" path="res://src/game/camera/GameCamera.cs" id="4_3gsi2"] +[ext_resource type="Script" path="res://src/game/GameApplication.cs" id="1_mh1cq"] +[ext_resource type="Script" path="res://src/game/camera/GameCamera.cs" id="2_2j367"] [sub_resource type="Shader" id="1"] code = "shader_type canvas_item; @@ -21,7 +21,7 @@ shader_parameter/offset = Vector2(0, 0) [node name="Main" type="Node2D" node_paths=PackedStringArray("SubViewport", "SubViewportContainer", "SceneRoot", "GlobalNodeRoot")] -script = ExtResource("3") +script = ExtResource("1_mh1cq") SubViewport = NodePath("ViewCanvas/SubViewportContainer/SubViewport") SubViewportContainer = NodePath("ViewCanvas/SubViewportContainer") SceneRoot = NodePath("ViewCanvas/SubViewportContainer/SubViewport/SceneRoot") @@ -49,6 +49,6 @@ process_callback = 0 limit_smoothed = true editor_draw_drag_margin = true -script = ExtResource("4_3gsi2") +script = ExtResource("2_2j367") [node name="GlobalNodeRoot" type="Node2D" parent="."] diff --git a/DungeonShooting_Godot/scene/Room.tscn b/DungeonShooting_Godot/scene/Room.tscn deleted file mode 100644 index cfa9de3..0000000 --- a/DungeonShooting_Godot/scene/Room.tscn +++ /dev/null @@ -1,53 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://bqf2vks5ggnsp"] - -[ext_resource type="Script" path="res://src/game/room/RoomManager.cs" id="1_3w1c7"] -[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="2_30rar"] - -[sub_resource type="Environment" id="Environment_ji6mi"] -background_mode = 3 -glow_enabled = true -glow_intensity = 4.74 - -[node name="Room" type="Node2D" node_paths=PackedStringArray("NormalLayer", "YSortLayer", "TileRoot")] -script = ExtResource("1_3w1c7") -NormalLayer = NodePath("NormalLayer") -YSortLayer = NodePath("YSortLayer") -TileRoot = NodePath("TileRoot") -metadata/_edit_vertical_guides_ = [] - -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource("Environment_ji6mi") - -[node name="TileRoot" type="TileMap" parent="."] -y_sort_enabled = true -tile_set = ExtResource("2_30rar") -format = 2 -layer_0/name = "Floor" -layer_0/z_index = -10 -layer_1/name = "Middle" -layer_1/enabled = true -layer_1/modulate = Color(1, 1, 1, 1) -layer_1/y_sort_enabled = false -layer_1/y_sort_origin = 0 -layer_1/z_index = 0 -layer_1/tile_data = PackedInt32Array() -layer_2/name = "Top" -layer_2/enabled = true -layer_2/modulate = Color(1, 1, 1, 1) -layer_2/y_sort_enabled = false -layer_2/y_sort_origin = 0 -layer_2/z_index = 10 -layer_2/tile_data = PackedInt32Array() -layer_3/name = "AisleFloor" -layer_3/enabled = true -layer_3/modulate = Color(1, 1, 1, 1) -layer_3/y_sort_enabled = true -layer_3/y_sort_origin = 0 -layer_3/z_index = -10 -layer_3/tile_data = PackedInt32Array() - -[node name="NormalLayer" type="Node2D" parent="."] -z_index = -1 - -[node name="YSortLayer" type="Node2D" parent="."] -y_sort_enabled = true diff --git a/DungeonShooting_Godot/scene/World.tscn b/DungeonShooting_Godot/scene/World.tscn new file mode 100644 index 0000000..6c182e2 --- /dev/null +++ b/DungeonShooting_Godot/scene/World.tscn @@ -0,0 +1,53 @@ +[gd_scene load_steps=4 format=3 uid="uid://bqf2vks5ggnsp"] + +[ext_resource type="Script" path="res://src/game/room/World.cs" id="1_kt3mm"] +[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="2_p6iui"] + +[sub_resource type="Environment" id="Environment_ji6mi"] +background_mode = 3 +glow_enabled = true +glow_intensity = 4.74 + +[node name="World" type="Node2D" node_paths=PackedStringArray("NormalLayer", "YSortLayer", "TileRoot")] +script = ExtResource("1_kt3mm") +NormalLayer = NodePath("NormalLayer") +YSortLayer = NodePath("YSortLayer") +TileRoot = NodePath("TileRoot") +metadata/_edit_vertical_guides_ = [] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_ji6mi") + +[node name="TileRoot" type="TileMap" parent="."] +y_sort_enabled = true +tile_set = ExtResource("2_p6iui") +format = 2 +layer_0/name = "Floor" +layer_0/z_index = -10 +layer_1/name = "Middle" +layer_1/enabled = true +layer_1/modulate = Color(1, 1, 1, 1) +layer_1/y_sort_enabled = false +layer_1/y_sort_origin = 0 +layer_1/z_index = 0 +layer_1/tile_data = PackedInt32Array() +layer_2/name = "Top" +layer_2/enabled = true +layer_2/modulate = Color(1, 1, 1, 1) +layer_2/y_sort_enabled = false +layer_2/y_sort_origin = 0 +layer_2/z_index = 10 +layer_2/tile_data = PackedInt32Array() +layer_3/name = "AisleFloor" +layer_3/enabled = true +layer_3/modulate = Color(1, 1, 1, 1) +layer_3/y_sort_enabled = true +layer_3/y_sort_origin = 0 +layer_3/z_index = -10 +layer_3/tile_data = PackedInt32Array() + +[node name="NormalLayer" type="Node2D" parent="."] +z_index = -1 + +[node name="YSortLayer" type="Node2D" parent="."] +y_sort_enabled = true diff --git a/DungeonShooting_Godot/scene/test/TestGenerateDungeon.tscn b/DungeonShooting_Godot/scene/test/TestGenerateDungeon.tscn index 710b7e2..da0143e 100644 --- a/DungeonShooting_Godot/scene/test/TestGenerateDungeon.tscn +++ b/DungeonShooting_Godot/scene/test/TestGenerateDungeon.tscn @@ -1,7 +1,8 @@ [gd_scene load_steps=5 format=3 uid="uid://5bbx1u0od3jm"] [ext_resource type="Script" path="res://src/test/TestGenerateDungeon.cs" id="1"] -[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="2"] +[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="2"] + [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_rvg0t"] texture = ExtResource("2") diff --git a/DungeonShooting_Godot/scene/test/TestNavigation.tscn b/DungeonShooting_Godot/scene/test/TestNavigation.tscn deleted file mode 100644 index 4a0bddb..0000000 --- a/DungeonShooting_Godot/scene/test/TestNavigation.tscn +++ /dev/null @@ -1,79 +0,0 @@ -[gd_scene load_steps=8 format=2] - -[ext_resource path="res://src/test/TestNavigation.cs" type="Script" id=1] -[ext_resource path="res://icon.png" type="Texture2D" id=2] -[ext_resource path="res://resource/sprite/environment/craftpix-net-248911/16x16.png" type="Texture2D" id=3] - -[sub_resource type="NavigationPolygon" id=2] -vertices = PackedVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) -polygons = [ PackedInt32Array( 0, 1, 2, 3 ) ] - -[sub_resource type="TileSet" id=3] -0/name = "16x16.png 0" -0/texture = ExtResource( 3 ) -0/tex_offset = Vector2( 0, 0 ) -0/modulate = Color( 1, 1, 1, 1 ) -0/region = Rect2( 0, 0, 16, 16 ) -0/tile_mode = 0 -0/occluder_offset = Vector2( 0, 0 ) -0/navigation_offset = Vector2( 0, 0 ) -0/navigation = SubResource( 2 ) -0/shape_offset = Vector2( 0, 0 ) -0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape_one_way = false -0/shape_one_way_margin = 0.0 -0/shapes = [ ] -0/z_index = 0 - -[sub_resource type="NavigationPolygon" id=4] -vertices = PackedVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) -polygons = [ PackedInt32Array( 0, 1, 2, 3 ) ] - -[sub_resource type="TileSet" id=5] -0/name = "16x16.png 0" -0/texture = ExtResource( 3 ) -0/tex_offset = Vector2( 0, 0 ) -0/modulate = Color( 1, 1, 1, 1 ) -0/region = Rect2( 32, 0, 16, 16 ) -0/tile_mode = 0 -0/occluder_offset = Vector2( 0, 0 ) -0/navigation_offset = Vector2( 0, 0 ) -0/navigation = SubResource( 4 ) -0/shape_offset = Vector2( 0, 0 ) -0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape_one_way = false -0/shape_one_way_margin = 0.0 -0/shapes = [ ] -0/z_index = 0 - -[node name="TestNavigation" type="Node2D"] -scale = Vector2( 4, 4 ) -script = ExtResource( 1 ) - -[node name="Marker2D" type="Marker2D" parent="."] -z_index = -3 - -[node name="Node2D" type="Node2D" parent="Marker2D"] - -[node name="Node2D" type="Node2D" parent="Marker2D/Node2D"] - -[node name="TileMap" type="TileMap" parent="Marker2D/Node2D/Node2D"] -tile_set = SubResource( 3 ) -cell_size = Vector2( 16, 16 ) -bake_navigation = true -format = 1 -tile_data = PackedInt32Array( 131074, 0, 0, 131075, 0, 0, 131076, 0, 0, 131077, 0, 0, 131078, 0, 0, 196610, 0, 0, 196611, 0, 0, 196612, 0, 0, 196613, 0, 0, 196614, 0, 0, 262146, 0, 0, 262147, 0, 0, 262148, 0, 0, 262149, 0, 0, 262150, 0, 0, 327682, 0, 0, 327683, 0, 0, 327684, 0, 0, 327685, 0, 0, 327686, 0, 0, 327699, 0, 0, 327700, 0, 0, 327701, 0, 0, 327702, 0, 0, 327703, 0, 0, 327704, 0, 0, 327705, 0, 0, 393218, 0, 0, 393219, 0, 0, 393220, 0, 0, 393221, 0, 0, 393222, 0, 0, 393223, 0, 0, 393224, 0, 0, 393225, 0, 0, 393226, 0, 0, 393227, 0, 0, 393228, 0, 0, 393229, 0, 0, 393235, 0, 0, 393236, 0, 0, 393237, 0, 0, 393238, 0, 0, 393239, 0, 0, 393240, 0, 0, 393241, 0, 0, 458754, 0, 0, 458755, 0, 0, 458756, 0, 0, 458757, 0, 0, 458758, 0, 0, 458759, 0, 0, 458760, 0, 0, 458761, 0, 0, 458762, 0, 0, 458763, 0, 0, 458764, 0, 0, 458765, 0, 0, 458771, 0, 0, 458772, 0, 0, 458773, 0, 0, 458774, 0, 0, 458775, 0, 0, 458776, 0, 0, 458777, 0, 0, 524299, 0, 0, 524300, 0, 0, 524301, 0, 0, 524307, 0, 0, 524308, 0, 0, 524309, 0, 0, 524310, 0, 0, 524311, 0, 0, 524312, 0, 0, 524313, 0, 0, 589835, 0, 0, 589836, 0, 0, 589837, 0, 0, 589843, 0, 0, 589844, 0, 0, 589845, 0, 0, 589846, 0, 0, 589847, 0, 0, 589848, 0, 0, 589849, 0, 0, 589850, 0, 0, 589851, 0, 0, 655371, 0, 0, 655372, 0, 0, 655373, 0, 0, 655379, 0, 0, 655380, 0, 0, 655381, 0, 0, 655382, 0, 0, 655383, 0, 0, 655384, 0, 0, 655385, 0, 0, 655386, 0, 0, 655387, 0, 0, 720897, 0, 0, 720898, 0, 0, 720899, 0, 0, 720900, 0, 0, 720901, 0, 0, 720902, 0, 0, 720903, 0, 0, 720904, 0, 0, 720905, 0, 0, 720906, 0, 0, 720907, 0, 0, 720908, 0, 0, 720909, 0, 0, 720915, 0, 0, 720916, 0, 0, 720917, 0, 0, 720918, 0, 0, 720919, 0, 0, 720920, 0, 0, 720921, 0, 0, 720922, 0, 0, 720923, 0, 0, 786433, 0, 0, 786434, 0, 0, 786435, 0, 0, 786436, 0, 0, 786437, 0, 0, 786438, 0, 0, 786439, 0, 0, 786440, 0, 0, 786441, 0, 0, 786442, 0, 0, 786443, 0, 0, 786444, 0, 0, 786445, 0, 0, 786446, 0, 0, 786447, 0, 0, 786448, 0, 0, 786449, 0, 0, 786450, 0, 0, 786451, 0, 0, 786452, 0, 0, 786453, 0, 0, 786454, 0, 0, 786455, 0, 0, 786456, 0, 0, 786457, 0, 0, 786458, 0, 0, 786459, 0, 0, 851979, 0, 0, 851980, 0, 0, 851981, 0, 0, 851982, 0, 0, 851983, 0, 0, 851984, 0, 0, 851985, 0, 0, 851986, 0, 0, 851987, 0, 0, 851988, 0, 0, 851989, 0, 0, 851990, 0, 0, 851991, 0, 0, 851992, 0, 0, 851993, 0, 0, 851994, 0, 0, 851995, 0, 0, 917515, 0, 0, 917516, 0, 0, 917517, 0, 0, 917518, 0, 0, 917519, 0, 0, 917520, 0, 0, 917521, 0, 0, 917522, 0, 0, 917523, 0, 0, 917524, 0, 0, 917525, 0, 0, 917526, 0, 0, 917527, 0, 0, 917528, 0, 0, 917529, 0, 0, 917530, 0, 0, 917531, 0, 0, 983051, 0, 0, 983052, 0, 0, 983053, 0, 0, 983054, 0, 0, 983055, 0, 0, 983056, 0, 0, 983057, 0, 0, 983058, 0, 0, 983059, 0, 0, 983060, 0, 0, 983061, 0, 0, 983062, 0, 0, 983063, 0, 0, 983064, 0, 0, 983065, 0, 0, 983066, 0, 0, 983067, 0, 0 ) - -[node name="Node2D2" type="Node2D" parent="Marker2D/Node2D"] - -[node name="TileMap" type="TileMap" parent="Marker2D/Node2D/Node2D2"] -tile_set = SubResource( 5 ) -cell_size = Vector2( 16, 16 ) -bake_navigation = true -format = 1 -tile_data = PackedInt32Array( 131088, 0, 0, 131089, 0, 0, 131090, 0, 0, 131091, 0, 0, 131092, 0, 0, 196622, 0, 0, 196623, 0, 0, 196624, 0, 0, 196628, 0, 0, 262156, 0, 0, 262157, 0, 0, 262158, 0, 0, 262164, 0, 0, 327692, 0, 0, 524302, 0, 0, 524303, 0, 0, 524304, 0, 0, 524305, 0, 0, 524306, 0, 0, 589838, 0, 0, 589839, 0, 0, 589840, 0, 0, 589841, 0, 0, 589842, 0, 0 ) - -[node name="Sprite2D" type="Sprite2D" parent="Marker2D"] -position = Vector2( 33, 32 ) -scale = Vector2( 0.2, 0.2 ) -texture = ExtResource( 2 ) diff --git a/DungeonShooting_Godot/scene/test/TestReadExcel.tscn b/DungeonShooting_Godot/scene/test/TestReadExcel.tscn new file mode 100644 index 0000000..1ab48cd --- /dev/null +++ b/DungeonShooting_Godot/scene/test/TestReadExcel.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://deq562id5sngp"] + +[ext_resource type="Script" path="res://src/test/TestReadExcel.cs" id="1_y8vrr"] + +[node name="TestReadExcel" type="Node2D"] +script = ExtResource("1_y8vrr") diff --git a/DungeonShooting_Godot/scene/test/TestTileLayer.tscn b/DungeonShooting_Godot/scene/test/TestTileLayer.tscn index 90c2b63..c9a97e3 100644 --- a/DungeonShooting_Godot/scene/test/TestTileLayer.tscn +++ b/DungeonShooting_Godot/scene/test/TestTileLayer.tscn @@ -1,10 +1,11 @@ [gd_scene load_steps=13 format=3 uid="uid://d1m4kunwifxax"] -[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="1"] -[ext_resource type="Texture2D" uid="uid://chd2vtesap5cf" path="res://resource/sprite/role/role1.png" id="2"] -[ext_resource type="Texture2D" uid="uid://5geiuvv6hyov" path="res://resource/sprite/gun/gun2.png" id="3"] +[ext_resource type="Texture2D" uid="uid://dj8nrd5od4fcl" path="res://resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png" id="1"] +[ext_resource type="Texture2D" uid="uid://chd2vtesap5cf" path="res://resource/sprite/role/enemy0001/Enemy0001.png" id="2"] +[ext_resource type="Texture2D" uid="uid://5geiuvv6hyov" path="res://resource/sprite/weapon/gun2.png" id="3"] [ext_resource type="Texture2D" uid="uid://dto03bc2qbhnj" path="res://resource/sprite/shell/shellCase.png" id="4"] + [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ch2b5"] texture = ExtResource("1") margins = Vector2i(80, 144) diff --git a/DungeonShooting_Godot/src/config/ExcelConfig.cs b/DungeonShooting_Godot/src/config/ExcelConfig.cs new file mode 100644 index 0000000..a1bd2b5 --- /dev/null +++ b/DungeonShooting_Godot/src/config/ExcelConfig.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.Text.Json; +using Godot; + +namespace Config; + +public static partial class ExcelConfig +{ + /// + /// ActivityObject.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// + public static List ActivityObject_List { get; private set; } + /// + /// ActivityObject.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// + public static Dictionary ActivityObject_Map { get; private set; } + + /// + /// Sound.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// + public static List Sound_List { get; private set; } + /// + /// Sound.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// + public static Dictionary Sound_Map { get; private set; } + + /// + /// Weapon.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同 + /// + public static List Weapon_List { get; private set; } + /// + /// Weapon.xlsx表数据集合, 里 Map 形式存储, key 为 Id + /// + public static Dictionary Weapon_Map { get; private set; } + + + private static bool _init = false; + /// + /// 初始化所有配置表数据 + /// + public static void Init() + { + if (_init) return; + _init = true; + + _InitActivityObjectConfig(); + _InitSoundConfig(); + _InitWeaponConfig(); + + _InitWeaponRef(); + } + private static void _InitActivityObjectConfig() + { + try + { + var text = _ReadConfigAsText("res://resource/config/ActivityObject.json"); + ActivityObject_List = JsonSerializer.Deserialize>(text); + ActivityObject_Map = new Dictionary(); + foreach (var item in ActivityObject_List) + { + ActivityObject_Map.Add(item.Id, item); + } + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化表'ActivityObject'失败!"); + } + } + private static void _InitSoundConfig() + { + try + { + var text = _ReadConfigAsText("res://resource/config/Sound.json"); + Sound_List = JsonSerializer.Deserialize>(text); + Sound_Map = new Dictionary(); + foreach (var item in Sound_List) + { + Sound_Map.Add(item.Id, item); + } + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化表'Sound'失败!"); + } + } + private static void _InitWeaponConfig() + { + try + { + var text = _ReadConfigAsText("res://resource/config/Weapon.json"); + Weapon_List = new List(JsonSerializer.Deserialize>(text)); + Weapon_Map = new Dictionary(); + foreach (var item in Weapon_List) + { + Weapon_Map.Add(item.Id, item); + } + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化表'Weapon'失败!"); + } + } + + private static void _InitWeaponRef() + { + foreach (Ref_Weapon item in Weapon_List) + { + try + { + if (!string.IsNullOrEmpty(item.__ShootSound)) + { + item.ShootSound = Sound_Map[item.__ShootSound]; + } + + if (!string.IsNullOrEmpty(item.__BeginReloadSound)) + { + item.BeginReloadSound = Sound_Map[item.__BeginReloadSound]; + } + + if (!string.IsNullOrEmpty(item.__ReloadSound)) + { + item.ReloadSound = Sound_Map[item.__ReloadSound]; + } + + if (!string.IsNullOrEmpty(item.__ReloadFinishSound)) + { + item.ReloadFinishSound = Sound_Map[item.__ReloadFinishSound]; + } + + if (!string.IsNullOrEmpty(item.__EquipSound)) + { + item.EquipSound = Sound_Map[item.__EquipSound]; + } + + if (item.__OtherSoundMap != null) + { + item.OtherSoundMap = new Dictionary(); + foreach (var pair in item.__OtherSoundMap) + { + item.OtherSoundMap.Add(pair.Key, Sound_Map[pair.Value]); + } + } + + if (!string.IsNullOrEmpty(item.__AiUseAttribute)) + { + item.AiUseAttribute = Weapon_Map[item.__AiUseAttribute]; + } + + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + throw new Exception("初始化'Weapon'引用其他表数据失败, 当前行id: " + item.Id); + } + } + } + private static string _ReadConfigAsText(string path) + { + var file = FileAccess.Open(path, FileAccess.ModeFlags.Read); + var asText = file.GetAsText(); + file.Dispose(); + return asText; + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/config/ExcelConfig_ActivityObject.cs b/DungeonShooting_Godot/src/config/ExcelConfig_ActivityObject.cs new file mode 100644 index 0000000..12e9730 --- /dev/null +++ b/DungeonShooting_Godot/src/config/ExcelConfig_ActivityObject.cs @@ -0,0 +1,55 @@ +using System.Text.Json.Serialization; +using System.Collections.Generic; + +namespace Config; + +public static partial class ExcelConfig +{ + public class ActivityObject + { + /// + /// 物体唯一id
+ /// 需要添加类型前缀 + ///
+ [JsonInclude] + public string Id; + + /// + /// Test(测试对象): 2
+ /// Role(角色): 3
+ /// Enemy(敌人): 4
+ /// Weapon(武器): 5
+ /// Bullet(子弹): 6
+ /// Shell(弹壳): 7
+ /// Effect(特效): 8
+ /// Other(其它类型): 9 + ///
+ [JsonInclude] + public int Type; + + /// + /// 物体预制场景路径, 场景根节点必须是ActivityObject子类 + /// + [JsonInclude] + public string Prefab; + + /// + /// 物体备注 + /// + [JsonInclude] + public string Remark; + + /// + /// 返回浅拷贝出的新对象 + /// + public ActivityObject Clone() + { + var inst = new ActivityObject(); + inst.Id = Id; + inst.Type = Type; + inst.Prefab = Prefab; + inst.Remark = Remark; + return inst; + } + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/config/ExcelConfig_Sound.cs b/DungeonShooting_Godot/src/config/ExcelConfig_Sound.cs new file mode 100644 index 0000000..5131c2a --- /dev/null +++ b/DungeonShooting_Godot/src/config/ExcelConfig_Sound.cs @@ -0,0 +1,47 @@ +using System.Text.Json.Serialization; +using System.Collections.Generic; + +namespace Config; + +public static partial class ExcelConfig +{ + public class Sound + { + /// + /// 音效id + /// + [JsonInclude] + public string Id; + + /// + /// 文件路径 + /// + [JsonInclude] + public string Path; + + /// + /// 音量(范围0 - 1) + /// + [JsonInclude] + public float Volume; + + /// + /// 备注 + /// + [JsonInclude] + public string Remark; + + /// + /// 返回浅拷贝出的新对象 + /// + public Sound Clone() + { + var inst = new Sound(); + inst.Id = Id; + inst.Path = Path; + inst.Volume = Volume; + inst.Remark = Remark; + return inst; + } + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs b/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs new file mode 100644 index 0000000..ac16ffc --- /dev/null +++ b/DungeonShooting_Godot/src/config/ExcelConfig_Weapon.cs @@ -0,0 +1,444 @@ +using System.Text.Json.Serialization; +using System.Collections.Generic; + +namespace Config; + +public static partial class ExcelConfig +{ + public class Weapon + { + /// + /// 武器属性id + /// + [JsonInclude] + public string Id; + + /// + /// 属性绑定武器的Id,如果是Ai使用的数据, 则填空字符串串 + /// + [JsonInclude] + public string WeaponId; + + /// + /// 武器显示的名称 + /// + [JsonInclude] + public string Name; + + /// + /// 武器的图标 + /// + [JsonInclude] + public string Icon; + + /// + /// 重量 + /// + [JsonInclude] + public float Weight; + + /// + /// 武器类型:
+ /// 1.副武器
+ /// 2.主武器
+ /// 3.重型武器 + ///
+ [JsonInclude] + public byte WeightType; + + /// + /// 是否连续发射, 如果为false, 则每次发射都需要扣动扳机 + /// + [JsonInclude] + public bool ContinuousShoot; + + /// + /// 弹夹容量 + /// + [JsonInclude] + public int AmmoCapacity; + + /// + /// 弹药容量上限 + /// + [JsonInclude] + public int MaxAmmoCapacity; + + /// + /// 默认起始备用弹药数量 + /// + [JsonInclude] + public int StandbyAmmoCapacity; + + /// + /// 装弹时间 (单位: 秒) + /// + [JsonInclude] + public float ReloadTime; + + /// + /// 每粒子弹是否是单独装填, 如果是, 那么每上一发子弹的时间就是 ReloadTime, 可以做霰弹枪装填效果 + /// + [JsonInclude] + public bool AloneReload; + + /// + /// 单独装填时每次装填子弹数量, 必须要将 'AloneReload' 属性设置为 true + /// + [JsonInclude] + public int AloneReloadCount; + + /// + /// 单独装弹模式下,从触发装弹到开始装第一发子弹中间的间隔时间, 必须要将 'AloneReload' 属性设置为 true + /// + [JsonInclude] + public float AloneReloadBeginIntervalTime; + + /// + /// 单独装弹模式下,从装完最后一发子弹到可以射击中间的间隔时间, 必须要将 'AloneReload' 属性设置为 true + /// + [JsonInclude] + public float AloneReloadFinishIntervalTime; + + /// + /// 单独装填的子弹时可以立即射击, 必须要将 'AloneReload' 属性设置为 true + /// + [JsonInclude] + public bool AloneReloadCanShoot; + + /// + /// 是否为松发开火, 也就是松开扳机才开火, 若要启用该属性, 必须将 'ContinuousShoot' 设置为 false + /// + [JsonInclude] + public bool LooseShoot; + + /// + /// 最少需要蓄力多久才能开火, 必须将 'LooseShoot' 设置为 true + /// + [JsonInclude] + public float MinChargeTime; + + /// + /// 连续发射最小次数, 仅当 ContinuousShoot 为 false 时生效 + /// + [JsonInclude] + public int MinContinuousCount; + + /// + /// 连续发射最大次数, 仅当 ContinuousShoot 为 false 时生效 + /// + [JsonInclude] + public int MaxContinuousCount; + + /// + /// 按下一次扳机后需要多长时间才能再次感应按下 + /// + [JsonInclude] + public float TriggerInterval; + + /// + /// 初始射速, 初始每分钟能开火次数 + /// + [JsonInclude] + public float StartFiringSpeed; + + /// + /// 最终射速, 最终每分钟能开火次数, 仅当 ContinuousShoot 为 true 时生效 + /// + [JsonInclude] + public float FinalFiringSpeed; + + /// + /// 按下扳机并开火后射速每秒增加量 + /// + [JsonInclude] + public float FiringSpeedAddSpeed; + + /// + /// 松开扳机后射速消散速率 + /// + [JsonInclude] + public float FiringSpeedBackSpeed; + + /// + /// 单次开火发射子弹最小数量 + /// + [JsonInclude] + public int MinFireBulletCount; + + /// + /// 单次开火发射子弹最大数量 + /// + [JsonInclude] + public int MaxFireBulletCount; + + /// + /// 从按下扳机到发射第一发子弹的延时时, 如果中途松开扳机, 那么延时时间会重新计算, 必须将 'LooseShoot' 设置为 false + /// + [JsonInclude] + public float DelayedTime; + + /// + /// 初始散射半径 + /// + [JsonInclude] + public float StartScatteringRange; + + /// + /// 最终散射半径 + /// + [JsonInclude] + public float FinalScatteringRange; + + /// + /// 每次发射后散射增加值 + /// + [JsonInclude] + public float ScatteringRangeAddValue; + + /// + /// 散射值销退速率 + /// + [JsonInclude] + public float ScatteringRangeBackSpeed; + + /// + /// 开始销退散射值的延时时间 + /// + [JsonInclude] + public float ScatteringRangeBackDelayTime; + + /// + /// 子弹飞行最小距离 + /// + [JsonInclude] + public float MinDistance; + + /// + /// 子弹飞行最大距离 + /// + [JsonInclude] + public float MaxDistance; + + /// + /// 最小后坐力 (仅用于开火后武器身抖动) + /// + [JsonInclude] + public float MinBacklash; + + /// + /// 最大后坐力 (仅用于开火后武器身抖动) + /// + [JsonInclude] + public float MaxBacklash; + + /// + /// 后坐力偏移回归回归速度 + /// + [JsonInclude] + public float BacklashRegressionSpeed; + + /// + /// 开火后武器口上抬角度 + /// + [JsonInclude] + public float UpliftAngle; + + /// + /// 武器默认上抬角度 + /// + [JsonInclude] + public float DefaultAngle; + + /// + /// 开火后武器口角度恢复速度倍数 + /// + [JsonInclude] + public float UpliftAngleRestore; + + /// + /// 默认射出的子弹id + /// + [JsonInclude] + public string BulletId; + + /// + /// 投抛状态下物体碰撞器大小 + /// + [JsonInclude] + public SerializeVector2 ThrowCollisionSize; + + /// + /// 射击音效 + /// + public Sound ShootSound; + + /// + /// 开始换弹音效 + /// + public Sound BeginReloadSound; + + /// + /// 开始换弹音效延时时间 + /// + [JsonInclude] + public float BeginReloadSoundDelayTime; + + /// + /// 换弹音效 + /// + public Sound ReloadSound; + + /// + /// 换弹音效延时时间 + /// + [JsonInclude] + public float ReloadSoundDelayTime; + + /// + /// 换弹结束音效 + /// + public Sound ReloadFinishSound; + + /// + /// 换弹结束音效在换弹结束前多久开始
+ /// 注意: 如果'AloneReload'为true, 那么当前属性的值应该小于'AloneReloadFinishIntervalTime' + ///
+ [JsonInclude] + public float ReloadFinishSoundAdvanceTime; + + /// + /// 上膛音效 + /// + public Sound EquipSound; + + /// + /// 上膛音效延时时间 + /// + [JsonInclude] + public float EquipSoundDelayTime; + + /// + /// 其他音效 + /// + public Dictionary OtherSoundMap; + + /// + /// Ai属性
+ /// Ai 使用该武器时的武器数据, 设置该字段, 可让同一把武器在敌人和玩家手上有不同属性
+ /// 如果不填则Ai和玩家使用同一种属性 + ///
+ public Weapon AiUseAttribute; + + /// + /// Ai属性
+ /// 目标锁定时间, 也就是瞄准目标多久才会开火, (单位: 秒) + ///
+ [JsonInclude] + public float AiTargetLockingTime; + + /// + /// Ai属性
+ /// Ai使用该武器发射的子弹速度缩放比 + ///
+ [JsonInclude] + public float AiBulletSpeedScale; + + /// + /// Ai属性
+ /// Ai使用该武器消耗弹药的概率, (0 - 1) + ///
+ [JsonInclude] + public float AiAmmoConsumptionProbability; + + /// + /// 返回浅拷贝出的新对象 + /// + public Weapon Clone() + { + var inst = new Weapon(); + inst.Id = Id; + inst.WeaponId = WeaponId; + inst.Name = Name; + inst.Icon = Icon; + inst.Weight = Weight; + inst.WeightType = WeightType; + inst.ContinuousShoot = ContinuousShoot; + inst.AmmoCapacity = AmmoCapacity; + inst.MaxAmmoCapacity = MaxAmmoCapacity; + inst.StandbyAmmoCapacity = StandbyAmmoCapacity; + inst.ReloadTime = ReloadTime; + inst.AloneReload = AloneReload; + inst.AloneReloadCount = AloneReloadCount; + inst.AloneReloadBeginIntervalTime = AloneReloadBeginIntervalTime; + inst.AloneReloadFinishIntervalTime = AloneReloadFinishIntervalTime; + inst.AloneReloadCanShoot = AloneReloadCanShoot; + inst.LooseShoot = LooseShoot; + inst.MinChargeTime = MinChargeTime; + inst.MinContinuousCount = MinContinuousCount; + inst.MaxContinuousCount = MaxContinuousCount; + inst.TriggerInterval = TriggerInterval; + inst.StartFiringSpeed = StartFiringSpeed; + inst.FinalFiringSpeed = FinalFiringSpeed; + inst.FiringSpeedAddSpeed = FiringSpeedAddSpeed; + inst.FiringSpeedBackSpeed = FiringSpeedBackSpeed; + inst.MinFireBulletCount = MinFireBulletCount; + inst.MaxFireBulletCount = MaxFireBulletCount; + inst.DelayedTime = DelayedTime; + inst.StartScatteringRange = StartScatteringRange; + inst.FinalScatteringRange = FinalScatteringRange; + inst.ScatteringRangeAddValue = ScatteringRangeAddValue; + inst.ScatteringRangeBackSpeed = ScatteringRangeBackSpeed; + inst.ScatteringRangeBackDelayTime = ScatteringRangeBackDelayTime; + inst.MinDistance = MinDistance; + inst.MaxDistance = MaxDistance; + inst.MinBacklash = MinBacklash; + inst.MaxBacklash = MaxBacklash; + inst.BacklashRegressionSpeed = BacklashRegressionSpeed; + inst.UpliftAngle = UpliftAngle; + inst.DefaultAngle = DefaultAngle; + inst.UpliftAngleRestore = UpliftAngleRestore; + inst.BulletId = BulletId; + inst.ThrowCollisionSize = ThrowCollisionSize; + inst.ShootSound = ShootSound; + inst.BeginReloadSound = BeginReloadSound; + inst.BeginReloadSoundDelayTime = BeginReloadSoundDelayTime; + inst.ReloadSound = ReloadSound; + inst.ReloadSoundDelayTime = ReloadSoundDelayTime; + inst.ReloadFinishSound = ReloadFinishSound; + inst.ReloadFinishSoundAdvanceTime = ReloadFinishSoundAdvanceTime; + inst.EquipSound = EquipSound; + inst.EquipSoundDelayTime = EquipSoundDelayTime; + inst.OtherSoundMap = OtherSoundMap; + inst.AiUseAttribute = AiUseAttribute; + inst.AiTargetLockingTime = AiTargetLockingTime; + inst.AiBulletSpeedScale = AiBulletSpeedScale; + inst.AiAmmoConsumptionProbability = AiAmmoConsumptionProbability; + return inst; + } + } + private class Ref_Weapon : Weapon + { + [JsonInclude] + public string __ShootSound; + + [JsonInclude] + public string __BeginReloadSound; + + [JsonInclude] + public string __ReloadSound; + + [JsonInclude] + public string __ReloadFinishSound; + + [JsonInclude] + public string __EquipSound; + + [JsonInclude] + public Dictionary __OtherSoundMap; + + [JsonInclude] + public string __AiUseAttribute; + + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/SerializeVector2.cs b/DungeonShooting_Godot/src/framework/SerializeVector2.cs deleted file mode 100644 index 4e0a888..0000000 --- a/DungeonShooting_Godot/src/framework/SerializeVector2.cs +++ /dev/null @@ -1,59 +0,0 @@ - -using System.Text.Json.Serialization; -using Godot; - -/// -/// 可序列化的 Vector2 对象 -/// -public class SerializeVector2 -{ - public SerializeVector2(float x, float y) - { - X = x; - Y = y; - } - - public SerializeVector2(Vector2 v) - { - X = v.X; - Y = v.Y; - } - - public SerializeVector2(Vector2I v) - { - X = v.X; - Y = v.Y; - } - - public SerializeVector2(SerializeVector2 v) - { - X = v.X; - Y = v.Y; - } - - public SerializeVector2() - { - - } - - [JsonInclude] - public float X { get; private set; } - [JsonInclude] - public float Y { get; private set; } - - /// - /// 转为 Vector2 - /// - public Vector2 AsVector2() - { - return new Vector2(X, Y); - } - - /// - /// 转为 Vector2I - /// - public Vector2I AsVector2I() - { - return new Vector2I((int)X, (int)Y); - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs index 33060d8..49d6b0c 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs @@ -23,19 +23,28 @@ public string ItemId { get; private set; } /// - /// 当前物体显示的精灵图像, 节点名称必须叫 "AnimatedSprite2D", 类型为 AnimatedSprite2D + /// 是否是静态物体, 如果为true, 则会禁用移动处理 /// - public AnimatedSprite2D AnimatedSprite { get; private set; } + [Export] + public bool IsStatic { get; set; } /// /// 当前物体显示的阴影图像, 节点名称必须叫 "ShadowSprite", 类型为 Sprite2D /// - public Sprite2D ShadowSprite { get; private set; } + [Export, ExportFillNode] + public Sprite2D ShadowSprite { get; set; } + + /// + /// 当前物体显示的精灵图像, 节点名称必须叫 "AnimatedSprite2D", 类型为 AnimatedSprite2D + /// + [Export, ExportFillNode] + public AnimatedSprite2D AnimatedSprite { get; set; } /// /// 当前物体碰撞器节点, 节点名称必须叫 "Collision", 类型为 CollisionShape2D /// - public CollisionShape2D Collision { get; private set; } + [Export, ExportFillNode] + public CollisionShape2D Collision { get; set; } /// /// 是否调用过 Destroy() 函数 @@ -57,14 +66,28 @@ /// public Vector2 BasisVelocity { - get => MoveController.BasisVelocity; - set => MoveController.BasisVelocity = value; + get + { + if (MoveController != null) + { + return MoveController.BasisVelocity; + } + + return Vector2.Zero; + } + set + { + if (MoveController != null) + { + MoveController.BasisVelocity = value; + } + } } /// /// 当前物体归属的区域, 如果为 null 代表不属于任何一个区域 /// - public AffiliationArea Affiliation + public AffiliationArea AffiliationArea { get => _affiliationArea; set @@ -80,7 +103,7 @@ /// /// 是否正在投抛过程中 /// - public bool IsThrowing => _fallData != null && !_isFallOver; + public bool IsThrowing => _throwForce != null && !_isFallOver; /// /// 当前物体的海拔高度, 如果大于0, 则会做自由落体运动, 也就是执行投抛代码 @@ -131,10 +154,11 @@ /// 物体下坠回弹后的运动速度衰减量 /// public float BounceSpeed { get; set; } = 0.75f; - + /// /// 投抛状态下物体碰撞器大小, 如果 (x, y) 都小于 0, 则默认使用 AnimatedSprite 的默认动画第一帧的大小 /// + [Export] public Vector2 ThrowCollisionSize { get; set; } = new Vector2(-1, -1); /// @@ -173,6 +197,11 @@ /// public bool EnableCustomBehavior { get; set; } = true; + /// + /// 所在的 World 对象 + /// + public World World { get; private set; } + // -------------------------------------------------------------------------------- //组件集合 @@ -192,7 +221,7 @@ private ShaderMaterial _blendShaderMaterial; //存储投抛该物体时所产生的数据 - private ActivityFallData _fallData; + private ActivityFallData _fallData = new ActivityFallData(); //所在层级 private RoomLayerEnum _currLayer; @@ -202,9 +231,7 @@ //开启的协程 private List _coroutineList; - //模板实例 - private ActivityObjectTemplate _templateInstance; - + //物体所在区域 private AffiliationArea _affiliationArea; @@ -234,56 +261,25 @@ private static long _instanceIndex = 0; //初始化节点 - private void _InitNode(string itemId, string scenePath) + private void _InitNode(string itemId, World world) { - //加载预制体 - var tempPrefab = ResourceManager.Load(scenePath); - if (tempPrefab == null) +#if TOOLS + if (!Engine.IsEditorHint()) { - throw new Exception("创建 ActivityObject 没有找到指定挂载的预制体: " + scenePath); - } - - ItemId = itemId; - Name = GetType().Name + (_instanceIndex++); - - _templateInstance = tempPrefab.Instantiate(); - //移动子节点 - var count = _templateInstance.GetChildCount(); - for (int i = 0; i < count; i++) - { - var body = _templateInstance.GetChild(0); - _templateInstance.RemoveChild(body); - AddChild(body); - body.Owner = this; - switch (body.Name) + if (GetType().GetCustomAttributes(typeof(ToolAttribute), false).Length == 0) { - case "AnimatedSprite": - AnimatedSprite = (AnimatedSprite2D)body; - _blendShaderMaterial = AnimatedSprite.Material as ShaderMaterial; - break; - case "ShadowSprite": - ShadowSprite = (Sprite2D)body; - ShadowSprite.Visible = false; - break; - case "Collision": - Collision = (CollisionShape2D)body; - break; + throw new Exception($"ActivityObject子类'{GetType().FullName}'没有加[Tool]标记!"); } } - - ZIndex = _templateInstance.z_index; - CollisionLayer = _templateInstance.collision_layer; - CollisionMask = _templateInstance.collision_mask; - Scale = _templateInstance.scale; - Visible = _templateInstance.visible; - +#endif + World = world; + ItemId = itemId; + Name = GetType().Name + (_instanceIndex++); + _blendShaderMaterial = AnimatedSprite.Material as ShaderMaterial; + ShadowSprite.Visible = false; MotionMode = MotionModeEnum.Floating; - MoveController = AddComponent(); - - //临时处理, 4.0 有bug, 不能销毁模板实例, 不然关闭游戏会报错!!! - //_templateInstance.CallDeferred(Node.MethodName.QueueFree); - + MoveController.Enable = !IsStatic; OnInit(); } @@ -292,6 +288,38 @@ /// public sealed override void _Ready() { + + } + + /// + /// 子类需要重写 _EnterTree() 函数, 请重写 EnterTree() + /// + public sealed override void _EnterTree() + { +#if TOOLS + // 在工具模式下创建的 template 节点自动创建对应的必要子节点 + if (Engine.IsEditorHint()) + { + _InitNodeInEditor(); + return; + } +#endif + EnterTree(); + } + + /// + /// 子类需要重写 _ExitTree() 函数, 请重写 ExitTree() + /// + public sealed override void _ExitTree() + { +#if TOOLS + // 在工具模式下创建的 template 节点自动创建对应的必要子节点 + if (Engine.IsEditorHint()) + { + return; + } +#endif + ExitTree(); } /// @@ -311,7 +339,7 @@ if (_prevAnimation != anim || _prevAnimationFrame != frame) { var frames = AnimatedSprite.SpriteFrames; - if (frames.HasAnimation(anim)) + if (frames != null && frames.HasAnimation(anim)) { //切换阴影动画 ShadowSprite.Texture = frames.GetFrameTexture(anim, frame); @@ -366,7 +394,12 @@ /// public Texture2D GetCurrentTexture() { - return AnimatedSprite.SpriteFrames.GetFrameTexture(AnimatedSprite.Name, AnimatedSprite.Frame); + var spriteFrames = AnimatedSprite.SpriteFrames; + if (spriteFrames == null) + { + return null; + } + return spriteFrames.GetFrameTexture(AnimatedSprite.Animation, AnimatedSprite.Frame); } /// @@ -375,6 +408,22 @@ public virtual void OnInit() { } + + /// + /// 进入场景树时调用 + /// + public virtual void EnterTree() + { + + } + + /// + /// 离开场景树时调用 + /// + public virtual void ExitTree() + { + + } /// /// 返回是否能与其他ActivityObject互动 @@ -511,7 +560,7 @@ { _currLayer = layer; var parent = GetParent(); - var root = GameApplication.Instance.RoomManager.GetRoomLayer(layer); + var root = GameApplication.Instance.World.GetRoomLayer(layer); if (parent != root) { if (parent != null) @@ -564,15 +613,16 @@ var parent = GetParent(); if (parent == null) { - GameApplication.Instance.RoomManager.YSortLayer.AddChild(this); + GameApplication.Instance.World.YSortLayer.AddChild(this); } - else if (parent != GameApplication.Instance.RoomManager.YSortLayer) + else if (parent != GameApplication.Instance.World.YSortLayer) { parent.RemoveChild(this); - GameApplication.Instance.RoomManager.YSortLayer.AddChild(this); + GameApplication.Instance.World.YSortLayer.AddChild(this); } Altitude = altitude; + //Position = Position + new Vector2(0, altitude); VerticalSpeed = verticalSpeed; ThrowRotationDegreesSpeed = rotate; if (_throwForce != null) @@ -583,6 +633,8 @@ _throwForce = new ExternalForce("throw"); _throwForce.Velocity = velocity; MoveController.AddConstantForce(_throwForce); + + InitThrowData(); } /// @@ -702,6 +754,12 @@ /// public sealed override void _Process(double delta) { +#if TOOLS + if (Engine.IsEditorHint()) + { + return; + } +#endif var newDelta = (float)delta; if (EnableCustomBehavior) { @@ -732,42 +790,25 @@ } else //只更新 MoveController 组件 { - if (!MoveController.IsReady) + if (MoveController.Enable) { - MoveController.Ready(); - MoveController.IsReady = true; + if (!MoveController.IsReady) + { + MoveController.Ready(); + MoveController.IsReady = true; + } + + MoveController.Process(newDelta); } - MoveController.Process(newDelta); } } // 下坠判定 if (Altitude > 0 || VerticalSpeed != 0) { - if (_fallData == null) - { - _fallData = new ActivityFallData(); - } - if (_isFallOver) // 没有处于下坠状态, 则进入下坠状态 { - SetFallCollision(); - - _isFallOver = false; - _firstFall = true; - _hasResilienceVerticalSpeed = false; - _resilienceVerticalSpeed = 0; - - if (ThrowCollisionSize.X < 0 && ThrowCollisionSize.Y < 0) - { - _throwRectangleShape.Size = GetDefaultTexture().GetSize(); - } - else - { - _throwRectangleShape.Size = ThrowCollisionSize; - } - - Throw(); + InitThrowData(); } else { @@ -810,7 +851,7 @@ MoveController.ScaleAllForce(BounceSpeed); //如果落地高度不够低, 再抛一次 - if (Bounce && (!_hasResilienceVerticalSpeed || _resilienceVerticalSpeed > 1)) + if (Bounce && (!_hasResilienceVerticalSpeed || _resilienceVerticalSpeed > 5)) { if (!_hasResilienceVerticalSpeed) { @@ -819,7 +860,14 @@ } else { - _resilienceVerticalSpeed = _resilienceVerticalSpeed * BounceStrength; + if (_resilienceVerticalSpeed < 25) + { + _resilienceVerticalSpeed = _resilienceVerticalSpeed * BounceStrength * 0.4f; + } + else + { + _resilienceVerticalSpeed = _resilienceVerticalSpeed * BounceStrength; + } } _verticalSpeed = _resilienceVerticalSpeed; ThrowRotationDegreesSpeed = ThrowRotationDegreesSpeed * BounceStrength; @@ -911,6 +959,12 @@ /// public sealed override void _PhysicsProcess(double delta) { +#if TOOLS + if (Engine.IsEditorHint()) + { + return; + } +#endif var newDelta = (float)delta; if (EnableCustomBehavior) { @@ -941,12 +995,16 @@ } else //只更新 MoveController 组件 { - if (!MoveController.IsReady) + if (MoveController.Enable) { - MoveController.Ready(); - MoveController.IsReady = true; + if (!MoveController.IsReady) + { + MoveController.Ready(); + MoveController.IsReady = true; + } + + MoveController.PhysicsProcess(newDelta); } - MoveController.PhysicsProcess(newDelta); } } @@ -958,6 +1016,12 @@ /// public sealed override void _Draw() { +#if TOOLS + if (Engine.IsEditorHint()) + { + return; + } +#endif if (IsDebug) { DebugDraw(); @@ -993,7 +1057,8 @@ { if (Scale.Y < 0) { - AnimatedSprite.GlobalPosition = GlobalPosition + new Vector2(0, -Altitude) - _fallData.OriginSpritePosition.Rotated(Rotation) * Scale.Abs(); + var pos = new Vector2(_fallData.OriginSpritePosition.X, -_fallData.OriginSpritePosition.Y); + AnimatedSprite.GlobalPosition = GlobalPosition + new Vector2(0, -Altitude) - pos.Rotated(Rotation + Mathf.Pi); } else { @@ -1022,13 +1087,10 @@ arr[i].Value?.Destroy(); } - if (Affiliation != null) + if (AffiliationArea != null) { - Affiliation.RemoveItem(this); + AffiliationArea.RemoveItem(this); } - - //临时处理, 4.0 有bug, 不能提前销毁模板实例, 不然关闭游戏会报错!!! - _templateInstance.QueueFree(); } /// @@ -1063,7 +1125,7 @@ { this.AddToActivityRoot(RoomLayerEnum.YSortLayer); } - else if (parent == GameApplication.Instance.RoomManager.NormalLayer) + else if (parent == GameApplication.Instance.World.NormalLayer) { parent.RemoveChild(this); this.AddToActivityRoot(RoomLayerEnum.YSortLayer); @@ -1103,7 +1165,7 @@ { _throwRectangleShape = new RectangleShape2D(); } - + Collision.Shape = _throwRectangleShape; Collision.Position = Vector2.Zero; Collision.Rotation = 0; @@ -1149,7 +1211,7 @@ private void ThrowOver() { var parent = GetParent(); - var roomLayer = GameApplication.Instance.RoomManager.GetRoomLayer(_currLayer); + var roomLayer = GameApplication.Instance.World.GetRoomLayer(_currLayer); if (parent != roomLayer) { parent.RemoveChild(this); @@ -1160,6 +1222,28 @@ OnThrowOver(); } + //初始化投抛状态数据 + private void InitThrowData() + { + SetFallCollision(); + + _isFallOver = false; + _firstFall = true; + _hasResilienceVerticalSpeed = false; + _resilienceVerticalSpeed = 0; + + if (ThrowCollisionSize.X < 0 && ThrowCollisionSize.Y < 0) + { + _throwRectangleShape.Size = GetDefaultTexture().GetSize(); + } + else + { + _throwRectangleShape.Size = ThrowCollisionSize; + } + + Throw(); + } + /// /// 设置标记, 用于在物体上记录自定义数据 /// @@ -1258,4 +1342,60 @@ { ProxyCoroutineHandler.ProxyStopAllCoroutine(ref _coroutineList); } + + /// + /// 延时指定时间调用一个回调函数 + /// + public void DelayCall(float delayTime, Action cb) + { + StartCoroutine(_DelayCall(delayTime, cb)); + } + + /// + /// 延时指定时间调用一个回调函数 + /// + public void DelayCall(float delayTime, Action cb, T1 arg1) + { + StartCoroutine(_DelayCall(delayTime, cb, arg1)); + } + + /// + /// 延时指定时间调用一个回调函数 + /// + public void DelayCall(float delayTime, Action cb, T1 arg1, T2 arg2) + { + StartCoroutine(_DelayCall(delayTime, cb, arg1, arg2)); + } + + /// + /// 延时指定时间调用一个回调函数 + /// + public void DelayCall(float delayTime, Action cb, T1 arg1, T2 arg2, T3 arg3) + { + StartCoroutine(_DelayCall(delayTime, cb, arg1, arg2, arg3)); + } + + private IEnumerator _DelayCall(float delayTime, Action cb) + { + yield return new WaitForSeconds(delayTime); + cb(); + } + + private IEnumerator _DelayCall(float delayTime, Action cb, T1 arg1) + { + yield return new WaitForSeconds(delayTime); + cb(arg1); + } + + private IEnumerator _DelayCall(float delayTime, Action cb, T1 arg1, T2 arg2) + { + yield return new WaitForSeconds(delayTime); + cb(arg1, arg2); + } + + private IEnumerator _DelayCall(float delayTime, Action cb, T1 arg1, T2 arg2, T3 arg3) + { + yield return new WaitForSeconds(delayTime); + cb(arg1,arg2, arg3); + } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObjectTemplate.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObjectTemplate.cs index 30a1ce2..cea2ecc 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObjectTemplate.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObjectTemplate.cs @@ -1,122 +1,127 @@ -using Godot; - -/// -/// ActivityObject 节点模板对象 -/// -[Tool] -public partial class ActivityObjectTemplate : Node -{ - // /// - // /// 默认放入的层级 - // /// - // [Export] public RoomLayerEnum DefaultLayer = RoomLayerEnum.NormalLayer; - - /// - /// 物体初始缩放 - /// - [Export] public Vector2 scale = Vector2.One; - - /// - /// 当前物体所属物理层 - /// - [Export(PropertyHint.Layers2DPhysics)] public uint collision_layer; - - /// - /// 当前物体扫描的物理层 - /// - [Export(PropertyHint.Layers2DPhysics)] public uint collision_mask; - - /// - /// 显示状态 - /// - [Export] public bool visible = true; - - /// - /// 当前物体渲染层级 - /// - [Export] public int z_index; - - public override void _Ready() - { -#if TOOLS - // 在工具模式下创建的 template 节点自动创建对应的必要子节点 - if (Engine.IsEditorHint()) - { - var parent = GetParent(); - if (parent != null) - { - //寻找 owner - Node owner; - if (parent.Owner != null) - { - owner = parent.Owner; - } - else if (Plugin.Plugin.Instance.GetEditorInterface().GetEditedSceneRoot() == this) - { - owner = this; - } - else - { - owner = parent; - } - - var sprite = GetNodeOrNull("ShadowSprite"); - //创建Shadow - if (sprite == null) - { - sprite = new Sprite2D(); - sprite.Name = "ShadowSprite"; - sprite.ZIndex = -1; - var material = - ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); - material.SetShaderParameter("blend", new Color(0, 0, 0, 0.47058824F)); - material.SetShaderParameter("schedule", 1); - sprite.Material = material; - AddChild(sprite); - sprite.Owner = owner; - } - else if (sprite.Material == null) - { - var material = - ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); - material.SetShaderParameter("blend", new Color(0, 0, 0, 0.47058824F)); - material.SetShaderParameter("schedule", 1); - sprite.Material = material; - } - - var animatedSprite = GetNodeOrNull("AnimatedSprite"); - //创建 Sprite2D - if (animatedSprite == null) - { - animatedSprite = new AnimatedSprite2D(); - animatedSprite.Name = "AnimatedSprite"; - var material = - ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); - material.SetShaderParameter("blend", new Color(1, 1, 1, 1)); - material.SetShaderParameter("schedule", 0); - animatedSprite.Material = material; - AddChild(animatedSprite); - animatedSprite.Owner = owner; - } - else if (animatedSprite.Material == null) - { - var material = - ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); - material.SetShaderParameter("blend", new Color(1, 1, 1, 1)); - material.SetShaderParameter("schedule", 0); - animatedSprite.Material = material; - } - - //创建Collision - if (GetNodeOrNull("Collision") == null) - { - var co = new CollisionShape2D(); - co.Name = "Collision"; - AddChild(co); - co.Owner = owner; - } - } - } -#endif - } -} \ No newline at end of file +// using Godot; +// +// /// +// /// ActivityObject 节点模板对象 +// /// +// [Tool] +// public partial class ActivityObjectTemplate : Node +// { +// // /// +// // /// 默认放入的层级 +// // /// +// // [Export] public RoomLayerEnum DefaultLayer = RoomLayerEnum.NormalLayer; +// +// /// +// /// 是否是静态物体 +// /// +// [Export] public bool IsStatic = false; +// +// /// +// /// 物体初始缩放 +// /// +// [Export] public Vector2 scale = Vector2.One; +// +// /// +// /// 当前物体所属物理层 +// /// +// [Export(PropertyHint.Layers2DPhysics)] public uint collision_layer; +// +// /// +// /// 当前物体扫描的物理层 +// /// +// [Export(PropertyHint.Layers2DPhysics)] public uint collision_mask; +// +// /// +// /// 显示状态 +// /// +// [Export] public bool visible = true; +// +// /// +// /// 当前物体渲染层级 +// /// +// [Export] public int z_index; +// +// public override void _Ready() +// { +// #if TOOLS +// // 在工具模式下创建的 template 节点自动创建对应的必要子节点 +// if (Engine.IsEditorHint()) +// { +// var parent = GetParent(); +// if (parent != null) +// { +// //寻找 owner +// Node owner; +// if (parent.Owner != null) +// { +// owner = parent.Owner; +// } +// else if (Plugin.Plugin.Instance.GetEditorInterface().GetEditedSceneRoot() == this) +// { +// owner = this; +// } +// else +// { +// owner = parent; +// } +// +// var sprite = GetNodeOrNull("ShadowSprite"); +// //创建Shadow +// if (sprite == null) +// { +// sprite = new Sprite2D(); +// sprite.Name = "ShadowSprite"; +// sprite.ZIndex = -1; +// var material = +// ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); +// material.SetShaderParameter("blend", new Color(0, 0, 0, 0.47058824F)); +// material.SetShaderParameter("schedule", 1); +// sprite.Material = material; +// AddChild(sprite); +// sprite.Owner = owner; +// } +// else if (sprite.Material == null) +// { +// var material = +// ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); +// material.SetShaderParameter("blend", new Color(0, 0, 0, 0.47058824F)); +// material.SetShaderParameter("schedule", 1); +// sprite.Material = material; +// } +// +// var animatedSprite = GetNodeOrNull("AnimatedSprite"); +// //创建 Sprite2D +// if (animatedSprite == null) +// { +// animatedSprite = new AnimatedSprite2D(); +// animatedSprite.Name = "AnimatedSprite"; +// var material = +// ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); +// material.SetShaderParameter("blend", new Color(1, 1, 1, 1)); +// material.SetShaderParameter("schedule", 0); +// animatedSprite.Material = material; +// AddChild(animatedSprite); +// animatedSprite.Owner = owner; +// } +// else if (animatedSprite.Material == null) +// { +// var material = +// ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); +// material.SetShaderParameter("blend", new Color(1, 1, 1, 1)); +// material.SetShaderParameter("schedule", 0); +// animatedSprite.Material = material; +// } +// +// //创建Collision +// if (GetNodeOrNull("Collision") == null) +// { +// var co = new CollisionShape2D(); +// co.Name = "Collision"; +// AddChild(co); +// co.Owner = owner; +// } +// } +// } +// #endif +// } +// } diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_EditorTool.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_EditorTool.cs new file mode 100644 index 0000000..f20d17c --- /dev/null +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_EditorTool.cs @@ -0,0 +1,170 @@ + +using System; +using System.Collections.Generic; +using System.Reflection; +using Godot; +using UI.EditorTools; + +public partial class ActivityObject +{ + /// + /// 该函数只会在编辑器中调用, 用于自定义处理被 [ExportFill] 标记后自动创建的节点 + /// + /// 属性名称 + /// 节点实例 + protected virtual void OnExportFillNode(string propertyName, Node node) + { + switch (propertyName) + { + case "ShadowSprite": + { + var sprite = (Sprite2D)node; + sprite.ZIndex = -1; + var material = + ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); + material.SetShaderParameter("blend", new Color(0, 0, 0, 0.47058824F)); + material.SetShaderParameter("schedule", 1); + sprite.Material = material; + } + break; + case "AnimatedSprite": + { + var animatedSprite = (AnimatedSprite2D)node; + var material = + ResourceManager.Load(ResourcePath.resource_material_Blend_tres, false); + material.SetShaderParameter("blend", new Color(1, 1, 1, 1)); + material.SetShaderParameter("schedule", 0); + animatedSprite.Material = material; + } + break; + case "Collision": + { + + } + break; + } + } + + private void _InitNodeInEditor() + { + var parent = GetParent(); + if (parent != null) + { + //寻找 owner + Node owner; + if (parent.Owner != null) + { + owner = parent.Owner; + } + else if (Plugin.Plugin.Instance.GetEditorInterface().GetEditedSceneRoot() == this) + { + owner = this; + } + else + { + owner = parent; + } + + var type = GetType(); + var propertyInfos = type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); + var propertyInfoList = new List(); + foreach (var propertyInfo in propertyInfos) + { + if (propertyInfo.GetCustomAttributes(typeof(ExportFillNodeAttribute), false).Length > 0) + { + if (propertyInfo.GetCustomAttributes(typeof(ExportAttribute), false).Length == 0) + { + EditorToolsPanel.ShowConfirmInEditor("警告", $"'{type.FullName}'中字段'{propertyInfo.Name}'使用了[ExportAutoFill],\n但是并没有加上[Export], 请补上!"); + return; + } + + if (propertyInfo.PropertyType.IsAssignableTo(typeof(Node))) + { + if (propertyInfo.SetMethod == null) + { + EditorToolsPanel.ShowConfirmInEditor("警告", $"请为'{type.FullName}'中的'{propertyInfo.Name}'属性设置set访问器, 或者将set服务器设置成public!"); + return; + } + propertyInfoList.Add(propertyInfo); + } + } + } + + var tempList = new List(); + Type tempType = null; + var index = -1; + for (int i = propertyInfoList.Count - 1; i >= 0; i--) + { + var item = propertyInfoList[i]; + if (tempType != item.DeclaringType || i == 0) + { + if (tempType == null) + { + index = i; + } + else + { + int j; + if (i == 0) + { + j = i; + } + else + { + j = i + 1; + } + for (; j <= index; j++) + { + tempList.Add(propertyInfoList[j]); + } + + index = i; + } + tempType = item.DeclaringType; + } + } + + foreach (var propertyInfo in tempList) + { + var value = propertyInfo.GetValue(this); + if (value == null || ((Node)value).GetParent() == null) + { + var node = _FindNodeInChild(this, propertyInfo.Name, propertyInfo.PropertyType); + if (node == null) + { + node = (Node)Activator.CreateInstance(propertyInfo.PropertyType); + AddChild(node); + node.Name = propertyInfo.Name; + node.Owner = owner; + //自定义处理导出的节点 + OnExportFillNode(propertyInfo.Name, node); + } + propertyInfo.SetValue(this, node); + } + } + } + } + + private Node _FindNodeInChild(Node node, string name, Type type) + { + var childCount = node.GetChildCount(); + for (int i = 0; i < childCount; i++) + { + var child = node.GetChild(i); + if (child.Name == name && child.GetType().IsAssignableTo(type)) + { + return child; + } + else + { + var result = _FindNodeInChild(child, name, type); + if (result != null) + { + return result; + } + } + } + + return null; + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs new file mode 100644 index 0000000..4190405 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs @@ -0,0 +1,66 @@ +/// +/// 根据配置表注册物体, 该类是自动生成的, 请不要手动编辑! +/// +public partial class ActivityObject +{ + /// + /// 存放所有在表中注册的物体的id + /// + public static class Ids + { + /// + /// 玩家 + /// + public const string Id_role0001 = "role0001"; + /// + /// 敌人 + /// + public const string Id_enemy0001 = "enemy0001"; + public const string Id_weapon0001 = "weapon0001"; + public const string Id_weapon0002 = "weapon0002"; + public const string Id_weapon0003 = "weapon0003"; + public const string Id_weapon0004 = "weapon0004"; + public const string Id_weapon0005 = "weapon0005"; + public const string Id_bullet0001 = "bullet0001"; + public const string Id_bullet0002 = "bullet0002"; + public const string Id_shell0001 = "shell0001"; + /// + /// 敌人死亡碎片 + /// + public const string Id_effect0001 = "effect0001"; + /// + /// 地牢房间的门(东侧) + /// + public const string Id_other_door_e = "other_door_e"; + /// + /// 地牢房间的门(西侧) + /// + public const string Id_other_door_w = "other_door_w"; + /// + /// 地牢房间的门(南侧) + /// + public const string Id_other_door_s = "other_door_s"; + /// + /// 地牢房间的门(北侧) + /// + public const string Id_other_door_n = "other_door_n"; + } + private static void _InitRegister() + { + _activityRegisterMap.Add("role0001", "res://prefab/role/Role0001.tscn"); + _activityRegisterMap.Add("enemy0001", "res://prefab/role/Enemy0001.tscn"); + _activityRegisterMap.Add("weapon0001", "res://prefab/weapon/Weapon0001.tscn"); + _activityRegisterMap.Add("weapon0002", "res://prefab/weapon/Weapon0002.tscn"); + _activityRegisterMap.Add("weapon0003", "res://prefab/weapon/Weapon0003.tscn"); + _activityRegisterMap.Add("weapon0004", "res://prefab/weapon/Weapon0004.tscn"); + _activityRegisterMap.Add("weapon0005", "res://prefab/weapon/Weapon0005.tscn"); + _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("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"); + _activityRegisterMap.Add("other_door_s", "res://prefab/map/RoomDoor_S.tscn"); + _activityRegisterMap.Add("other_door_n", "res://prefab/map/RoomDoor_N.tscn"); + } +} diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Register.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Register.cs index 01e9f66..a08c0e6 100644 --- a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Register.cs +++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Register.cs @@ -1,29 +1,14 @@ using System; using System.Collections.Generic; -using System.Reflection; using Godot; public partial class ActivityObject { + //负责存放所有注册对象数据 + private static Dictionary _activityRegisterMap = new Dictionary(); private static bool _initState = false; - //物体注册数据 - private class RegisterActivityData - { - public RegisterActivityData(RegisterActivity registerActivity, Func callBack) - { - RegisterActivity = registerActivity; - CallBack = callBack; - } - - public RegisterActivity RegisterActivity; - public Func CallBack; - } - - //所有注册物体集合 - private static readonly Dictionary _activityRegisterMap = new(); - /// /// 初始化调用, 开始扫描当前程序集, 并自动注册 ActivityObject 物体 /// @@ -35,47 +20,7 @@ } _initState = true; - //扫描当前程序集 - ScannerFromAssembly(typeof(ActivityObject).Assembly); - } - - /// - /// 扫描指定程序集, 自动注册带有 RegisterActivity 特性的类 - /// - public static void ScannerFromAssembly(Assembly assembly) - { - var types = assembly.GetTypes(); - foreach (var type in types) - { - //注册类 - var attribute = Attribute.GetCustomAttributes(type, typeof(RegisterActivity), false); - if (attribute.Length > 0) - { - if (!typeof(ActivityObject).IsAssignableFrom(type)) - { - //不是继承自 ActivityObject - throw new Exception($"The registered object '{type.FullName}' does not inherit the class ActivityObject."); - } - else if (type.IsAbstract) - { - //不能加到抽象类上 - throw new Exception($"'RegisterActivity' cannot be used on abstract class '{type.FullName}'."); - } - var attrs = (RegisterActivity[])attribute; - foreach (var att in attrs) - { - //注册操作 - if (_activityRegisterMap.ContainsKey(att.ItemId)) - { - throw new Exception($"Object ID: '{att.ItemId}' is already registered"); - } - _activityRegisterMap.Add(att.ItemId, new RegisterActivityData(att, () => - { - return (ActivityObject)Activator.CreateInstance(type); - })); - } - } - } + _InitRegister(); } /// @@ -83,13 +28,19 @@ /// public static ActivityObject Create(string itemId) { - if (_activityRegisterMap.TryGetValue(itemId, out var item)) + var world = GameApplication.Instance.World; + if (world == null) { - var instance = item.CallBack(); - instance._InitNode(item.RegisterActivity.ItemId, item.RegisterActivity.PrefabPath); - item.RegisterActivity.CustomHandler(instance); + throw new Exception("实例化 ActivityObject 前请先调用 'GameApplication.Instance.CreateNewWorld()' 初始化 World 对象"); + } + + if (_activityRegisterMap.TryGetValue(itemId, out var path)) + { + var instance = ResourceManager.LoadAndInstantiate(path); + instance._InitNode(itemId, world); return instance; } + GD.PrintErr("创建实例失败, 未找到id为'" + itemId + "'的物体!"); return null; } @@ -103,7 +54,6 @@ { return (T)instance; } - GD.PrintErr("创建实例失败, 未找到id为'" + itemId + "'的物体!"); return null; } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/CheckInteractiveResult.cs b/DungeonShooting_Godot/src/framework/activity/CheckInteractiveResult.cs new file mode 100644 index 0000000..eb8676b --- /dev/null +++ b/DungeonShooting_Godot/src/framework/activity/CheckInteractiveResult.cs @@ -0,0 +1,28 @@ + +/// +/// 检测互动返回的数据集 +/// +public class CheckInteractiveResult +{ + /// + /// 互动物体 + /// + public ActivityObject Target; + /// + /// 是否可以互动 + /// + public bool CanInteractive; + /// + /// 互动提示信息 + /// + public string Message; + /// + /// 互动提示显示的图标 + /// + public string ShowIcon; + + public CheckInteractiveResult(ActivityObject target) + { + Target = target; + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/ExportFillNodeAttribute.cs b/DungeonShooting_Godot/src/framework/activity/ExportFillNodeAttribute.cs new file mode 100644 index 0000000..b7b9177 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/activity/ExportFillNodeAttribute.cs @@ -0,0 +1,10 @@ + +using System; + +/// +/// 标记类型为Node的属性, 表示当前属性如果没有赋值, 则在编辑器中自动创建子节点, 必须搭配 [Export] 使用! +/// +[AttributeUsage(AttributeTargets.Property)] +public class ExportFillNodeAttribute : Attribute +{ +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/RegisterActivity.cs b/DungeonShooting_Godot/src/framework/activity/RegisterActivity.cs deleted file mode 100644 index 4782dd1..0000000 --- a/DungeonShooting_Godot/src/framework/activity/RegisterActivity.cs +++ /dev/null @@ -1,32 +0,0 @@ - -using System; - -/// -/// 用在 ActivityObject 子类上, 用于注册游戏中的物体, 一个类可以添加多个 [RegisterActivity] 特性, ActivityObject 会自动扫描并注册物体 -/// -[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] -public class RegisterActivity : Attribute -{ - /// - /// 注册物体唯一ID, 该ID不能有重复 - /// - public string ItemId { get; protected set; } - - /// - /// 模板 Prefab 的路径 - /// - public string PrefabPath { get; protected set; } - - public RegisterActivity(string itemId, string prefabPath) - { - ItemId = itemId; - PrefabPath = prefabPath; - } - - /// - /// 该函数在物体实例化后调用, 可用于一些自定义操作, 参数为实例对象 - /// - public virtual void CustomHandler(ActivityObject instance) - { - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/components/StateBase.cs b/DungeonShooting_Godot/src/framework/activity/components/StateBase.cs index da0095a..c936b6f 100644 --- a/DungeonShooting_Godot/src/framework/activity/components/StateBase.cs +++ b/DungeonShooting_Godot/src/framework/activity/components/StateBase.cs @@ -77,16 +77,16 @@ /// /// 立即切换到下一个指定状态, 并且这一帧会被调用 PhysicsProcess /// - public void ChangeState(S next, params object[] args) + public void ChangeStateInstant(S next, params object[] args) { - StateController.ChangeState(next, args); + StateController.ChangeStateInstant(next, args); } /// /// 切换到下一个指定状态, 下一帧才会调用 PhysicsProcess /// - public void ChangeStateLate(S next, params object[] args) + public void ChangeState(S next, params object[] args) { - StateController.ChangeStateLate(next, args); + StateController.ChangeState(next, args); } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/activity/components/StateController.cs b/DungeonShooting_Godot/src/framework/activity/components/StateController.cs index 59ab805..ca379b4 100644 --- a/DungeonShooting_Godot/src/framework/activity/components/StateController.cs +++ b/DungeonShooting_Godot/src/framework/activity/components/StateController.cs @@ -89,7 +89,7 @@ /// /// 立即切换到下一个指定状态, 并且这一帧会被调用 PhysicsProcess /// - public void ChangeState(S next, params object[] arg) + public void ChangeStateInstant(S next, params object[] arg) { _changeState(false, next, arg); } @@ -97,7 +97,7 @@ /// /// 切换到下一个指定状态, 下一帧才会调用 PhysicsProcess /// - public void ChangeStateLate(S next, params object[] arg) + public void ChangeState(S next, params object[] arg) { _changeState(true, next, arg); } diff --git a/DungeonShooting_Godot/src/framework/common/NodeExtend.cs b/DungeonShooting_Godot/src/framework/common/NodeExtend.cs index 3f77676..f9bea2d 100644 --- a/DungeonShooting_Godot/src/framework/common/NodeExtend.cs +++ b/DungeonShooting_Godot/src/framework/common/NodeExtend.cs @@ -47,6 +47,6 @@ /// 放入的层 public static void AddToActivityRoot(this Node2D node, RoomLayerEnum layer) { - GameApplication.Instance.RoomManager.GetRoomLayer(layer).AddChild(node); + GameApplication.Instance.World.GetRoomLayer(layer).AddChild(node); } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/common/Utils.cs b/DungeonShooting_Godot/src/framework/common/Utils.cs index 36abea1..02e17d1 100644 --- a/DungeonShooting_Godot/src/framework/common/Utils.cs +++ b/DungeonShooting_Godot/src/framework/common/Utils.cs @@ -13,7 +13,11 @@ static Utils() { - _random = new Random(); + var dateTime = DateTime.Now; + var num = dateTime.Year * 100000 + dateTime.Month * 100000 + dateTime.Day * 100000 + dateTime.Hour * 10000 + dateTime.Minute * 100 + dateTime.Second; + //_random = new Random(0); + _random = new Random(num); + GD.Print("随机种子为: ", num); } /// @@ -173,4 +177,12 @@ { return str.Substring(0, 1).ToLower() + str.Substring(1); } + + /// + /// 字符串首字母大写 + /// + public static string FirstToUpper(this string str) + { + return str.Substring(0, 1).ToUpper() + str.Substring(1); + } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/generator/ExcelGenerator.cs b/DungeonShooting_Godot/src/framework/generator/ExcelGenerator.cs new file mode 100644 index 0000000..9558609 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/generator/ExcelGenerator.cs @@ -0,0 +1,76 @@ +using System; +using System.IO; +using System.Text.Json; +using Godot; +using Array = Godot.Collections.Array; + +namespace Generator; + +public static class ExcelGenerator +{ + public static void ExportExcel() + { + var arr = new Array(); + OS.Execute("excel/DungeonShooting_ExcelTool.exe", new string[0], arr); + foreach (var message in arr) + { + GD.Print(message); + } + + try + { + GeneratorActivityObjectInit(); + GD.Print("生成'src/framework/activity/ActivityObject_Init.cs'成功!"); + } + catch (Exception e) + { + GD.PrintErr(e.ToString()); + } + } + + //生成初始化 ActivityObject 代码 + private static void GeneratorActivityObjectInit() + { + var text = File.ReadAllText("resource/config/ActivityObject.json"); + var array = JsonSerializer.Deserialize[]>(text); + + var code1 = ""; + var code2 = ""; + + foreach (var item in array) + { + var id = item["Id"]; + var remark = item["Remark"] + ""; + if (!string.IsNullOrEmpty(remark)) + { + code1 += $" /// \n"; + code1 += $" /// {remark}\n"; + code1 += $" /// \n"; + } + code1 += $" public const string Id_{id} = \"{id}\";\n"; + code2 += $" _activityRegisterMap.Add(\"{id}\", \"{item["Prefab"]}\");\n"; + } + + var str = $"/// \n"; + str += $"/// 根据配置表注册物体, 该类是自动生成的, 请不要手动编辑!\n"; + str += $"/// \n"; + str += $"public partial class ActivityObject\n"; + str += $"{{\n"; + + str += $" /// \n"; + str += $" /// 存放所有在表中注册的物体的id\n"; + str += $" /// \n"; + str += $" public static class Ids\n"; + str += $" {{\n"; + str += code1; + str += $" }}\n"; + + str += $" private static void _InitRegister()\n"; + str += $" {{\n"; + str += code2; + str += $" }}\n"; + str += $"}}\n"; + + File.WriteAllText("src/framework/activity/ActivityObject_Init.cs", str); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/generator/ResourcePathGenerator.cs b/DungeonShooting_Godot/src/framework/generator/ResourcePathGenerator.cs index 088ed07..7253865 100644 --- a/DungeonShooting_Godot/src/framework/generator/ResourcePathGenerator.cs +++ b/DungeonShooting_Godot/src/framework/generator/ResourcePathGenerator.cs @@ -15,12 +15,36 @@ //支持后缀 private static string[] suffix = { - ".png", ".jpg", ".txt", ".json", ".ini", ".tscn", ".tres", ".otf", ".gdshader", ".ogg", ".mp3", ".wav", ".svg", ".ttf", ".otf" + ".png", + ".jpg", + ".txt", + ".json", + ".ini", + ".tscn", + ".tres", + ".otf", + ".gdshader", + ".ogg", + ".mp3", + ".wav", + ".svg", + ".ttf", + ".otf" }; - //排除第一层的文件夹 + //排除的文件夹, 斜杠用: / private static string[] exclude = { - ".vscode", ".idea", ".git", ".import", ".mono", "android", "addons", ".godot", ".vs" + ".vscode", + ".idea", + ".git", + ".import", + ".mono", + "android", + "addons", + ".godot", + ".vs", + "resource/map/tiledata", + "resource/map/tileMaps" }; private static string resultStr = ""; @@ -36,7 +60,7 @@ try { resultStr = "/// \n" + - "/// 编辑器下所有资源路径, 该类为 Automation 面板下自动生成的, 请不要手动编辑!\n" + + "/// 编辑器下所有资源路径, 该类为 Tools 面板下自动生成的, 请不要手动编辑!\n" + "/// \n" + "public class ResourcePath\n" + "{\n"; @@ -44,22 +68,7 @@ GD.Print("更新 ResourcePath..."); var directoryInfo = new DirectoryInfo(System.Environment.CurrentDirectory); - - var directories = directoryInfo.GetDirectories(); - for (int i = 0; i < directories.Length; i++) - { - var directory = directories[i]; - if (!exclude.Contains(directory.Name)) - { - EachDir(directory); - } - } - - var fileInfos = directoryInfo.GetFiles(); - for (var i = 0; i < fileInfos.Length; i++) - { - HandleFile(fileInfos[i]); - } + EachDir(directoryInfo); resultStr += "}"; File.WriteAllText(savePath, resultStr); @@ -76,6 +85,17 @@ private static void EachDir(DirectoryInfo directoryInfos) { + if (directoryInfos.FullName.Length > System.Environment.CurrentDirectory.Length) + { + var path = directoryInfos.FullName.Substring(System.Environment.CurrentDirectory.Length + 1); + path = path.Replace('\\', '/'); + if (exclude.Contains(path)) + { + GD.Print("扫描排除路径: " + path); + return; + } + } + var fileInfos = directoryInfos.GetFiles(); for (var i = 0; i < fileInfos.Length; i++) { diff --git a/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs b/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs index 7634384..df51675 100644 --- a/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs +++ b/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs @@ -54,6 +54,30 @@ $" }}\n" + $"\n" + $" /// \n" + + $" /// 隐藏 {uiName} 的所有实例\n" + + $" /// \n" + + $" public static void Hide_{uiName}()\n" + + $" {{\n" + + $" var uiInstance = Get_{uiName}_Instance();\n" + + $" foreach (var uiPanel in uiInstance)\n" + + $" {{\n" + + $" uiPanel.HideUi();\n" + + $" }}\n" + + $" }}\n" + + $"\n" + + $" /// \n" + + $" /// 销毁 {uiName} 的所有实例\n" + + $" /// \n" + + $" public static void Dispose_{uiName}()\n" + + $" {{\n" + + $" var uiInstance = Get_{uiName}_Instance();\n" + + $" foreach (var uiPanel in uiInstance)\n" + + $" {{\n" + + $" uiPanel.DisposeUi();\n" + + $" }}\n" + + $" }}\n" + + $"\n" + + $" /// \n" + $" /// 获取所有 {uiName} 的实例, 如果没有实例, 则返回一个空数组\n" + $" /// \n" + $" public static UI.{uiName}.{uiName}Panel[] Get_{uiName}_Instance()\n" + diff --git a/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs b/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs index c67ac6a..6b0ae6d 100644 --- a/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs +++ b/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs @@ -62,16 +62,16 @@ /// public void InsertItem(ActivityObject activityObject) { - if (activityObject.Affiliation == this) + if (activityObject.AffiliationArea == this) { return; } - if (activityObject.Affiliation != null) + if (activityObject.AffiliationArea != null) { _includeItems.Remove(activityObject); } - activityObject.Affiliation = this; + activityObject.AffiliationArea = this; _includeItems.Add(activityObject); //如果是玩家 @@ -86,11 +86,11 @@ /// public void RemoveItem(ActivityObject activityObject) { - if (activityObject.Affiliation == null) + if (activityObject.AffiliationArea == null) { return; } - activityObject.Affiliation = null; + activityObject.AffiliationArea = null; _includeItems.Remove(activityObject); } @@ -118,6 +118,40 @@ } return count; } + + /// + /// 查询所有符合条件的对象并返回 + /// + /// 操作函数, 返回是否满足要求 + public ActivityObject[] FindIncludeItems(Func handler) + { + var list = new List(); + foreach (var activityObject in _includeItems) + { + if (handler(activityObject)) + { + list.Add(activityObject); + } + } + return list.ToArray(); + } + + /// + /// 检查是否有符合条件的对象 + /// + /// 操作函数, 返回是否满足要求 + public bool ExistIncludeItem(Func handler) + { + foreach (var activityObject in _includeItems) + { + if (handler(activityObject)) + { + return true; + } + } + + return false; + } private void OnBodyEntered(Node2D body) { diff --git a/DungeonShooting_Godot/src/framework/map/DungeonConfig.cs b/DungeonShooting_Godot/src/framework/map/DungeonConfig.cs new file mode 100644 index 0000000..ea26823 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/map/DungeonConfig.cs @@ -0,0 +1,16 @@ + +/// +/// 生成地牢的配置 +/// +public class DungeonConfig +{ + /// + /// 地牢组名称 + /// + public string GroupName; + + /// + /// 房间数量 + /// + public int RoomCount = 20; +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs b/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs index 0d581c1..989983e 100644 --- a/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs +++ b/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs @@ -19,21 +19,31 @@ public RoomInfo StartRoom { get; private set; } /// - /// 生成的房间数量 + /// 结束房间 /// - private int _maxCount = 20; + public RoomInfo EndRoom { get; private set; } + + /// + /// boss房间 + /// + public List BossRoom { get; } = new List(); //用于标记地图上的坐标是否被占用 private Grid _roomGrid { get; } = new Grid(); //当前房间数量 private int _count = 0; + //房间id + private int _id; + + //下一个房间类型 + private DungeonRoomType _nextRoomType = DungeonRoomType.Battle; //宽高 - private int _roomMinWidth = 15; - private int _roomMaxWidth = 35; - private int _roomMinHeight = 15; - private int _roomMaxHeight = 30; + // private int _roomMinWidth = 15; + // private int _roomMaxWidth = 35; + // private int _roomMinHeight = 15; + // private int _roomMaxHeight = 30; //间隔 private int _roomMinInterval = 6; @@ -59,9 +69,10 @@ //最大尝试次数 private int _maxTryCount = 10; + private int _currMaxLayer = 0; - //房间组名称 - private string _groupName; + //地牢配置 + private DungeonConfig _config; private DungeonRoomGroup _roomGroup; //指定只能生成的房间 @@ -70,8 +81,6 @@ private enum GenerateRoomErrorCode { NoError, - //房间已满 - RoomFull, //超出区域 OutArea, //没有合适的位置 @@ -92,26 +101,26 @@ } #endif - public DungeonGenerator(string groupName) + public DungeonGenerator(DungeonConfig config) { - _groupName = groupName; - _roomGroup = GameApplication.Instance.RoomConfig[_groupName]; + _config = config; + _roomGroup = GameApplication.Instance.RoomConfig[config.GroupName]; //验证该组是否满足生成地牢的条件 if (_roomGroup.InletList.Count == 0) { - throw new Exception("当前组'" + groupName + "'中没有起始房间, 不能生成地牢!"); + throw new Exception("当前组'" + config.GroupName + "'中没有起始房间, 不能生成地牢!"); } //没有指定房间 if (_designatedRoom == null || _designatedRoom.Count == 0) { if (_roomGroup.OutletList.Count == 0) { - throw new Exception("当前组'" + groupName + "'中没有结束房间, 不能生成地牢!"); + throw new Exception("当前组'" + config.GroupName + "'中没有结束房间, 不能生成地牢!"); } else if (_roomGroup.BattleList.Count == 0) { - throw new Exception("当前组'" + groupName + "'中没有战斗房间, 不能生成地牢!"); + throw new Exception("当前组'" + config.GroupName + "'中没有战斗房间, 不能生成地牢!"); } } @@ -146,23 +155,114 @@ public void Generate() { if (StartRoom != null) return; - - //第一个房间 - GenerateRoom(null, 0, GetNextRoomType(), out var startRoom); - StartRoom = startRoom; + CalcNextRoomType(null); + //用于排除上一级房间 + var excludePrevRoom = new List(); + //上一个房间 + RoomInfo prevRoom = null; + + var chainTryCount = 0; + var chainMaxTryCount = 3; + //如果房间数量不够, 就一直生成 - while (_count < _maxCount) + while (_count < _config.RoomCount || EndRoom == null) { - var room = Utils.RandomChoose(RoomInfos); - var errorCode = GenerateRoom(room, Utils.RandomRangeInt(0, 3), GetNextRoomType(), out var nextRoom); - if (errorCode == GenerateRoomErrorCode.NoError) + var nextRoomType = GetNextRoomType(); + + //上一个房间 + RoomInfo tempPrevRoom; + if (nextRoomType == DungeonRoomType.Inlet) { - _failCount = 0; - room.Next.Add(nextRoom); + tempPrevRoom = null; + } + else if (nextRoomType == DungeonRoomType.Boss) + { + tempPrevRoom = FindMaxLayerRoom(excludePrevRoom); + } + else if (nextRoomType == DungeonRoomType.Outlet) + { + tempPrevRoom = prevRoom; + } + else if (nextRoomType == DungeonRoomType.Battle) + { + if (chainTryCount < chainMaxTryCount) + { + if (prevRoom != null && prevRoom.Layer > 6) //层数太高, 下一个房间生成在低层级 + { + tempPrevRoom = RoundRoomLessThanLayer(3); + } + else + { + tempPrevRoom = prevRoom; + } + } + else + { + tempPrevRoom = Utils.RandomChoose(RoomInfos); + } } else { + tempPrevRoom = Utils.RandomChoose(RoomInfos); + } + + //生成下一个房间 + var errorCode = GenerateRoom(tempPrevRoom, nextRoomType, out var nextRoom); + if (errorCode == GenerateRoomErrorCode.NoError) //生成成功 + { + _failCount = 0; + RoomInfos.Add(nextRoom); + if (nextRoomType == DungeonRoomType.Inlet) + { + StartRoom = nextRoom; + } + else if (nextRoomType == DungeonRoomType.Boss) //boss房间 + { + BossRoom.Add(nextRoom); + excludePrevRoom.Clear(); + } + else if (nextRoomType == DungeonRoomType.Outlet) + { + EndRoom = nextRoom; + } + else if (nextRoomType == DungeonRoomType.Battle) + { + chainTryCount = 0; + chainMaxTryCount = Utils.RandomRangeInt(1, 3); + } + prevRoom = nextRoom; + CalcNextRoomType(prevRoom); + } + else //生成失败 + { + if (nextRoomType == DungeonRoomType.Boss) + { + //生成boss房间成功 + excludePrevRoom.Add(tempPrevRoom); + if (excludePrevRoom.Count >= RoomInfos.Count) + { + //全都没找到合适的, 那就再来一遍 + excludePrevRoom.Clear(); + } + } + else if (nextRoomType == DungeonRoomType.Outlet) + { + //生成结束房间失败, 那么只能回滚boss房间 + if (prevRoom != null) + { + var bossPrev = prevRoom.Prev; + BossRoom.Remove(prevRoom); + RollbackRoom(prevRoom); + CalcNextRoomType(bossPrev); + prevRoom = null; + } + } + else if (nextRoomType == DungeonRoomType.Battle) + { + chainTryCount++; + } + GD.Print("生成第" + (_count + 1) + "个房间失败! 失败原因: " + errorCode); if (errorCode == GenerateRoomErrorCode.OutArea) { @@ -178,16 +278,17 @@ } _roomGrid.Clear(); + GD.Print("房间总数: " + RoomInfos.Count); } //生成房间 - private GenerateRoomErrorCode GenerateRoom(RoomInfo prevRoomInfo, int direction, DungeonRoomType roomType, out RoomInfo resultRoom) + private GenerateRoomErrorCode GenerateRoom(RoomInfo prevRoomInfo, DungeonRoomType roomType, out RoomInfo resultRoom) { - if (_count >= _maxCount) - { - resultRoom = null; - return GenerateRoomErrorCode.RoomFull; - } + // if (_count >= _config.RoomCount) + // { + // resultRoom = null; + // return GenerateRoomErrorCode.RoomFull; + // } DungeonRoomSplit roomSplit; //没有指定房间 @@ -209,17 +310,32 @@ roomSplit = Utils.RandomChoose(_designatedRoom); } - var room = new RoomInfo(_count, roomSplit); - + var room = new RoomInfo(_id, roomType, roomSplit); + //房间大小 room.Size = new Vector2I((int)roomSplit.RoomInfo.Size.X, (int)roomSplit.RoomInfo.Size.Y); if (prevRoomInfo != null) //表示这不是第一个房间, 就得判断当前位置下的房间是否被遮挡 { + room.Layer = prevRoomInfo.Layer + 1; + if (_currMaxLayer < room.Layer) + { + _currMaxLayer = room.Layer; + } //生成的位置可能会和上一个房间对不上, 需要多次尝试 var tryCount = 0; //当前尝试次数 - for (; tryCount < _maxTryCount; tryCount++) + var maxTryCount = _maxTryCount; //最大尝试次数 + if (roomType == DungeonRoomType.Outlet) { + maxTryCount *= 3; + } + else if (roomType == DungeonRoomType.Boss) + { + maxTryCount *= 2; + } + for (; tryCount < maxTryCount; tryCount++) + { + var direction = Utils.RandomRangeInt(0, 3); //房间间隔 var space = Utils.RandomRangeInt(_roomMinInterval, _roomMaxInterval); //中心偏移 @@ -297,61 +413,142 @@ return GenerateRoomErrorCode.NoSuitableLocation; } } - - _count++; - RoomInfos.Add(room); - if (prevRoomInfo == null) + else //第一个房间 { + room.Layer = 0; _roomGrid.AddRect(room.Position, room.Size, true); } - //下一个房间 - //0上, 1右, 2下, 3左 - var dirList = new List(new[] { 0, 1, 2, 3 }); + if (IsParticipateCounting(room)) + { + _count++; + } + + _id++; + room.Prev = prevRoomInfo; if (prevRoomInfo != null) { - dirList.Remove(GetReverseDirection(direction)); + prevRoomInfo.Next.Add(room); } - - //这条线有一定概率不生成下一个房间 - if (Utils.RandomRangeInt(0, 2) != 0) - { - while (dirList.Count > 0) - { - var randDir = Utils.RandomChoose(dirList); - GenerateRoom(room, randDir, GetNextRoomType(), out var nextRoom); - if (nextRoom == null) - { - break; - } - - nextRoom.Prev = room; - room.Next.Add(nextRoom); - - dirList.Remove(randDir); - } - } - resultRoom = room; return GenerateRoomErrorCode.NoError; } - private DungeonRoomType GetNextRoomType() + //判断房间是否参与计数 + private bool IsParticipateCounting(RoomInfo roomInfo) { - if (_count == 0) //生成第一个房间 + return roomInfo.RoomType == DungeonRoomType.Battle || roomInfo.RoomType == DungeonRoomType.Boss; + } + + //计算下一个房间类型 + private void CalcNextRoomType(RoomInfo prev) + { + if (prev == null) //生成第一个房间 { - return DungeonRoomType.Inlet; + _nextRoomType = DungeonRoomType.Inlet; } - else if (_count == _maxCount - 1) //生成最后一个房间 + else if (_count == _config.RoomCount - 1) //最后一个房间是boss房间 { - return DungeonRoomType.Outlet; + _nextRoomType = DungeonRoomType.Boss; + } + else if (_count >= _config.RoomCount) //结束房间 + { + _nextRoomType = DungeonRoomType.Outlet; + } + else if (prev.RoomType == DungeonRoomType.Boss) //生成结束房间 + { + _nextRoomType = DungeonRoomType.Outlet; } else { - return DungeonRoomType.Battle; + _nextRoomType = DungeonRoomType.Battle; } } + + //获取下一个房间类型 + private DungeonRoomType GetNextRoomType() + { + return _nextRoomType; + } + //回滚一个房间 + private bool RollbackRoom(RoomInfo roomInfo) + { + if (roomInfo.Next.Count > 0) + { + GD.PrintErr("当前房间还有连接的子房间, 不能回滚!"); + return false; + } + //退掉占用的房间区域和过道占用区域 + _roomGrid.RemoveRect(roomInfo.Position, roomInfo.Size); + foreach (var rect2 in roomInfo.AisleArea) + { + _roomGrid.RemoveRect(rect2.Position, rect2.Size); + } + + //roomInfo.Doors[0]. + if (roomInfo.Prev != null) + { + roomInfo.Prev.Next.Remove(roomInfo); + } + + roomInfo.Prev = null; + foreach (var roomInfoDoor in roomInfo.Doors) + { + var connectDoor = roomInfoDoor.ConnectDoor; + connectDoor.RoomInfo.Doors.Remove(connectDoor); + } + + RoomInfos.Remove(roomInfo); + roomInfo.Destroy(); + + if (IsParticipateCounting(roomInfo)) + { + _count--; + } + + _id--; + return true; + } + + /// + /// 寻找层级最高的房间 + /// + /// 排除的房间 + private RoomInfo FindMaxLayerRoom(List exclude) + { + RoomInfo temp = null; + foreach (var roomInfo in RoomInfos) + { + if (temp == null || roomInfo.Layer > temp.Layer) + { + if (exclude == null || !exclude.Contains(roomInfo)) + { + temp = roomInfo; + } + } + } + + return temp; + } + + /// + /// 随机抽取层级小于 layer 的房间 + /// + private RoomInfo RoundRoomLessThanLayer(int layer) + { + var list = new List(); + foreach (var roomInfo in RoomInfos) + { + if (roomInfo.Layer < layer) + { + list.Add(roomInfo); + } + } + + return Utils.RandomChoose(list); + } + /// /// 找两个房间的门 /// @@ -1016,6 +1213,7 @@ return false; } + door2.RoomInfo.AisleArea.Add(new Rect2(pos, size)); _roomGrid.AddRect(pos, size, true); return true; } @@ -1072,6 +1270,8 @@ return false; } + door2.RoomInfo.AisleArea.Add(new Rect2(pos1, size1)); + door2.RoomInfo.AisleArea.Add(new Rect2(pos2, size2)); _roomGrid.AddRect(pos1, size1, true); _roomGrid.AddRect(pos2, size2, true); return true; diff --git a/DungeonShooting_Godot/src/framework/map/DungeonTile.cs b/DungeonShooting_Godot/src/framework/map/DungeonTile.cs index eaabe0c..b1f513e 100644 --- a/DungeonShooting_Godot/src/framework/map/DungeonTile.cs +++ b/DungeonShooting_Godot/src/framework/map/DungeonTile.cs @@ -92,20 +92,21 @@ { node.Position = roomInfo.GetWorldPosition() + (node.GlobalPosition - offset); } + + i--; + childCount--; } - - i--; - childCount--; } //物体标记 var activityMarks = tileInstance.GetMarks(); foreach (var activityMark in activityMarks) { + var pos = activityMark.Position; activityMark.GetParent().RemoveChild(activityMark); activityMark.Owner = null; //_tileRoot.AddChild(activityMark); - activityMark.Position = roomInfo.GetWorldPosition() + (activityMark.GlobalPosition - offset); + activityMark.Position = roomInfo.GetWorldPosition() + (pos - offset); activityMark.TileRoot = _tileRoot; //执行预处理操作 activityMark.Pretreatment(); diff --git a/DungeonShooting_Godot/src/framework/map/RoomInfo.cs b/DungeonShooting_Godot/src/framework/map/RoomInfo.cs index 02d1b4e..c086079 100644 --- a/DungeonShooting_Godot/src/framework/map/RoomInfo.cs +++ b/DungeonShooting_Godot/src/framework/map/RoomInfo.cs @@ -7,9 +7,10 @@ /// public class RoomInfo : IDestroy { - public RoomInfo(int id, DungeonRoomSplit roomSplit) + public RoomInfo(int id, DungeonRoomType type, DungeonRoomSplit roomSplit) { Id = id; + RoomType = type; RoomSplit = roomSplit; } @@ -19,6 +20,16 @@ public int Id; /// + /// 房间类型 + /// + public DungeonRoomType RoomType; + + /// + /// 层级, 也就是离初始房间间隔多少个房间 + /// + public int Layer; + + /// /// 生成该房间使用的配置数据 /// public DungeonRoomSplit RoomSplit; @@ -39,6 +50,11 @@ public List Doors = new List(); /// + /// 连接该房间的过道占用区域信息 + /// + public List AisleArea = new List(); + + /// /// 下一个房间 /// public List Next = new List(); @@ -188,7 +204,7 @@ /// public void OnClearRoom() { - if (_currWaveIndex >= ActivityMarks.Count) //所有 mark 全部走完了 + if (_currWaveIndex >= ActivityMarks.Count) //所有 mark 都走完了 { IsSeclusion = false; _currActivityMarks.Clear(); diff --git a/DungeonShooting_Godot/src/framework/map/mark/ActivityExpression.cs b/DungeonShooting_Godot/src/framework/map/mark/ActivityExpression.cs deleted file mode 100644 index 040dd1d..0000000 --- a/DungeonShooting_Godot/src/framework/map/mark/ActivityExpression.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -/// -/// 用于 ActivityMark 字段上, 表示当前字段是一个表达式字段 -/// -[AttributeUsage(AttributeTargets.Field)] -public class ActivityExpression : Attribute -{ - -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/map/mark/ActivityExpressionAttribute.cs b/DungeonShooting_Godot/src/framework/map/mark/ActivityExpressionAttribute.cs new file mode 100644 index 0000000..dc0ee12 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/map/mark/ActivityExpressionAttribute.cs @@ -0,0 +1,10 @@ +using System; + +/// +/// 用于 ActivityMark 字段上, 表示当前字段是一个表达式字段 +/// +[AttributeUsage(AttributeTargets.Field)] +public class ActivityExpressionAttribute : Attribute +{ + +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs b/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs index 7c71e58..9c91cdd 100644 --- a/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs +++ b/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs @@ -80,9 +80,6 @@ private float _timer = 0; private RoomInfo _tempRoom; - //绘制的字体 - private static Font _drawFont; - //已经计算好要生成的物体 private Dictionary _currentExpression = new Dictionary(); @@ -107,7 +104,7 @@ var tempList = type.GetFields(BindingFlags.Instance | BindingFlags.Public); foreach (var s in tempList) { - if (s.GetCustomAttribute() != null) + if (s.GetCustomAttribute() != null) { fieldInfos.Add(s.Name); } @@ -271,12 +268,8 @@ { DrawRect(new Rect2(-BirthRect / 2, BirthRect), drawColor, false, 0.5f); } - - if (_drawFont == null) - { - _drawFont = ResourceManager.Load(ResourcePath.Silver_ttf); - } - DrawString(_drawFont, new Vector2(-14, 12), WaveNumber.ToString(), HorizontalAlignment.Center, 28, 14); + + DrawString(ResourceManager.DefaultFont12Px, new Vector2(-14, 12), WaveNumber.ToString(), HorizontalAlignment.Center, 28, 12); } } #endif diff --git a/DungeonShooting_Godot/src/framework/serialize/SerializeColor.cs b/DungeonShooting_Godot/src/framework/serialize/SerializeColor.cs new file mode 100644 index 0000000..983b043 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/serialize/SerializeColor.cs @@ -0,0 +1,48 @@ + + +using System.Text.Json.Serialization; +using Godot; + +/// +/// 可序列化的 Color 对象 +/// +public class SerializeColor +{ + public SerializeColor(float r, float g, float b, float a) + { + R = r; + G = g; + B = b; + A = a; + } + + public SerializeColor(Color color) + { + R = color.R; + G = color.G; + B = color.B; + A = color.A; + } + + public SerializeColor() + { + } + + [JsonInclude] + public float R { get; private set; } + [JsonInclude] + public float G { get; private set; } + [JsonInclude] + public float B { get; private set; } + [JsonInclude] + public float A { get; private set; } + + /// + /// 转为 Color + /// + public Color AsColor() + { + return new Color(R, G, B, A); + } + +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/serialize/SerializeVector2.cs b/DungeonShooting_Godot/src/framework/serialize/SerializeVector2.cs new file mode 100644 index 0000000..4e0a888 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/serialize/SerializeVector2.cs @@ -0,0 +1,59 @@ + +using System.Text.Json.Serialization; +using Godot; + +/// +/// 可序列化的 Vector2 对象 +/// +public class SerializeVector2 +{ + public SerializeVector2(float x, float y) + { + X = x; + Y = y; + } + + public SerializeVector2(Vector2 v) + { + X = v.X; + Y = v.Y; + } + + public SerializeVector2(Vector2I v) + { + X = v.X; + Y = v.Y; + } + + public SerializeVector2(SerializeVector2 v) + { + X = v.X; + Y = v.Y; + } + + public SerializeVector2() + { + + } + + [JsonInclude] + public float X { get; private set; } + [JsonInclude] + public float Y { get; private set; } + + /// + /// 转为 Vector2 + /// + public Vector2 AsVector2() + { + return new Vector2(X, Y); + } + + /// + /// 转为 Vector2I + /// + public Vector2I AsVector2I() + { + return new Vector2I((int)X, (int)Y); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/serialize/SerializeVector3.cs b/DungeonShooting_Godot/src/framework/serialize/SerializeVector3.cs new file mode 100644 index 0000000..7e76a66 --- /dev/null +++ b/DungeonShooting_Godot/src/framework/serialize/SerializeVector3.cs @@ -0,0 +1,62 @@ +using System.Text.Json.Serialization; +using Godot; + +/// +/// 可序列化的 Vector3 对象 +/// +public class SerializeVector3 +{ + public SerializeVector3(float x, float y, float z) + { + X = x; + Y = y; + Z = z; + } + + public SerializeVector3(Vector3 v) + { + X = v.X; + Y = v.Y; + Z = v.Z; + } + + public SerializeVector3(Vector3I v) + { + X = v.X; + Y = v.Y; + Z = v.Z; + } + + public SerializeVector3(SerializeVector3 v) + { + X = v.X; + Y = v.Y; + } + + public SerializeVector3() + { + } + + [JsonInclude] + public float X { get; private set; } + [JsonInclude] + public float Y { get; private set; } + [JsonInclude] + public float Z { get; private set; } + + /// + /// 转为 Vector3 + /// + public Vector3 AsVector3() + { + return new Vector3(X, Y, Z); + } + + /// + /// 转为 Vector3I + /// + public Vector3I AsVector3I() + { + return new Vector3I((int)X, (int)Y, (int)Z); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/ui/UiManager.cs b/DungeonShooting_Godot/src/framework/ui/UiManager.cs index ee32c42..a9b5a61 100644 --- a/DungeonShooting_Godot/src/framework/ui/UiManager.cs +++ b/DungeonShooting_Godot/src/framework/ui/UiManager.cs @@ -139,6 +139,54 @@ } /// + /// + /// + public static void HideUi(UiBase uiBase) + { + uiBase.HideUi(); + } + + /// + /// 销毁所有Ui + /// + public static void DisposeAllUi() + { + var map = new Dictionary>(); + foreach (var item in _recordUiMap) + { + map.Add(item.Key, new List(item.Value)); + } + + foreach (var item in map) + { + foreach (var uiBase in item.Value) + { + uiBase.DisposeUi(); + } + } + } + + /// + /// 隐藏所有Ui + /// + public static void HideAllUi() + { + var map = new Dictionary>(); + foreach (var item in _recordUiMap) + { + map.Add(item.Key, new List(item.Value)); + } + + foreach (var item in map) + { + foreach (var uiBase in item.Value) + { + uiBase.HideUi(); + } + } + } + + /// /// 获取Ui实例 /// public static T[] GetUiInstance(string uiName) where T : UiBase diff --git a/DungeonShooting_Godot/src/game/AnimatorNames.cs b/DungeonShooting_Godot/src/game/AnimatorNames.cs new file mode 100644 index 0000000..b26f934 --- /dev/null +++ b/DungeonShooting_Godot/src/game/AnimatorNames.cs @@ -0,0 +1,51 @@ + +/// +/// 预制动画名称 +/// +public static class AnimatorNames +{ + /// + /// 默认动画 + /// + public const string Default = "default"; + /// + /// 静止不动 + /// + public const string Idle = "idle"; + /// + /// 奔跑 + /// + public const string Run = "run"; + /// + /// 倒退奔跑 + /// + public const string ReverseRun = "reverseRun"; + /// + /// 翻滚 + /// + public const string Roll = "roll"; + /// + /// 武器泛光动画 + /// + public const string Floodlight = "floodlight"; + /// + /// 开门动画 + /// + public const string OpenDoor = "openDoor"; + /// + /// 关门动画 + /// + public const string CloseDoor = "closeDoor"; + /// + /// 开火 + /// + public const string Fire = "fire"; + /// + /// 换弹 + /// + public const string Reloading = "reloading"; + /// + /// 子弹上膛 + /// + public const string Equip = "equip"; +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/Cursor.cs b/DungeonShooting_Godot/src/game/Cursor.cs index 639c7cd..cbde2ae 100644 --- a/DungeonShooting_Godot/src/game/Cursor.cs +++ b/DungeonShooting_Godot/src/game/Cursor.cs @@ -20,6 +20,7 @@ private Sprite2D lb; private Sprite2D rt; private Sprite2D rb; + private Sprite2D finger; public override void _Ready() { @@ -28,15 +29,13 @@ lb = GetNode("LB"); rt = GetNode("RT"); rb = GetNode("RB"); + finger = GetNode("Finger"); + SetGuiMode(true); } public override void _Process(double delta) { - if (_isGuiMode) - { - SetScope(0, null); - } - else + if (!_isGuiMode) { var targetGun = _mountRole?.Holster.ActiveWeapon; if (targetGun != null) @@ -58,6 +57,22 @@ public void SetGuiMode(bool flag) { _isGuiMode = flag; + if (flag) //手指 + { + lt.Visible = false; + lb.Visible = false; + rt.Visible = false; + rb.Visible = false; + finger.Visible = true; + } + else //准心 + { + lt.Visible = true; + lb.Visible = true; + rt.Visible = true; + rb.Visible = true; + finger.Visible = false; + } } /// @@ -95,7 +110,7 @@ var len = GlobalPosition.DistanceTo(tunPos); if (targetGun.Attribute != null) { - len = Mathf.Max(0, len - targetGun.Attribute.FirePosition.X); + len = Mathf.Max(0, len - targetGun.FirePoint.Position.X); } scope = len / GameConfig.ScatteringDistance * scope; } diff --git a/DungeonShooting_Godot/src/game/GameApplication.cs b/DungeonShooting_Godot/src/game/GameApplication.cs index 2c7388e..e76a4cf 100644 --- a/DungeonShooting_Godot/src/game/GameApplication.cs +++ b/DungeonShooting_Godot/src/game/GameApplication.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using System.Text.Json; +using Config; using Godot; public partial class GameApplication : Node2D @@ -47,11 +48,16 @@ public Cursor Cursor { get; private set; } /// - /// 游戏房间 + /// 游戏世界 /// - public RoomManager RoomManager { get; private set; } + public World World { get; private set; } /// + /// 地牢管理器 + /// + public DungeonManager DungeonManager { get; private set; } + + /// /// 房间配置 /// public Dictionary RoomConfig { get; private set; } @@ -70,6 +76,11 @@ /// 像素缩放 /// public int PixelScale { get; private set; } = 4; + + /// + /// 地牢配置信息 + /// + public DungeonConfig DungeonConfig { get; private set; } //开启的协程 private List _coroutineList; @@ -78,10 +89,18 @@ { Instance = this; + //初始化配置表 + ExcelConfig.Init(); + //初始化房间配置数据 InitRoomConfig(); - //初始化 ActivityObject ActivityObject.InitActivity(); + //初始化武器数据 + Weapon.InitWeaponAttribute(); + + DungeonConfig = new DungeonConfig(); + DungeonConfig.GroupName = "testGroup"; + DungeonConfig.RoomCount = 20; } public override void _EnterTree() @@ -101,24 +120,16 @@ #if TOOLS InitDesignatedRoom(); #endif - //初始化ui UiManager.Init(); - // 初始化鼠标 - Input.MouseMode = Input.MouseModeEnum.Hidden; - Cursor = ResourceManager.Load(ResourcePath.prefab_Cursor_tscn).Instantiate(); - var cursorLayer = new CanvasLayer(); - cursorLayer.Name = "CursorLayer"; - cursorLayer.Layer = UiManager.GetUiLayer(UiLayer.Pop).Layer + 10; - AddChild(cursorLayer); - cursorLayer.AddChild(Cursor); - - //打开ui - UiManager.Open_RoomUI(); - - RoomManager = ResourceManager.Load(ResourcePath.scene_Room_tscn).Instantiate(); - SceneRoot.AddChild(RoomManager); + InitCursor(); + //地牢管理器 + DungeonManager = new DungeonManager(); + DungeonManager.Name = "DungeonManager"; + SceneRoot.AddChild(DungeonManager); + //打开主菜单Ui + UiManager.Open_Main(); } public override void _Process(double delta) @@ -134,6 +145,33 @@ } /// + /// 创建新的 World 对象, 相当于清理房间 + /// + public World CreateNewWorld() + { + if (World != null) + { + World.QueueFree(); + } + World = ResourceManager.LoadAndInstantiate(ResourcePath.scene_World_tscn); + SceneRoot.AddChild(World); + return World; + } + + /// + /// 销毁 World 对象, 相当于清理房间 + /// + public void DestroyWorld() + { + if (World != null) + { + World.QueueFree(); + } + + World = null; + } + + /// /// 将 viewport 以外的全局坐标 转换成 viewport 内的全局坐标 /// public Vector2 GlobalToViewPosition(Vector2 globalPos) @@ -218,6 +256,18 @@ SubViewportContainer.Size = s; } + //初始化鼠标 + private void InitCursor() + { + Input.MouseMode = Input.MouseModeEnum.Hidden; + Cursor = ResourceManager.LoadAndInstantiate(ResourcePath.prefab_Cursor_tscn); + var cursorLayer = new CanvasLayer(); + cursorLayer.Name = "CursorLayer"; + cursorLayer.Layer = UiManager.GetUiLayer(UiLayer.Pop).Layer + 10; + AddChild(cursorLayer); + cursorLayer.AddChild(Cursor); + } + #if TOOLS //调试模式下, 指定生成哪些房间 private void InitDesignatedRoom() diff --git a/DungeonShooting_Godot/src/game/PhysicsLayer.cs b/DungeonShooting_Godot/src/game/PhysicsLayer.cs index 0c95b5f..118f604 100644 --- a/DungeonShooting_Godot/src/game/PhysicsLayer.cs +++ b/DungeonShooting_Godot/src/game/PhysicsLayer.cs @@ -31,4 +31,8 @@ /// 归属区域判断层级 /// public const uint Affiliation = 0b100000; + /// + /// 在手上 + /// + public const uint InHand = 0b1000000; } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs b/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs new file mode 100644 index 0000000..bb20329 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/bullet/Bullet.cs @@ -0,0 +1,96 @@ +using Godot; + +/// +/// 子弹类 +/// +[Tool, GlobalClass] +public partial class Bullet : ActivityObject +{ + /// + /// 碰撞区域 + /// + [Export, ExportFillNode] + public Area2D CollisionArea { get; set; } + + /// + /// 发射该子弹的武器 + /// + public Weapon Weapon { get; private set; } + + // 最大飞行距离 + private float MaxDistance; + + // 子弹飞行速度 + private float FlySpeed; + + //当前子弹已经飞行的距离 + private float CurrFlyDistance = 0; + + public void Init(Weapon weapon, float speed, float maxDistance, Vector2 position, float rotation, uint targetLayer) + { + Weapon = weapon; + CollisionArea.CollisionMask = targetLayer; + CollisionArea.AreaEntered += OnArea2dEntered; + + //只有玩家使用该武器才能获得正常速度的子弹 + if (weapon.Master is Player) + { + FlySpeed = speed; + } + else + { + FlySpeed = speed * weapon.Attribute.AiBulletSpeedScale; + } + MaxDistance = maxDistance; + Position = position; + Rotation = rotation; + ShadowOffset = new Vector2(0, 5); + + BasisVelocity = new Vector2(FlySpeed, 0).Rotated(Rotation); + } + + protected override void PhysicsProcessOver(float delta) + { + //移动 + var lastSlideCollision = GetLastSlideCollision(); + //撞到墙 + if (lastSlideCollision != null) + { + //创建粒子特效 + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletSmoke_tscn); + var smoke = packedScene.Instantiate(); + smoke.GlobalPosition = lastSlideCollision.GetPosition(); + smoke.GlobalRotation = lastSlideCollision.GetNormal().Angle(); + smoke.AddToActivityRoot(RoomLayerEnum.YSortLayer); + + Destroy(); + return; + } + //距离太大, 自动销毁 + CurrFlyDistance += FlySpeed * delta; + if (CurrFlyDistance >= MaxDistance) + { + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletDisappear_tscn); + var node = packedScene.Instantiate(); + node.GlobalPosition = GlobalPosition; + node.AddToActivityRoot(RoomLayerEnum.YSortLayer); + + Destroy(); + } + } + + private void OnArea2dEntered(Area2D other) + { + var role = other.AsActivityObject(); + if (role != null) + { + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletDisappear_tscn); + var node = packedScene.Instantiate(); + node.GlobalPosition = GlobalPosition; + node.AddToActivityRoot(RoomLayerEnum.YSortLayer); + + role.CallDeferred(nameof(Role.Hurt), 4, Rotation); + Destroy(); + } + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/activity/bullet/BulletAttribute.cs b/DungeonShooting_Godot/src/game/activity/bullet/BulletAttribute.cs new file mode 100644 index 0000000..aa30af1 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/bullet/BulletAttribute.cs @@ -0,0 +1,5 @@ + +public class BulletAttribute +{ + +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/activity/package/Holster.cs b/DungeonShooting_Godot/src/game/activity/package/Holster.cs new file mode 100644 index 0000000..a487f64 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/package/Holster.cs @@ -0,0 +1,369 @@ +using System; +using System.Collections.Generic; +using Godot; + +/// +/// 角色身上的武器袋, 存储角色携带的武器 +/// +public class Holster +{ + /// + /// 归属者 + /// + public Role Master { get; } + + /// + /// 当前使用的武器对象 + /// + public Weapon ActiveWeapon { get; private set; } + + /// + /// 当前使用的武器的索引 + /// + public int ActiveIndex { get; private set; } = 0; + + /// + /// 武器袋容量 + /// + public int Capacity { get; private set; } = 0; + + /// + /// 武器插槽 + /// + public Weapon[] Weapons { get; private set; } + + public Holster(Role master) + { + Master = master; + //默认容量4 + SetCapacity(4); + } + + /// + /// 修改武器袋容量 + /// + public void SetCapacity(int capacity) + { + if (capacity < 0) + { + capacity = 0; + } + + if (capacity == Capacity) + { + return; + } + + if (Weapons == null) + { + Weapons = new Weapon[capacity]; + } + else if (Weapons.Length > capacity) //删减格子 + { + var newArray = new Weapon[capacity]; + for (var i = 0; i < Weapons.Length; i++) + { + if (i < capacity) + { + newArray[i] = Weapons[i]; + } + else + { + Master.ThrowWeapon(i); + } + } + + Weapons = newArray; + } + else //添加格子 + { + var newArray = new Weapon[capacity]; + for (var i = 0; i < Weapons.Length; i++) + { + newArray[i] = Weapons[i]; + } + Weapons = newArray; + } + Capacity = capacity; + + } + + /// + /// 返回当前武器袋是否是空的 + /// + public bool IsEmpty() + { + for (var i = 0; i < Weapons.Length; i++) + { + if (Weapons[i] != null) + { + return false; + } + } + + return true; + } + + /// + /// 返回当前武器袋是否还有空位 + /// + public bool HasVacancy() + { + for (var i = 0; i < Weapons.Length; i++) + { + if (Weapons[i] == null) + { + return true; + } + } + + return false; + } + + /// + /// 根据索引获取武器 + /// + public Weapon GetWeapon(int index) + { + if (index < 0 || index >= Weapons.Length) + { + return null; + } + return Weapons[index]; + } + + /// + /// 根据武器id查找武器袋中该武器所在的位置, 如果没有, 则返回 -1 + /// + /// 武器id + public int FindWeapon(string id) + { + for (var i = 0; i < Weapons.Length; i++) + { + var item = Weapons[i]; + if (item != null && item.ItemId == id) + { + return i; + } + } + return -1; + } + + /// + /// 通过回调函数查询武器在武器袋中的位置, 如果没有, 则返回 -1 + /// + public int FindWeapon(Func handler) + { + for (var i = 0; i < Weapons.Length; i++) + { + var item = Weapons[i]; + if (item != null && handler(item, i)) + { + return i; + } + } + return -1; + } + + /// + /// 遍历所有武器 + /// + public void ForEach(Action handler) + { + for (var i = 0; i < Weapons.Length; i++) + { + var item = Weapons[i]; + if (item != null) + { + handler(item, i); + } + } + } + + /// + /// 从武器袋中移除所有武器, 并返回 + /// + public Weapon[] GetAndClearWeapon() + { + var weapons = new List(); + for (var i = 0; i < Weapons.Length; i++) + { + var weapon = Weapons[i]; + if (weapon != null) + { + weapon.GetParent().RemoveChild(weapon); + weapon.RemoveAt(); + weapons.Add(weapon); + Weapons[i] = null; + } + } + + return weapons.ToArray(); + } + + /// + /// 返回是否能放入武器 + /// + /// 武器对象 + public bool CanPickupWeapon(Weapon weapon) + { + for (var i = 0; i < Weapons.Length; i++) + { + var item = Weapons[i]; + if (item == null) + { + return true; + } + } + return false; + } + + /// + /// 拾起武器, 存入武器袋中, 返回存放在武器袋的位置, 如果容不下这把武器, 则会返回 -1 + /// + /// 武器对象 + /// 是否立即切换到该武器, 默认 true + public int PickupWeapon(Weapon weapon, bool exchange = true) + { + //已经被拾起了 + if (weapon.Master != null) + { + return -1; + } + for (var i = 0; i < Weapons.Length; i++) + { + var item = Weapons[i]; + if (item == null) + { + weapon.Pickup(); + Weapons[i] = weapon; + weapon.PickUpWeapon(Master); + if (exchange) + { + ExchangeByIndex(i); + } + + return i; + } + } + return -1; + } + + /// + /// 移除指定位置的武器, 并返回这个武器对象, 如果移除正在使用的这把武器, 则会自动切换到上一把武器 + /// + /// 所在武器袋的位置索引 + public Weapon RemoveWeapon(int index) + { + if (index < 0 || index >= Weapons.Length) + { + return null; + } + var weapon = Weapons[index]; + if (weapon == null) + { + return null; + } + weapon.GetParent().RemoveChild(weapon); + Weapons[index] = null; + + //如果是当前手持的武器, 就需要调用切换武器操作 + if (index == ActiveIndex) + { + //没有其他武器了 + if (ExchangePrev() == index) + { + ActiveIndex = 0; + ActiveWeapon = null; + } + } + weapon.RemoveAt(); + return weapon; + } + + /// + /// 切换到上一个武器 + /// + public int ExchangePrev() + { + var index = ActiveIndex - 1; + do + { + if (index < 0) + { + index = Weapons.Length - 1; + } + if (ExchangeByIndex(index)) + { + return index; + } + } while (index-- != ActiveIndex); + return -1; + } + + /// + /// 切换到下一个武器, + /// + public int ExchangeNext() + { + var index = ActiveIndex + 1; + do + { + if (index >= Weapons.Length) + { + index = 0; + } + if (ExchangeByIndex(index)) + { + return index; + } + } + while (index++ != ActiveIndex); + return -1; + } + + /// + /// 切换到指定索引的武器 + /// + public bool ExchangeByIndex(int index) + { + if (index == ActiveIndex && ActiveWeapon != null) return true; + if (index < 0 || index > Weapons.Length) return false; + var weapon = Weapons[index]; + if (weapon == null) return false; + + //将上一把武器放到背后 + if (ActiveWeapon != null) + { + var tempParent = ActiveWeapon.GetParentOrNull(); + if (tempParent != null) + { + tempParent.RemoveChild(ActiveWeapon); + Master.BackMountPoint.AddChild(ActiveWeapon); + Master.OnPutBackMount(ActiveWeapon, ActiveIndex); + ActiveWeapon.Conceal(); + } + } + + //更改父节点 + var parent = weapon.GetParentOrNull(); + if (parent == null) + { + Master.MountPoint.AddChild(weapon); + } + else if (parent != Master.MountPoint) + { + parent.RemoveChild(weapon); + Master.MountPoint.AddChild(weapon); + } + + weapon.Position = Vector2.Zero; + weapon.Scale = Vector2.One; + weapon.RotationDegrees = 0; + weapon.Visible = true; + ActiveWeapon = weapon; + ActiveIndex = index; + ActiveWeapon.Active(); + return true; + } +} diff --git a/DungeonShooting_Godot/src/game/activity/shell/Shell.cs b/DungeonShooting_Godot/src/game/activity/shell/Shell.cs new file mode 100644 index 0000000..310ee81 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/shell/Shell.cs @@ -0,0 +1,22 @@ + +using Godot; + +/// +/// 弹壳类 +/// +[Tool, GlobalClass] +public partial class Shell : ActivityObject +{ + public override void OnInit() + { + base.OnInit(); + ShadowOffset = new Vector2(0, 1); + ThrowCollisionSize = new Vector2(5, 5); + } + + protected override void OnThrowOver() + { + EnableBehavior = false; + Collision.QueueFree(); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs new file mode 100644 index 0000000..23caa70 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs @@ -0,0 +1,1475 @@ +using Godot; +using System; +using System.Collections.Generic; +using Config; + +/// +/// 武器的基类 +/// +public abstract partial class Weapon : ActivityObject +{ + /// + /// 开火回调事件 + /// + public event Action FireEvent; + + /// + /// 武器属性数据 + /// + public ExcelConfig.Weapon Attribute => _weaponAttribute; + private ExcelConfig.Weapon _weaponAttribute; + private ExcelConfig.Weapon _playerWeaponAttribute; + private ExcelConfig.Weapon _aiWeaponAttribute; + + /// + /// 武器攻击的目标阵营 + /// + public CampEnum TargetCamp { get; set; } + + /// + /// 该武器的拥有者 + /// + public Role Master { get; private set; } + + /// + /// 当前弹夹弹药剩余量 + /// + public int CurrAmmo { get; private set; } + + /// + /// 剩余弹药量(备用弹药) + /// + public int ResidueAmmo { get; private set; } + + /// + /// 武器管的开火点 + /// + [Export, ExportFillNode] + public Marker2D FirePoint { get; set; } + + /// + /// 弹壳抛出的点 + /// + [Export, ExportFillNode] + public Marker2D ShellPoint { get; set; } + + /// + /// 武器握把位置 + /// + [Export, ExportFillNode] + public Marker2D GripPoint { get; set; } + + /// + /// 武器的当前散射半径 + /// + public float CurrScatteringRange { get; private set; } = 0; + + /// + /// 是否在换弹中 + /// + /// + public bool Reloading { get; private set; } = false; + + /// + /// 换弹进度 (从 0 到 1) + /// + public float ReloadProgress + { + get + { + if (!Reloading) + { + return 1; + } + + if (Attribute.AloneReload) + { + //总时间 + var total = Attribute.AloneReloadBeginIntervalTime + (Attribute.ReloadTime * Attribute.AmmoCapacity) + Attribute.AloneReloadFinishIntervalTime; + //当前时间 + float current; + if (_aloneReloadState == 1) + { + current = (Attribute.AloneReloadBeginIntervalTime - _reloadTimer) + Attribute.ReloadTime * CurrAmmo; + } + else if (_aloneReloadState == 2) + { + current = Attribute.AloneReloadBeginIntervalTime + (Attribute.ReloadTime * (CurrAmmo + (1 - _reloadTimer / Attribute.ReloadTime))); + } + else + { + current = Attribute.AloneReloadBeginIntervalTime + (Attribute.ReloadTime * CurrAmmo) + (Attribute.AloneReloadFinishIntervalTime - _reloadTimer); + } + + return current / total; + } + + return 1 - _reloadTimer / Attribute.ReloadTime; + } + } + + /// + /// 返回是否在蓄力中, + /// 注意, 属性仅在 Attribute.LooseShoot == false 时有正确的返回值, 否则返回 false + /// + public bool IsCharging => _looseShootFlag; + + /// + /// 返回武器是否在武器袋中 + /// + public bool IsInHolster => Master != null; + + /// + /// 返回是否真正使用该武器 + /// + public bool IsActive => Master != null && Master.Holster.ActiveWeapon == this; + + /// + /// 动画播放器 + /// + [Export, ExportFillNode] + public AnimationPlayer AnimationPlayer { get; set; } + + /// + /// 是否自动播放 SpriteFrames 的动画 + /// + public bool IsAutoPlaySpriteFrames { get; set; } = true; + + //-------------------------------------------------------------------------------------------- + + //是否按下 + private bool _triggerFlag = false; + + //扳机计时器 + private float _triggerTimer = 0; + + //开火前延时时间 + private float _delayedTime = 0; + + //开火间隙时间 + private float _fireInterval = 0; + + //开火武器口角度 + private float _fireAngle = 0; + + //攻击冷却计时 + private float _attackTimer = 0; + + //攻击状态 + private bool _attackFlag = false; + + //多久没开火了 + private float _noAttackTime = 0; + + //按下的时间 + private float _downTimer = 0; + + //松开的时间 + private float _upTimer = 0; + + //连发次数 + private float _continuousCount = 0; + + //连发状态记录 + private bool _continuousShootFlag = false; + + //松开扳机是否开火 + private bool _looseShootFlag = false; + + //蓄力攻击时长 + private float _chargeTime = 0; + + //是否需要重置武器数据 + private bool _dirtyFlag = false; + + //当前后坐力导致的偏移长度 + private float _currBacklashLength = 0; + + //临时存放动画精灵位置 + private Vector2 _tempAnimatedSpritePosition; + + //换弹计时器 + private float _reloadTimer = 0; + + //单独换弹设置下的换弹状态, 0: 未换弹, 1: 装第一颗子弹之前, 2: 单独装弹中, 3: 单独装弹完成 + private byte _aloneReloadState = 0; + + //本次换弹已用时间 + private float _reloadUseTime = 0; + + //是否播放过换弹完成音效 + private bool _playReloadFinishSoundFlag = false; + + // ---------------------------------------------- + private uint _tempLayer; + + private static bool _init = false; + private static Dictionary _weaponAttributeMap = + new Dictionary(); + + /// + /// 初始化武器属性数据 + /// + public static void InitWeaponAttribute() + { + if (_init) + { + return; + } + + _init = true; + foreach (var weaponAttr in ExcelConfig.Weapon_List) + { + if (!string.IsNullOrEmpty(weaponAttr.WeaponId)) + { + if (!_weaponAttributeMap.TryAdd(weaponAttr.WeaponId, weaponAttr)) + { + GD.PrintErr("发现重复注册的武器属性: " + weaponAttr.Id); + } + } + } + } + + private static ExcelConfig.Weapon _GetWeaponAttribute(string itemId) + { + if (_weaponAttributeMap.TryGetValue(itemId, out var attr)) + { + return attr; + } + + throw new Exception($"武器'{itemId}'没有在 Weapon 表中配置属性数据!"); + } + + public override void OnInit() + { + InitWeapon(_GetWeaponAttribute(ItemId)); + AnimatedSprite.AnimationFinished += OnAnimationFinished; + } + + /// + /// 初始化武器属性 + /// + public void InitWeapon(ExcelConfig.Weapon attribute) + { + _playerWeaponAttribute = attribute; + _weaponAttribute = attribute; + if (attribute.AiUseAttribute != null) + { + _aiWeaponAttribute = attribute.AiUseAttribute; + } + else + { + _aiWeaponAttribute = attribute; + } + + if (Attribute.AmmoCapacity > Attribute.MaxAmmoCapacity) + { + Attribute.AmmoCapacity = Attribute.MaxAmmoCapacity; + GD.PrintErr("弹夹的容量不能超过弹药上限, 武器id: " + ItemId); + } + //弹药量 + CurrAmmo = Attribute.AmmoCapacity; + //剩余弹药量 + ResidueAmmo = Mathf.Min(Attribute.StandbyAmmoCapacity + CurrAmmo, Attribute.MaxAmmoCapacity) - CurrAmmo; + + ThrowCollisionSize = attribute.ThrowCollisionSize.AsVector2(); + } + + /// + /// 单次开火时调用的函数 + /// + protected abstract void OnFire(); + + /// + /// 发射子弹时调用的函数, 每发射一枚子弹调用一次, + /// 如果做霰弹武器效果, 一次开火发射5枚子弹, 则该函数调用5次 + /// + /// 开火时枪口旋转角度 + protected abstract void OnShoot(float fireRotation); + + /// + /// 当按下扳机时调用 + /// + protected virtual void OnDownTrigger() + { + } + + /// + /// 当松开扳机时调用 + /// + protected virtual void OnUpTrigger() + { + } + + /// + /// 开始蓄力时调用, + /// 注意, 该函数仅在 Attribute.LooseShoot == false 时才能被调用 + /// + protected virtual void OnStartCharge() + { + } + + /// + /// 当换弹时调用, 如果设置单独装弹, 则每装一次弹调用一次该函数 + /// + protected virtual void OnReload() + { + } + + /// + /// 当开始换弹时调用 + /// + protected virtual void OnBeginReload() + { + + } + + /// + /// 当换弹完成时调用 + /// + protected virtual void OnReloadFinish() + { + } + + /// + /// 当武器被拾起时调用 + /// + /// 拾起该武器的角色 + protected virtual void OnPickUp(Role master) + { + } + + /// + /// 当武器从武器袋中移除时调用 + /// + protected virtual void OnRemove() + { + } + + /// + /// 当武器被激活时调用, 也就是使用当武器时调用 + /// + protected virtual void OnActive() + { + } + + /// + /// 当武器被收起时调用 + /// + protected virtual void OnConceal() + { + } + + /// + /// 射击时调用, 返回消耗弹药数量, 默认为1, 如果返回为 0, 则不消耗弹药 + /// + protected virtual int UseAmmoCount() + { + return 1; + } + + public override void EnterTree() + { + base.EnterTree(); + //收集落在地上的武器 + if (IsInGround()) + { + World.Weapon_UnclaimedWeapons.Add(this); + } + } + + public override void ExitTree() + { + base.ExitTree(); + World.Weapon_UnclaimedWeapons.Remove(this); + } + + protected override void Process(float delta) + { + //未开火时间 + _noAttackTime += delta; + + //这把武器被扔在地上, 或者当前武器没有被使用 + if (Master == null || Master.Holster.ActiveWeapon != this) + { + //_triggerTimer + _triggerTimer = _triggerTimer > 0 ? _triggerTimer - delta : 0; + //攻击冷却计时 + _attackTimer = _attackTimer > 0 ? _attackTimer - delta : 0; + //武器的当前散射半径 + CurrScatteringRange = Mathf.Max(CurrScatteringRange - Attribute.ScatteringRangeBackSpeed * delta, + Attribute.StartScatteringRange); + //松开扳机 + if (_triggerFlag || _downTimer > 0) + { + UpTrigger(); + _downTimer = 0; + } + + _triggerFlag = false; + + //重置数据 + if (_dirtyFlag) + { + _dirtyFlag = false; + _aloneReloadState = 0; + Reloading = false; + _reloadTimer = 0; + _reloadUseTime = 0; + _attackFlag = false; + _continuousCount = 0; + _delayedTime = 0; + _upTimer = 0; + _looseShootFlag = false; + _chargeTime = 0; + } + } + else //正在使用中 + { + _dirtyFlag = true; + //换弹 + if (Reloading) + { + //换弹用时 + _reloadUseTime += delta; + _reloadTimer -= delta; + + if (Attribute.AloneReload) //单独装弹模式 + { + switch (_aloneReloadState) + { + case 0: + GD.PrintErr("AloneReload状态错误!"); + break; + case 1: //装第一颗子弹之前 + { + if (_reloadTimer <= 0) + { + //开始装第一颗子弹 + _aloneReloadState = 2; + ReloadHandler(); + } + } + break; + case 2: //单独装弹中 + { + if (_reloadTimer <= 0) + { + ReloadSuccess(); + if (ResidueAmmo == 0 || CurrAmmo == Attribute.AmmoCapacity) //单独装弹完成 + { + AloneReloadStateFinish(); + if (Attribute.AloneReloadFinishIntervalTime <= 0) + { + //换弹完成 + StopReloadState(); + ReloadFinishHandler(); + } + else + { + _reloadTimer = Attribute.AloneReloadFinishIntervalTime; + _aloneReloadState = 3; + } + } + } + } + break; + case 3: //单独装弹完成 + { + //播放换弹完成音效 + if (!_playReloadFinishSoundFlag && Attribute.ReloadFinishSound != null && _reloadTimer <= Attribute.ReloadFinishSoundAdvanceTime) + { + _playReloadFinishSoundFlag = true; + // GD.Print("播放换弹完成音效."); + PlayReloadFinishSound(); + } + + if (_reloadTimer <= 0) + { + //换弹完成 + StopReloadState(); + ReloadFinishHandler(); + } + } + break; + } + } + else //普通换弹模式 + { + //播放换弹完成音效 + if (!_playReloadFinishSoundFlag && Attribute.ReloadFinishSound != null && _reloadTimer <= Attribute.ReloadFinishSoundAdvanceTime) + { + _playReloadFinishSoundFlag = true; + // GD.Print("播放换弹完成音效."); + PlayReloadFinishSound(); + } + + if (_reloadTimer <= 0) + { + ReloadSuccess(); + } + } + } + + // 攻击的计时器 + if (_attackTimer > 0) + { + _attackTimer -= delta; + if (_attackTimer < 0) + { + _delayedTime += _attackTimer; + _attackTimer = 0; + //枪口默认角度 + RotationDegrees = -Attribute.DefaultAngle; + } + } + else if (_delayedTime > 0) //攻击延时 + { + _delayedTime -= delta; + if (_attackTimer < 0) + { + _delayedTime = 0; + } + } + + //扳机判定 + if (_triggerFlag) + { + if (_looseShootFlag) //蓄力时长 + { + _chargeTime += delta; + } + + _downTimer += delta; + if (_upTimer > 0) //第一帧按下扳机 + { + DownTrigger(); + _upTimer = 0; + } + } + else + { + _upTimer += delta; + if (_downTimer > 0) //第一帧松开扳机 + { + UpTrigger(); + _downTimer = 0; + } + } + + //连发判断 + if (!_looseShootFlag && _continuousCount > 0 && _delayedTime <= 0 && _attackTimer <= 0) + { + //连发开火 + TriggerFire(); + } + + //散射值销退 + if (_noAttackTime >= Attribute.ScatteringRangeBackDelayTime) + { + CurrScatteringRange = Mathf.Max(CurrScatteringRange - Attribute.ScatteringRangeBackSpeed * delta, + Attribute.StartScatteringRange); + } + + _triggerTimer = _triggerTimer > 0 ? _triggerTimer - delta : 0; + _triggerFlag = false; + _attackFlag = false; + + //武器身回归 + //Position = Position.MoveToward(Vector2.Zero, Attribute.BacklashRegressionSpeed * delta).Rotated(Rotation); + _currBacklashLength = Mathf.MoveToward(_currBacklashLength, 0, Attribute.BacklashRegressionSpeed * delta); + Position = new Vector2(_currBacklashLength, 0).Rotated(Rotation); + if (_attackTimer > 0) + { + RotationDegrees = Mathf.Lerp( + _fireAngle, -Attribute.DefaultAngle, + Mathf.Clamp((_fireInterval - _attackTimer) * Attribute.UpliftAngleRestore / _fireInterval, 0, 1) + ); + } + } + } + + /// + /// 返回武器是否在地上 + /// + /// + public bool IsInGround() + { + return Master == null && GetParent() == GameApplication.Instance.World.NormalLayer; + } + + /// + /// 扳机函数, 调用即视为按下扳机 + /// + public void Trigger() + { + //这一帧已经按过了, 不需要再按下 + if (_triggerFlag) return; + + //是否第一帧按下 + var justDown = _downTimer == 0; + //是否能发射 + 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; + } + } + } + + if (flag) + { + var fireFlag = true; //是否能开火 + if (Reloading) //换弹中 + { + fireFlag = false; + if (CurrAmmo > 0 && Attribute.AloneReload && Attribute.AloneReloadCanShoot) + { + //检查是否允许停止换弹 + if (_aloneReloadState == 2 || _aloneReloadState == 1) + { + if (Attribute.AloneReloadFinishIntervalTime <= 0) + { + //换弹完成 + StopReloadState(); + ReloadFinishHandler(); + } + else + { + _reloadTimer = Attribute.AloneReloadFinishIntervalTime; + _aloneReloadState = 3; + } + } + } + } + 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) + { + if (Attribute.LooseShoot) //松发开火 + { + _looseShootFlag = true; + OnStartCharge(); + } + else + { + //开火 + TriggerFire(); + } + } + + _attackFlag = true; + } + + } + + _triggerFlag = true; + } + + /// + /// 返回是否按下扳机 + /// + public bool IsPressTrigger() + { + return _triggerFlag; + } + + /// + /// 获取本次扳机按下的时长, 单位: 秒 + /// + public float GetTriggerDownTime() + { + return _downTimer; + } + + /// + /// 获取扳机蓄力时长, 计算按下扳机后从可以开火到当前一共经过了多长时间, 可用于计算蓄力攻击 + /// 注意, 该函数仅在 Attribute.LooseShoot == false 时有正确的返回值, 否则返回 0 + /// + public float GetTriggerChargeTime() + { + return _chargeTime; + } + + /// + /// 获取延时射击倒计时, 单位: 秒 + /// + public float GetDelayedAttackTime() + { + return _delayedTime; + } + + /// + /// 刚按下扳机 + /// + private void DownTrigger() + { + OnDownTrigger(); + } + + /// + /// 刚松开扳机 + /// + private void UpTrigger() + { + _continuousShootFlag = false; + if (_delayedTime > 0) + { + _continuousCount = 0; + } + + //松发开火执行 + if (_looseShootFlag) + { + _looseShootFlag = false; + if (_chargeTime >= Attribute.MinChargeTime) //判断蓄力是否够了 + { + TriggerFire(); + } + else //不能攻击 + { + _continuousCount = 0; + } + _chargeTime = 0; + } + + OnUpTrigger(); + } + + /// + /// 触发开火 + /// + private void TriggerFire() + { + _noAttackTime = 0; + _continuousCount = _continuousCount > 0 ? _continuousCount - 1 : 0; + + //减子弹数量 + if (_playerWeaponAttribute != _weaponAttribute) //Ai使用该武器, 有一定概率不消耗弹药 + { + if (Utils.RandomRangeFloat(0, 1) < _weaponAttribute.AiAmmoConsumptionProbability) //触发消耗弹药 + { + CurrAmmo -= UseAmmoCount(); + } + } + else + { + CurrAmmo -= UseAmmoCount(); + } + + //开火间隙 + _fireInterval = 60 / Attribute.StartFiringSpeed; + //攻击冷却 + _attackTimer += _fireInterval; + + //播放开火动画 + if (IsAutoPlaySpriteFrames) + { + PlaySpriteAnimation(AnimatorNames.Fire); + } + + //播放射击音效 + PlayShootSound(); + + //触发开火函数 + OnFire(); + + //播放上膛动画 + if (IsAutoPlaySpriteFrames) + { + if (Attribute.EquipSoundDelayTime <= 0) + { + PlaySpriteAnimation(AnimatorNames.Equip); + } + else + { + DelayCall(Attribute.EquipSoundDelayTime, PlaySpriteAnimation, AnimatorNames.Equip); + } + } + + //播放上膛音效 + PlayEquipSound(); + + //开火发射的子弹数量 + var bulletCount = Utils.RandomRangeInt(Attribute.MaxFireBulletCount, Attribute.MinFireBulletCount); + //武器口角度 + var angle = new Vector2(GameConfig.ScatteringDistance, CurrScatteringRange).Angle(); + + //先算武器口方向 + var tempRotation = Utils.RandomRangeFloat(-angle, angle); + var tempAngle = Mathf.RadToDeg(tempRotation); + + //开火时枪口角度 + var fireRotation = Mathf.DegToRad(Master.MountPoint.RealRotationDegrees) + tempRotation; + //创建子弹 + for (int i = 0; i < bulletCount; i++) + { + //发射子弹 + OnShoot(fireRotation); + } + + //开火添加散射值 + CurrScatteringRange = Mathf.Min(CurrScatteringRange + Attribute.ScatteringRangeAddValue, + Attribute.FinalScatteringRange); + //武器的旋转角度 + tempAngle -= Attribute.UpliftAngle; + RotationDegrees = tempAngle; + _fireAngle = tempAngle; + + //武器身位置 + var max = Mathf.Abs(Mathf.Max(Attribute.MaxBacklash, Attribute.MinBacklash)); + _currBacklashLength = Mathf.Clamp( + _currBacklashLength - Utils.RandomRangeFloat(Attribute.MinBacklash, Attribute.MaxBacklash), + -max, max + ); + Position = new Vector2(_currBacklashLength, 0).Rotated(Rotation); + + if (FireEvent != null) + { + FireEvent(this); + } + } + + /// + /// 获取武器攻击的目标层级 + /// + /// + public uint GetAttackLayer() + { + return Master != null ? Master.AttackLayer : Role.DefaultAttackLayer; + } + + /// + /// 返回弹药是否到达上限 + /// + public bool IsAmmoFull() + { + return CurrAmmo + ResidueAmmo >= Attribute.MaxAmmoCapacity; + } + + /// + /// 返回弹夹是否打空 + /// + public bool IsAmmoEmpty() + { + return CurrAmmo == 0; + } + + /// + /// 返回是否弹药耗尽 + /// + public bool IsTotalAmmoEmpty() + { + return CurrAmmo + ResidueAmmo == 0; + } + + /// + /// 强制修改当前弹夹弹药量 + /// + public void SetCurrAmmo(int count) + { + CurrAmmo = Mathf.Clamp(count, 0, Attribute.AmmoCapacity); + } + + /// + /// 强制修改备用弹药量 + /// + public void SetResidueAmmo(int count) + { + ResidueAmmo = Mathf.Clamp(count, 0, Attribute.MaxAmmoCapacity - CurrAmmo); + } + + /// + /// 强制修改弹药量, 优先改动备用弹药 + /// + public void SetTotalAmmo(int total) + { + if (total < 0) + { + return; + } + var totalAmmo = CurrAmmo + ResidueAmmo; + if (totalAmmo == total) + { + return; + } + + if (total > totalAmmo) //弹药增加 + { + ResidueAmmo = Mathf.Min(total - CurrAmmo, Attribute.MaxAmmoCapacity - CurrAmmo); + } + else //弹药减少 + { + if (CurrAmmo < total) + { + ResidueAmmo = total - CurrAmmo; + } + else + { + CurrAmmo = total; + ResidueAmmo = 0; + } + } + } + + /// + /// 拾起的弹药数量, 如果到达容量上限, 则返回拾取完毕后剩余的弹药数量 + /// + /// 弹药数量 + private int PickUpAmmo(int count) + { + var num = ResidueAmmo; + ResidueAmmo = Mathf.Min(ResidueAmmo + count, Attribute.MaxAmmoCapacity - CurrAmmo); + return count - ResidueAmmo + num; + } + + /// + /// 触发换弹 + /// + public void Reload() + { + if (CurrAmmo < Attribute.AmmoCapacity && ResidueAmmo > 0 && !Reloading) + { + Reloading = true; + _playReloadFinishSoundFlag = false; + + //播放开始换弹音效 + PlayBeginReloadSound(); + + // GD.Print("开始换弹."); + //第一次换弹 + OnBeginReload(); + + if (Attribute.AloneReload) + { + //单独换弹, 特殊处理 + AloneReloadHandler(); + } + else + { + //普通换弹处理 + ReloadHandler(); + } + } + } + + //播放换弹开始音效 + private void PlayBeginReloadSound() + { + if (Attribute.BeginReloadSound != null) + { + var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); + if (Attribute.BeginReloadSoundDelayTime <= 0) + { + SoundManager.PlaySoundEffectPosition(Attribute.BeginReloadSound.Path, position, Attribute.BeginReloadSound.Volume); + } + else + { + SoundManager.PlaySoundEffectPositionDelay(Attribute.BeginReloadSound.Path, position, Attribute.BeginReloadSoundDelayTime, Attribute.BeginReloadSound.Volume); + } + } + } + + //播放换弹音效 + private void PlayReloadSound() + { + if (Attribute.ReloadSound != null) + { + var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); + if (Attribute.ReloadSoundDelayTime <= 0) + { + SoundManager.PlaySoundEffectPosition(Attribute.ReloadSound.Path, position, Attribute.ReloadSound.Volume); + } + else + { + SoundManager.PlaySoundEffectPositionDelay(Attribute.ReloadSound.Path, position, Attribute.ReloadSoundDelayTime, Attribute.ReloadSound.Volume); + } + } + } + + //播放换弹完成音效 + private void PlayReloadFinishSound() + { + if (Attribute.ReloadFinishSound != null) + { + var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); + SoundManager.PlaySoundEffectPosition(Attribute.ReloadFinishSound.Path, position, Attribute.ReloadFinishSound.Volume); + } + } + + //播放射击音效 + private void PlayShootSound() + { + if (Attribute.ShootSound != null) + { + var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); + SoundManager.PlaySoundEffectPosition(Attribute.ShootSound.Path, position, Attribute.ShootSound.Volume); + } + } + + //播放上膛音效 + private void PlayEquipSound() + { + if (Attribute.EquipSound != null) + { + var position = GameApplication.Instance.ViewToGlobalPosition(GlobalPosition); + if (Attribute.EquipSoundDelayTime <= 0) + { + SoundManager.PlaySoundEffectPosition(Attribute.EquipSound.Path, position, Attribute.EquipSound.Volume); + } + else + { + SoundManager.PlaySoundEffectPositionDelay(Attribute.EquipSound.Path, position, Attribute.EquipSoundDelayTime, Attribute.EquipSound.Volume); + } + } + } + + //单独换弹处理 + private void AloneReloadHandler() + { + if (Attribute.AloneReloadBeginIntervalTime <= 0) + { + //开始装第一颗子弹 + _aloneReloadState = 2; + ReloadHandler(); + } + else + { + _aloneReloadState = 1; + _reloadTimer = Attribute.AloneReloadBeginIntervalTime; + } + } + + //换弹处理逻辑 + private void ReloadHandler() + { + _reloadTimer = Attribute.ReloadTime; + + //播放换弹动画 + if (IsAutoPlaySpriteFrames) + { + PlaySpriteAnimation(AnimatorNames.Reloading); + } + + //播放换弹音效 + PlayReloadSound(); + + OnReload(); + // GD.Print("装弹."); + } + + //换弹完成处理逻辑 + private void ReloadFinishHandler() + { + // GD.Print("装弹完成."); + OnReloadFinish(); + } + + //单独装弹完成 + private void AloneReloadStateFinish() + { + // GD.Print("单独装弹完成."); + } + + //停止当前的换弹状态 + private void StopReloadState() + { + _aloneReloadState = 0; + Reloading = false; + _reloadTimer = 0; + _reloadUseTime = 0; + } + + /// + /// 换弹计时器时间到, 执行换弹操作 + /// + private void ReloadSuccess() + { + if (Attribute.AloneReload) //单独装填 + { + if (ResidueAmmo >= Attribute.AloneReloadCount) //剩余子弹充足 + { + if (CurrAmmo + Attribute.AloneReloadCount <= Attribute.AmmoCapacity) + { + ResidueAmmo -= Attribute.AloneReloadCount; + CurrAmmo += Attribute.AloneReloadCount; + } + else //子弹满了 + { + var num = Attribute.AmmoCapacity - CurrAmmo; + CurrAmmo = Attribute.AmmoCapacity; + ResidueAmmo -= num; + } + } + else if (ResidueAmmo != 0) //剩余子弹不足 + { + if (ResidueAmmo + CurrAmmo <= Attribute.AmmoCapacity) + { + CurrAmmo += ResidueAmmo; + ResidueAmmo = 0; + } + else //子弹满了 + { + var num = Attribute.AmmoCapacity - CurrAmmo; + CurrAmmo = Attribute.AmmoCapacity; + ResidueAmmo -= num; + } + } + + if (ResidueAmmo != 0 && CurrAmmo != Attribute.AmmoCapacity) //继续装弹 + { + ReloadHandler(); + } + } + else //换弹结束 + { + if (CurrAmmo + ResidueAmmo >= Attribute.AmmoCapacity) + { + ResidueAmmo -= Attribute.AmmoCapacity - CurrAmmo; + CurrAmmo = Attribute.AmmoCapacity; + } + else + { + CurrAmmo += ResidueAmmo; + ResidueAmmo = 0; + } + + StopReloadState(); + ReloadFinishHandler(); + } + } + + //播放动画 + private void PlaySpriteAnimation(string name) + { + var spriteFrames = AnimatedSprite.SpriteFrames; + if (spriteFrames != null && spriteFrames.HasAnimation(name)) + { + AnimatedSprite.Play(name); + } + } + + //帧动画播放结束 + private void OnAnimationFinished() + { + GD.Print("帧动画播放结束..."); + AnimatedSprite.Play(AnimatorNames.Default); + } + + public override CheckInteractiveResult CheckInteractive(ActivityObject master) + { + var result = new CheckInteractiveResult(this); + + if (master is Role roleMaster) //碰到角色 + { + if (Master == null) + { + var masterWeapon = roleMaster.Holster.ActiveWeapon; + //查找是否有同类型武器 + var index = roleMaster.Holster.FindWeapon(ItemId); + if (index != -1) //如果有这个武器 + { + if (CurrAmmo + ResidueAmmo != 0) //子弹不为空 + { + var targetWeapon = roleMaster.Holster.GetWeapon(index); + if (!targetWeapon.IsAmmoFull()) //背包里面的武器子弹未满 + { + //可以互动拾起弹药 + result.CanInteractive = true; + result.Message = Attribute.Name; + result.ShowIcon = ResourcePath.resource_sprite_ui_icon_icon_bullet_png; + return result; + } + } + } + else //没有武器 + { + if (roleMaster.Holster.CanPickupWeapon(this)) //能拾起武器 + { + //可以互动, 拾起武器 + result.CanInteractive = true; + result.Message = Attribute.Name; + result.ShowIcon = ResourcePath.resource_sprite_ui_icon_icon_pickup_png; + return result; + } + else if (masterWeapon != null && masterWeapon.Attribute.WeightType == Attribute.WeightType) //替换武器 + { + //可以互动, 切换武器 + result.CanInteractive = true; + result.Message = Attribute.Name; + result.ShowIcon = ResourcePath.resource_sprite_ui_icon_icon_replace_png; + return result; + } + } + } + } + + return result; + } + + public override void Interactive(ActivityObject master) + { + if (master is Role roleMaster) //与role互动 + { + var holster = roleMaster.Holster; + //查找是否有同类型武器 + var index = holster.FindWeapon(ItemId); + if (index != -1) //如果有这个武器 + { + if (CurrAmmo + ResidueAmmo == 0) //没有子弹了 + { + return; + } + + var weapon = holster.GetWeapon(index); + //子弹上限 + var maxCount = Attribute.MaxAmmoCapacity; + //是否捡到子弹 + var flag = false; + if (ResidueAmmo > 0 && weapon.CurrAmmo + weapon.ResidueAmmo < maxCount) + { + var count = weapon.PickUpAmmo(ResidueAmmo); + if (count != ResidueAmmo) + { + ResidueAmmo = count; + flag = true; + } + } + + if (CurrAmmo > 0 && weapon.CurrAmmo + weapon.ResidueAmmo < maxCount) + { + var count = weapon.PickUpAmmo(CurrAmmo); + if (count != CurrAmmo) + { + CurrAmmo = count; + flag = true; + } + } + + //播放互动效果 + if (flag) + { + Throw(GlobalPosition, 0, Utils.RandomRangeInt(20, 50), Vector2.Zero, Utils.RandomRangeInt(-180, 180)); + } + } + else //没有武器 + { + if (holster.PickupWeapon(this) == -1) + { + //替换武器 + roleMaster.ThrowWeapon(); + roleMaster.PickUpWeapon(this); + } + } + } + } + + /// + /// 获取当前武器真实的旋转角度(弧度制), 由于武器旋转时加入了旋转吸附, 所以需要通过该函数来来知道当前武器的真实旋转角度 + /// + public float GetRealGlobalRotation() + { + return Mathf.DegToRad(Master.MountPoint.RealRotationDegrees) + Rotation; + } + + /// + /// 触发扔掉武器抛出的效果, 并不会管武器是否在武器袋中 + /// + /// 触发扔掉该武器的的角色 + public void ThrowWeapon(Role master) + { + ThrowWeapon(master, master.GlobalPosition); + } + + /// + /// 触发扔掉武器抛出的效果, 并不会管武器是否在武器袋中 + /// + /// 触发扔掉该武器的的角色 + /// 投抛起始位置 + public void ThrowWeapon(Role master, Vector2 startPosition) + { + //阴影偏移 + ShadowOffset = new Vector2(0, 2); + + if (master.Face == FaceDirection.Left) + { + Scale *= new Vector2(1, -1); + } + + var rotation = master.MountPoint.GlobalRotation; + GlobalRotation = rotation; + + //继承role的移动速度 + InheritVelocity(master); + + startPosition -= GripPoint.Position.Rotated(rotation); + var startHeight = -master.MountPoint.Position.Y; + var velocity = new Vector2(20, 0).Rotated(rotation); + var yf = Utils.RandomRangeInt(50, 70); + Throw(startPosition, startHeight, yf, velocity, 0); + } + + protected override void OnThrowStart() + { + //禁用碰撞 + //Collision.Disabled = true; + AnimationPlayer.Play(AnimatorNames.Floodlight); + } + + protected override void OnThrowOver() + { + //启用碰撞 + //Collision.Disabled = false; + AnimationPlayer.Play(AnimatorNames.Floodlight); + } + + /// + /// 触发拾起到 Holster, 这个函数由 Holster 对象调用 + /// + public void PickUpWeapon(Role master) + { + Master = master; + if (master.IsAi) + { + _weaponAttribute = _aiWeaponAttribute; + } + else + { + _weaponAttribute = _playerWeaponAttribute; + } + //停止动画 + AnimationPlayer.Stop(); + //清除泛白效果 + SetBlendSchedule(0); + ZIndex = 0; + //禁用碰撞 + //Collision.Disabled = true; + //精灵位置 + _tempAnimatedSpritePosition = AnimatedSprite.Position; + var position = GripPoint.Position; + AnimatedSprite.Position = new Vector2(-position.X, -position.Y); + //修改层级 + _tempLayer = CollisionLayer; + CollisionLayer = PhysicsLayer.InHand; + //清除 Ai 拾起标记 + RemoveSign(SignNames.AiFindWeaponSign); + OnPickUp(master); + } + + /// + /// 触发从 Holster 中移除, 这个函数由 Holster 对象调用 + /// + public void RemoveAt() + { + Master = null; + CollisionLayer = _tempLayer; + _weaponAttribute = _playerWeaponAttribute; + AnimatedSprite.Position = _tempAnimatedSpritePosition; + //清除 Ai 拾起标记 + RemoveSign(SignNames.AiFindWeaponSign); + OnRemove(); + } + + /// + /// 触发启用武器 + /// + public void Active() + { + //调整阴影 + ShadowOffset = new Vector2(0, Master.GlobalPosition.Y - GlobalPosition.Y); + //枪口默认抬起角度 + RotationDegrees = -Attribute.DefaultAngle; + ShowShadowSprite(); + OnActive(); + } + + /// + /// 触发收起武器 + /// + public void Conceal() + { + HideShadowSprite(); + OnConceal(); + } + + //-------------------------- ----- 子弹相关 ----------------------------- + + /// + /// 投抛弹壳的默认实现方式, shellId为弹壳id, 不需要前缀 + /// + protected ActivityObject ThrowShell(string shellId) + { + var shellPosition = Master.MountPoint.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 shell = Create(shellId); + shell.Rotation = Master.MountPoint.RealRotation; + shell.InheritVelocity(Master); + shell.Throw(startPos, startHeight, verticalSpeed, velocity, rotate); + return shell; + } + + //-------------------------------- Ai相关 ----------------------------- + + /// + /// 获取 Ai 对于该武器的评分, 评分越高, 代表 Ai 会越优先选择该武器, 如果为 -1, 则表示 Ai 不会使用该武器 + /// + public float GetAiScore() + { + return 1; + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/activity/weapon/WeaponWeightType.cs b/DungeonShooting_Godot/src/game/activity/weapon/WeaponWeightType.cs new file mode 100644 index 0000000..5528683 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/weapon/WeaponWeightType.cs @@ -0,0 +1,19 @@ + +/// +/// 根据重量划分的武器类型 +/// +public enum WeaponWeightType +{ + /// + /// 副武器 + /// + DeputyWeapon = 1, + /// + /// 主武器 + /// + MainWeapon = 2, + /// + /// 重型武器 + /// + HeavyWeapon = 3 +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs b/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs new file mode 100644 index 0000000..83b94aa --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/weapon/gun/Gun.cs @@ -0,0 +1,47 @@ +using Godot; + +/// +/// 普通的枪 +/// +[Tool, GlobalClass] +public partial class Gun : Weapon +{ + protected override void OnReload() + { + base.OnReload(); + } + + protected override void OnFire() + { + //创建一个弹壳 + ThrowShell(ActivityObject.Ids.Id_shell0001); + + if (Master == Player.Current) + { + //创建抖动 + GameCamera.Main.DirectionalShake(Vector2.Right.Rotated(GlobalRotation) * 2f); + } + + //创建开火特效 + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_ShotFire_tscn); + var sprite = packedScene.Instantiate(); + sprite.GlobalPosition = FirePoint.GlobalPosition; + sprite.GlobalRotation = FirePoint.GlobalRotation; + sprite.AddToActivityRoot(RoomLayerEnum.YSortLayer); + } + + protected override void OnShoot(float fireRotation) + { + //创建子弹 + var bullet = ActivityObject.Create(Attribute.BulletId); + bullet.Init( + this, + 350, + Utils.RandomRangeFloat(Attribute.MinDistance, Attribute.MaxDistance), + FirePoint.GlobalPosition, + fireRotation, + GetAttackLayer() + ); + bullet.PutDown(RoomLayerEnum.YSortLayer); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/activity/weapon/gun/Shotgun.cs b/DungeonShooting_Godot/src/game/activity/weapon/gun/Shotgun.cs new file mode 100644 index 0000000..fc79ef3 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/weapon/gun/Shotgun.cs @@ -0,0 +1,39 @@ +using Godot; + +[Tool, GlobalClass] +public partial class Shotgun : Weapon +{ + protected override void OnFire() + { + //创建一个弹壳 + ThrowShell(ActivityObject.Ids.Id_shell0001); + + if (Master == Player.Current) + { + //创建抖动 + GameCamera.Main.DirectionalShake(Vector2.Right.Rotated(GlobalRotation) * 2f); + } + + //创建开火特效 + var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_ShotFire_tscn); + var sprite = packedScene.Instantiate(); + sprite.GlobalPosition = FirePoint.GlobalPosition; + sprite.GlobalRotation = FirePoint.GlobalRotation; + sprite.AddToActivityRoot(RoomLayerEnum.YSortLayer); + } + + protected override void OnShoot(float fireRotation) + { + //创建子弹 + var bullet = ActivityObject.Create(Attribute.BulletId); + bullet.Init( + this, + Utils.RandomRangeInt(280, 380), + Utils.RandomRangeFloat(Attribute.MinDistance, Attribute.MaxDistance), + FirePoint.GlobalPosition, + fireRotation + Utils.RandomRangeFloat(Mathf.DegToRad(-10), Mathf.DegToRad(10)), + GetAttackLayer() + ); + bullet.PutDown(RoomLayerEnum.YSortLayer); + } +} diff --git a/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs b/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs new file mode 100644 index 0000000..8d97533 --- /dev/null +++ b/DungeonShooting_Godot/src/game/activity/weapon/knife/Knife.cs @@ -0,0 +1,99 @@ + +using Godot; + +[Tool, GlobalClass] +public partial class Knife : Weapon +{ + + private Area2D _hitArea; + private int _attackIndex = 0; + + public override void OnInit() + { + base.OnInit(); + + _hitArea = GetNode("HitArea"); + _hitArea.Monitoring = false; + _hitArea.Monitorable = false; + _hitArea.BodyEntered += OnBodyEntered; + //禁用自动播放动画 + IsAutoPlaySpriteFrames = false; + } + + protected override void Process(float delta) + { + base.Process(delta); + if (IsActive) + { + //让碰撞节点与武器挂载节点位置保持一致, 而不跟着武器走 + _hitArea.GlobalPosition = Master.MountPoint.GlobalPosition; + } + } + + protected override void PhysicsProcess(float delta) + { + base.PhysicsProcess(delta); + //过去两个物理帧后就能关闭碰撞了 + if (++_attackIndex >= 2) + { + _hitArea.Monitoring = false; + } + } + + protected override void OnStartCharge() + { + //开始蓄力时武器角度上抬120度 + RotationDegrees = -120; + } + + protected override void OnFire() + { + GD.Print("近战武器攻击! 蓄力时长: " + GetTriggerChargeTime() + ", 扳机按下时长: " + GetTriggerDownTime()); + //更新碰撞层级 + _hitArea.CollisionMask = GetAttackLayer(); + //启用碰撞 + _hitArea.Monitoring = true; + _attackIndex = 0; + + if (IsActive) //被使用 + { + //播放挥刀特效 + SpecialEffectManager.Play( + ResourcePath.resource_spriteFrames_KnifeHit1_tres, "default", + Master.MountPoint.GlobalPosition, GlobalRotation + Mathf.Pi * 0.5f, new Vector2((int)Master.Face, 1) * AnimatedSprite.Scale, + new Vector2(17, 4), 1 + ); + } + + + if (Master == Player.Current) + { + //创建抖动 + //GameCamera.Main.ProcessDirectionalShake(Vector2.Right.Rotated(GlobalRotation - Mathf.Pi * 0.5f) * 1.5f); + } + } + + protected override void OnShoot(float fireRotation) + { + + } + + protected override int UseAmmoCount() + { + //这里要做判断, 如果没有碰到敌人, 则不消耗弹药 (耐久) + return 0; + } + + private void OnBodyEntered(Node2D body) + { + GD.Print("碰到物体: " + body.Name); + var activityObject = body.AsActivityObject(); + if (activityObject != null) + { + if (activityObject is Role role) + { + role.CallDeferred(nameof(Role.Hurt), 10, (role.GetCenterPosition() - GlobalPosition).Angle()); + } + } + } +} diff --git a/DungeonShooting_Godot/src/game/camera/GameCamera.cs b/DungeonShooting_Godot/src/game/camera/GameCamera.cs index 993097e..3786268 100644 --- a/DungeonShooting_Godot/src/game/camera/GameCamera.cs +++ b/DungeonShooting_Godot/src/game/camera/GameCamera.cs @@ -70,9 +70,11 @@ // (viewportContainer.Material as ShaderMaterial)?.SetShaderParameter("offset", SubPixelPosition); // GlobalPosition = _camPos.Round(); - if (_followTarget != null) + + var world = GameApplication.Instance.World; + if (world != null && !world.Pause && _followTarget != null) { - var mousePosition = InputManager.GetViewportMousePosition(); + var mousePosition = InputManager.CursorPosition; var targetPosition = _followTarget.GlobalPosition; Vector2 targetPos; if (targetPosition.DistanceSquaredTo(mousePosition) >= (60 / 0.3f) * (60 / 0.3f)) @@ -104,7 +106,11 @@ public void SetFollowTarget(Role target) { _followTarget = target; - GlobalPosition = target.GlobalPosition; + if (target != null) + { + _camPos = target.GlobalPosition; + GlobalPosition = _camPos; + } } /// @@ -152,6 +158,14 @@ } } + /// + /// 播放玩家死亡特写镜头 + /// + public void PlayPlayerDieFeatures() + { + + } + //抖动调用 private void _Shake(float delta) { diff --git a/DungeonShooting_Godot/src/game/effects/EnemyDebris.cs b/DungeonShooting_Godot/src/game/effects/EnemyDebris.cs index 0017f0f..0a967f2 100644 --- a/DungeonShooting_Godot/src/game/effects/EnemyDebris.cs +++ b/DungeonShooting_Godot/src/game/effects/EnemyDebris.cs @@ -2,7 +2,7 @@ using System.Collections; using Godot; -[RegisterActivity(ActivityIdPrefix.Effect + "0001", ResourcePath.prefab_effect_activityObject_EnemyDebris_tscn)] +[Tool, GlobalClass] public partial class EnemyDebris : ActivityObject { diff --git a/DungeonShooting_Godot/src/game/event/EventEnum.cs b/DungeonShooting_Godot/src/game/event/EventEnum.cs index 4d6e2ff..cf97ec2 100644 --- a/DungeonShooting_Godot/src/game/event/EventEnum.cs +++ b/DungeonShooting_Godot/src/game/event/EventEnum.cs @@ -37,7 +37,11 @@ /// OnPlayerMaxShieldChange, /// - /// 刷新玩家手持武器纹理, 参数类型为 + /// 当玩家进入地牢时调用, 没有参数 /// - OnPlayerRefreshWeaponTexture, + OnEnterDungeon, + /// + /// 当玩家退出地牢时调用, 没有参数 + /// + OnExitDungeon, } diff --git a/DungeonShooting_Godot/src/game/event/EventManager.cs b/DungeonShooting_Godot/src/game/event/EventManager.cs index 665fe38..394db2a 100644 --- a/DungeonShooting_Godot/src/game/event/EventManager.cs +++ b/DungeonShooting_Godot/src/game/event/EventManager.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; +using Godot; /// /// 事件管理器 @@ -57,7 +58,14 @@ var binder = binders[i]; if (!binder.IsDiscard) { - binder.Callback(arg); + try + { + binder.Callback(arg); + } + catch (Exception e) + { + GD.PrintErr($"EventManager 派发事件: '{eventType}' 发生异常: \n" + e.Message + "\n" + e.StackTrace); + } } } } diff --git a/DungeonShooting_Godot/src/game/item/CheckInteractiveResult.cs b/DungeonShooting_Godot/src/game/item/CheckInteractiveResult.cs deleted file mode 100644 index eb8676b..0000000 --- a/DungeonShooting_Godot/src/game/item/CheckInteractiveResult.cs +++ /dev/null @@ -1,28 +0,0 @@ - -/// -/// 检测互动返回的数据集 -/// -public class CheckInteractiveResult -{ - /// - /// 互动物体 - /// - public ActivityObject Target; - /// - /// 是否可以互动 - /// - public bool CanInteractive; - /// - /// 互动提示信息 - /// - public string Message; - /// - /// 互动提示显示的图标 - /// - public string ShowIcon; - - public CheckInteractiveResult(ActivityObject target) - { - Target = target; - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/item/package/Holster.cs b/DungeonShooting_Godot/src/game/item/package/Holster.cs deleted file mode 100644 index a487f64..0000000 --- a/DungeonShooting_Godot/src/game/item/package/Holster.cs +++ /dev/null @@ -1,369 +0,0 @@ -using System; -using System.Collections.Generic; -using Godot; - -/// -/// 角色身上的武器袋, 存储角色携带的武器 -/// -public class Holster -{ - /// - /// 归属者 - /// - public Role Master { get; } - - /// - /// 当前使用的武器对象 - /// - public Weapon ActiveWeapon { get; private set; } - - /// - /// 当前使用的武器的索引 - /// - public int ActiveIndex { get; private set; } = 0; - - /// - /// 武器袋容量 - /// - public int Capacity { get; private set; } = 0; - - /// - /// 武器插槽 - /// - public Weapon[] Weapons { get; private set; } - - public Holster(Role master) - { - Master = master; - //默认容量4 - SetCapacity(4); - } - - /// - /// 修改武器袋容量 - /// - public void SetCapacity(int capacity) - { - if (capacity < 0) - { - capacity = 0; - } - - if (capacity == Capacity) - { - return; - } - - if (Weapons == null) - { - Weapons = new Weapon[capacity]; - } - else if (Weapons.Length > capacity) //删减格子 - { - var newArray = new Weapon[capacity]; - for (var i = 0; i < Weapons.Length; i++) - { - if (i < capacity) - { - newArray[i] = Weapons[i]; - } - else - { - Master.ThrowWeapon(i); - } - } - - Weapons = newArray; - } - else //添加格子 - { - var newArray = new Weapon[capacity]; - for (var i = 0; i < Weapons.Length; i++) - { - newArray[i] = Weapons[i]; - } - Weapons = newArray; - } - Capacity = capacity; - - } - - /// - /// 返回当前武器袋是否是空的 - /// - public bool IsEmpty() - { - for (var i = 0; i < Weapons.Length; i++) - { - if (Weapons[i] != null) - { - return false; - } - } - - return true; - } - - /// - /// 返回当前武器袋是否还有空位 - /// - public bool HasVacancy() - { - for (var i = 0; i < Weapons.Length; i++) - { - if (Weapons[i] == null) - { - return true; - } - } - - return false; - } - - /// - /// 根据索引获取武器 - /// - public Weapon GetWeapon(int index) - { - if (index < 0 || index >= Weapons.Length) - { - return null; - } - return Weapons[index]; - } - - /// - /// 根据武器id查找武器袋中该武器所在的位置, 如果没有, 则返回 -1 - /// - /// 武器id - public int FindWeapon(string id) - { - for (var i = 0; i < Weapons.Length; i++) - { - var item = Weapons[i]; - if (item != null && item.ItemId == id) - { - return i; - } - } - return -1; - } - - /// - /// 通过回调函数查询武器在武器袋中的位置, 如果没有, 则返回 -1 - /// - public int FindWeapon(Func handler) - { - for (var i = 0; i < Weapons.Length; i++) - { - var item = Weapons[i]; - if (item != null && handler(item, i)) - { - return i; - } - } - return -1; - } - - /// - /// 遍历所有武器 - /// - public void ForEach(Action handler) - { - for (var i = 0; i < Weapons.Length; i++) - { - var item = Weapons[i]; - if (item != null) - { - handler(item, i); - } - } - } - - /// - /// 从武器袋中移除所有武器, 并返回 - /// - public Weapon[] GetAndClearWeapon() - { - var weapons = new List(); - for (var i = 0; i < Weapons.Length; i++) - { - var weapon = Weapons[i]; - if (weapon != null) - { - weapon.GetParent().RemoveChild(weapon); - weapon.RemoveAt(); - weapons.Add(weapon); - Weapons[i] = null; - } - } - - return weapons.ToArray(); - } - - /// - /// 返回是否能放入武器 - /// - /// 武器对象 - public bool CanPickupWeapon(Weapon weapon) - { - for (var i = 0; i < Weapons.Length; i++) - { - var item = Weapons[i]; - if (item == null) - { - return true; - } - } - return false; - } - - /// - /// 拾起武器, 存入武器袋中, 返回存放在武器袋的位置, 如果容不下这把武器, 则会返回 -1 - /// - /// 武器对象 - /// 是否立即切换到该武器, 默认 true - public int PickupWeapon(Weapon weapon, bool exchange = true) - { - //已经被拾起了 - if (weapon.Master != null) - { - return -1; - } - for (var i = 0; i < Weapons.Length; i++) - { - var item = Weapons[i]; - if (item == null) - { - weapon.Pickup(); - Weapons[i] = weapon; - weapon.PickUpWeapon(Master); - if (exchange) - { - ExchangeByIndex(i); - } - - return i; - } - } - return -1; - } - - /// - /// 移除指定位置的武器, 并返回这个武器对象, 如果移除正在使用的这把武器, 则会自动切换到上一把武器 - /// - /// 所在武器袋的位置索引 - public Weapon RemoveWeapon(int index) - { - if (index < 0 || index >= Weapons.Length) - { - return null; - } - var weapon = Weapons[index]; - if (weapon == null) - { - return null; - } - weapon.GetParent().RemoveChild(weapon); - Weapons[index] = null; - - //如果是当前手持的武器, 就需要调用切换武器操作 - if (index == ActiveIndex) - { - //没有其他武器了 - if (ExchangePrev() == index) - { - ActiveIndex = 0; - ActiveWeapon = null; - } - } - weapon.RemoveAt(); - return weapon; - } - - /// - /// 切换到上一个武器 - /// - public int ExchangePrev() - { - var index = ActiveIndex - 1; - do - { - if (index < 0) - { - index = Weapons.Length - 1; - } - if (ExchangeByIndex(index)) - { - return index; - } - } while (index-- != ActiveIndex); - return -1; - } - - /// - /// 切换到下一个武器, - /// - public int ExchangeNext() - { - var index = ActiveIndex + 1; - do - { - if (index >= Weapons.Length) - { - index = 0; - } - if (ExchangeByIndex(index)) - { - return index; - } - } - while (index++ != ActiveIndex); - return -1; - } - - /// - /// 切换到指定索引的武器 - /// - public bool ExchangeByIndex(int index) - { - if (index == ActiveIndex && ActiveWeapon != null) return true; - if (index < 0 || index > Weapons.Length) return false; - var weapon = Weapons[index]; - if (weapon == null) return false; - - //将上一把武器放到背后 - if (ActiveWeapon != null) - { - var tempParent = ActiveWeapon.GetParentOrNull(); - if (tempParent != null) - { - tempParent.RemoveChild(ActiveWeapon); - Master.BackMountPoint.AddChild(ActiveWeapon); - Master.OnPutBackMount(ActiveWeapon, ActiveIndex); - ActiveWeapon.Conceal(); - } - } - - //更改父节点 - var parent = weapon.GetParentOrNull(); - if (parent == null) - { - Master.MountPoint.AddChild(weapon); - } - else if (parent != Master.MountPoint) - { - parent.RemoveChild(weapon); - Master.MountPoint.AddChild(weapon); - } - - weapon.Position = Vector2.Zero; - weapon.Scale = Vector2.One; - weapon.RotationDegrees = 0; - weapon.Visible = true; - ActiveWeapon = weapon; - ActiveIndex = index; - ActiveWeapon.Active(); - return true; - } -} diff --git a/DungeonShooting_Godot/src/game/item/weapon/RegisterWeapon.cs b/DungeonShooting_Godot/src/game/item/weapon/RegisterWeapon.cs deleted file mode 100644 index 0a1ca23..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/RegisterWeapon.cs +++ /dev/null @@ -1,27 +0,0 @@ - -using System; - -/// -/// 注册武器 -/// -public class RegisterWeapon : RegisterActivity -{ - /// - /// 武器属性 - /// - private readonly WeaponAttribute _weaponAttribute; - - public RegisterWeapon(string itemId, Type attribute) : base(itemId, null) - { - _weaponAttribute = (WeaponAttribute)Activator.CreateInstance(attribute); - if (_weaponAttribute != null) PrefabPath = _weaponAttribute.WeaponPrefab; - } - - public override void CustomHandler(ActivityObject instance) - { - if (instance is Weapon weapon) - { - weapon.InitWeapon(_weaponAttribute.Clone()); - } - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/item/weapon/Weapon.cs b/DungeonShooting_Godot/src/game/item/weapon/Weapon.cs deleted file mode 100644 index e416aae..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/Weapon.cs +++ /dev/null @@ -1,1089 +0,0 @@ -using Godot; -using System; -using System.Collections.Generic; - -/// -/// 武器的基类 -/// -public abstract partial class Weapon : ActivityObject -{ - /// - /// 所有被扔在地上的武器 - /// - public static readonly HashSet UnclaimedWeapons = new HashSet(); - - /// - /// 开火回调事件 - /// - public event Action FireEvent; - - /// - /// 武器属性数据 - /// - public WeaponAttribute Attribute => _weaponAttribute; - - private WeaponAttribute _weaponAttribute; - private WeaponAttribute _originWeaponAttribute; - - /// - /// 武器攻击的目标阵营 - /// - public CampEnum TargetCamp { get; set; } - - /// - /// 该武器的拥有者 - /// - public Role Master { get; private set; } - - /// - /// 当前弹夹弹药剩余量 - /// - public int CurrAmmo { get; private set; } - - /// - /// 剩余弹药量(备用弹药) - /// - public int ResidueAmmo { get; private set; } - - /// - /// 武器管的开火点 - /// - public Marker2D FirePoint { get; private set; } - - /// - /// 武器管的原点 - /// - public Marker2D OriginPoint { get; private set; } - - /// - /// 弹壳抛出的点 - /// - public Marker2D ShellPoint { get; private set; } - - /// - /// 武器的当前散射半径 - /// - public float CurrScatteringRange { get; private set; } = 0; - - /// - /// 是否在换弹中 - /// - /// - public bool Reloading { get; private set; } = false; - - /// - /// 换弹计时器 - /// - public float ReloadTimer { get; private set; } = 0; - - /// - /// 换弹进度 (0 - 1) - /// - public float ReloadProgress - { - get - { - if (Attribute.AloneReload) - { - var num = 1f / Attribute.AmmoCapacity; - return num * (Attribute.AmmoCapacity - CurrAmmo - 1) + num * (ReloadTimer / Attribute.ReloadTime); - } - - return ReloadTimer / Attribute.ReloadTime; - } - } - - /// - /// 返回是否在蓄力中, - /// 注意, 属性仅在 Attribute.LooseShoot == false 时有正确的返回值, 否则返回 false - /// - public bool IsCharging => _looseShootFlag; - - /// - /// 返回武器是否在武器袋中 - /// - public bool IsInHolster => Master != null; - - /// - /// 返回是否真正使用该武器 - /// - public bool IsActive => Master != null && Master.Holster.ActiveWeapon == this; - - /// - /// 动画播放器 - /// - public AnimationPlayer AnimationPlayer { get; private set; } - - - //-------------------------------------------------------------------------------------------- - - //是否按下 - private bool _triggerFlag = false; - - //扳机计时器 - private float _triggerTimer = 0; - - //开火前延时时间 - private float _delayedTime = 0; - - //开火间隙时间 - private float _fireInterval = 0; - - //开火武器口角度 - private float _fireAngle = 0; - - //攻击冷却计时 - private float _attackTimer = 0; - - //攻击状态 - private bool _attackFlag = false; - - //按下的时间 - private float _downTimer = 0; - - //松开的时间 - private float _upTimer = 0; - - //连发次数 - private float _continuousCount = 0; - - //连发状态记录 - private bool _continuousShootFlag = false; - - //松开扳机是否开火 - private bool _looseShootFlag = false; - - //蓄力攻击时长 - private float _chargeTime = 0; - - //是否需要重置武器数据 - private bool _dirtyFlag = false; - - //当前后坐力导致的偏移长度 - private float _currBacklashLength = 0; - - /// - /// 初始化武器属性 - /// - public void InitWeapon(WeaponAttribute attribute) - { - _originWeaponAttribute = attribute; - _weaponAttribute = attribute; - - AnimationPlayer = GetNode("AnimationPlayer"); - FirePoint = GetNode("FirePoint"); - OriginPoint = GetNode("OriginPoint"); - ShellPoint = GetNode("ShellPoint"); - - //图标 - SetDefaultTexture(ResourceLoader.Load(Attribute.Sprite2D)); - AnimatedSprite.Position = Attribute.CenterPosition; - - //开火位置 - FirePoint.Position = new Vector2(Attribute.FirePosition.X, -Attribute.FirePosition.Y); - OriginPoint.Position = new Vector2(0, -Attribute.FirePosition.Y); - - if (Attribute.AmmoCapacity > Attribute.MaxAmmoCapacity) - { - Attribute.AmmoCapacity = Attribute.MaxAmmoCapacity; - GD.PrintErr("弹夹的容量不能超过弹药上限, 武器id: " + ItemId); - } - //弹药量 - CurrAmmo = Attribute.AmmoCapacity; - //剩余弹药量 - ResidueAmmo = Mathf.Min(Attribute.StandbyAmmoCapacity + CurrAmmo, Attribute.MaxAmmoCapacity) - CurrAmmo; - - ThrowCollisionSize = new Vector2(20, 15); - } - - /// - /// 单次开火时调用的函数 - /// - protected abstract void OnFire(); - - /// - /// 发射子弹时调用的函数, 每发射一枚子弹调用一次, - /// 如果做霰弹武器效果, 一次开火发射5枚子弹, 则该函数调用5次 - /// - /// 开火时枪口旋转角度 - protected abstract void OnShoot(float fireRotation); - - /// - /// 当按下扳机时调用 - /// - protected virtual void OnDownTrigger() - { - } - - /// - /// 当松开扳机时调用 - /// - protected virtual void OnUpTrigger() - { - } - - /// - /// 开始蓄力时调用, - /// 注意, 该函数仅在 Attribute.LooseShoot == false 时才能被调用 - /// - protected virtual void OnStartCharge() - { - } - - /// - /// 当开始换弹时调用 - /// - protected virtual void OnReload() - { - } - - /// - /// 当换弹完成时调用 - /// - protected virtual void OnReloadFinish() - { - } - - /// - /// 当武器被拾起时调用 - /// - /// 拾起该武器的角色 - protected virtual void OnPickUp(Role master) - { - } - - /// - /// 当武器从武器袋中移除时调用 - /// - protected virtual void OnRemove() - { - } - - /// - /// 当武器被激活时调用, 也就是使用当武器时调用 - /// - protected virtual void OnActive() - { - } - - /// - /// 当武器被收起时调用 - /// - protected virtual void OnConceal() - { - } - - /// - /// 射击时调用, 返回消耗弹药数量, 默认为1, 如果返回为 0, 则不消耗弹药 - /// - protected virtual int UseAmmoCount() - { - return 1; - } - - public override void _EnterTree() - { - base._EnterTree(); - - //收集落在地上的武器 - if (IsInGround()) - { - UnclaimedWeapons.Add(this); - } - } - - public override void _ExitTree() - { - base._ExitTree(); - - UnclaimedWeapons.Remove(this); - } - - protected override void Process(float delta) - { - //这把武器被扔在地上, 或者当前武器没有被使用 - if (Master == null || Master.Holster.ActiveWeapon != this) - { - //_triggerTimer - _triggerTimer = _triggerTimer > 0 ? _triggerTimer - delta : 0; - //攻击冷却计时 - _attackTimer = _attackTimer > 0 ? _attackTimer - delta : 0; - //武器的当前散射半径 - CurrScatteringRange = Mathf.Max(CurrScatteringRange - Attribute.ScatteringRangeBackSpeed * delta, - Attribute.StartScatteringRange); - //松开扳机 - if (_triggerFlag || _downTimer > 0) - { - UpTrigger(); - _downTimer = 0; - } - - _triggerFlag = false; - - //重置数据 - if (_dirtyFlag) - { - _dirtyFlag = false; - Reloading = false; - ReloadTimer = 0; - _attackFlag = false; - _continuousCount = 0; - _delayedTime = 0; - _upTimer = 0; - _looseShootFlag = false; - _chargeTime = 0; - } - } - else //正在使用中 - { - _dirtyFlag = true; - //换弹 - if (Reloading) - { - ReloadTimer -= delta; - if (ReloadTimer <= 0) - { - ReloadSuccess(); - } - } - - // 攻击的计时器 - if (_attackTimer > 0) - { - _attackTimer -= delta; - if (_attackTimer < 0) - { - _delayedTime += _attackTimer; - _attackTimer = 0; - //枪口默认角度 - RotationDegrees = -Attribute.DefaultAngle; - } - } - else if (_delayedTime > 0) //攻击延时 - { - _delayedTime -= delta; - if (_attackTimer < 0) - { - _delayedTime = 0; - } - } - - //扳机判定 - if (_triggerFlag) - { - if (_looseShootFlag) //蓄力时长 - { - _chargeTime += delta; - } - - _downTimer += delta; - if (_upTimer > 0) //第一帧按下扳机 - { - DownTrigger(); - _upTimer = 0; - } - } - else - { - _upTimer += delta; - if (_downTimer > 0) //第一帧松开扳机 - { - UpTrigger(); - _downTimer = 0; - } - } - - //连发判断 - if (!_looseShootFlag && _continuousCount > 0 && _delayedTime <= 0 && _attackTimer <= 0) - { - //连发开火 - TriggerFire(); - } - - if (!_attackFlag && _attackTimer <= 0) - { - CurrScatteringRange = Mathf.Max(CurrScatteringRange - Attribute.ScatteringRangeBackSpeed * delta, - Attribute.StartScatteringRange); - } - - _triggerTimer = _triggerTimer > 0 ? _triggerTimer - delta : 0; - _triggerFlag = false; - _attackFlag = false; - - //武器身回归 - //Position = Position.MoveToward(Vector2.Zero, Attribute.BacklashRegressionSpeed * delta).Rotated(Rotation); - _currBacklashLength = Mathf.MoveToward(_currBacklashLength, 0, Attribute.BacklashRegressionSpeed * delta); - Position = new Vector2(_currBacklashLength, 0).Rotated(Rotation); - if (_attackTimer > 0) - { - RotationDegrees = Mathf.Lerp( - _fireAngle, -Attribute.DefaultAngle, - Mathf.Clamp((_fireInterval - _attackTimer) * Attribute.UpliftAngleRestore / _fireInterval, 0, 1) - ); - } - } - } - - /// - /// 返回武器是否在地上 - /// - /// - public bool IsInGround() - { - return Master == null && GetParent() == GameApplication.Instance.RoomManager.NormalLayer; - } - - /// - /// 扳机函数, 调用即视为按下扳机 - /// - public void Trigger() - { - //这一帧已经按过了, 不需要再按下 - if (_triggerFlag) return; - - //是否第一帧按下 - var justDown = _downTimer == 0; - //是否能发射 - 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; - } - } - } - - if (flag) - { - var fireFlag = true; //是否能开火 - if (Reloading) //换弹中 - { - if (CurrAmmo > 0 && Attribute.AloneReload && Attribute.AloneReloadCanShoot) //立即停止换弹 - { - Reloading = false; - ReloadTimer = 0; - } - else - { - fireFlag = false; - } - } - else if (CurrAmmo <= 0) //子弹不够 - { - fireFlag = false; - if (justDown) - { - //第一帧按下, 触发换弹 - Reload(); - } - } - - if (fireFlag) - { - if (justDown) - { - //开火前延时 - _delayedTime = Attribute.DelayedTime; - //扳机按下间隔 - _triggerTimer = Attribute.TriggerInterval; - //连发数量 - if (!Attribute.ContinuousShoot) - { - _continuousCount = - Utils.RandomRangeInt(Attribute.MinContinuousCount, Attribute.MaxContinuousCount); - } - } - - if (_delayedTime <= 0 && _attackTimer <= 0) - { - if (Attribute.LooseShoot) //松发开火 - { - _looseShootFlag = true; - OnStartCharge(); - } - else - { - //开火 - TriggerFire(); - } - } - - _attackFlag = true; - } - - } - - _triggerFlag = true; - } - - /// - /// 返回是否按下扳机 - /// - public bool IsPressTrigger() - { - return _triggerFlag; - } - - /// - /// 获取本次扳机按下的时长, 单位: 秒 - /// - public float GetTriggerDownTime() - { - return _downTimer; - } - - /// - /// 获取扳机蓄力时长, 计算按下扳机后从可以开火到当前一共经过了多长时间, 可用于计算蓄力攻击 - /// 注意, 该函数仅在 Attribute.LooseShoot == false 时有正确的返回值, 否则返回 0 - /// - public float GetTriggerChargeTime() - { - return _chargeTime; - } - - /// - /// 获取延时射击倒计时, 单位: 秒 - /// - public float GetDelayedAttackTime() - { - return _delayedTime; - } - - /// - /// 刚按下扳机 - /// - private void DownTrigger() - { - OnDownTrigger(); - } - - /// - /// 刚松开扳机 - /// - private void UpTrigger() - { - _continuousShootFlag = false; - if (_delayedTime > 0) - { - _continuousCount = 0; - } - - //松发开火执行 - if (_looseShootFlag) - { - _looseShootFlag = false; - if (_chargeTime >= Attribute.MinChargeTime) //判断蓄力是否够了 - { - TriggerFire(); - } - else //不能攻击 - { - _continuousCount = 0; - } - _chargeTime = 0; - } - - OnUpTrigger(); - } - - /// - /// 触发开火 - /// - private void TriggerFire() - { - _continuousCount = _continuousCount > 0 ? _continuousCount - 1 : 0; - - //减子弹数量 - if (_originWeaponAttribute != _weaponAttribute) //Ai使用该武器, 有一定概率不消耗弹药 - { - if (Utils.RandomRangeFloat(0, 1) < _weaponAttribute.AiAmmoConsumptionProbability) //触发消耗弹药 - { - CurrAmmo -= UseAmmoCount(); - } - } - else - { - CurrAmmo -= UseAmmoCount(); - } - - //开火间隙 - _fireInterval = 60 / Attribute.StartFiringSpeed; - //攻击冷却 - _attackTimer += _fireInterval; - - //触发开火函数 - OnFire(); - - //开火发射的子弹数量 - var bulletCount = Utils.RandomRangeInt(Attribute.MaxFireBulletCount, Attribute.MinFireBulletCount); - //武器口角度 - var angle = new Vector2(GameConfig.ScatteringDistance, CurrScatteringRange).Angle(); - - //先算武器口方向 - var tempRotation = Utils.RandomRangeFloat(-angle, angle); - var tempAngle = Mathf.RadToDeg(tempRotation); - - //开火时枪口角度 - var fireRotation = Mathf.DegToRad(Master.MountPoint.RealAngle) + tempRotation; - //创建子弹 - for (int i = 0; i < bulletCount; i++) - { - //发射子弹 - OnShoot(fireRotation); - } - - //当前的散射半径 - CurrScatteringRange = Mathf.Min(CurrScatteringRange + Attribute.ScatteringRangeAddValue, - Attribute.FinalScatteringRange); - //武器的旋转角度 - tempAngle -= Attribute.UpliftAngle; - RotationDegrees = tempAngle; - _fireAngle = tempAngle; - - //武器身位置 - var max = Mathf.Abs(Mathf.Max(Attribute.MaxBacklash, Attribute.MinBacklash)); - _currBacklashLength = Mathf.Clamp( - _currBacklashLength - Utils.RandomRangeFloat(Attribute.MinBacklash, Attribute.MaxBacklash), - -max, max - ); - Position = new Vector2(_currBacklashLength, 0).Rotated(Rotation); - - if (FireEvent != null) - { - FireEvent(this); - } - } - - /// - /// 获取武器攻击的目标层级 - /// - /// - public uint GetAttackLayer() - { - return Master != null ? Master.AttackLayer : Role.DefaultAttackLayer; - } - - /// - /// 返回弹药是否到达上限 - /// - public bool IsAmmoFull() - { - return CurrAmmo + ResidueAmmo >= Attribute.MaxAmmoCapacity; - } - - /// - /// 返回弹夹是否打空 - /// - public bool IsAmmoEmpty() - { - return CurrAmmo == 0; - } - - /// - /// 返回是否弹药耗尽 - /// - public bool IsTotalAmmoEmpty() - { - return CurrAmmo + ResidueAmmo == 0; - } - - /// - /// 强制修改当前弹夹弹药量 - /// - public void SetCurrAmmo(int count) - { - CurrAmmo = Mathf.Clamp(count, 0, Attribute.AmmoCapacity); - } - - /// - /// 强制修改备用弹药量 - /// - public void SetResidueAmmo(int count) - { - ResidueAmmo = Mathf.Clamp(count, 0, Attribute.MaxAmmoCapacity - CurrAmmo); - } - - /// - /// 强制修改弹药量, 优先改动备用弹药 - /// - public void SetTotalAmmo(int total) - { - if (total < 0) - { - return; - } - var totalAmmo = CurrAmmo + ResidueAmmo; - if (totalAmmo == total) - { - return; - } - - if (total > totalAmmo) //弹药增加 - { - ResidueAmmo = Mathf.Min(total - CurrAmmo, Attribute.MaxAmmoCapacity - CurrAmmo); - } - else //弹药减少 - { - if (CurrAmmo < total) - { - ResidueAmmo = total - CurrAmmo; - } - else - { - CurrAmmo = total; - ResidueAmmo = 0; - } - } - } - - /// - /// 拾起的弹药数量, 如果到达容量上限, 则返回拾取完毕后剩余的弹药数量 - /// - /// 弹药数量 - private int PickUpAmmo(int count) - { - var num = ResidueAmmo; - ResidueAmmo = Mathf.Min(ResidueAmmo + count, Attribute.MaxAmmoCapacity - CurrAmmo); - return count - ResidueAmmo + num; - } - - /// - /// 触发换弹 - /// - public void Reload() - { - if (CurrAmmo < Attribute.AmmoCapacity && ResidueAmmo > 0 && !Reloading) - { - Reloading = true; - ReloadTimer = Attribute.ReloadTime; - OnReload(); - } - } - - /// - /// 换弹计时器时间到, 执行换弹操作 - /// - private void ReloadSuccess() - { - if (Attribute.AloneReload) //单独装填 - { - if (ResidueAmmo >= Attribute.AloneReloadCount) //剩余子弹充足 - { - if (CurrAmmo + Attribute.AloneReloadCount <= Attribute.AmmoCapacity) - { - ResidueAmmo -= Attribute.AloneReloadCount; - CurrAmmo += Attribute.AloneReloadCount; - } - else //子弹满了 - { - var num = Attribute.AmmoCapacity - CurrAmmo; - CurrAmmo = Attribute.AmmoCapacity; - ResidueAmmo -= num; - } - } - else if (ResidueAmmo != 0) //剩余子弹不足 - { - if (ResidueAmmo + CurrAmmo <= Attribute.AmmoCapacity) - { - CurrAmmo += ResidueAmmo; - ResidueAmmo = 0; - } - else //子弹满了 - { - var num = Attribute.AmmoCapacity - CurrAmmo; - CurrAmmo = Attribute.AmmoCapacity; - ResidueAmmo -= num; - } - } - - if (ResidueAmmo == 0 || CurrAmmo == Attribute.AmmoCapacity) //换弹结束 - { - Reloading = false; - ReloadTimer = 0; - OnReloadFinish(); - } - else - { - ReloadTimer = Attribute.ReloadTime; - OnReload(); - } - } - else //换弹结束 - { - if (CurrAmmo + ResidueAmmo >= Attribute.AmmoCapacity) - { - ResidueAmmo -= Attribute.AmmoCapacity - CurrAmmo; - CurrAmmo = Attribute.AmmoCapacity; - } - else - { - CurrAmmo += ResidueAmmo; - ResidueAmmo = 0; - } - - Reloading = false; - ReloadTimer = 0; - OnReloadFinish(); - } - } - - public override CheckInteractiveResult CheckInteractive(ActivityObject master) - { - var result = new CheckInteractiveResult(this); - - if (master is Role roleMaster) //碰到角色 - { - if (Master == null) - { - var masterWeapon = roleMaster.Holster.ActiveWeapon; - //查找是否有同类型武器 - var index = roleMaster.Holster.FindWeapon(ItemId); - if (index != -1) //如果有这个武器 - { - if (CurrAmmo + ResidueAmmo != 0) //子弹不为空 - { - var targetWeapon = roleMaster.Holster.GetWeapon(index); - if (!targetWeapon.IsAmmoFull()) //背包里面的武器子弹未满 - { - //可以互动拾起弹药 - result.CanInteractive = true; - result.Message = Attribute.Name; - result.ShowIcon = ResourcePath.resource_sprite_ui_icon_icon_bullet_png; - return result; - } - } - } - else //没有武器 - { - if (roleMaster.Holster.CanPickupWeapon(this)) //能拾起武器 - { - //可以互动, 拾起武器 - result.CanInteractive = true; - result.Message = Attribute.Name; - result.ShowIcon = ResourcePath.resource_sprite_ui_icon_icon_pickup_png; - return result; - } - else if (masterWeapon != null && masterWeapon.Attribute.WeightType == Attribute.WeightType) //替换武器 - { - //可以互动, 切换武器 - result.CanInteractive = true; - result.Message = Attribute.Name; - result.ShowIcon = ResourcePath.resource_sprite_ui_icon_icon_replace_png; - return result; - } - } - } - } - - return result; - } - - public override void Interactive(ActivityObject master) - { - if (master is Role roleMaster) //与role互动 - { - var holster = roleMaster.Holster; - //查找是否有同类型武器 - var index = holster.FindWeapon(ItemId); - if (index != -1) //如果有这个武器 - { - if (CurrAmmo + ResidueAmmo == 0) //没有子弹了 - { - return; - } - - var weapon = holster.GetWeapon(index); - //子弹上限 - var maxCount = Attribute.MaxAmmoCapacity; - //是否捡到子弹 - var flag = false; - if (ResidueAmmo > 0 && weapon.CurrAmmo + weapon.ResidueAmmo < maxCount) - { - var count = weapon.PickUpAmmo(ResidueAmmo); - if (count != ResidueAmmo) - { - ResidueAmmo = count; - flag = true; - } - } - - if (CurrAmmo > 0 && weapon.CurrAmmo + weapon.ResidueAmmo < maxCount) - { - var count = weapon.PickUpAmmo(CurrAmmo); - if (count != CurrAmmo) - { - CurrAmmo = count; - flag = true; - } - } - - //播放互动效果 - if (flag) - { - Throw(GlobalPosition, 0, Utils.RandomRangeInt(20, 50), Vector2.Zero, Utils.RandomRangeInt(-180, 180)); - } - } - else //没有武器 - { - if (holster.PickupWeapon(this) == -1) - { - //替换武器 - roleMaster.ThrowWeapon(); - roleMaster.PickUpWeapon(this); - } - } - } - } - - /// - /// 获取当前武器真实的旋转角度(弧度制), 由于武器旋转时加入了旋转吸附, 所以需要通过该函数来来知道当前武器的真实旋转角度 - /// - public float GetRealGlobalRotation() - { - return Mathf.DegToRad(Master.MountPoint.RealAngle) + Rotation; - } - - /// - /// 触发扔掉武器抛出的效果, 并不会管武器是否在武器袋中 - /// - /// 触发扔掉该武器的的角色 - public void ThrowWeapon(Role master) - { - ThrowWeapon(master, master.GlobalPosition); - } - - /// - /// 触发扔掉武器抛出的效果, 并不会管武器是否在武器袋中 - /// - /// 触发扔掉该武器的的角色 - /// 投抛起始位置 - public void ThrowWeapon(Role master, Vector2 startPosition) - { - //阴影偏移 - ShadowOffset = new Vector2(0, 2); - - if (master.Face == FaceDirection.Left) - { - Scale *= new Vector2(1, -1); - } - - var angle = master.MountPoint.GlobalRotationDegrees; - GlobalRotationDegrees = angle; - - //继承role的移动速度 - InheritVelocity(master); - - var startHeight = 6; - var direction = angle + Utils.RandomRangeInt(-20, 20); - var velocity = new Vector2(20, 0).Rotated(direction * Mathf.Pi / 180); - var yf = Utils.RandomRangeInt(50, 70); - var rotate = Utils.RandomRangeInt(-90, 90); - Throw(startPosition, startHeight, yf, velocity, rotate); - } - - protected override void OnThrowStart() - { - //禁用碰撞 - //Collision.Disabled = true; - AnimationPlayer.Play("floodlight"); - } - - protected override void OnThrowOver() - { - //启用碰撞 - //Collision.Disabled = false; - AnimationPlayer.Play("floodlight"); - } - - /// - /// 触发拾起 - /// - public void PickUpWeapon(Role master) - { - Master = master; - if (master.IsAi && _originWeaponAttribute.AiUseAttribute != null) - { - _weaponAttribute = _originWeaponAttribute.AiUseAttribute; - } - else - { - _weaponAttribute = _originWeaponAttribute; - } - //握把位置 - AnimatedSprite.Position = Attribute.HoldPosition; - //停止动画 - AnimationPlayer.Stop(); - //清除泛白效果 - SetBlendSchedule(0); - ZIndex = 0; - //禁用碰撞 - //Collision.Disabled = true; - //清除 Ai 拾起标记 - RemoveSign(SignNames.AiFindWeaponSign); - OnPickUp(master); - } - - /// - /// 触发移除, 这个函数由 Holster 对象调用 - /// - public void RemoveAt() - { - Master = null; - _weaponAttribute = _originWeaponAttribute; - AnimatedSprite.Position = Attribute.CenterPosition; - OnRemove(); - } - - /// - /// 触发启用武器 - /// - public void Active() - { - //调整阴影 - ShadowOffset = new Vector2(0, Master.GlobalPosition.Y - GlobalPosition.Y); - //枪口默认抬起角度 - RotationDegrees = -Attribute.DefaultAngle; - ShowShadowSprite(); - OnActive(); - } - - /// - /// 触发收起武器 - /// - public void Conceal() - { - HideShadowSprite(); - OnConceal(); - } - - //-------------------------------- Ai相关 ----------------------------- - - /// - /// 获取 Ai 对于该武器的评分, 评分越高, 代表 Ai 会越优先选择该武器, 如果为 -1, 则表示 Ai 不会使用该武器 - /// - public float GetAiScore() - { - return 1; - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/item/weapon/WeaponAttribute.cs b/DungeonShooting_Godot/src/game/item/weapon/WeaponAttribute.cs deleted file mode 100644 index a37809a..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/WeaponAttribute.cs +++ /dev/null @@ -1,252 +0,0 @@ -using System; -using Godot; - -/// -/// 武器上的属性 -/// -public class WeaponAttribute -{ - /// - /// 武器显示的名称 - /// - public string Name = "Gun1"; - /// - /// 武器 Prefab, 必须继承场景 "res://prefab/weapon/Weapon.tscn" - /// - public string WeaponPrefab = ResourcePath.prefab_weapon_Weapon_tscn; - /// - /// 武器类型 - /// - public WeaponWeightType WeightType = WeaponWeightType.MainWeapon; - /// - /// 武器的图片 - /// - public string Sprite2D = ResourcePath.resource_sprite_gun_gun1_png; - /// - /// 是否连续发射, 如果为false, 则每次发射都需要扣动扳机 - /// - public bool ContinuousShoot = true; - /// - /// 弹夹容量 - /// - public int AmmoCapacity = 30; - /// - /// 弹药容量上限 - /// - public int MaxAmmoCapacity = 120; - /// - /// 起始备用弹药数量 - /// - public int StandbyAmmoCapacity = 90; - /// - /// 装弹时间, 单位: 秒 - /// - public float ReloadTime = 1.5f; - /// - /// 每粒子弹是否是单独装填, 如果是, 那么每上一发子弹的时间就是 ReloadTime, 可以做霰弹武器装填效果 - /// - public bool AloneReload = false; - /// - /// 单独装填时每次装填子弹数量, 必须要将 'AloneReload' 属性设置为 true - /// - public int AloneReloadCount = 1; - /// - /// 单独装填的子弹时可以立即射击, 必须要将 'AloneReload' 属性设置为 true - /// - public bool AloneReloadCanShoot = false; - /// - /// 是否为松发开火, 也就是松开扳机才开火, 若要启用该属性, 必须将 'ContinuousShoot' 设置为 false - /// - public bool LooseShoot = false; - /// - /// 最少需要蓄力多久才能开火, 必须将 'LooseShoot' 设置为 true - /// - public float MinChargeTime = 0f; - /// - /// 连续发射最小次数, 仅当 ContinuousShoot 为 false 时生效 - /// - public int MinContinuousCount = 1; - /// - /// 连续发射最大次数, 仅当 ContinuousShoot 为 false 时生效 - /// - public int MaxContinuousCount = 1; - /// - /// 按下一次扳机后需要多长时间才能再次感应按下 - /// - public float TriggerInterval = 0; - /// - /// 初始射速, 初始每分钟能开火次数 - /// - public float StartFiringSpeed = 300; - /// - /// 最终射速, 最终每分钟能开火次数, 仅当 ContinuousShoot 为 true 时生效 - /// - public float FinalFiringSpeed = 300; - /// - /// 按下扳机并开火后射速增加速率 - /// - public float FiringSpeedAddSpeed = 2; - /// - /// 松开扳机后射速消散速率 - /// - public float FiringSpeedBackSpeed = 10; - /// - /// 单次开火发射子弹最小数量 - /// - public int MinFireBulletCount = 1; - /// - /// 单次开火发射子弹最大数量 - /// - public int MaxFireBulletCount = 1; - /// - /// 开火前延时 - /// - public float DelayedTime = 0f; - /// - /// 初始散射半径 - /// - public float StartScatteringRange = 0; - /// - /// 最终散射半径 - /// - public float FinalScatteringRange = 20; - /// - /// 每次发射后散射增加值 - /// - public float ScatteringRangeAddValue = 2; - /// - /// 松开扳机后散射销退速率 - /// - public float ScatteringRangeBackSpeed = 10; - /// - /// 子弹飞行最大距离 - /// - public float MaxDistance = 600; - /// - /// 子弹飞行最小距离 - /// - public float MinDistance = 800; - /// - /// 武器精灵的旋转中心坐标 - /// - public Vector2 CenterPosition = new Vector2(0, 0); - /// - /// 开火位置 - /// - public Vector2 FirePosition = new Vector2(11, 0); - /// - /// 握把位置 - /// - public Vector2 HoldPosition = new Vector2(4, -3); - /// - /// 重量 - /// - public float Weight = 11; - /// - /// 最大后坐力 (仅用于开火后武器身抖动) - /// - public float MaxBacklash = 4; - /// - /// 最小后坐力 (仅用于开火后武器身抖动) - /// - public float MinBacklash = 2; - /// - /// 后坐力偏移回归回归速度 - /// - public float BacklashRegressionSpeed = 35f; - /// - /// 开火后武器口上抬角度 - /// - public float UpliftAngle = 30; - /// - /// 武器默认上抬角度 - /// - public float DefaultAngle = 0; - /// - /// 开火后武器口角度恢复速度倍数 - /// - public float UpliftAngleRestore = 1f; - - /// - /// 克隆一份新的属性配置 - /// - /// - public WeaponAttribute Clone() - { - var attr = _Clone(); - if (AiUseAttribute != null) - { - attr.AiUseAttribute = AiUseAttribute._Clone(); - } - return attr; - } - - private WeaponAttribute _Clone() - { - var attr = new WeaponAttribute(); - attr.Name = Name; - attr.WeaponPrefab = WeaponPrefab; - attr.WeightType = WeightType; - attr.Sprite2D = Sprite2D; - attr.ContinuousShoot = ContinuousShoot; - attr.AmmoCapacity = AmmoCapacity; - attr.MaxAmmoCapacity = MaxAmmoCapacity; - attr.StandbyAmmoCapacity = StandbyAmmoCapacity; - attr.ReloadTime = ReloadTime; - attr.AloneReload = AloneReload; - attr.AloneReloadCount = AloneReloadCount; - attr.AloneReloadCanShoot = AloneReloadCanShoot; - attr.LooseShoot = LooseShoot; - attr.MinChargeTime = MinChargeTime; - attr.MinContinuousCount = MinContinuousCount; - attr.MaxContinuousCount = MaxContinuousCount; - attr.TriggerInterval = TriggerInterval; - attr.StartFiringSpeed = StartFiringSpeed; - attr.FinalFiringSpeed = FinalFiringSpeed; - attr.FiringSpeedAddSpeed = FiringSpeedAddSpeed; - attr.FiringSpeedBackSpeed = FiringSpeedBackSpeed; - attr.MinFireBulletCount = MinFireBulletCount; - attr.MaxFireBulletCount = MaxFireBulletCount; - attr.DelayedTime = DelayedTime; - attr.StartScatteringRange = StartScatteringRange; - attr.FinalScatteringRange = FinalScatteringRange; - attr.ScatteringRangeAddValue = ScatteringRangeAddValue; - attr.ScatteringRangeBackSpeed = ScatteringRangeBackSpeed; - attr.MaxDistance = MaxDistance; - attr.MinDistance = MinDistance; - attr.CenterPosition = CenterPosition; - attr.FirePosition = FirePosition; - attr.HoldPosition = HoldPosition; - attr.Weight = Weight; - attr.MaxBacklash = MaxBacklash; - attr.MinBacklash = MinBacklash; - attr.BacklashRegressionSpeed = BacklashRegressionSpeed; - attr.UpliftAngle = UpliftAngle; - attr.DefaultAngle = DefaultAngle; - attr.UpliftAngleRestore = UpliftAngleRestore; - attr.AiTargetLockingTime = AiTargetLockingTime; - return attr; - } - - //------------------------------ Ai相关 ----------------------------- - - /// - /// 用于Ai, 目标锁定时间, 也就是瞄准目标多久才会开火 - /// - public float AiTargetLockingTime = 0; - - /// - /// 用于Ai, Ai使用该武器发射的子弹速度缩放比 - /// - public float AiBulletSpeedScale = 0.7f; - - /// - /// 用于Ai, Ai使用该武器消耗弹药的概率, (0 - 1) - /// - public float AiAmmoConsumptionProbability = 0f; - - /// - /// Ai 使用该武器时的武器数据, 设置该字段, 可让同一把武器在敌人和玩家手上有不同属性 - /// - public WeaponAttribute AiUseAttribute; -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/item/weapon/WeaponWeightType.cs b/DungeonShooting_Godot/src/game/item/weapon/WeaponWeightType.cs deleted file mode 100644 index 5528683..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/WeaponWeightType.cs +++ /dev/null @@ -1,19 +0,0 @@ - -/// -/// 根据重量划分的武器类型 -/// -public enum WeaponWeightType -{ - /// - /// 副武器 - /// - DeputyWeapon = 1, - /// - /// 主武器 - /// - MainWeapon = 2, - /// - /// 重型武器 - /// - HeavyWeapon = 3 -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/item/weapon/bullet/Bullet.cs b/DungeonShooting_Godot/src/game/item/weapon/bullet/Bullet.cs deleted file mode 100644 index f165172..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/bullet/Bullet.cs +++ /dev/null @@ -1,96 +0,0 @@ -using Godot; - -/// -/// 子弹类 -/// -[RegisterActivity(ActivityIdPrefix.Bullet + "0001", ResourcePath.prefab_weapon_bullet_Bullet_tscn)] -public partial class Bullet : ActivityObject -{ - /// - /// 碰撞区域 - /// - public Area2D CollisionArea { get; private set; } - - /// - /// 发射该子弹的武器 - /// - public Weapon Weapon { get; private set; } - - // 最大飞行距离 - private float MaxDistance; - - // 子弹飞行速度 - private float FlySpeed; - - //当前子弹已经飞行的距离 - private float CurrFlyDistance = 0; - - public void Init(Weapon weapon, float speed, float maxDistance, Vector2 position, float rotation, uint targetLayer) - { - Weapon = weapon; - CollisionArea = GetNode("CollisionArea"); - CollisionArea.CollisionMask = targetLayer; - CollisionArea.AreaEntered += OnArea2dEntered; - - //只有玩家使用该武器才能获得正常速度的子弹 - if (weapon.Master is Player) - { - FlySpeed = speed; - } - else - { - FlySpeed = speed * weapon.Attribute.AiBulletSpeedScale; - } - MaxDistance = maxDistance; - Position = position; - Rotation = rotation; - ShadowOffset = new Vector2(0, 5); - - BasisVelocity = new Vector2(FlySpeed, 0).Rotated(Rotation); - } - - protected override void PhysicsProcessOver(float delta) - { - //移动 - var lastSlideCollision = GetLastSlideCollision(); - //撞到墙 - if (lastSlideCollision != null) - { - //创建粒子特效 - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletSmoke_tscn); - var smoke = packedScene.Instantiate(); - smoke.GlobalPosition = lastSlideCollision.GetPosition(); - smoke.GlobalRotation = lastSlideCollision.GetNormal().Angle(); - smoke.AddToActivityRoot(RoomLayerEnum.YSortLayer); - - Destroy(); - return; - } - //距离太大, 自动销毁 - CurrFlyDistance += FlySpeed * delta; - if (CurrFlyDistance >= MaxDistance) - { - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletDisappear_tscn); - var node = packedScene.Instantiate(); - node.GlobalPosition = GlobalPosition; - node.AddToActivityRoot(RoomLayerEnum.YSortLayer); - - Destroy(); - } - } - - private void OnArea2dEntered(Area2D other) - { - var role = other.AsActivityObject(); - if (role != null) - { - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_BulletDisappear_tscn); - var node = packedScene.Instantiate(); - node.GlobalPosition = GlobalPosition; - node.AddToActivityRoot(RoomLayerEnum.YSortLayer); - - role.CallDeferred(nameof(Role.Hurt), 4, Rotation); - Destroy(); - } - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/item/weapon/gun/Gun.cs b/DungeonShooting_Godot/src/game/item/weapon/gun/Gun.cs deleted file mode 100644 index fa902fc..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/gun/Gun.cs +++ /dev/null @@ -1,144 +0,0 @@ -using Godot; - -/// -/// 普通的枪 -/// -[RegisterWeapon(ActivityIdPrefix.Weapon + "0001", typeof(RifleAttribute))] -[RegisterWeapon(ActivityIdPrefix.Weapon + "0003", typeof(PistolAttribute))] -public partial class Gun : Weapon -{ - //步枪属性数据 - private class RifleAttribute : WeaponAttribute - { - public RifleAttribute() - { - Name = "步枪"; - Sprite2D = ResourcePath.resource_sprite_gun_gun4_png; - Weight = 40; - CenterPosition = new Vector2(0.4f, -2.6f); - StartFiringSpeed = 480; - StartScatteringRange = 30; - FinalScatteringRange = 90; - ScatteringRangeAddValue = 2f; - ScatteringRangeBackSpeed = 40; - //连发 - ContinuousShoot = true; - AmmoCapacity = 30; - StandbyAmmoCapacity = 30 * 3; - MaxAmmoCapacity = 30 * 3; - //扳机检测间隔 - TriggerInterval = 0f; - - //开火前延时 - DelayedTime = 0f; - //攻击距离 - MinDistance = 300; - MaxDistance = 400; - //发射子弹数量 - MinFireBulletCount = 1; - MaxFireBulletCount = 1; - //抬起角度 - UpliftAngle = 10; - //开火位置 - FirePosition = new Vector2(16, 2); - - AiUseAttribute = Clone(); - AiUseAttribute.AiTargetLockingTime = 0.5f; - AiUseAttribute.TriggerInterval = 3f; - AiUseAttribute.ContinuousShoot = false; - AiUseAttribute.MinContinuousCount = 3; - AiUseAttribute.MaxContinuousCount = 3; - } - } - - //手枪属性数据 - private class PistolAttribute : WeaponAttribute - { - public PistolAttribute() - { - Name = "手枪"; - Sprite2D = ResourcePath.resource_sprite_gun_gun3_png; - Weight = 20; - CenterPosition = new Vector2(0.4f, -2.6f); - WeightType = WeaponWeightType.DeputyWeapon; - StartFiringSpeed = 300; - FinalFiringSpeed = 300; - StartScatteringRange = 5; - FinalScatteringRange = 60; - ScatteringRangeAddValue = 8f; - ScatteringRangeBackSpeed = 40; - //连发 - ContinuousShoot = false; - AmmoCapacity = 12; - StandbyAmmoCapacity = 72; - MaxAmmoCapacity = 72; - //扳机检测间隔 - TriggerInterval = 0.1f; - //连发数量 - MinContinuousCount = 1; - MaxContinuousCount = 1; - //开火前延时 - DelayedTime = 0f; - //攻击距离 - MinDistance = 250; - MaxDistance = 300; - //发射子弹数量 - MinFireBulletCount = 1; - MaxFireBulletCount = 1; - //抬起角度 - UpliftAngle = 30; - //开火位置 - FirePosition = new Vector2(10, 2); - - AiUseAttribute = Clone(); - AiUseAttribute.AiTargetLockingTime = 1f; - AiUseAttribute.TriggerInterval = 2f; - } - } - - protected override void OnFire() - { - //创建一个弹壳 - var startPos = Master.GlobalPosition; - var startHeight = 6; - 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 shell = Create(ActivityIdPrefix.Shell + "0001"); - shell.InheritVelocity(Master); - shell.Throw(startPos, startHeight, verticalSpeed, velocity, rotate); - - if (Master == GameApplication.Instance.RoomManager.Player) - { - //创建抖动 - GameCamera.Main.DirectionalShake(Vector2.Right.Rotated(GlobalRotation) * 2f); - } - - //创建开火特效 - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_ShotFire_tscn); - var sprite = packedScene.Instantiate(); - sprite.GlobalPosition = FirePoint.GlobalPosition; - sprite.GlobalRotation = FirePoint.GlobalRotation; - sprite.AddToActivityRoot(RoomLayerEnum.YSortLayer); - - //播放射击音效 - SoundManager.PlaySoundEffectPosition(ResourcePath.resource_sound_sfx_ordinaryBullet2_mp3, GameApplication.Instance.ViewToGlobalPosition(GlobalPosition), -8); - } - - protected override void OnShoot(float fireRotation) - { - //创建子弹 - const string bulletId = ActivityIdPrefix.Bullet + "0001"; - var bullet = ActivityObject.Create(bulletId); - bullet.Init( - this, - 350, - Utils.RandomRangeFloat(Attribute.MinDistance, Attribute.MaxDistance), - FirePoint.GlobalPosition, - fireRotation, - GetAttackLayer() - ); - bullet.PutDown(RoomLayerEnum.YSortLayer); - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/item/weapon/gun/Shotgun.cs b/DungeonShooting_Godot/src/game/item/weapon/gun/Shotgun.cs deleted file mode 100644 index 4ee5e6e..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/gun/Shotgun.cs +++ /dev/null @@ -1,108 +0,0 @@ -using Godot; - -[RegisterWeapon(ActivityIdPrefix.Weapon + "0002", typeof(ShotgunAttribute))] -public partial class Shotgun : Weapon -{ - - private class ShotgunAttribute : WeaponAttribute - { - public ShotgunAttribute() - { - Name = "霰弹枪"; - Sprite2D = ResourcePath.resource_sprite_gun_gun2_png; - Weight = 40; - CenterPosition = new Vector2(0.4f, -2.6f); - StartFiringSpeed = 400; - StartScatteringRange = 30; - FinalScatteringRange = 90; - ScatteringRangeAddValue = 50f; - ScatteringRangeBackSpeed = 50; - //连发 - ContinuousShoot = false; - AmmoCapacity = 7; - StandbyAmmoCapacity = 42; - MaxAmmoCapacity = 42; - AloneReload = true; - AloneReloadCanShoot = true; - ReloadTime = 0.6f; - //连发数量 - MinContinuousCount = 1; - MaxContinuousCount = 1; - //开火前延时 - DelayedTime = 0f; - //攻击距离 - MinDistance = 200; - MaxDistance = 250; - //发射子弹数量 - MinFireBulletCount = 5; - MaxFireBulletCount = 5; - //抬起角度 - UpliftAngle = 15; - MaxBacklash = 6; - MinBacklash = 5; - //开火位置 - FirePosition = new Vector2(18, 4); - - AiUseAttribute = Clone(); - AiUseAttribute.AiTargetLockingTime = 0.2f; - AiUseAttribute.TriggerInterval = 3.5f; - } - } - - /// - /// 弹壳预制体 - /// - public PackedScene ShellPack; - - public override void OnInit() - { - base.OnInit(); - ShellPack = ResourceManager.Load(ResourcePath.prefab_weapon_shell_ShellCase_tscn); - } - - protected override void OnFire() - { - //创建一个弹壳 - var startPos = Master.GlobalPosition; - var startHeight = 6; - 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 shell = Create(ActivityIdPrefix.Shell + "0001"); - shell.InheritVelocity(Master); - shell.Throw(startPos, startHeight, verticalSpeed, velocity, rotate); - - if (Master == GameApplication.Instance.RoomManager.Player) - { - //创建抖动 - GameCamera.Main.DirectionalShake(Vector2.Right.Rotated(GlobalRotation) * 2f); - } - - //创建开火特效 - var packedScene = ResourceManager.Load(ResourcePath.prefab_effect_ShotFire_tscn); - var sprite = packedScene.Instantiate(); - sprite.GlobalPosition = FirePoint.GlobalPosition; - sprite.GlobalRotation = FirePoint.GlobalRotation; - sprite.AddToActivityRoot(RoomLayerEnum.YSortLayer); - - //播放射击音效 - SoundManager.PlaySoundEffectPosition(ResourcePath.resource_sound_sfx_ordinaryBullet3_mp3, GameApplication.Instance.ViewToGlobalPosition(GlobalPosition), -15); - } - - protected override void OnShoot(float fireRotation) - { - //创建子弹 - const string bulletId = ActivityIdPrefix.Bullet + "0001"; - var bullet = ActivityObject.Create(bulletId); - bullet.Init( - this, - Utils.RandomRangeInt(280, 380), - Utils.RandomRangeFloat(Attribute.MinDistance, Attribute.MaxDistance), - FirePoint.GlobalPosition, - fireRotation + Utils.RandomRangeFloat(-20 / 180f * Mathf.Pi, 20 / 180f * Mathf.Pi), - GetAttackLayer() - ); - bullet.PutDown(RoomLayerEnum.YSortLayer); - } -} diff --git a/DungeonShooting_Godot/src/game/item/weapon/knife/Knife.cs b/DungeonShooting_Godot/src/game/item/weapon/knife/Knife.cs deleted file mode 100644 index 3bd5f31..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/knife/Knife.cs +++ /dev/null @@ -1,127 +0,0 @@ - -using Godot; - -[RegisterWeapon(ActivityIdPrefix.Weapon + "0004", typeof(KnifeAttribute))] -public partial class Knife : Weapon -{ - private class KnifeAttribute : WeaponAttribute - { - public KnifeAttribute() - { - Sprite2D = ResourcePath.resource_sprite_gun_knife1_png; - WeaponPrefab = ResourcePath.prefab_weapon_Knife_tscn; - //攻速设置 - StartFiringSpeed = 180; - FinalFiringSpeed = StartFiringSpeed; - //关闭连发 - ContinuousShoot = false; - //设置成松发开火 - LooseShoot = true; - //弹药量, 可以理解为耐久度 - AmmoCapacity = 180; - MaxAmmoCapacity = AmmoCapacity; - //握把位置 - HoldPosition = new Vector2(10, 0); - MaxDistance = MinDistance = 35; - //后坐力改为向前, 模拟手伸长的效果 - MaxBacklash = -8; - MinBacklash = -8; - BacklashRegressionSpeed = 24; - UpliftAngle = -95; - - //AiUseAttribute = Clone(); - //AiUseAttribute.TriggerInterval = 3f; - } - } - - private Area2D _hitArea; - private int _attackIndex = 0; - - public override void OnInit() - { - base.OnInit(); - - _hitArea = GetNode("HitArea"); - _hitArea.Monitoring = false; - _hitArea.Monitorable = false; - - _hitArea.BodyEntered += OnBodyEntered; - } - - protected override void Process(float delta) - { - base.Process(delta); - if (IsActive) - { - //让碰撞节点与武器挂载节点位置保持一致, 而不跟着武器走 - _hitArea.GlobalPosition = Master.MountPoint.GlobalPosition; - } - } - - protected override void PhysicsProcess(float delta) - { - base.PhysicsProcess(delta); - //过去两个物理帧后就能关闭碰撞了 - if (++_attackIndex >= 2) - { - _hitArea.Monitoring = false; - } - } - - protected override void OnStartCharge() - { - //开始蓄力时武器角度上抬120度 - RotationDegrees = -120; - } - - protected override void OnFire() - { - GD.Print("近战武器攻击! 蓄力时长: " + GetTriggerChargeTime() + ", 扳机按下时长: " + GetTriggerDownTime()); - //更新碰撞层级 - _hitArea.CollisionMask = GetAttackLayer(); - //启用碰撞 - _hitArea.Monitoring = true; - _attackIndex = 0; - - if (IsActive) //被使用 - { - //播放挥刀特效 - SpecialEffectManager.Play( - ResourcePath.resource_effects_KnifeHit1_tres, "default", - Master.MountPoint.GlobalPosition, GlobalRotation + Mathf.Pi * 0.5f, new Vector2((int)Master.Face, 1) * AnimatedSprite.Scale, - new Vector2(17, 4), 1 - ); - } - - - if (Master == GameApplication.Instance.RoomManager.Player) - { - //创建抖动 - //GameCamera.Main.ProcessDirectionalShake(Vector2.Right.Rotated(GlobalRotation - Mathf.Pi * 0.5f) * 1.5f); - } - } - - protected override void OnShoot(float fireRotation) - { - - } - - protected override int UseAmmoCount() - { - //这里要做判断, 如果没有碰到敌人, 则不消耗弹药 (耐久) - return 0; - } - - private void OnBodyEntered(Node2D body) - { - GD.Print("碰到物体: " + body.Name); - var activityObject = body.AsActivityObject(); - if (activityObject != null) - { - if (activityObject is Role role) - { - role.CallDeferred(nameof(Role.Hurt), 10, (role.GetCenterPosition() - GlobalPosition).Angle()); - } - } - } -} diff --git a/DungeonShooting_Godot/src/game/item/weapon/shell/ShellCase.cs b/DungeonShooting_Godot/src/game/item/weapon/shell/ShellCase.cs deleted file mode 100644 index 1966222..0000000 --- a/DungeonShooting_Godot/src/game/item/weapon/shell/ShellCase.cs +++ /dev/null @@ -1,22 +0,0 @@ - -using Godot; - -/// -/// 弹壳类 -/// -[RegisterActivity(ActivityIdPrefix.Shell + "0001", ResourcePath.prefab_weapon_shell_ShellCase_tscn)] -public partial class ShellCase : ActivityObject -{ - public override void OnInit() - { - base.OnInit(); - ShadowOffset = new Vector2(0, 1); - ThrowCollisionSize = new Vector2(5, 5); - } - - protected override void OnThrowOver() - { - EnableBehavior = false; - Collision.QueueFree(); - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/manager/InputManager.cs b/DungeonShooting_Godot/src/game/manager/InputManager.cs index fae7fc0..4119692 100644 --- a/DungeonShooting_Godot/src/game/manager/InputManager.cs +++ b/DungeonShooting_Godot/src/game/manager/InputManager.cs @@ -7,20 +7,65 @@ public static class InputManager { /// - /// 获取鼠标在SubViewport节点下的坐标 + /// 移动方向 /// - public static Vector2 GetViewportMousePosition() - { - var application = GameApplication.Instance; - return application.GlobalToViewPosition(application.GetGlobalMousePosition()); - } + public static Vector2 MoveAxis { get; private set; } + + /// + /// 鼠标在SubViewport节点下的坐标 + /// + public static Vector2 CursorPosition { get; private set; } + + /// + /// 是否按下切换武器 + /// + public static bool Exchange { get; private set; } /// + /// 是否按钮投抛武器按钮 + /// + public static bool Throw { get; private set; } + + /// + /// 是否按钮互动按钮 + /// + public static bool Interactive { get; private set; } + + /// + /// 是否按钮换弹按钮 + /// + public static bool Reload { get; private set; } + + /// + /// 是否按钮开火按钮 + /// + public static bool Fire { get; private set; } + + /// + /// 是否按钮近战攻击按钮 (使用远程武器发起的近战攻击) + /// + public static bool MeleeAttack { get; private set; } + + /// + /// 是否按下翻滚按钮 + /// + public static bool Roll { get; private set; } + + /// /// 更新输入管理器 /// public static void Update(float delta) { - + var application = GameApplication.Instance; + MoveAxis = Input.GetVector("move_left", "move_right", "move_up", "move_down"); + CursorPosition = application.GlobalToViewPosition(application.GetGlobalMousePosition()); + Exchange = Input.IsActionJustPressed("exchange"); + Throw = Input.IsActionJustPressed("throw"); + Interactive = Input.IsActionJustPressed("interactive"); + Reload = Input.IsActionJustPressed("reload"); + Fire = Input.IsActionPressed("fire"); + MeleeAttack = Input.IsActionPressed("meleeAttack"); + Roll = Input.IsActionPressed("roll"); } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/manager/ResourceManager.cs b/DungeonShooting_Godot/src/game/manager/ResourceManager.cs index 41dfc21..6352e1c 100644 --- a/DungeonShooting_Godot/src/game/manager/ResourceManager.cs +++ b/DungeonShooting_Godot/src/game/manager/ResourceManager.cs @@ -15,7 +15,7 @@ { if (_shadowMaterial == null) { - _shadowMaterial = ResourceLoader.Load(ResourcePath.resource_material_Blend_tres); + _shadowMaterial = Load(ResourcePath.resource_material_Blend_tres); } return _shadowMaterial; @@ -33,7 +33,7 @@ { if (_shadowShader == null) { - _shadowShader = ResourceLoader.Load(ResourcePath.resource_material_Blend_tres); + _shadowShader = Load(ResourcePath.resource_material_Blend_tres); } return _shadowShader; @@ -42,6 +42,41 @@ private static Shader _shadowShader; + /// + /// 默认字体资源, 字体大小16px + /// + public static Font DefaultFont16Px + { + get + { + if (_defaultFont16Px == null) + { + _defaultFont16Px = Load(ResourcePath.resource_font_VonwaonBitmap16px_ttf); + } + + return _defaultFont16Px; + } + } + private static Font _defaultFont16Px; + + /// + /// 默认字体资源, 字体大小12px + /// + public static Font DefaultFont12Px + { + get + { + if (_defaultFont12Px == null) + { + _defaultFont12Px = Load(ResourcePath.resource_font_VonwaonBitmap12px_ttf); + } + + return _defaultFont12Px; + } + } + private static Font _defaultFont12Px; + + //缓存的资源 private static readonly Dictionary CachePack = new Dictionary(); /// diff --git a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs index 299b36b..0da5ef6 100644 --- a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs +++ b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs @@ -1,243 +1,91 @@ /// -/// 编辑器下所有资源路径, 该类为 Automation 面板下自动生成的, 请不要手动编辑! +/// 编辑器下所有资源路径, 该类为 Tools 面板下自动生成的, 请不要手动编辑! /// public class ResourcePath { + public const string default_bus_layout_tres = "res://default_bus_layout.tres"; + public const string default_env_tres = "res://default_env.tres"; + public const string icon_png = "res://icon.png"; + public const string excel_DungeonShooting_ExcelTool_deps_json = "res://excel/DungeonShooting_ExcelTool.deps.json"; + public const string excel_DungeonShooting_ExcelTool_runtimeconfig_json = "res://excel/DungeonShooting_ExcelTool.runtimeconfig.json"; public const string prefab_Cursor_tscn = "res://prefab/Cursor.tscn"; public const string prefab_FanCollisionShape_tscn = "res://prefab/FanCollisionShape.tscn"; + public const string prefab_bullet_Bullet0001_tscn = "res://prefab/bullet/Bullet0001.tscn"; + public const string prefab_bullet_Bullet0002_tscn = "res://prefab/bullet/Bullet0002.tscn"; public const string prefab_effect_Blood_tscn = "res://prefab/effect/Blood.tscn"; public const string prefab_effect_BulletDisappear_tscn = "res://prefab/effect/BulletDisappear.tscn"; public const string prefab_effect_BulletSmoke_tscn = "res://prefab/effect/BulletSmoke.tscn"; public const string prefab_effect_Effect1_tscn = "res://prefab/effect/Effect1.tscn"; public const string prefab_effect_FirePart_tscn = "res://prefab/effect/FirePart.tscn"; public const string prefab_effect_ShotFire_tscn = "res://prefab/effect/ShotFire.tscn"; + public const string prefab_effect_activityObject_Effect0001_tscn = "res://prefab/effect/activityObject/Effect0001.tscn"; public const string prefab_effect_activityObject_EnemyBloodEffect_tscn = "res://prefab/effect/activityObject/EnemyBloodEffect.tscn"; - public const string prefab_effect_activityObject_EnemyDebris_tscn = "res://prefab/effect/activityObject/EnemyDebris.tscn"; - public const string prefab_map_RoomDoor_tscn = "res://prefab/map/RoomDoor.tscn"; - public const string prefab_role_Enemy_tscn = "res://prefab/role/Enemy.tscn"; - public const string prefab_role_Player_tscn = "res://prefab/role/Player.tscn"; - public const string prefab_role_Role_tscn = "res://prefab/role/Role.tscn"; + public const string prefab_map_RoomDoor_E_tscn = "res://prefab/map/RoomDoor_E.tscn"; + public const string prefab_map_RoomDoor_N_tscn = "res://prefab/map/RoomDoor_N.tscn"; + public const string prefab_map_RoomDoor_S_tscn = "res://prefab/map/RoomDoor_S.tscn"; + public const string prefab_map_RoomDoor_W_tscn = "res://prefab/map/RoomDoor_W.tscn"; + public const string prefab_role_Enemy0001_tscn = "res://prefab/role/Enemy0001.tscn"; + public const string prefab_role_Role0001_tscn = "res://prefab/role/Role0001.tscn"; + public const string prefab_role_RoleTemplate_tscn = "res://prefab/role/RoleTemplate.tscn"; + public const string prefab_shell_Shell0001_tscn = "res://prefab/shell/Shell0001.tscn"; public const string prefab_test_MoveComponent_tscn = "res://prefab/test/MoveComponent.tscn"; public const string prefab_test_TestActivity_tscn = "res://prefab/test/TestActivity.tscn"; public const string prefab_ui_EditorTools_tscn = "res://prefab/ui/EditorTools.tscn"; + public const string prefab_ui_Loading_tscn = "res://prefab/ui/Loading.tscn"; + public const string prefab_ui_Main_tscn = "res://prefab/ui/Main.tscn"; public const string prefab_ui_RoomUI_tscn = "res://prefab/ui/RoomUI.tscn"; - public const string prefab_weapon_Knife_tscn = "res://prefab/weapon/Knife.tscn"; - public const string prefab_weapon_Weapon_tscn = "res://prefab/weapon/Weapon.tscn"; - public const string prefab_weapon_bullet_Bullet_tscn = "res://prefab/weapon/bullet/Bullet.tscn"; - public const string prefab_weapon_shell_ShellCase_tscn = "res://prefab/weapon/shell/ShellCase.tscn"; + public const string prefab_ui_Settlement_tscn = "res://prefab/ui/Settlement.tscn"; + public const string prefab_weapon_Weapon0001_tscn = "res://prefab/weapon/Weapon0001.tscn"; + public const string prefab_weapon_Weapon0002_tscn = "res://prefab/weapon/Weapon0002.tscn"; + public const string prefab_weapon_Weapon0003_tscn = "res://prefab/weapon/Weapon0003.tscn"; + public const string prefab_weapon_Weapon0004_tscn = "res://prefab/weapon/Weapon0004.tscn"; + public const string prefab_weapon_Weapon0005_tscn = "res://prefab/weapon/Weapon0005.tscn"; + public const string prefab_weapon_WeaponTemplate_tscn = "res://prefab/weapon/WeaponTemplate.tscn"; + public const string resource_config_ActivityObject_json = "res://resource/config/ActivityObject.json"; + public const string resource_config_Weapon_json = "res://resource/config/Weapon.json"; public const string resource_curve_Curve1_tres = "res://resource/curve/Curve1.tres"; - public const string resource_effects_Circle_png = "res://resource/effects/Circle.png"; - public const string resource_effects_Collision_png = "res://resource/effects/Collision.png"; - public const string resource_effects_debug_arrows_png = "res://resource/effects/debug_arrows.png"; - public const string resource_effects_Effect1_png = "res://resource/effects/Effect1.png"; - public const string resource_effects_Explosion_png = "res://resource/effects/Explosion.png"; - public const string resource_effects_Hit_tres = "res://resource/effects/Hit.tres"; - public const string resource_effects_KnifeHit1_tres = "res://resource/effects/KnifeHit1.tres"; - public const string resource_effects_ShotFire_png = "res://resource/effects/ShotFire.png"; - public const string resource_effects_Smoke_png = "res://resource/effects/Smoke.png"; - public const string resource_effects_activityObject_Enemy0001_Debris_png = "res://resource/effects/activityObject/Enemy0001_Debris.png"; - public const string resource_font_cn_font_12_tres = "res://resource/font/cn_font_12.tres"; - public const string resource_font_cn_font_18_tres = "res://resource/font/cn_font_18.tres"; - public const string resource_font_cn_font_36_tres = "res://resource/font/cn_font_36.tres"; + public const string resource_font_DinkieBitmap7pxDemo_ttf = "res://resource/font/DinkieBitmap-7pxDemo.ttf"; + public const string resource_font_DinkieBitmap9pxDemo_ttf = "res://resource/font/DinkieBitmap-9pxDemo.ttf"; + public const string resource_font_DinkieBitmap9pxItalicDemo_ttf = "res://resource/font/DinkieBitmap-9pxItalicDemo.ttf"; + public const string resource_font_VonwaonBitmap12px_ttf = "res://resource/font/VonwaonBitmap-12px.ttf"; + public const string resource_font_VonwaonBitmap16px_ttf = "res://resource/font/VonwaonBitmap-16px.ttf"; public const string resource_map_RoomConfig_json = "res://resource/map/RoomConfig.json"; - public const string resource_map_tiledata_testGroup_battle_Room8_json = "res://resource/map/tiledata/testGroup/battle/Room8.json"; - public const string resource_map_tiledata_testGroup_inlet_Room1_json = "res://resource/map/tiledata/testGroup/inlet/Room1.json"; - public const string resource_map_tiledata_testGroup_outlet_Room1_json = "res://resource/map/tiledata/testGroup/outlet/Room1.json"; - public const string resource_map_tileMaps_testGroup_battle_Room8_tscn = "res://resource/map/tileMaps/testGroup/battle/Room8.tscn"; - public const string resource_map_tileMaps_testGroup_inlet_Room1_tscn = "res://resource/map/tileMaps/testGroup/inlet/Room1.tscn"; - public const string resource_map_tileMaps_testGroup_outlet_Room1_tscn = "res://resource/map/tileMaps/testGroup/outlet/Room1.tscn"; public const string resource_map_tileset_TileSet1_tres = "res://resource/map/tileset/TileSet1.tres"; public const string resource_map_tileset_TileSet_old_tres = "res://resource/map/tileset/TileSet_old.tres"; public const string resource_material_Blend_gdshader = "res://resource/material/Blend.gdshader"; public const string resource_material_Blend_tres = "res://resource/material/Blend.tres"; public const string resource_material_SmokeParticleMaterial_tres = "res://resource/material/SmokeParticleMaterial.tres"; public const string resource_sound_bgm_Intro_ogg = "res://resource/sound/bgm/Intro.ogg"; - public const string resource_sound_sfx_ordinaryBullet_ogg = "res://resource/sound/sfx/ordinaryBullet.ogg"; - public const string resource_sound_sfx_ordinaryBullet2_mp3 = "res://resource/sound/sfx/ordinaryBullet2.mp3"; - public const string resource_sound_sfx_ordinaryBullet3_mp3 = "res://resource/sound/sfx/ordinaryBullet3.mp3"; - public const string resource_sound_sfx_reloading_mp3 = "res://resource/sound/sfx/reloading.mp3"; + public const string resource_sound_sfx_Equip0001_ogg = "res://resource/sound/sfx/Equip0001.ogg"; + public const string resource_sound_sfx_Equip0002_ogg = "res://resource/sound/sfx/Equip0002.ogg"; + public const string resource_sound_sfx_Equip0003_ogg = "res://resource/sound/sfx/Equip0003.ogg"; + public const string resource_sound_sfx_Explosion0001_ogg = "res://resource/sound/sfx/Explosion0001.ogg"; + public const string resource_sound_sfx_Explosion0002_ogg = "res://resource/sound/sfx/Explosion0002.ogg"; + public const string resource_sound_sfx_Explosion0003_ogg = "res://resource/sound/sfx/Explosion0003.ogg"; + public const string resource_sound_sfx_Reloading0001_mp3 = "res://resource/sound/sfx/Reloading0001.mp3"; + public const string resource_sound_sfx_Reloading0002_ogg = "res://resource/sound/sfx/Reloading0002.ogg"; + public const string resource_sound_sfx_Reloading0003_ogg = "res://resource/sound/sfx/Reloading0003.ogg"; + public const string resource_sound_sfx_Reloading0004_ogg = "res://resource/sound/sfx/Reloading0004.ogg"; + public const string resource_sound_sfx_Reloading_begin0001_ogg = "res://resource/sound/sfx/Reloading_begin0001.ogg"; + public const string resource_sound_sfx_Reloading_finish0001_ogg = "res://resource/sound/sfx/Reloading_finish0001.ogg"; + public const string resource_sound_sfx_Shooting0001_ogg = "res://resource/sound/sfx/Shooting0001.ogg"; + public const string resource_sound_sfx_Shooting0002_mp3 = "res://resource/sound/sfx/Shooting0002.mp3"; + public const string resource_sound_sfx_Shooting0003_mp3 = "res://resource/sound/sfx/Shooting0003.mp3"; public const string resource_sprite_bullet_arrow_png = "res://resource/sprite/bullet/arrow.png"; public const string resource_sprite_bullet_bullet_png = "res://resource/sprite/bullet/bullet.png"; public const string resource_sprite_bullet_bullet2_png = "res://resource/sprite/bullet/bullet2.png"; - public const string resource_sprite_effect_KnifeHit1_png = "res://resource/sprite/effect/KnifeHit1.png"; - public const string resource_sprite_effect_Trajectory_png = "res://resource/sprite/effect/Trajectory.png"; - public const string resource_sprite_effect_hit_hit0_png = "res://resource/sprite/effect/hit/hit0.png"; - public const string resource_sprite_effect_hit_hit1_png = "res://resource/sprite/effect/hit/hit1.png"; - public const string resource_sprite_effect_hit_hit2_png = "res://resource/sprite/effect/hit/hit2.png"; - public const string resource_sprite_effect_hit_hit3_png = "res://resource/sprite/effect/hit/hit3.png"; - public const string resource_sprite_effect_hit_hit4_png = "res://resource/sprite/effect/hit/hit4.png"; - public const string resource_sprite_effect_itchioMiniPack_website_txt = "res://resource/sprite/effect/itch-io-MiniPack/website.txt"; - public const string resource_sprite_effect_itchioMiniPack_1_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_1_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/1/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_2_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/2/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_3_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/3/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_4_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/4/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_5_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/5/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_6_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/6/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_7_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/7/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_8_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/8/1_9.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_0_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_0.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_1_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_1.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_10_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_10.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_11_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_11.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_12_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_12.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_13_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_13.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_14_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_14.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_2_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_2.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_3_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_3.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_4_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_4.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_5_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_5.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_6_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_6.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_7_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_7.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_8_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_8.png"; - public const string resource_sprite_effect_itchioMiniPack_9_1_9_png = "res://resource/sprite/effect/itch-io-MiniPack/9/1_9.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effect1SpriteSheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 1 - Sprite Sheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effect2SpriteSheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 2 - Sprite Sheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effect3SpriteSheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 3 - Sprite Sheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effect4SpriteSheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect 4 - Sprite Sheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effect1GameboySpritesheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect1 Gameboy Spritesheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effect3GameboySpritesheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect3 Gameboy Spritesheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effect4GameboySpritesheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effect4 Gameboy Spritesheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_Effectst2GameboySpritesheet_png = "res://resource/sprite/effect/itch-io-pixel-battle-effects/Effectst2 Gameboy Spritesheet.png"; - public const string resource_sprite_effect_itchiopixelbattleeffects_website_txt = "res://resource/sprite/effect/itch-io-pixel-battle-effects/website.txt"; - public const string resource_sprite_environment_craftpixnet248911_16x16_png = "res://resource/sprite/environment/craftpix-net-248911/16x16.png"; - public const string resource_sprite_environment_craftpixnet248911_ANotetotheDev_txt = "res://resource/sprite/environment/craftpix-net-248911/A Note to the Dev.txt"; - public const string resource_sprite_environment_craftpixnet248911_license_txt = "res://resource/sprite/environment/craftpix-net-248911/license.txt"; - public const string resource_sprite_environment_craftpixnet248911_AllTileset_16x16_png = "res://resource/sprite/environment/craftpix-net-248911/All Tileset/16x16.png"; - public const string resource_sprite_environment_craftpixnet248911_Palette_Pallete_txt = "res://resource/sprite/environment/craftpix-net-248911/Palette/Pallete.txt"; - public const string resource_sprite_environment_itchioDungeonTileset4_16x16dungeoniiwallreconfigv04spritesheet_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/16x16 dungeon ii wall reconfig v04 spritesheet.png"; - public const string resource_sprite_environment_itchioDungeonTileset4_website_txt = "res://resource/sprite/environment/itch-io-DungeonTileset4/website.txt"; - public const string resource_sprite_environment_itchioDungeonTileset4_bow_arrow_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/bow/arrow.png"; - public const string resource_sprite_environment_itchioDungeonTileset4_bow_bow_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/bow/bow.png"; - public const string resource_sprite_environment_itchioDungeonTileset4_bow_effect_hit0_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit0.png"; - public const string resource_sprite_environment_itchioDungeonTileset4_bow_effect_hit1_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit1.png"; - public const string resource_sprite_environment_itchioDungeonTileset4_bow_effect_hit2_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit2.png"; - public const string resource_sprite_environment_itchioDungeonTileset4_bow_effect_hit3_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit3.png"; - public const string resource_sprite_environment_itchioDungeonTileset4_bow_effect_hit4_png = "res://resource/sprite/environment/itch-io-DungeonTileset4/bow/effect/hit4.png"; - public const string resource_sprite_gun_bow_png = "res://resource/sprite/gun/bow.png"; - public const string resource_sprite_gun_gun1_png = "res://resource/sprite/gun/gun1.png"; - public const string resource_sprite_gun_gun2_png = "res://resource/sprite/gun/gun2.png"; - public const string resource_sprite_gun_gun3_png = "res://resource/sprite/gun/gun3.png"; - public const string resource_sprite_gun_gun4_png = "res://resource/sprite/gun/gun4.png"; - public const string resource_sprite_gun_gun5_png = "res://resource/sprite/gun/gun5.png"; - public const string resource_sprite_gun_gun6_png = "res://resource/sprite/gun/gun6.png"; - public const string resource_sprite_gun_gun7_png = "res://resource/sprite/gun/gun7.png"; - public const string resource_sprite_gun_gun8_png = "res://resource/sprite/gun/gun8.png"; - public const string resource_sprite_gun_knife1_png = "res://resource/sprite/gun/knife1.png"; - public const string resource_sprite_gun_out_default_png = "res://resource/sprite/gun/out/default.png"; - public const string resource_sprite_map_door1_down_png = "res://resource/sprite/map/door1_down.png"; - public const string resource_sprite_role_role1_png = "res://resource/sprite/role/role1.png"; + public const string resource_sprite_bullet_bullet3_png = "res://resource/sprite/bullet/bullet3.png"; + public const string resource_sprite_effects_Circle_png = "res://resource/sprite/effects/Circle.png"; + public const string resource_sprite_effects_Collision_png = "res://resource/sprite/effects/Collision.png"; + public const string resource_sprite_effects_debug_arrows_png = "res://resource/sprite/effects/debug_arrows.png"; + public const string resource_sprite_effects_Effect1_png = "res://resource/sprite/effects/Effect1.png"; + public const string resource_sprite_effects_Explosion_png = "res://resource/sprite/effects/Explosion.png"; + public const string resource_sprite_effects_KnifeHit1_png = "res://resource/sprite/effects/KnifeHit1.png"; + public const string resource_sprite_effects_ShotFire_png = "res://resource/sprite/effects/ShotFire.png"; + public const string resource_sprite_effects_Smoke_png = "res://resource/sprite/effects/Smoke.png"; + public const string resource_sprite_map_map1_16x16dungeoniiwallreconfigv04spritesheet_png = "res://resource/sprite/map/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png"; + public const string resource_sprite_map_map1_door1_down_png = "res://resource/sprite/map/map1/door1_down.png"; + public const string resource_sprite_map_map1_website_txt = "res://resource/sprite/map/map1/website.txt"; public const string resource_sprite_role_role10_png = "res://resource/sprite/role/role10.png"; public const string resource_sprite_role_role2_png = "res://resource/sprite/role/role2.png"; public const string resource_sprite_role_role3_png = "res://resource/sprite/role/role3.png"; @@ -247,10 +95,13 @@ public const string resource_sprite_role_role7_png = "res://resource/sprite/role/role7.png"; public const string resource_sprite_role_role8_png = "res://resource/sprite/role/role8.png"; public const string resource_sprite_role_role9_png = "res://resource/sprite/role/role9.png"; + public const string resource_sprite_role_enemy0001_Enemy0001_png = "res://resource/sprite/role/enemy0001/Enemy0001.png"; + public const string resource_sprite_role_enemy0001_Enemy0001_Debris_png = "res://resource/sprite/role/enemy0001/Enemy0001_Debris.png"; public const string resource_sprite_shell_shellCase_png = "res://resource/sprite/shell/shellCase.png"; - public const string resource_sprite_ui_Cursor_png = "res://resource/sprite/ui/Cursor.png"; public const string resource_sprite_ui_CursorCenter_png = "res://resource/sprite/ui/CursorCenter.png"; + public const string resource_sprite_ui_cursors_png = "res://resource/sprite/ui/cursors.png"; public const string resource_sprite_ui_font_bg_png = "res://resource/sprite/ui/font_bg.png"; + public const string resource_sprite_ui_GUI_png = "res://resource/sprite/ui/GUI.png"; public const string resource_sprite_ui_healthBar_png = "res://resource/sprite/ui/healthBar.png"; public const string resource_sprite_ui_hpBar_png = "res://resource/sprite/ui/hpBar.png"; public const string resource_sprite_ui_hpSlot_png = "res://resource/sprite/ui/hpSlot.png"; @@ -265,21 +116,44 @@ public const string resource_sprite_ui_icon_icon_pickup_png = "res://resource/sprite/ui/icon/icon_pickup.png"; public const string resource_sprite_ui_icon_icon_replace_png = "res://resource/sprite/ui/icon/icon_replace.png"; public const string resource_sprite_ui_keyboard_e_png = "res://resource/sprite/ui/keyboard/e.png"; + public const string resource_sprite_weapon_bow_png = "res://resource/sprite/weapon/bow.png"; + public const string resource_sprite_weapon_gun1_png = "res://resource/sprite/weapon/gun1.png"; + public const string resource_sprite_weapon_gun2_png = "res://resource/sprite/weapon/gun2.png"; + public const string resource_sprite_weapon_gun3_png = "res://resource/sprite/weapon/gun3.png"; + public const string resource_sprite_weapon_gun4_png = "res://resource/sprite/weapon/gun4.png"; + public const string resource_sprite_weapon_gun5_png = "res://resource/sprite/weapon/gun5.png"; + public const string resource_sprite_weapon_gun6_png = "res://resource/sprite/weapon/gun6.png"; + public const string resource_sprite_weapon_gun7_png = "res://resource/sprite/weapon/gun7.png"; + public const string resource_sprite_weapon_gun8_png = "res://resource/sprite/weapon/gun8.png"; + public const string resource_sprite_weapon_knife1_png = "res://resource/sprite/weapon/knife1.png"; + public const string resource_sprite_weapon_weapon0001_Weapon0001_png = "res://resource/sprite/weapon/weapon0001/Weapon0001.png"; + public const string resource_sprite_weapon_weapon0002_Weapon0002_png = "res://resource/sprite/weapon/weapon0002/Weapon0002.png"; + public const string resource_sprite_weapon_weapon0003_Weapon0003_png = "res://resource/sprite/weapon/weapon0003/Weapon0003.png"; + public const string resource_sprite_weapon_weapon0005_Weapon0005_png = "res://resource/sprite/weapon/weapon0005/Weapon0005.png"; + public const string resource_spriteFrames_Bullet0001_tres = "res://resource/spriteFrames/Bullet0001.tres"; + public const string resource_spriteFrames_Bullet0002_tres = "res://resource/spriteFrames/Bullet0002.tres"; + public const string resource_spriteFrames_KnifeHit1_tres = "res://resource/spriteFrames/KnifeHit1.tres"; + public const string resource_spriteFrames_Role0001_tres = "res://resource/spriteFrames/Role0001.tres"; + public const string resource_spriteFrames_Role1001_tres = "res://resource/spriteFrames/Role1001.tres"; + public const string resource_spriteFrames_RoomDoor_EW_tres = "res://resource/spriteFrames/RoomDoor_EW.tres"; + public const string resource_spriteFrames_RoomDoor_NS_tres = "res://resource/spriteFrames/RoomDoor_NS.tres"; + public const string resource_spriteFrames_Shell0001_tres = "res://resource/spriteFrames/Shell0001.tres"; + public const string resource_spriteFrames_Weapon0001_tres = "res://resource/spriteFrames/Weapon0001.tres"; + public const string resource_spriteFrames_Weapon0002_tres = "res://resource/spriteFrames/Weapon0002.tres"; + public const string resource_spriteFrames_Weapon0003_tres = "res://resource/spriteFrames/Weapon0003.tres"; + public const string resource_spriteFrames_Weapon0004_tres = "res://resource/spriteFrames/Weapon0004.tres"; + public const string resource_spriteFrames_Weapon0005_tres = "res://resource/spriteFrames/Weapon0005.tres"; public const string resource_theme_mainTheme_tres = "res://resource/theme/mainTheme.tres"; + public const string resource_theme_theme1_tres = "res://resource/theme/theme1.tres"; public const string scene_EditorDemo_tscn = "res://scene/EditorDemo.tscn"; public const string scene_Main_tscn = "res://scene/Main.tscn"; - public const string scene_Room_tscn = "res://scene/Room.tscn"; + public const string scene_World_tscn = "res://scene/World.tscn"; public const string scene_test_TestCommpont_tscn = "res://scene/test/TestCommpont.tscn"; public const string scene_test_TestExpression_tscn = "res://scene/test/TestExpression.tscn"; public const string scene_test_TestGenerateDungeon_tscn = "res://scene/test/TestGenerateDungeon.tscn"; - public const string scene_test_TestNavigation_tscn = "res://scene/test/TestNavigation.tscn"; public const string scene_test_TestNavigation2_tscn = "res://scene/test/TestNavigation2.tscn"; public const string scene_test_TestNavigationPolygon_tscn = "res://scene/test/TestNavigationPolygon.tscn"; public const string scene_test_TestNewTileMap_tscn = "res://scene/test/TestNewTileMap.tscn"; + public const string scene_test_TestReadExcel_tscn = "res://scene/test/TestReadExcel.tscn"; public const string scene_test_TestTileLayer_tscn = "res://scene/test/TestTileLayer.tscn"; - public const string default_bus_layout_tres = "res://default_bus_layout.tres"; - public const string default_env_tres = "res://default_env.tres"; - public const string icon_png = "res://icon.png"; - public const string Silver_ttf = "res://Silver.ttf"; - public const string SourceHanSerifCNSemiBold_otf = "res://SourceHanSerifCN-SemiBold.otf"; } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/manager/SoundManager.cs b/DungeonShooting_Godot/src/game/manager/SoundManager.cs index 1b5bc35..c6e2cd7 100644 --- a/DungeonShooting_Godot/src/game/manager/SoundManager.cs +++ b/DungeonShooting_Godot/src/game/manager/SoundManager.cs @@ -24,13 +24,45 @@ /// private partial class AudioPlayer2D : AudioStreamPlayer2D { + private float _delayTimer = -1; + public override void _Ready() { Finished += OnPlayFinish; } - public void OnPlayFinish() + /// + /// 延时播放 + /// + public void DelayPlay(float time) { + _delayTimer = time; + } + + /// + /// 停止播放, 并回收节点 + /// + public void StopPlay() + { + 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); } } @@ -45,7 +77,16 @@ Finished += OnPlayFinish; } - public void OnPlayFinish() + /// + /// 停止播放, 并回收节点 + /// + public void StopPlay() + { + Stop(); + OnPlayFinish(); + } + + private void OnPlayFinish() { GetParent().RemoveChild(this); Stream = null; @@ -75,15 +116,15 @@ /// 添加并播放音效 用于音效 /// /// 音效文件路径 - /// 音量 - public static AudioStreamPlayer PlaySoundEffect(string soundName, float volume = 0.5f) + /// 音量 (0 - 1) + public static AudioStreamPlayer PlaySoundEffect(string soundName, float volume = 1f) { var sound = ResourceManager.Load(soundName); var soundNode = GetAudioPlayerInstance(); GameApplication.Instance.GlobalNodeRoot.AddChild(soundNode); soundNode.Stream = sound; soundNode.Bus = Enum.GetName(typeof(BUS), 1); - soundNode.VolumeDb = volume; + soundNode.VolumeDb = Mathf.LinearToDb(Mathf.Clamp(volume, 0, 1)); soundNode.Play(); return soundNode; } @@ -93,9 +134,9 @@ /// /// 音效文件路径 /// 发声节点所在全局坐标 - /// 音量 + /// 音量 (0 - 1) /// 挂载节点, 为null则挂载到房间根节点下 - public static AudioStreamPlayer2D PlaySoundEffectPosition(string soundName, Vector2 pos, float volume = 0.5f, Node2D target = null) + public static AudioStreamPlayer2D PlaySoundEffectPosition(string soundName, Vector2 pos, float volume = 1f, Node2D target = null) { var sound = ResourceManager.Load(soundName); var soundNode = GetAudioPlayer2DInstance(); @@ -111,12 +152,41 @@ soundNode.GlobalPosition = pos; soundNode.Stream = sound; soundNode.Bus = Enum.GetName(typeof(BUS), 1); - soundNode.VolumeDb = volume; + soundNode.VolumeDb = Mathf.LinearToDb(Mathf.Clamp(volume, 0, 1)); soundNode.Play(); return soundNode; } /// + /// 在指定的节点下延时播放音效 用于音效 + /// + /// 音效文件路径 + /// 发声节点所在全局坐标 + /// 延时时间 + /// 音量 (0 - 1) + /// 挂载节点, 为null则挂载到房间根节点下 + public static AudioStreamPlayer2D PlaySoundEffectPositionDelay(string soundName, Vector2 pos, float delayTime, 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.DelayPlay(delayTime); + return soundNode; + } + + /// /// 获取2D音频播放节点 /// private static AudioPlayer2D GetAudioPlayer2DInstance() diff --git a/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs b/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs index 91aaa92..431fc32 100644 --- a/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs +++ b/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs @@ -7,7 +7,10 @@ public static class UiName { public const string EditorTools = "EditorTools"; + public const string Loading = "Loading"; + public const string Main = "Main"; public const string RoomUI = "RoomUI"; + public const string Settlement = "Settlement"; } /// @@ -19,6 +22,30 @@ } /// + /// 隐藏 EditorTools 的所有实例 + /// + public static void Hide_EditorTools() + { + var uiInstance = Get_EditorTools_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.HideUi(); + } + } + + /// + /// 销毁 EditorTools 的所有实例 + /// + public static void Dispose_EditorTools() + { + var uiInstance = Get_EditorTools_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.DisposeUi(); + } + } + + /// /// 获取所有 EditorTools 的实例, 如果没有实例, 则返回一个空数组 /// public static UI.EditorTools.EditorToolsPanel[] Get_EditorTools_Instance() @@ -27,6 +54,86 @@ } /// + /// 打开 Loading, 并返回UI实例 + /// + public static UI.Loading.LoadingPanel Open_Loading() + { + return OpenUi(UiName.Loading); + } + + /// + /// 隐藏 Loading 的所有实例 + /// + public static void Hide_Loading() + { + var uiInstance = Get_Loading_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.HideUi(); + } + } + + /// + /// 销毁 Loading 的所有实例 + /// + public static void Dispose_Loading() + { + var uiInstance = Get_Loading_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.DisposeUi(); + } + } + + /// + /// 获取所有 Loading 的实例, 如果没有实例, 则返回一个空数组 + /// + public static UI.Loading.LoadingPanel[] Get_Loading_Instance() + { + return GetUiInstance(nameof(UI.Loading.Loading)); + } + + /// + /// 打开 Main, 并返回UI实例 + /// + public static UI.Main.MainPanel Open_Main() + { + return OpenUi(UiName.Main); + } + + /// + /// 隐藏 Main 的所有实例 + /// + public static void Hide_Main() + { + var uiInstance = Get_Main_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.HideUi(); + } + } + + /// + /// 销毁 Main 的所有实例 + /// + public static void Dispose_Main() + { + var uiInstance = Get_Main_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.DisposeUi(); + } + } + + /// + /// 获取所有 Main 的实例, 如果没有实例, 则返回一个空数组 + /// + public static UI.Main.MainPanel[] Get_Main_Instance() + { + return GetUiInstance(nameof(UI.Main.Main)); + } + + /// /// 打开 RoomUI, 并返回UI实例 /// public static UI.RoomUI.RoomUIPanel Open_RoomUI() @@ -35,6 +142,30 @@ } /// + /// 隐藏 RoomUI 的所有实例 + /// + public static void Hide_RoomUI() + { + var uiInstance = Get_RoomUI_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.HideUi(); + } + } + + /// + /// 销毁 RoomUI 的所有实例 + /// + public static void Dispose_RoomUI() + { + var uiInstance = Get_RoomUI_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.DisposeUi(); + } + } + + /// /// 获取所有 RoomUI 的实例, 如果没有实例, 则返回一个空数组 /// public static UI.RoomUI.RoomUIPanel[] Get_RoomUI_Instance() @@ -42,4 +173,44 @@ return GetUiInstance(nameof(UI.RoomUI.RoomUI)); } + /// + /// 打开 Settlement, 并返回UI实例 + /// + public static UI.Settlement.SettlementPanel Open_Settlement() + { + return OpenUi(UiName.Settlement); + } + + /// + /// 隐藏 Settlement 的所有实例 + /// + public static void Hide_Settlement() + { + var uiInstance = Get_Settlement_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.HideUi(); + } + } + + /// + /// 销毁 Settlement 的所有实例 + /// + public static void Dispose_Settlement() + { + var uiInstance = Get_Settlement_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.DisposeUi(); + } + } + + /// + /// 获取所有 Settlement 的实例, 如果没有实例, 则返回一个空数组 + /// + public static UI.Settlement.SettlementPanel[] Get_Settlement_Instance() + { + return GetUiInstance(nameof(UI.Settlement.Settlement)); + } + } diff --git a/DungeonShooting_Godot/src/game/role/AnimatorNames.cs b/DungeonShooting_Godot/src/game/role/AnimatorNames.cs deleted file mode 100644 index 29e59cb..0000000 --- a/DungeonShooting_Godot/src/game/role/AnimatorNames.cs +++ /dev/null @@ -1,27 +0,0 @@ - -/// -/// 角色身上预制动画名称 -/// -public static class AnimatorNames -{ - /// - /// 默认动画 - /// - public const string Default = "default"; - /// - /// 静止不动 - /// - public const string Idle = "idle"; - /// - /// 奔跑 - /// - public const string Run = "run"; - /// - /// 倒退奔跑 - /// - public const string ReverseRun = "reverseRun"; - /// - /// 翻滚 - /// - public const string Roll = "roll"; -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/role/MountRotation.cs b/DungeonShooting_Godot/src/game/role/MountRotation.cs index 32c1e1c..e265b10 100644 --- a/DungeonShooting_Godot/src/game/role/MountRotation.cs +++ b/DungeonShooting_Godot/src/game/role/MountRotation.cs @@ -4,6 +4,7 @@ /// /// 用于限定 Marker2D 节点的旋转角度 /// +[Tool] public partial class MountRotation : Marker2D { /// @@ -19,7 +20,12 @@ /// /// 当前节点真实的旋转角度, 角度制 /// - public float RealAngle { get; private set; } + public float RealRotationDegrees { get; private set; } + + /// + /// 当前节点真实的旋转角度, 弧度制 + /// + public float RealRotation => Mathf.DegToRad(RealRotationDegrees); /// /// 设置看向的目标点 @@ -45,7 +51,7 @@ angle = Mathf.Clamp(angle, -100, 100); } - RealAngle = angle; + RealRotationDegrees = angle; // if (Master.GlobalPosition.X >= target.X) // { diff --git a/DungeonShooting_Godot/src/game/role/Player.cs b/DungeonShooting_Godot/src/game/role/Player.cs index 0946c07..66d1ace 100644 --- a/DungeonShooting_Godot/src/game/role/Player.cs +++ b/DungeonShooting_Godot/src/game/role/Player.cs @@ -4,13 +4,13 @@ /// /// 玩家角色基类, 所有角色都必须继承该类 /// -[RegisterActivity(ActivityIdPrefix.Role + "0001", ResourcePath.prefab_role_Player_tscn)] +[Tool, GlobalClass] public partial class Player : Role { /// /// 获取当前操作的角色 /// - public static Player Current => GameApplication.Instance.RoomManager.Player; + public static Player Current { get; private set; } /// /// 移动加速度 @@ -21,6 +21,17 @@ /// 移动摩擦力 /// public float Friction { get; set; } = 800f; + + /// + /// 设置当前操作的玩家对象 + /// + public static void SetCurrentPlayer(Player player) + { + Current = player; + //设置相机和鼠标跟随玩家 + GameCamera.Main.SetFollowTarget(player); + GameApplication.Instance.Cursor.SetMountRole(player); + } public override void OnInit() { @@ -35,15 +46,13 @@ // MainCamera.Main.GlobalPosition = GlobalPosition; // MainCamera.Main.ResetSmoothing(); // remoteTransform.RemotePath = remoteTransform.GetPathTo(MainCamera.Main); - - RefreshWeaponTexture(); MaxHp = 50; Hp = 50; MaxShield = 30; Shield = 30; - // // debug用 + // debug用 // Acceleration = 3000; // Friction = 3000; // MoveSpeed = 500; @@ -54,12 +63,16 @@ protected override void Process(float delta) { + if (IsDie) + { + return; + } base.Process(delta); //脸的朝向 if (LookTarget == null) { var gPos = GlobalPosition; - Vector2 mousePos = InputManager.GetViewportMousePosition(); + Vector2 mousePos = InputManager.CursorPosition; if (mousePos.X > gPos.X && Face == FaceDirection.Left) { Face = FaceDirection.Right; @@ -72,74 +85,62 @@ MountPoint.SetLookAt(mousePos); } - if (Input.IsActionJustPressed("exchange")) //切换武器 + if (InputManager.Exchange) //切换武器 { ExchangeNext(); } - else if (Input.IsActionJustPressed("throw")) //扔掉武器 + else if (InputManager.Throw) //扔掉武器 { ThrowWeapon(); + + // //测试用的, 所有敌人也扔掉武器 + // if (Affiliation != null) + // { + // var enemies = Affiliation.FindIncludeItems(o => + // { + // return o.CollisionWithMask(PhysicsLayer.Enemy); + // }); + // foreach (var activityObject in enemies) + // { + // if (activityObject is Enemy enemy) + // { + // enemy.ThrowWeapon(); + // } + // } + // } } - else if (Input.IsActionJustPressed("interactive")) //互动物体 + else if (InputManager.Interactive) //互动物体 { - var item = TriggerInteractive(); - if (item != null) - { - RefreshWeaponTexture(); - } + TriggerInteractive(); } - else if (Input.IsActionJustPressed("reload")) //换弹 + else if (InputManager.Reload) //换弹 { Reload(); } - if (Input.IsActionPressed("fire")) //开火 + if (InputManager.Fire) //开火 { Attack(); } + + if (Input.IsKeyPressed(Key.P)) + { + Hurt(1000, 0); + } } protected override void PhysicsProcess(float delta) { + if (IsDie) + { + return; + } + base.PhysicsProcess(delta); HandleMoveInput(delta); //播放动画 PlayAnim(); } - public override void ExchangeNext() - { - base.ExchangeNext(); - RefreshWeaponTexture(); - } - - public override void ExchangePrev() - { - base.ExchangePrev(); - RefreshWeaponTexture(); - } - - public override void ThrowWeapon(int index) - { - base.ThrowWeapon(index); - RefreshWeaponTexture(); - } - - public override void ThrowWeapon() - { - base.ThrowWeapon(); - RefreshWeaponTexture(); - } - - public override bool PickUpWeapon(Weapon weapon, bool exchange = true) - { - var v = base.PickUpWeapon(weapon, exchange); - if (v) - { - RefreshWeaponTexture(); - } - return v; - } - protected override void OnChangeHp(int hp) { //GameApplication.Instance.Ui.SetHp(hp); @@ -170,20 +171,18 @@ EventManager.EmitEvent(EventEnum.OnPlayerMaxShieldChange, maxShield); } - /// - /// 刷新 ui 上手持的物体 - /// - private void RefreshWeaponTexture() + protected override void OnDie() { - EventManager.EmitEvent(EventEnum.OnPlayerRefreshWeaponTexture, Holster.ActiveWeapon?.GetDefaultTexture()); + GameCamera.Main.SetFollowTarget(null); + UiManager.Open_Settlement(); + //GameApplication.Instance.World.ProcessMode = ProcessModeEnum.WhenPaused; } //处理角色移动的输入 private void HandleMoveInput(float delta) { //角色移动 - // 得到输入的 vector2 getvector方法返回值已经归一化过了noemalized - Vector2 dir = Input.GetVector("move_left", "move_right", "move_up", "move_down"); + Vector2 dir = InputManager.MoveAxis; // 移动. 如果移动的数值接近0(是用 摇杆可能出现 方向 可能会出现浮点),就friction的值 插值 到 0 // 如果 有输入 就以当前速度,用acceleration 插值到 对应方向 * 最大速度 if (Mathf.IsZeroApprox(dir.X)) diff --git a/DungeonShooting_Godot/src/game/role/Role.cs b/DungeonShooting_Godot/src/game/role/Role.cs index d6ab0a4..0698454 100644 --- a/DungeonShooting_Godot/src/game/role/Role.cs +++ b/DungeonShooting_Godot/src/game/role/Role.cs @@ -19,7 +19,8 @@ /// /// 伤害区域 /// - public Area2D HurtArea { get; private set; } + [Export, ExportFillNode] + public Area2D HurtArea { get; set; } /// /// 移动速度 @@ -49,16 +50,19 @@ /// /// 武器挂载点 /// - public MountRotation MountPoint { get; private set; } + [Export, ExportFillNode] + public MountRotation MountPoint { get; set; } /// /// 背后武器的挂载点 /// - public Marker2D BackMountPoint { get; private set; } + [Export, ExportFillNode] + public Marker2D BackMountPoint { get; set; } /// /// 互动碰撞区域 /// - public Area2D InteractiveArea { get; private set; } + [Export, ExportFillNode] + public Area2D InteractiveArea { get; set; } /// /// 脸的朝向 @@ -214,18 +218,14 @@ { Holster = new Holster(this); _startScale = Scale; - MountPoint = GetNode("MountPoint"); MountPoint.Master = this; - BackMountPoint = GetNode("BackMountPoint"); - - HurtArea = GetNode("HurtArea"); + HurtArea.CollisionLayer = CollisionLayer; HurtArea.CollisionMask = 0; Face = FaceDirection.Right; //连接互动物体信号 - InteractiveArea = GetNode("InteractiveArea"); InteractiveArea.BodyEntered += _OnPropsEnter; InteractiveArea.BodyExited += _OnPropsExit; } @@ -323,13 +323,13 @@ //身上的武器的所属区域也得跟着变 Holster.ForEach((weapon, i) => { - if (Affiliation != null) + if (AffiliationArea != null) { - Affiliation.InsertItem(weapon); + AffiliationArea.InsertItem(weapon); } - else if (weapon.Affiliation != null) + else if (weapon.AffiliationArea != null) { - weapon.Affiliation.RemoveItem(weapon); + weapon.AffiliationArea.RemoveItem(weapon); } }); } @@ -443,11 +443,15 @@ return; } - var temp = new Vector2(weapon.Attribute.HoldPosition.X, 0); - var pos = weapon.GlobalPosition + temp.Rotated(weapon.GlobalRotation); + var temp = weapon.AnimatedSprite.Position; + if (Face == FaceDirection.Left) + { + temp.Y = -temp.Y; + } + var pos = GlobalPosition + temp.Rotated(weapon.GlobalRotation); Holster.RemoveWeapon(index); //播放抛出效果 - weapon.ThrowWeapon(this, pos); + weapon.ThrowWeapon(this, GlobalPosition); } /// @@ -560,7 +564,7 @@ /// private void _OnPropsEnter(Node2D other) { - if (other is ActivityObject propObject) + if (other is ActivityObject propObject && !propObject.CollisionWithMask(PhysicsLayer.InHand)) { if (!_interactiveItemList.Contains(propObject)) { diff --git a/DungeonShooting_Godot/src/game/role/enemy/Enemy.cs b/DungeonShooting_Godot/src/game/role/enemy/Enemy.cs index 57e8bd8..72735b9 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/Enemy.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/Enemy.cs @@ -11,36 +11,15 @@ #endregion -using System.Collections.Generic; using Godot; /// /// 基础敌人 /// -[RegisterActivity(ActivityIdPrefix.Enemy + "0001", ResourcePath.prefab_role_Enemy_tscn)] +[Tool, GlobalClass] public partial class Enemy : Role { /// - /// 公共属性, 是否找到目标, 如果找到目标, 则与目标同房间的所有敌人都会知道目标的位置 - /// - public static bool IsFindTarget { get; private set; } - - /// - /// 公共属性, 在哪个区域找到的目标, 所有该区域下的敌人都会知道目标的位置 - /// - public static HashSet FindTargetAffiliationSet { get; } = new HashSet(); - - /// - /// 公共属性, 找到的目标的位置, 如果目标在视野内, 则一直更新 - /// - public static Vector2 FindTargetPosition { get; private set; } - - /// - /// 记录所有存活的敌人 - /// - private static readonly List _enemieList = new List(); - - /// /// 敌人身上的状态机控制器 /// public StateController StateController { get; private set; } @@ -111,21 +90,22 @@ StateController.Register(new AiFindAmmoState()); //默认状态 - StateController.ChangeState(AiStateEnum.AiNormal); + StateController.ChangeStateInstant(AiStateEnum.AiNormal); } - public override void _EnterTree() + public override void EnterTree() { - if (!_enemieList.Contains(this)) + base.EnterTree(); + if (!World.Enemy_InstanceList.Contains(this)) { - _enemieList.Add(this); + World.Enemy_InstanceList.Add(this); } } - public override void _ExitTree() + public override void ExitTree() { - base._ExitTree(); - _enemieList.Remove(this); + base.ExitTree(); + World.Enemy_InstanceList.Remove(this); } protected override void OnDie() @@ -147,7 +127,7 @@ var count = Utils.RandomRangeInt(3, 6); for (var i = 0; i < count; i++) { - var debris = Create(ActivityIdPrefix.Effect + "0001"); + var debris = Create(Ids.Id_effect0001); debris.PutDown(effPos, RoomLayerEnum.NormalLayer); debris.InheritVelocity(this); } @@ -182,7 +162,7 @@ var state = StateController.CurrState; if (state == AiStateEnum.AiNormal || state == AiStateEnum.AiProbe || state == AiStateEnum.AiLeaveFor) { - StateController.ChangeStateLate(AiStateEnum.AiTailAfter); + StateController.ChangeState(AiStateEnum.AiTailAfter); } } @@ -191,10 +171,10 @@ /// public bool CheckUsableWeaponInUnclaimed() { - foreach (var unclaimedWeapon in Weapon.UnclaimedWeapons) + foreach (var unclaimedWeapon in World.Weapon_UnclaimedWeapons) { //判断是否能拾起武器, 条件: 相同的房间 - if (unclaimedWeapon.Affiliation == Affiliation) + if (unclaimedWeapon.AffiliationArea == AffiliationArea) { if (!unclaimedWeapon.IsTotalAmmoEmpty()) { @@ -231,10 +211,10 @@ { Weapon target = null; var position = Position; - foreach (var weapon in Weapon.UnclaimedWeapons) + foreach (var weapon in World.Weapon_UnclaimedWeapons) { //判断是否能拾起武器, 条件: 相同的房间, 或者当前房间目前没有战斗, 或者不在战斗房间 - if (weapon.Affiliation == Affiliation) + if (weapon.AffiliationArea == AffiliationArea) { //还有弹药 if (!weapon.IsTotalAmmoEmpty()) @@ -283,7 +263,7 @@ /// public bool CanChangeLeaveFor() { - if (!IsFindTarget) + if (!World.Enemy_IsFindTarget) { return false; } @@ -292,35 +272,11 @@ if (currState == AiStateEnum.AiNormal || currState == AiStateEnum.AiProbe) { //判断是否在同一个房间内 - return FindTargetAffiliationSet.Contains(Affiliation); + return World.Enemy_FindTargetAffiliationSet.Contains(AffiliationArea); } return false; } - - /// - /// 更新敌人视野 - /// - public static void UpdateEnemiesView() - { - IsFindTarget = false; - FindTargetAffiliationSet.Clear(); - for (var i = 0; i < _enemieList.Count; i++) - { - var enemy = _enemieList[i]; - var state = enemy.StateController.CurrState; - if (state == AiStateEnum.AiFollowUp || state == AiStateEnum.AiSurround) //目标在视野内 - { - if (!IsFindTarget) - { - IsFindTarget = true; - FindTargetPosition = Player.Current.GetCenterPosition(); - FindTargetAffiliationSet.Add(Player.Current.Affiliation); - } - FindTargetAffiliationSet.Add(enemy.Affiliation); - } - } - } /// /// Ai触发的攻击 diff --git a/DungeonShooting_Godot/src/game/role/enemy/state/AiFindAmmoState.cs b/DungeonShooting_Godot/src/game/role/enemy/state/AiFindAmmoState.cs index bc00378..9cfb3c6 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/state/AiFindAmmoState.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/state/AiFindAmmoState.cs @@ -25,7 +25,7 @@ if (args.Length == 0) { GD.PrintErr("进入 AiStateEnum.AiFindAmmo 状态必须要把目标武器当成参数传过来"); - ChangeStateLate(prev); + ChangeState(prev); return; } @@ -42,7 +42,7 @@ { if (!Master.IsAllWeaponTotalAmmoEmpty()) //已经有弹药了 { - ChangeStateLate(GetNextState()); + ChangeState(GetNextState()); return; } @@ -70,12 +70,12 @@ if (_target == null) //也没有其他可用的武器了 { - ChangeStateLate(GetNextState()); + ChangeState(GetNextState()); } } else if (_target.Master == Master) //已经被自己拾起 { - ChangeStateLate(GetNextState()); + ChangeState(GetNextState()); } else if (_target.Master != null) //武器已经被其他角色拾起! { @@ -84,7 +84,7 @@ if (_target == null) //也没有其他可用的武器了 { - ChangeStateLate(GetNextState()); + ChangeState(GetNextState()); } } else diff --git a/DungeonShooting_Godot/src/game/role/enemy/state/AiFollowUpState.cs b/DungeonShooting_Godot/src/game/role/enemy/state/AiFollowUpState.cs index fd6850a..725ddcb 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/state/AiFollowUpState.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/state/AiFollowUpState.cs @@ -35,13 +35,13 @@ var targetWeapon = Master.FindTargetWeapon(); if (targetWeapon != null) { - ChangeStateLate(AiStateEnum.AiFindAmmo, targetWeapon); + ChangeState(AiStateEnum.AiFindAmmo, targetWeapon); return; } else { //切换到随机移动状态 - ChangeStateLate(AiStateEnum.AiSurround); + ChangeState(AiStateEnum.AiSurround); } } @@ -108,19 +108,19 @@ //距离够近, 可以切换到环绕模式 if (Master.GlobalPosition.DistanceSquaredTo(playerPos) <= Mathf.Pow(weapon.Attribute.MinDistance, 2) * 0.7f) { - ChangeStateLate(AiStateEnum.AiSurround); + ChangeState(AiStateEnum.AiSurround); } } } else { - ChangeStateLate(AiStateEnum.AiTailAfter); + ChangeState(AiStateEnum.AiTailAfter); } } public override void DebugDraw() { - var playerPos = GameApplication.Instance.RoomManager.Player.GetCenterPosition(); + var playerPos = Player.Current.GetCenterPosition(); Master.DrawLine(new Vector2(0, -8), Master.ToLocal(playerPos), Colors.Red); } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/role/enemy/state/AiLeaveForState.cs b/DungeonShooting_Godot/src/game/role/enemy/state/AiLeaveForState.cs index 7823d03..8185484 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/state/AiLeaveForState.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/state/AiLeaveForState.cs @@ -16,13 +16,13 @@ public override void Enter(AiStateEnum prev, params object[] args) { - if (Enemy.IsFindTarget) + if (Master.World.Enemy_IsFindTarget) { - Master.NavigationAgent2D.TargetPosition = Enemy.FindTargetPosition; + Master.NavigationAgent2D.TargetPosition = Master.World.Enemy_FindTargetPosition; } else { - ChangeStateLate(prev); + ChangeState(prev); return; } @@ -33,7 +33,7 @@ var targetWeapon = Master.FindTargetWeapon(); if (targetWeapon != null) { - ChangeStateLate(AiStateEnum.AiFindAmmo, targetWeapon); + ChangeState(AiStateEnum.AiFindAmmo, targetWeapon); } } } @@ -47,7 +47,7 @@ { //每隔一段时间秒更改目标位置 _navigationUpdateTimer = _navigationInterval; - Master.NavigationAgent2D.TargetPosition = Enemy.FindTargetPosition; + Master.NavigationAgent2D.TargetPosition = Master.World.Enemy_FindTargetPosition; } else { @@ -58,7 +58,7 @@ { //计算移动 var nextPos = Master.NavigationAgent2D.GetNextPathPosition(); - Master.LookTargetPosition(Enemy.FindTargetPosition); + Master.LookTargetPosition(Master.World.Enemy_FindTargetPosition); Master.AnimatedSprite.Play(AnimatorNames.Run); Master.BasisVelocity = (nextPos - Master.GlobalPosition - Master.NavigationPoint.Position).Normalized() * Master.MoveSpeed; @@ -68,7 +68,7 @@ Master.BasisVelocity = Vector2.Zero; } - var playerPos = GameApplication.Instance.RoomManager.Player.GetCenterPosition(); + var playerPos = Player.Current.GetCenterPosition(); //检测玩家是否在视野内, 如果在, 则切换到 AiTargetInView 状态 if (Master.IsInTailAfterViewRange(playerPos)) { @@ -77,7 +77,7 @@ //关闭射线检测 Master.TestViewRayCastOver(); //切换成发现目标状态 - ChangeStateLate(AiStateEnum.AiFollowUp); + ChangeState(AiStateEnum.AiFollowUp); return; } else @@ -90,7 +90,7 @@ //移动到目标掉了, 还没发现目标 if (Master.NavigationAgent2D.IsNavigationFinished()) { - ChangeStateLate(AiStateEnum.AiNormal); + ChangeState(AiStateEnum.AiNormal); } } diff --git a/DungeonShooting_Godot/src/game/role/enemy/state/AiNormalState.cs b/DungeonShooting_Godot/src/game/role/enemy/state/AiNormalState.cs index d0f9b01..299abf0 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/state/AiNormalState.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/state/AiNormalState.cs @@ -49,19 +49,19 @@ //其他敌人发现玩家 if (Master.CanChangeLeaveFor()) { - ChangeStateLate(AiStateEnum.AiLeaveFor); + ChangeState(AiStateEnum.AiLeaveFor); return; } if (_isFindPlayer) //已经找到玩家了 { //现临时处理, 直接切换状态 - ChangeStateLate(AiStateEnum.AiTailAfter); + ChangeState(AiStateEnum.AiTailAfter); } else //没有找到玩家 { //检测玩家 - var player = GameApplication.Instance.RoomManager.Player; + var player = Player.Current; //玩家中心点坐标 var playerPos = player.GetCenterPosition(); diff --git a/DungeonShooting_Godot/src/game/role/enemy/state/AiProbeState.cs b/DungeonShooting_Godot/src/game/role/enemy/state/AiProbeState.cs index ddbaeb5..1015095 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/state/AiProbeState.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/state/AiProbeState.cs @@ -13,7 +13,7 @@ //其他敌人发现玩家 if (Master.CanChangeLeaveFor()) { - ChangeStateLate(AiStateEnum.AiLeaveFor); + ChangeState(AiStateEnum.AiLeaveFor); return; } } diff --git a/DungeonShooting_Godot/src/game/role/enemy/state/AiSurroundState.cs b/DungeonShooting_Godot/src/game/role/enemy/state/AiSurroundState.cs index 64a42f6..29ce5a7 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/state/AiSurroundState.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/state/AiSurroundState.cs @@ -47,7 +47,7 @@ var targetWeapon = Master.FindTargetWeapon(); if (targetWeapon != null) { - ChangeStateLate(AiStateEnum.AiFindAmmo, targetWeapon); + ChangeState(AiStateEnum.AiFindAmmo, targetWeapon); return; } } @@ -142,7 +142,7 @@ var position = Master.GlobalPosition; if (position.DistanceSquaredTo(playerPos) > Mathf.Pow(Master.GetWeaponRange(0.7f), 2)) //玩家离开正常射击范围 { - ChangeStateLate(AiStateEnum.AiFollowUp); + ChangeState(AiStateEnum.AiFollowUp); } else { @@ -154,7 +154,7 @@ } else //目标离开视野 { - ChangeStateLate(AiStateEnum.AiTailAfter); + ChangeState(AiStateEnum.AiTailAfter); } } diff --git a/DungeonShooting_Godot/src/game/role/enemy/state/AiTailAfterState.cs b/DungeonShooting_Godot/src/game/role/enemy/state/AiTailAfterState.cs index f965f41..87d018e 100644 --- a/DungeonShooting_Godot/src/game/role/enemy/state/AiTailAfterState.cs +++ b/DungeonShooting_Godot/src/game/role/enemy/state/AiTailAfterState.cs @@ -35,7 +35,7 @@ var targetWeapon = Master.FindTargetWeapon(); if (targetWeapon != null) { - ChangeStateLate(AiStateEnum.AiFindAmmo, targetWeapon); + ChangeState(AiStateEnum.AiFindAmmo, targetWeapon); } } } @@ -44,7 +44,7 @@ { //这个状态下不会有攻击事件, 所以没必要每一帧检查是否弹药耗尽 - var playerPos = GameApplication.Instance.RoomManager.Player.GetCenterPosition(); + var playerPos = Player.Current.GetCenterPosition(); //更新玩家位置 if (_navigationUpdateTimer <= 0) @@ -81,7 +81,7 @@ //关闭射线检测 Master.TestViewRayCastOver(); //切换成发现目标状态 - ChangeStateLate(AiStateEnum.AiFollowUp); + ChangeState(AiStateEnum.AiFollowUp); return; } else @@ -101,7 +101,7 @@ { if (_viewTimer > 10) //10秒 { - ChangeStateLate(AiStateEnum.AiNormal); + ChangeState(AiStateEnum.AiNormal); } else { @@ -112,7 +112,7 @@ public override void DebugDraw() { - var playerPos = GameApplication.Instance.RoomManager.Player.GetCenterPosition(); + var playerPos = Player.Current.GetCenterPosition(); if (_isInViewRange) { Master.DrawLine(new Vector2(0, -8), Master.ToLocal(playerPos), Colors.Orange); diff --git a/DungeonShooting_Godot/src/game/room/DungeonManager.cs b/DungeonShooting_Godot/src/game/room/DungeonManager.cs new file mode 100644 index 0000000..244e1e7 --- /dev/null +++ b/DungeonShooting_Godot/src/game/room/DungeonManager.cs @@ -0,0 +1,473 @@ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Config; +using Godot; + +/// +/// 地牢管理器 +/// +public partial class DungeonManager : Node2D +{ + /// + /// 起始房间 + /// + public RoomInfo StartRoom => _dungeonGenerator?.StartRoom; + + /// + /// 当前玩家所在的房间 + /// + public RoomInfo ActiveRoom => Player.Current?.AffiliationArea?.RoomInfo; + + /// + /// 当前玩家所在的区域 + /// + public AffiliationArea ActiveAffiliationArea => Player.Current?.AffiliationArea; + + /// + /// 是否在地牢里 + /// + public bool IsInDungeon { get; private set; } + + private DungeonConfig _config; + private DungeonTile _dungeonTile; + private AutoTileConfig _autoTileConfig; + private DungeonGenerator _dungeonGenerator; + //房间内所有静态导航网格数据 + private List _roomStaticNavigationList; + private World _world; + + //用于检查房间敌人的计时器 + private int _affiliationIndex = 0; + private float _checkEnemyTimer = 0; + + + public DungeonManager() + { + //绑定事件 + EventManager.AddEventListener(EventEnum.OnPlayerFirstEnterRoom, OnPlayerFirstEnterRoom); + EventManager.AddEventListener(EventEnum.OnPlayerEnterRoom, OnPlayerEnterRoom); + } + + /// + /// 加载地牢 + /// + public void LoadDungeon(DungeonConfig config, Action finish = null) + { + _config = config; + GameApplication.Instance.StartCoroutine(RunLoadDungeonCoroutine(finish)); + } + + /// + /// 退出地牢 + /// + public void ExitDungeon(Action finish = null) + { + IsInDungeon = false; + GameApplication.Instance.StartCoroutine(RunExitDungeonCoroutine(finish)); + } + + public override void _PhysicsProcess(double delta) + { + if (IsInDungeon) + { + _checkEnemyTimer += (float)delta; + if (_checkEnemyTimer >= 1) + { + _checkEnemyTimer %= 1; + //检查房间内的敌人存活状况 + OnCheckEnemy(); + } + } + } + + public override void _Process(double delta) + { + if (IsInDungeon) + { + UpdateEnemiesView(); + if (GameApplication.Instance.Debug) + { + QueueRedraw(); + } + } + } + + //执行加载地牢协程 + private IEnumerator RunLoadDungeonCoroutine(Action finish) + { + //打开 loading UI + UiManager.Open_Loading(); + yield return 0; + //创建世界场景 + _world = GameApplication.Instance.CreateNewWorld(); + yield return new WaitForFixedProcess(10); + //生成地牢房间 + _dungeonGenerator = new DungeonGenerator(_config); + _dungeonGenerator.Generate(); + yield return 0; + + //填充地牢 + _autoTileConfig = new AutoTileConfig(); + _dungeonTile = new DungeonTile(_world.TileRoot); + _dungeonTile.AutoFillRoomTile(_autoTileConfig, _dungeonGenerator.StartRoom); + yield return 0; + + //生成寻路网格, 这一步操作只生成过道的导航 + _dungeonTile.GenerateNavigationPolygon(GameConfig.AisleFloorMapLayer); + yield return 0; + //挂载过道导航区域 + _dungeonTile.MountNavigationPolygon(_world.TileRoot); + yield return 0; + //过道导航区域数据 + _roomStaticNavigationList = new List(); + _roomStaticNavigationList.AddRange(_dungeonTile.GetPolygonData()); + yield return 0; + //门导航区域数据 + _roomStaticNavigationList.AddRange(_dungeonTile.GetConnectDoorPolygonData()); + yield return new WaitForFixedProcess(10); + //初始化所有房间 + _dungeonGenerator.EachRoom(InitRoom); + yield return new WaitForFixedProcess(10); + + //播放bgm + //SoundManager.PlayMusic(ResourcePath.resource_sound_bgm_Intro_ogg, -17f); + + //初始房间创建玩家标记 + var playerBirthMark = StartRoom.ActivityMarks.FirstOrDefault(mark => mark.Type == ActivityIdPrefix.ActivityPrefixType.Player); + //创建玩家 + var player = ActivityObject.Create(ActivityObject.Ids.Id_role0001); + if (playerBirthMark != null) + { + //player.Position = new Vector2(50, 50); + player.Position = playerBirthMark.Position; + } + player.Name = "Player"; + player.PutDown(RoomLayerEnum.YSortLayer); + Player.SetCurrentPlayer(player); + + //玩家手上添加武器 + //player.PickUpWeapon(ActivityObject.Create(ActivityObject.Ids.Id_weapon0001)); + // var weapon = ActivityObject.Create(ActivityObject.Ids.Id_weapon0001); + // weapon.PutDown(player.Position, RoomLayerEnum.NormalLayer); + // var weapon2 = ActivityObject.Create(ActivityObject.Ids.Id_weapon0002); + // weapon2.PutDown(player.Position, RoomLayerEnum.NormalLayer); + // var weapon3 = ActivityObject.Create(ActivityObject.Ids.Id_weapon0003); + // weapon3.PutDown(player.Position, RoomLayerEnum.NormalLayer); + // var weapon4 = ActivityObject.Create(ActivityObject.Ids.Id_weapon0004); + // weapon4.PutDown(player.Position, RoomLayerEnum.NormalLayer); + + GameApplication.Instance.Cursor.SetGuiMode(false); + yield return 0; + + //打开游戏中的ui + var roomUi = UiManager.Open_RoomUI(); + roomUi.InitData(player); + //派发进入地牢事件 + EventManager.EmitEvent(EventEnum.OnEnterDungeon); + + IsInDungeon = true; + yield return 0; + //关闭 loading UI + UiManager.Dispose_Loading(); + if (finish != null) + { + finish(); + } + } + + private IEnumerator RunExitDungeonCoroutine(Action finish) + { + //打开 loading UI + UiManager.Open_Loading(); + yield return 0; + _world.Pause = true; + yield return 0; + _dungeonGenerator.EachRoom(DisposeRoomInfo); + yield return 0; + _dungeonTile = null; + _autoTileConfig = null; + _dungeonGenerator = null; + _roomStaticNavigationList.Clear(); + _roomStaticNavigationList = null; + + UiManager.Hide_RoomUI(); + yield return new WaitForFixedProcess(10); + Player.SetCurrentPlayer(null); + _world = null; + GameApplication.Instance.DestroyWorld(); + yield return new WaitForFixedProcess(10); + //鼠标还原 + GameApplication.Instance.Cursor.SetGuiMode(false); + //派发退出地牢事件 + EventManager.EmitEvent(EventEnum.OnExitDungeon); + yield return 0; + //关闭 loading UI + UiManager.Dispose_Loading(); + if (finish != null) + { + finish(); + } + } + + // 初始化房间 + private void InitRoom(RoomInfo roomInfo) + { + //挂载房间导航区域 + MountNavFromRoomInfo(roomInfo); + //创建门 + CreateDoor(roomInfo); + //创建房间归属区域 + CreateRoomAisleAffiliation(roomInfo); + } + + //挂载房间导航区域 + private void MountNavFromRoomInfo(RoomInfo roomInfo) + { + var polygonArray = roomInfo.RoomSplit.RoomInfo.NavigationList.ToArray(); + var polygon = new NavigationPolygon(); + var offset = roomInfo.GetOffsetPosition(); + for (var i = 0; i < polygonArray.Length; i++) + { + var navigationPolygonData = polygonArray[i]; + var polygonPointArray = navigationPolygonData.ConvertPointsToVector2Array(); + //这里的位置需要加上房间位置 + for (var j = 0; j < polygonPointArray.Length; j++) + { + polygonPointArray[j] = polygonPointArray[j] + roomInfo.GetWorldPosition() - offset; + } + polygon.AddOutline(polygonPointArray); + + var points = new List(); + for (var j = 0; j < polygonPointArray.Length; j++) + { + points.Add(new SerializeVector2(polygonPointArray[j])); + } + + //存入汇总列表 + _roomStaticNavigationList.Add(new NavigationPolygonData(navigationPolygonData.Type, points)); + } + polygon.MakePolygonsFromOutlines(); + var navigationPolygon = new NavigationRegion2D(); + navigationPolygon.Name = "NavigationRegion" + (GetChildCount() + 1); + navigationPolygon.NavigationPolygon = polygon; + _world.TileRoot.AddChild(navigationPolygon); + } + + //创建门 + private void CreateDoor(RoomInfo roomInfo) + { + foreach (var doorInfo in roomInfo.Doors) + { + RoomDoor door; + switch (doorInfo.Direction) + { + case DoorDirection.E: + door = ActivityObject.Create(ActivityObject.Ids.Id_other_door_e); + door.Position = (doorInfo.OriginPosition + new Vector2(0.5f, 2)) * GameConfig.TileCellSize; + door.ZIndex = GameConfig.TopMapLayer; + break; + case DoorDirection.W: + door = ActivityObject.Create(ActivityObject.Ids.Id_other_door_w); + door.Position = (doorInfo.OriginPosition + new Vector2(-0.5f, 2)) * GameConfig.TileCellSize; + door.ZIndex = GameConfig.TopMapLayer; + break; + case DoorDirection.S: + door = ActivityObject.Create(ActivityObject.Ids.Id_other_door_s); + door.Position = (doorInfo.OriginPosition + new Vector2(2f, 1.5f)) * GameConfig.TileCellSize; + door.ZIndex = GameConfig.TopMapLayer; + break; + case DoorDirection.N: + door = ActivityObject.Create(ActivityObject.Ids.Id_other_door_n); + door.Position = (doorInfo.OriginPosition + new Vector2(2f, -0.5f)) * GameConfig.TileCellSize; + door.ZIndex = GameConfig.MiddleMapLayer; + break; + default: + return; + } + doorInfo.Door = door; + door.Init(doorInfo); + door.PutDown(RoomLayerEnum.NormalLayer, false); + } + } + + //创建房间归属区域 + private void CreateRoomAisleAffiliation(RoomInfo roomInfo) + { + var affiliation = new AffiliationArea(); + affiliation.Name = "AffiliationArea" + (_affiliationIndex++); + affiliation.Init(roomInfo, new Rect2( + roomInfo.GetWorldPosition() + new Vector2(GameConfig.TileCellSize, GameConfig.TileCellSize), + (roomInfo.Size - new Vector2I(2, 2)) * GameConfig.TileCellSize)); + + roomInfo.Affiliation = affiliation; + _world.AddChild(affiliation); + } + + /// + /// 玩家第一次进入某个房间回调 + /// + private void OnPlayerFirstEnterRoom(object o) + { + var room = (RoomInfo)o; + room.BeReady(); + //如果关门了, 那么房间外的敌人就会丢失目标 + if (room.IsSeclusion) + { + var playerAffiliationArea = Player.Current.AffiliationArea; + foreach (var enemy in _world.Enemy_InstanceList) + { + //不与玩家处于同一个房间 + if (enemy.AffiliationArea != playerAffiliationArea) + { + if (enemy.StateController.CurrState != AiStateEnum.AiNormal) + { + enemy.StateController.ChangeState(AiStateEnum.AiNormal); + } + } + } + } + } + + /// + /// 玩家进入某个房间回调 + /// + private void OnPlayerEnterRoom(object o) + { + } + + /// + /// 检测当前房间敌人是否已经消灭干净, 应当每秒执行一次 + /// + private void OnCheckEnemy() + { + var activeRoom = ActiveRoom; + if (activeRoom != null)// && //activeRoom.IsSeclusion) + { + if (activeRoom.IsSeclusion) //房间处于关上状态 + { + if (activeRoom.IsCurrWaveOver()) //所有标记执行完成 + { + //是否有存活的敌人 + var flag = ActiveAffiliationArea.ExistIncludeItem( + activityObject => activityObject.CollisionWithMask(PhysicsLayer.Enemy) + ); + //GD.Print("当前房间存活数量: " + count); + if (!flag) + { + activeRoom.OnClearRoom(); + } + } + } + } + } + + /// + /// 更新敌人视野 + /// + private void UpdateEnemiesView() + { + _world.Enemy_IsFindTarget = false; + _world.Enemy_FindTargetAffiliationSet.Clear(); + for (var i = 0; i < _world.Enemy_InstanceList.Count; i++) + { + var enemy = _world.Enemy_InstanceList[i]; + var state = enemy.StateController.CurrState; + if (state == AiStateEnum.AiFollowUp || state == AiStateEnum.AiSurround) //目标在视野内 + { + if (!_world.Enemy_IsFindTarget) + { + _world.Enemy_IsFindTarget = true; + _world.Enemy_FindTargetPosition = Player.Current.GetCenterPosition(); + _world.Enemy_FindTargetAffiliationSet.Add(Player.Current.AffiliationArea); + } + _world.Enemy_FindTargetAffiliationSet.Add(enemy.AffiliationArea); + } + } + } + + private void DisposeRoomInfo(RoomInfo roomInfo) + { + foreach (var activityMark in roomInfo.ActivityMarks) + { + activityMark.QueueFree(); + } + roomInfo.ActivityMarks.Clear(); + } + + public override void _Draw() + { + if (GameApplication.Instance.Debug) + { + if (_dungeonTile != null) + { + //绘制ai寻路区域 + Utils.DrawNavigationPolygon(this, _roomStaticNavigationList.ToArray()); + } + //绘制房间区域 + // if (_dungeonGenerator != null) + // { + // DrawRoomInfo(StartRoom); + // } + //绘制边缘线 + + } + } + + //绘制房间区域, debug 用 + private void DrawRoomInfo(RoomInfo room) + { + var cellSize = _world.TileRoot.CellQuadrantSize; + var pos1 = (room.Position + room.Size / 2) * cellSize; + + //绘制下一个房间 + foreach (var nextRoom in room.Next) + { + var pos2 = (nextRoom.Position + nextRoom.Size / 2) * cellSize; + DrawLine(pos1, pos2, Colors.Red); + DrawRoomInfo(nextRoom); + } + + DrawString(ResourceManager.DefaultFont16Px, pos1 - new Vector2I(0, 10), "Id: " + room.Id.ToString()); + DrawString(ResourceManager.DefaultFont16Px, pos1 + new Vector2I(0, 10), "Layer: " + room.Layer.ToString()); + + //绘制门 + foreach (var roomDoor in room.Doors) + { + var originPos = roomDoor.OriginPosition * cellSize; + switch (roomDoor.Direction) + { + case DoorDirection.E: + DrawLine(originPos, originPos + new Vector2(3, 0) * cellSize, Colors.Yellow); + DrawLine(originPos + new Vector2(0, 4) * cellSize, originPos + new Vector2(3, 4) * cellSize, + Colors.Yellow); + break; + case DoorDirection.W: + DrawLine(originPos, originPos - new Vector2(3, 0) * cellSize, Colors.Yellow); + DrawLine(originPos + new Vector2(0, 4) * cellSize, originPos - new Vector2(3, -4) * cellSize, + Colors.Yellow); + break; + case DoorDirection.S: + DrawLine(originPos, originPos + new Vector2(0, 3) * cellSize, Colors.Yellow); + DrawLine(originPos + new Vector2(4, 0) * cellSize, originPos + new Vector2(4, 3) * cellSize, + Colors.Yellow); + break; + case DoorDirection.N: + DrawLine(originPos, originPos - new Vector2(0, 3) * cellSize, Colors.Yellow); + DrawLine(originPos + new Vector2(4, 0) * cellSize, originPos - new Vector2(-4, 3) * cellSize, + Colors.Yellow); + break; + } + + //绘制房间区域 + DrawRect(new Rect2(room.Position * cellSize, room.Size * cellSize), Colors.Blue, false); + + if (roomDoor.HasCross && roomDoor.RoomInfo.Id < roomDoor.ConnectRoom.Id) + { + DrawRect(new Rect2(roomDoor.Cross * cellSize, new Vector2(cellSize * 4, cellSize * 4)), Colors.Yellow, false); + } + } + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/room/RoomDoor.cs b/DungeonShooting_Godot/src/game/room/RoomDoor.cs index 634e709..86f06b9 100644 --- a/DungeonShooting_Godot/src/game/room/RoomDoor.cs +++ b/DungeonShooting_Godot/src/game/room/RoomDoor.cs @@ -4,7 +4,7 @@ /// /// 房间的门, 门有两种状态, 打开和关闭 /// -[RegisterActivity(ActivityIdPrefix.Other + "0001", ResourcePath.prefab_map_RoomDoor_tscn)] +[Tool, GlobalClass] public partial class RoomDoor : ActivityObject { /// @@ -18,6 +18,12 @@ public bool IsClose { get; private set; } private RoomDoorInfo _door; + private bool waitDisabledCollision = false; + + public override void OnInit() + { + AnimatedSprite.AnimationFinished += OnAnimationFinished; + } /// /// 初始化调用 @@ -25,32 +31,8 @@ public void Init(RoomDoorInfo doorInfo) { _door = doorInfo; - OpenDoor(); - - switch (doorInfo.Direction) - { - case DoorDirection.E: - AnimatedSprite.Frame = 1; - AnimatedSprite.Position = new Vector2(0, -8); - Collision.Position = Vector2.Zero; - var collisionShape = (RectangleShape2D)Collision.Shape; - collisionShape.Size = new Vector2(14, 32); - break; - case DoorDirection.W: - AnimatedSprite.Frame = 1; - AnimatedSprite.Position = new Vector2(0, -8); - Collision.Position = Vector2.Zero; - var collisionShape2 = (RectangleShape2D)Collision.Shape; - collisionShape2.Size = new Vector2(14, 32); - break; - case DoorDirection.S: - AnimatedSprite.Position = new Vector2(0, -8); - break; - case DoorDirection.N: - ZIndex = GameConfig.MiddleMapLayer; - AnimatedSprite.Position = new Vector2(0, -8); - break; - } + IsClose = false; + OpenDoorHandler(); } /// @@ -59,14 +41,11 @@ public void OpenDoor() { IsClose = false; - Visible = false; - Collision.Disabled = true; - if (_door.Navigation != null) + //Visible = false; + waitDisabledCollision = true; + if (AnimatedSprite.SpriteFrames.HasAnimation(AnimatorNames.OpenDoor)) { - _door.Navigation.OpenNavigationNode.Enabled = true; - _door.Navigation.OpenNavigationNode.Visible = true; - _door.Navigation.CloseNavigationNode.Enabled = false; - _door.Navigation.CloseNavigationNode.Visible = false; + AnimatedSprite.Play(AnimatorNames.OpenDoor); } } @@ -76,7 +55,7 @@ public void CloseDoor() { IsClose = true; - Visible = true; + //Visible = true; Collision.Disabled = false; if (_door.Navigation != null) { @@ -85,5 +64,45 @@ _door.Navigation.CloseNavigationNode.Enabled = true; _door.Navigation.CloseNavigationNode.Visible = true; } + + if (AnimatedSprite.SpriteFrames.HasAnimation(AnimatorNames.CloseDoor)) + { + AnimatedSprite.Play(AnimatorNames.CloseDoor); + } + //调整门的层级 + switch (Direction) + { + case DoorDirection.E: + case DoorDirection.W: + case DoorDirection.S: + ZIndex = GameConfig.TopMapLayer; + break; + case DoorDirection.N: + ZIndex = GameConfig.MiddleMapLayer; + break; + } + } + + private void OnAnimationFinished() + { + if (!IsClose && waitDisabledCollision) //开门动画播放完成 + { + waitDisabledCollision = false; + OpenDoorHandler(); + } + } + + private void OpenDoorHandler() + { + Collision.Disabled = true; + if (_door.Navigation != null) + { + _door.Navigation.OpenNavigationNode.Enabled = true; + _door.Navigation.OpenNavigationNode.Visible = true; + _door.Navigation.CloseNavigationNode.Enabled = false; + _door.Navigation.CloseNavigationNode.Visible = false; + } + //调整门的层级 + ZIndex = GameConfig.FloorMapLayer; } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/room/RoomManager.cs b/DungeonShooting_Godot/src/game/room/RoomManager.cs deleted file mode 100644 index daf7a79..0000000 --- a/DungeonShooting_Godot/src/game/room/RoomManager.cs +++ /dev/null @@ -1,358 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Godot; - -/// -/// 房间管理器 -/// -public partial class RoomManager : Node2D -{ - /// - /// //对象根节点 - /// - [Export] public Node2D NormalLayer; - - /// - /// 对象根节点, 带y轴排序功能 - /// - [Export] public Node2D YSortLayer; - - /// - /// 地图根节点 - /// - [Export] public TileMap TileRoot; - - /// - /// 玩家对象 - /// - public Player Player { get; private set; } - - /// - /// 起始房间 - /// - public RoomInfo StartRoom => _dungeonGenerator.StartRoom; - - /// - /// 当前玩家所在的房间 - /// - public RoomInfo ActiveRoom => Player?.Affiliation?.RoomInfo; - - /// - /// 当前玩家所在的区域 - /// - public AffiliationArea ActiveAffiliation => Player?.Affiliation; - - private DungeonTile _dungeonTile; - private AutoTileConfig _autoTileConfig; - - private Font _font; - private DungeonGenerator _dungeonGenerator; - - private int _affiliationIndex = 0; - - private float _checkEnemyTimer = 0; - - //房间内所有静态导航网格数据 - private static List _roomStaticNavigationList = new List(); - - public override void _Ready() - { - TileRoot.YSortEnabled = false; - - _font = ResourceManager.Load(ResourcePath.resource_font_cn_font_36_tres); - - //绑定事件 - EventManager.AddEventListener(EventEnum.OnPlayerFirstEnterRoom, OnPlayerFirstEnterRoom); - EventManager.AddEventListener(EventEnum.OnPlayerEnterRoom, OnPlayerEnterRoom); - - var nowTicks = DateTime.Now.Ticks; - //生成地牢房间 - _dungeonGenerator = new DungeonGenerator("testGroup"); - _dungeonGenerator.Generate(); - - //填充地牢 - _autoTileConfig = new AutoTileConfig(); - _dungeonTile = new DungeonTile(TileRoot); - _dungeonTile.AutoFillRoomTile(_autoTileConfig, _dungeonGenerator.StartRoom); - - //生成寻路网格, 这一步操作只生成过道的导航 - _dungeonTile.GenerateNavigationPolygon(GameConfig.AisleFloorMapLayer); - //挂载过道导航区域 - _dungeonTile.MountNavigationPolygon(this); - //过道导航区域数据 - _roomStaticNavigationList.AddRange(_dungeonTile.GetPolygonData()); - //门导航区域数据 - _roomStaticNavigationList.AddRange(_dungeonTile.GetConnectDoorPolygonData()); - //初始化所有房间 - _dungeonGenerator.EachRoom(InitRoom); - - GD.Print("生成地牢用时: " + (DateTime.Now.Ticks - nowTicks) / 10000 + "毫秒"); - - //播放bgm - //SoundManager.PlayMusic(ResourcePath.resource_sound_bgm_Intro_ogg, -17f); - - //初始房间创建玩家标记 - var playerBirthMark = StartRoom.ActivityMarks.FirstOrDefault(mark => mark.Type == ActivityIdPrefix.ActivityPrefixType.Player); - //创建玩家 - Player = ActivityObject.Create(ActivityIdPrefix.Role + "0001"); - if (playerBirthMark != null) - { - Player.Position = playerBirthMark.Position; - } - Player.Name = "Player"; - Player.PutDown(RoomLayerEnum.YSortLayer); - Player.PickUpWeapon(ActivityObject.Create(ActivityIdPrefix.Weapon + "0001")); - - // var weapon = ActivityObject.Create(ActivityIdPrefix.Test + "0001"); - // weapon.PutDown(new Vector2(200, 200), RoomLayerEnum.NormalLayer); - // //weapon.Altitude = 50; - - // for (int i = 0; i < 10; i++) - // { - // var enemy = ActivityObject.Create(ActivityIdPrefix.Enemy + "0001"); - // enemy.PutDown(new Vector2(100 + i * 20, 100), RoomLayerEnum.YSortLayer); - // enemy.PickUpWeapon(ActivityObject.Create(ActivityIdPrefix.Weapon + Utils.RandomChoose("0001", "0002", "0003"))); - // } - - //相机跟随玩家 - GameCamera.Main.SetFollowTarget(Player); - - //修改鼠标指针 - var cursor = GameApplication.Instance.Cursor; - cursor.SetGuiMode(false); - cursor.SetMountRole(Player); - } - - public override void _PhysicsProcess(double delta) - { - _checkEnemyTimer += (float)delta; - if (_checkEnemyTimer >= 1) - { - _checkEnemyTimer %= 1; - //检查房间内的敌人存活状况 - OnCheckEnemy(); - } - } - - /// - /// 获取指定层级根节点 - /// - public Node2D GetRoomLayer(RoomLayerEnum layerEnum) - { - switch (layerEnum) - { - case RoomLayerEnum.NormalLayer: - return NormalLayer; - case RoomLayerEnum.YSortLayer: - return YSortLayer; - } - - return null; - } - - public override void _Process(double delta) - { - Enemy.UpdateEnemiesView(); - if (GameApplication.Instance.Debug) - { - QueueRedraw(); - } - } - - public override void _Draw() - { - if (GameApplication.Instance.Debug) - { - if (_dungeonTile != null) - { - //绘制ai寻路区域 - Utils.DrawNavigationPolygon(this, _roomStaticNavigationList.ToArray()); - } - //绘制房间区域 - //DrawRoomInfo(_generateDungeon.StartRoom); - } - } - - // 初始化房间 - private void InitRoom(RoomInfo roomInfo) - { - //挂载房间导航区域 - MountNavFromRoomInfo(roomInfo); - //创建门 - CreateDoor(roomInfo); - - //创建房间归属区域 - CreateRoomAisleAffiliation(roomInfo); - } - - //挂载房间导航区域 - private void MountNavFromRoomInfo(RoomInfo roomInfo) - { - var polygonArray = roomInfo.RoomSplit.RoomInfo.NavigationList.ToArray(); - var polygon = new NavigationPolygon(); - var offset = roomInfo.GetOffsetPosition(); - for (var i = 0; i < polygonArray.Length; i++) - { - var navigationPolygonData = polygonArray[i]; - var polygonPointArray = navigationPolygonData.ConvertPointsToVector2Array(); - //这里的位置需要加上房间位置 - for (var j = 0; j < polygonPointArray.Length; j++) - { - polygonPointArray[j] = polygonPointArray[j] + roomInfo.GetWorldPosition() - offset; - } - polygon.AddOutline(polygonPointArray); - - var points = new List(); - for (var j = 0; j < polygonPointArray.Length; j++) - { - points.Add(new SerializeVector2(polygonPointArray[j])); - } - - //存入汇总列表 - _roomStaticNavigationList.Add(new NavigationPolygonData(navigationPolygonData.Type, points)); - } - polygon.MakePolygonsFromOutlines(); - var navigationPolygon = new NavigationRegion2D(); - navigationPolygon.Name = "NavigationRegion" + (GetChildCount() + 1); - navigationPolygon.NavigationPolygon = polygon; - AddChild(navigationPolygon); - } - - //创建门 - private void CreateDoor(RoomInfo roomInfo) - { - foreach (var doorInfo in roomInfo.Doors) - { - var door = ActivityObject.Create(ActivityIdPrefix.Other + "0001"); - doorInfo.Door = door; - Vector2 offset; - switch (doorInfo.Direction) - { - case DoorDirection.E: - offset = new Vector2(0.5f, 2); - break; - case DoorDirection.W: - offset = new Vector2(-0.5f, 2); - break; - case DoorDirection.S: - offset = new Vector2(2f, 1.5f); - break; - case DoorDirection.N: - offset = new Vector2(2f, -0.5f); - break; - default: offset = new Vector2(); - break; - } - door.Position = (doorInfo.OriginPosition + offset) * GameConfig.TileCellSize; - door.Init(doorInfo); - door.PutDown(RoomLayerEnum.NormalLayer, false); - } - } - - //创建房间归属区域 - private void CreateRoomAisleAffiliation(RoomInfo roomInfo) - { - var affiliation = new AffiliationArea(); - affiliation.Name = "AffiliationArea" + (_affiliationIndex++); - affiliation.Init(roomInfo, new Rect2( - roomInfo.GetWorldPosition() + new Vector2(GameConfig.TileCellSize, GameConfig.TileCellSize), - (roomInfo.Size - new Vector2I(2, 2)) * GameConfig.TileCellSize)); - - roomInfo.Affiliation = affiliation; - TileRoot.AddChild(affiliation); - } - - /// - /// 玩家第一次进入某个房间回调 - /// - private void OnPlayerFirstEnterRoom(object o) - { - var room = (RoomInfo)o; - room.BeReady(); - } - - /// - /// 玩家进入某个房间回调 - /// - private void OnPlayerEnterRoom(object o) - { - } - - /// - /// 检测当前房间敌人是否已经消灭干净, 应当每秒执行一次 - /// - private void OnCheckEnemy() - { - var activeRoom = ActiveRoom; - if (activeRoom != null)// && //activeRoom.IsSeclusion) - { - if (activeRoom.IsCurrWaveOver()) //所有标记执行完成 - { - //存活敌人数量 - var count = ActiveAffiliation.FindIncludeItemsCount( - activityObject => activityObject.CollisionWithMask(PhysicsLayer.Enemy) - ); - GD.Print("当前房间存活数量: " + count); - if (count == 0) - { - activeRoom.OnClearRoom(); - } - } - } - } - - //绘制房间区域, debug 用 - private void DrawRoomInfo(RoomInfo room) - { - var cellSize = TileRoot.CellQuadrantSize; - var pos1 = (room.Position + room.Size / 2) * cellSize; - - //绘制下一个房间 - foreach (var nextRoom in room.Next) - { - var pos2 = (nextRoom.Position + nextRoom.Size / 2) * cellSize; - DrawLine(pos1, pos2, Colors.Red); - DrawRoomInfo(nextRoom); - } - - DrawString(_font, pos1, room.Id.ToString()); - - //绘制门 - foreach (var roomDoor in room.Doors) - { - var originPos = roomDoor.OriginPosition * cellSize; - switch (roomDoor.Direction) - { - case DoorDirection.E: - DrawLine(originPos, originPos + new Vector2(3, 0) * cellSize, Colors.Yellow); - DrawLine(originPos + new Vector2(0, 4) * cellSize, originPos + new Vector2(3, 4) * cellSize, - Colors.Yellow); - break; - case DoorDirection.W: - DrawLine(originPos, originPos - new Vector2(3, 0) * cellSize, Colors.Yellow); - DrawLine(originPos + new Vector2(0, 4) * cellSize, originPos - new Vector2(3, -4) * cellSize, - Colors.Yellow); - break; - case DoorDirection.S: - DrawLine(originPos, originPos + new Vector2(0, 3) * cellSize, Colors.Yellow); - DrawLine(originPos + new Vector2(4, 0) * cellSize, originPos + new Vector2(4, 3) * cellSize, - Colors.Yellow); - break; - case DoorDirection.N: - DrawLine(originPos, originPos - new Vector2(0, 3) * cellSize, Colors.Yellow); - DrawLine(originPos + new Vector2(4, 0) * cellSize, originPos - new Vector2(-4, 3) * cellSize, - Colors.Yellow); - break; - } - - //绘制房间区域 - DrawRect(new Rect2(room.Position * cellSize, room.Size * cellSize), Colors.Blue, false); - - if (roomDoor.HasCross && roomDoor.RoomInfo.Id < roomDoor.ConnectRoom.Id) - { - DrawRect(new Rect2(roomDoor.Cross * cellSize, new Vector2(cellSize * 4, cellSize * 4)), Colors.Yellow, false); - } - } - } -} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/room/SceneManager.cs b/DungeonShooting_Godot/src/game/room/SceneManager.cs new file mode 100644 index 0000000..9ebf743 --- /dev/null +++ b/DungeonShooting_Godot/src/game/room/SceneManager.cs @@ -0,0 +1,19 @@ + +using Godot; + +/// +/// 场景管理器 +/// +public static class SceneManager +{ + + /// + /// 加载场景 + /// + /// 场景路径 + public static void LoadScene(string path) + { + //var packedScene = ResourceManager.Load(ResourcePath.scene_Room_tscn).Instantiate(); + //SceneRoot.AddChild(RoomManager); + } +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/room/World.cs b/DungeonShooting_Godot/src/game/room/World.cs new file mode 100644 index 0000000..cb6810d --- /dev/null +++ b/DungeonShooting_Godot/src/game/room/World.cs @@ -0,0 +1,95 @@ +using System.Collections.Generic; +using Godot; + +/// +/// 游戏世界 +/// +public partial class World : Node2D +{ + /// + /// //对象根节点 + /// + [Export] public Node2D NormalLayer; + + /// + /// 对象根节点, 带y轴排序功能 + /// + [Export] public Node2D YSortLayer; + + /// + /// 地图根节点 + /// + [Export] public TileMap TileRoot; + + /// + /// 是否暂停 + /// + public bool Pause + { + get => _pause; + set + { + if (_pause != value) + { + _pause = value; + if (value) + { + ProcessMode = ProcessModeEnum.WhenPaused; + } + else + { + ProcessMode = ProcessModeEnum.Inherit; + } + } + } + } + + /// + /// 所有被扔在地上的武器 + /// + public HashSet Weapon_UnclaimedWeapons { get; } = new HashSet(); + + /// + /// 记录所有存活的敌人 + /// + public List Enemy_InstanceList { get; } = new List(); + + /// + /// 公共属性, 敌人是否找到目标, 如果找到目标, 则与目标同房间的所有敌人都会知道目标的位置 + /// + public bool Enemy_IsFindTarget { get; set; } + + /// + /// 公共属性, 敌人在哪个区域找到的目标, 所有该区域下的敌人都会知道目标的位置 + /// + public HashSet Enemy_FindTargetAffiliationSet { get; } = new HashSet(); + + /// + /// 公共属性, 敌人找到的目标的位置, 如果目标在视野内, 则一直更新 + /// + public Vector2 Enemy_FindTargetPosition { get; set; } + + private bool _pause = false; + + public override void _Ready() + { + TileRoot.YSortEnabled = false; + } + + /// + /// 获取指定层级根节点 + /// + public Node2D GetRoomLayer(RoomLayerEnum layerEnum) + { + switch (layerEnum) + { + case RoomLayerEnum.NormalLayer: + return NormalLayer; + case RoomLayerEnum.YSortLayer: + return YSortLayer; + } + + return null; + } + +} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs b/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs index a33e0f6..99124ab 100644 --- a/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs +++ b/DungeonShooting_Godot/src/game/ui/editorTools/EditorTools.cs @@ -500,6 +500,59 @@ } /// + /// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.HBoxContainer7.Label + /// + public class UiNode6_Label : IUiNode + { + public UiNode6_Label(Godot.Label node) : base(node) { } + public override UiNode6_Label Clone() => new ((Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.HBoxContainer7.Button + /// + public class UiNode6_Button : IUiNode + { + public UiNode6_Button(Godot.Button node) : base(node) { } + public override UiNode6_Button Clone() => new ((Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.HBoxContainer7 + /// + public class UiNode_HBoxContainer7 : IUiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.Label + /// + public UiNode6_Label L_Label + { + get + { + if (_L_Label == null) _L_Label = new UiNode6_Label(Instance.GetNodeOrNull("Label")); + return _L_Label; + } + } + private UiNode6_Label _L_Label; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer.Button + /// + public UiNode6_Button L_Button + { + get + { + if (_L_Button == null) _L_Button = new UiNode6_Button(Instance.GetNodeOrNull("Button")); + return _L_Button; + } + } + private UiNode6_Button _L_Button; + + public UiNode_HBoxContainer7(Godot.HBoxContainer node) : base(node) { } + public override UiNode_HBoxContainer7 Clone() => new ((Godot.HBoxContainer)Instance.Duplicate()); + } + + /// /// 类型: , 路径: EditorTools.ScrollContainer.MarginContainer.VBoxContainer /// public class UiNode_VBoxContainer : IUiNode @@ -582,6 +635,19 @@ } private UiNode_HBoxContainer2 _L_HBoxContainer2; + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: EditorTools.ScrollContainer.MarginContainer.HBoxContainer7 + /// + public UiNode_HBoxContainer7 L_HBoxContainer7 + { + get + { + if (_L_HBoxContainer7 == null) _L_HBoxContainer7 = new UiNode_HBoxContainer7(Instance.GetNodeOrNull("HBoxContainer7")); + return _L_HBoxContainer7; + } + } + private UiNode_HBoxContainer7 _L_HBoxContainer7; + public UiNode_VBoxContainer(Godot.VBoxContainer node) : base(node) { } public override UiNode_VBoxContainer Clone() => new ((Godot.VBoxContainer)Instance.Duplicate()); } diff --git a/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs b/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs index 5cf3487..0589080 100644 --- a/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/editorTools/EditorToolsPanel.cs @@ -54,6 +54,8 @@ container.L_HBoxContainer5.L_Button.Instance.Pressed += GenerateUiManagerMethods; //创建地牢房间 container.L_HBoxContainer6.L_Button.Instance.Pressed += GenerateDungeonRoom; + //导出excel表 + container.L_HBoxContainer7.L_Button.Instance.Pressed += ExportExcel; } public override void OnHideUi() @@ -73,6 +75,7 @@ container.L_HBoxContainer3.L_Button.Instance.Pressed -= OnCreateUI; container.L_HBoxContainer5.L_Button.Instance.Pressed -= GenerateUiManagerMethods; container.L_HBoxContainer6.L_Button.Instance.Pressed -= GenerateDungeonRoom; + container.L_HBoxContainer7.L_Button.Instance.Pressed -= ExportExcel; } public override void Process(float delta) @@ -381,4 +384,37 @@ } }); } + + /// + /// 导出excel表 + /// + private void ExportExcel() + { + ExcelGenerator.ExportExcel(); + ShowTips("提示", "已启动导表程序, 注意查看控制台信息!"); + } + + /// + /// 在编辑器中打开一个提示窗口 + /// + public static void ShowTipsInEditor(string title, string message, Action onClose) + { + var editorToolsInstance = UiManager.Get_EditorTools_Instance(); + if (editorToolsInstance.Length > 0) + { + editorToolsInstance[0].ShowTips(title, message, onClose); + } + } + + /// + /// 在编辑器中打开一个询问窗口 + /// + public static void ShowConfirmInEditor(string title, string message, Action onClose = null) + { + var editorToolsInstance = UiManager.Get_EditorTools_Instance(); + if (editorToolsInstance.Length > 0) + { + editorToolsInstance[0].ShowConfirm(title, message, onClose); + } + } } diff --git a/DungeonShooting_Godot/src/game/ui/loading/Loading.cs b/DungeonShooting_Godot/src/game/ui/loading/Loading.cs new file mode 100644 index 0000000..22bfc38 --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/loading/Loading.cs @@ -0,0 +1,57 @@ +namespace UI.Loading; + +/// +/// Ui代码, 该类是根据ui场景自动生成的, 请不要手动编辑该类, 以免造成代码丢失 +/// +public abstract partial class Loading : UiBase +{ + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Loading.ColorRect + /// + public UiNode_ColorRect L_ColorRect + { + get + { + if (_L_ColorRect == null) _L_ColorRect = new UiNode_ColorRect(GetNodeOrNull("ColorRect")); + return _L_ColorRect; + } + } + private UiNode_ColorRect _L_ColorRect; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Loading.Label + /// + public UiNode_Label L_Label + { + get + { + if (_L_Label == null) _L_Label = new UiNode_Label(GetNodeOrNull("Label")); + return _L_Label; + } + } + private UiNode_Label _L_Label; + + + public Loading() : base(nameof(Loading)) + { + } + + /// + /// 类型: , 路径: Loading.ColorRect + /// + public class UiNode_ColorRect : IUiNode + { + public UiNode_ColorRect(Godot.ColorRect node) : base(node) { } + public override UiNode_ColorRect Clone() => new ((Godot.ColorRect)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Loading.Label + /// + public class UiNode_Label : IUiNode + { + public UiNode_Label(Godot.Label node) : base(node) { } + public override UiNode_Label Clone() => new ((Godot.Label)Instance.Duplicate()); + } + +} diff --git a/DungeonShooting_Godot/src/game/ui/loading/LoadingPanel.cs b/DungeonShooting_Godot/src/game/ui/loading/LoadingPanel.cs new file mode 100644 index 0000000..bb317f7 --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/loading/LoadingPanel.cs @@ -0,0 +1,18 @@ +using Godot; + +namespace UI.Loading; + +public partial class LoadingPanel : Loading +{ + + public override void OnShowUi() + { + + } + + public override void OnHideUi() + { + + } + +} diff --git a/DungeonShooting_Godot/src/game/ui/main/Main.cs b/DungeonShooting_Godot/src/game/ui/main/Main.cs new file mode 100644 index 0000000..0c77b81 --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/main/Main.cs @@ -0,0 +1,145 @@ +namespace UI.Main; + +/// +/// Ui代码, 该类是根据ui场景自动生成的, 请不要手动编辑该类, 以免造成代码丢失 +/// +public abstract partial class Main : UiBase +{ + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.Title + /// + public UiNode_Title L_Title + { + get + { + if (_L_Title == null) _L_Title = new UiNode_Title(GetNodeOrNull("Title")); + return _L_Title; + } + } + private UiNode_Title _L_Title; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.ButtonList + /// + public UiNode_ButtonList L_ButtonList + { + get + { + if (_L_ButtonList == null) _L_ButtonList = new UiNode_ButtonList(GetNodeOrNull("ButtonList")); + return _L_ButtonList; + } + } + private UiNode_ButtonList _L_ButtonList; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.Version + /// + public UiNode_Version L_Version + { + get + { + if (_L_Version == null) _L_Version = new UiNode_Version(GetNodeOrNull("Version")); + return _L_Version; + } + } + private UiNode_Version _L_Version; + + + public Main() : base(nameof(Main)) + { + } + + /// + /// 类型: , 路径: Main.Title + /// + public class UiNode_Title : IUiNode + { + public UiNode_Title(Godot.Label node) : base(node) { } + public override UiNode_Title Clone() => new ((Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Main.ButtonList.Start + /// + public class UiNode_Start : IUiNode + { + public UiNode_Start(Godot.Button node) : base(node) { } + public override UiNode_Start Clone() => new ((Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Main.ButtonList.Setting + /// + public class UiNode_Setting : IUiNode + { + public UiNode_Setting(Godot.Button node) : base(node) { } + public override UiNode_Setting Clone() => new ((Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Main.ButtonList.Exit + /// + public class UiNode_Exit : IUiNode + { + public UiNode_Exit(Godot.Button node) : base(node) { } + public override UiNode_Exit Clone() => new ((Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Main.ButtonList + /// + public class UiNode_ButtonList : IUiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.Start + /// + public UiNode_Start L_Start + { + get + { + if (_L_Start == null) _L_Start = new UiNode_Start(Instance.GetNodeOrNull("Start")); + return _L_Start; + } + } + private UiNode_Start _L_Start; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.Setting + /// + public UiNode_Setting L_Setting + { + get + { + if (_L_Setting == null) _L_Setting = new UiNode_Setting(Instance.GetNodeOrNull("Setting")); + return _L_Setting; + } + } + private UiNode_Setting _L_Setting; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.Exit + /// + public UiNode_Exit L_Exit + { + get + { + if (_L_Exit == null) _L_Exit = new UiNode_Exit(Instance.GetNodeOrNull("Exit")); + return _L_Exit; + } + } + private UiNode_Exit _L_Exit; + + public UiNode_ButtonList(Godot.VBoxContainer node) : base(node) { } + public override UiNode_ButtonList Clone() => new ((Godot.VBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Main.Version + /// + public class UiNode_Version : IUiNode + { + public UiNode_Version(Godot.Label node) : base(node) { } + public override UiNode_Version Clone() => new ((Godot.Label)Instance.Duplicate()); + } + +} diff --git a/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs new file mode 100644 index 0000000..0c0b36b --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs @@ -0,0 +1,33 @@ +using Godot; + +namespace UI.Main; + +public partial class MainPanel : Main +{ + + public override void OnShowUi() + { + L_ButtonList.L_Start.Instance.Pressed += OnStartGameClick; + L_ButtonList.L_Exit.Instance.Pressed += OnExitClick; + } + + public override void OnHideUi() + { + L_ButtonList.L_Start.Instance.Pressed -= OnStartGameClick; + L_ButtonList.L_Exit.Instance.Pressed -= OnExitClick; + } + + + //点击开始游戏 + private void OnStartGameClick() + { + GameApplication.Instance.DungeonManager.LoadDungeon(GameApplication.Instance.DungeonConfig); + HideUi(); + } + + //退出游戏 + private void OnExitClick() + { + GetTree().Quit(); + } +} diff --git a/DungeonShooting_Godot/src/game/ui/roomUI/GunBar.cs b/DungeonShooting_Godot/src/game/ui/roomUI/GunBar.cs index d20845b..7484999 100644 --- a/DungeonShooting_Godot/src/game/ui/roomUI/GunBar.cs +++ b/DungeonShooting_Godot/src/game/ui/roomUI/GunBar.cs @@ -5,7 +5,6 @@ public class GunBar { private RoomUI.UiNode_GunBar _gunBar; - private EventBinder _binder; private int _prevAmmo = -1; private int _prevResidue = -1; @@ -17,12 +16,10 @@ public void OnShow() { - _binder = EventManager.AddEventListener(EventEnum.OnPlayerRefreshWeaponTexture, OnPlayerRefreshWeaponTexture); } public void OnHide() { - _binder.RemoveEventListener(); } public void Process(float delta) @@ -30,8 +27,13 @@ var weapon = Player.Current?.Holster.ActiveWeapon; if (weapon != null) { + SetWeaponTexture(weapon.GetCurrentTexture()); SetWeaponAmmunition(weapon.CurrAmmo, weapon.ResidueAmmo); } + else + { + SetWeaponTexture(null); + } } /// @@ -67,16 +69,4 @@ _prevResidue = total; } } - - private void OnPlayerRefreshWeaponTexture(object o) - { - if (o == null) - { - SetWeaponTexture(null); - } - else - { - SetWeaponTexture((Texture2D)o); - } - } } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/ui/roomUI/ReloadBar.cs b/DungeonShooting_Godot/src/game/ui/roomUI/ReloadBar.cs index 5cbaf58..1292394 100644 --- a/DungeonShooting_Godot/src/game/ui/roomUI/ReloadBar.cs +++ b/DungeonShooting_Godot/src/game/ui/roomUI/ReloadBar.cs @@ -58,7 +58,7 @@ var player = Player.Current; if (player.Holster.ActiveWeapon != null && player.Holster.ActiveWeapon.Reloading) { - ShowBar(player.GlobalPosition, 1 - player.Holster.ActiveWeapon.ReloadProgress); + ShowBar(player.GlobalPosition, player.Holster.ActiveWeapon.ReloadProgress); } else { diff --git a/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs b/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs index cbf1e66..795c3e7 100644 --- a/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/roomUI/RoomUIPanel.cs @@ -38,6 +38,14 @@ _gunBar.OnHide(); } + public void InitData(Player player) + { + _healthBar.SetMaxHp(player.MaxHp); + _healthBar.SetHp(player.Hp); + _healthBar.SetMaxShield(player.MaxShield); + _healthBar.SetShield(player.Shield); + } + public override void Process(float delta) { _gunBar.Process(delta); diff --git a/DungeonShooting_Godot/src/game/ui/settlement/Settlement.cs b/DungeonShooting_Godot/src/game/ui/settlement/Settlement.cs new file mode 100644 index 0000000..e61f5ca --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/settlement/Settlement.cs @@ -0,0 +1,123 @@ +namespace UI.Settlement; + +/// +/// Ui代码, 该类是根据ui场景自动生成的, 请不要手动编辑该类, 以免造成代码丢失 +/// +public abstract partial class Settlement : UiBase +{ + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Settlement.Bg + /// + public UiNode_Bg L_Bg + { + get + { + if (_L_Bg == null) _L_Bg = new UiNode_Bg(GetNodeOrNull("Bg")); + return _L_Bg; + } + } + private UiNode_Bg _L_Bg; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Settlement.Title + /// + public UiNode_Title L_Title + { + get + { + if (_L_Title == null) _L_Title = new UiNode_Title(GetNodeOrNull("Title")); + return _L_Title; + } + } + private UiNode_Title _L_Title; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Settlement.ButtonList + /// + public UiNode_ButtonList L_ButtonList + { + get + { + if (_L_ButtonList == null) _L_ButtonList = new UiNode_ButtonList(GetNodeOrNull("ButtonList")); + return _L_ButtonList; + } + } + private UiNode_ButtonList _L_ButtonList; + + + public Settlement() : base(nameof(Settlement)) + { + } + + /// + /// 类型: , 路径: Settlement.Bg + /// + public class UiNode_Bg : IUiNode + { + public UiNode_Bg(Godot.ColorRect node) : base(node) { } + public override UiNode_Bg Clone() => new ((Godot.ColorRect)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Settlement.Title + /// + public class UiNode_Title : IUiNode + { + public UiNode_Title(Godot.Label node) : base(node) { } + public override UiNode_Title Clone() => new ((Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Settlement.ButtonList.Restart + /// + public class UiNode_Restart : IUiNode + { + public UiNode_Restart(Godot.Button node) : base(node) { } + public override UiNode_Restart Clone() => new ((Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Settlement.ButtonList.ToMenu + /// + public class UiNode_ToMenu : IUiNode + { + public UiNode_ToMenu(Godot.Button node) : base(node) { } + public override UiNode_ToMenu Clone() => new ((Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Settlement.ButtonList + /// + public class UiNode_ButtonList : IUiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Settlement.Restart + /// + public UiNode_Restart L_Restart + { + get + { + if (_L_Restart == null) _L_Restart = new UiNode_Restart(Instance.GetNodeOrNull("Restart")); + return _L_Restart; + } + } + private UiNode_Restart _L_Restart; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Settlement.ToMenu + /// + public UiNode_ToMenu L_ToMenu + { + get + { + if (_L_ToMenu == null) _L_ToMenu = new UiNode_ToMenu(Instance.GetNodeOrNull("ToMenu")); + return _L_ToMenu; + } + } + private UiNode_ToMenu _L_ToMenu; + + public UiNode_ButtonList(Godot.VBoxContainer node) : base(node) { } + public override UiNode_ButtonList Clone() => new ((Godot.VBoxContainer)Instance.Duplicate()); + } + +} diff --git a/DungeonShooting_Godot/src/game/ui/settlement/SettlementPanel.cs b/DungeonShooting_Godot/src/game/ui/settlement/SettlementPanel.cs new file mode 100644 index 0000000..33ffc6d --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/settlement/SettlementPanel.cs @@ -0,0 +1,39 @@ +using Godot; + +namespace UI.Settlement; + +public partial class SettlementPanel : Settlement +{ + + public override void OnShowUi() + { + L_ButtonList.L_Restart.Instance.Pressed += OnRestartClick; + L_ButtonList.L_ToMenu.Instance.Pressed += OnToMenuClick; + } + + public override void OnHideUi() + { + L_ButtonList.L_Restart.Instance.Pressed -= OnRestartClick; + L_ButtonList.L_ToMenu.Instance.Pressed -= OnToMenuClick; + } + + private void OnRestartClick() + { + //GD.Print("重新开始还没做..."); + HideUi(); + GameApplication.Instance.DungeonManager.ExitDungeon(() => + { + GameApplication.Instance.DungeonManager.LoadDungeon(GameApplication.Instance.DungeonConfig); + }); + } + + private void OnToMenuClick() + { + HideUi(); + GameApplication.Instance.DungeonManager.ExitDungeon(() => + { + UiManager.Open_Main(); + }); + } + +} diff --git a/DungeonShooting_Godot/src/test/TestActivity.cs b/DungeonShooting_Godot/src/test/TestActivity.cs index ef47a9e..f541b73 100644 --- a/DungeonShooting_Godot/src/test/TestActivity.cs +++ b/DungeonShooting_Godot/src/test/TestActivity.cs @@ -1,6 +1,5 @@ using Godot; -[RegisterActivity(ActivityIdPrefix.Test + "0001", ResourcePath.prefab_test_TestActivity_tscn)] public partial class TestActivity : ActivityObject { public override void OnInit() diff --git a/DungeonShooting_Godot/src/test/TestReadExcel.cs b/DungeonShooting_Godot/src/test/TestReadExcel.cs new file mode 100644 index 0000000..eee0656 --- /dev/null +++ b/DungeonShooting_Godot/src/test/TestReadExcel.cs @@ -0,0 +1,50 @@ +using Godot; +using System; +using System.IO; +// using NPOI.SS.UserModel; +// using NPOI.XSSF.UserModel; + +public partial class TestReadExcel : Node2D +{ + public override void _Ready() + { + // string sourceFile = @"excel/Weapon.xlsx"; + // + // IWorkbook workbook = new XSSFWorkbook(sourceFile); + // ISheet sheet1 = workbook.GetSheet("Sheet1"); + // + // int columnCount = -1; + // foreach (IRow row in sheet1) + // { + // foreach (var cell in row) + // { + // if (columnCount >= 0 && cell.ColumnIndex >= columnCount) + // { + // break; + // } + // var value = cell.StringCellValue; + // if (string.IsNullOrEmpty(value)) + // { + // if (columnCount < 0) + // { + // columnCount = cell.ColumnIndex; + // break; + // } + // else if (cell.ColumnIndex == 0) + // { + // break; + // } + // } + // GD.Print("row: " + row.RowNum + " , Column: " + cell.ColumnIndex + ", value: " + cell.StringCellValue); + // } + // } + // workbook.Close(); + // sheet1.CreateRow(0).CreateCell(0).SetCellValue(1); + // sheet1.CreateRow(1).CreateCell(0).SetCellValue(2); + // sheet1.CreateRow(2).CreateCell(0).SetCellValue(3); + // + // FileStream fs = new FileStream(targetFile, FileMode.Create); + // workbook.Write(fs, true); + // workbook.Close(); + } +}