Merge branch 'develop' of https://gitee.com/xlljc/DungeonShooting into develop

This commit is contained in:
王晗智 2024-03-17 15:40:48 +08:00
commit fbce547370
144 changed files with 3226 additions and 1654 deletions

View File

@ -0,0 +1,134 @@
#if TOOLS
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using Godot;
namespace Generator;
/// <summary>
/// 生成 Buff 属性表
/// </summary>
public static class BuffGenerator
{
private const string SavePath = "src/game/manager/BuffRegister.cs";
public static bool Generate()
{
try
{
var str = "";
var buffInfos = new Dictionary<string, BuffInfo>();
var types = typeof(BuffGenerator).Assembly.GetTypes();
//包含[BuffAttribute]特性
var enumerable = types.Where(type =>
type.IsClass && !type.IsAbstract && type.IsAssignableTo(typeof(BuffFragment)));
foreach (var type in enumerable)
{
var attribute = (BuffAttribute)type.GetCustomAttribute(typeof(BuffAttribute), false);
if (attribute != null)
{
if (buffInfos.ContainsKey(attribute.BuffName))
{
GD.PrintErr($"Buff '{attribute.BuffName}' 重名!");
return false;
}
var buffInfo = new BuffInfo(attribute.BuffName, attribute.Description, type);
str += $"{buffInfo.Name}: {buffInfo.Description}\n";
buffInfos.Add(attribute.BuffName, buffInfo);
//判断重写参数情况
//1参数
var methodInfo1 = type.GetMethod(nameof(BuffFragment.InitParam),
BindingFlags.Instance | BindingFlags.Public, new Type[] { typeof(float) });
if (methodInfo1 != null &&
methodInfo1.GetBaseDefinition().DeclaringType != methodInfo1.DeclaringType)
{
buffInfo.Params.Add(1);
}
//2参数
var methodInfo2 = type.GetMethod(nameof(BuffFragment.InitParam),
BindingFlags.Instance | BindingFlags.Public, new Type[] { typeof(float), typeof(float) });
if (methodInfo2 != null &&
methodInfo2.GetBaseDefinition().DeclaringType != methodInfo2.DeclaringType)
{
buffInfo.Params.Add(2);
}
//3参数
var methodInfo3 = type.GetMethod(nameof(BuffFragment.InitParam),
BindingFlags.Instance | BindingFlags.Public,
new Type[] { typeof(float), typeof(float), typeof(float) });
if (methodInfo3 != null &&
methodInfo3.GetBaseDefinition().DeclaringType != methodInfo3.DeclaringType)
{
buffInfo.Params.Add(3);
}
//4参数
var methodInfo4 = type.GetMethod(nameof(BuffFragment.InitParam),
BindingFlags.Instance | BindingFlags.Public,
new Type[] { typeof(float), typeof(float), typeof(float), typeof(float) });
if (methodInfo4 != null &&
methodInfo4.GetBaseDefinition().DeclaringType != methodInfo4.DeclaringType)
{
buffInfo.Params.Add(4);
}
}
}
GenerateCode(buffInfos);
GD.Print("-----------------------------");
GD.Print(str);
}
catch (Exception e)
{
GD.PrintErr(e.Message + "\n" + e.StackTrace);
return false;
}
return true;
}
private static void GenerateCode(Dictionary<string, BuffInfo> buffInfo)
{
var str = "";
foreach (var kv in buffInfo)
{
var info = kv.Value;
var s = "";
for (var i = 0; i < info.Params.Count; i++)
{
if (i > 0) s += ", ";
s += info.Params[i];
}
str += $" BuffInfos.Add(\"{info.Name}\", new BuffInfo(\"{info.Name}\", null, new List<int>() {{ {s} }}, typeof({info.Type.FullName})));\n";
}
var code = $"using System.Collections.Generic;\n" +
$"/// <summary>\n" +
$"/// buff 注册类, 调用 Init() 函数初始化数据\n" +
$"/// 注意: 该类为 Tools 面板下自动生成的, 请不要手动编辑!\n" +
$"/// </summary>\n" +
$"public class BuffRegister\n" +
$"{{\n" +
$" /// <summary>\n" +
$" /// 所有 buff 信息\n" +
$" /// </summary>\n" +
$" public static Dictionary<string, BuffInfo> BuffInfos {{ get; private set; }}\n" +
$" /// <summary>\n" +
$" /// 初始化 buff\n" +
$" /// </summary>\n" +
$" public static void Init()\n" +
$" {{\n" +
$" BuffInfos = new Dictionary<string, BuffInfo>();\n" +
str +
$" }}\n" +
$"}}";
File.WriteAllText(SavePath, code);
}
}
#endif

Binary file not shown.

Binary file not shown.

View File

@ -20,6 +20,7 @@ public static class ExcelGenerator
public string TypeStr;
public string TypeName;
public CollectionsType CollectionsType;
public bool AutoParentheses = false;
public bool IsRefExcel;
public string RefTypeStr;
@ -392,7 +393,15 @@ public static class ExcelGenerator
MappingData mappingData;
try
{
var autoParentheses = false;
if (typeString.EndsWith('*'))
{
autoParentheses = true;
typeString = typeString.TrimEnd('*');
}
mappingData = ConvertToType(typeString.Replace(" ", ""));
mappingData.AutoParentheses = autoParentheses;
}
catch (Exception e)
{
@ -545,6 +554,17 @@ public static class ExcelGenerator
}
else
{
if (mappingData.AutoParentheses)
{
if (mappingData.CollectionsType == CollectionsType.Array)
{
cellStringValue = "[" + cellStringValue.TrimEnd(',') + "]";
}
if (mappingData.CollectionsType == CollectionsType.Map)
{
cellStringValue = "{" + cellStringValue.TrimEnd(',') + "}";
}
}
data.Add(field, JsonSerializer.Deserialize(cellStringValue, excelData.ColumnType[fieldName]));
}
}

View File

@ -1 +1 @@
5
6

View File

@ -1,12 +1,11 @@
[gd_scene load_steps=7 format=3 uid="uid://tdc6flkvlfbd"]
[gd_scene load_steps=7 format=3 uid="uid://dfpic4nubu7cf"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0001.cs" id="1_exxhd"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_x6ey2"]
[ext_resource type="SpriteFrames" uid="uid://wtvfyprel72y" path="res://resource/spriteFrames/prop/buff/BuffProp0001.tres" id="3_hfyao"]
[ext_resource type="Script" path="res://src/game/activity/prop/BuffProp.cs" id="1_nlcp6"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_imicp"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("2_x6ey2")
shader = ExtResource("2_imicp")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
@ -18,7 +17,7 @@ shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("2_x6ey2")
shader = ExtResource("2_imicp")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
@ -28,12 +27,15 @@ shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="SpriteFrames" id="SpriteFrames_y5dlc"]
resource_local_to_scene = true
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0001" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
[node name="BuffProp" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_exxhd")
script = ExtResource("1_nlcp6")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
@ -44,7 +46,7 @@ material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_hfyao")
sprite_frames = SubResource("SpriteFrames_y5dlc")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://da131v16ct8c4"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_2qy1s"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0002.cs" id="1_5ouvd"]
[ext_resource type="SpriteFrames" uid="uid://7t57gsyff470" path="res://resource/spriteFrames/prop/buff/BuffProp0002.tres" id="3_v4alm"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_2qy1s")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_2qy1s")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0002" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_5ouvd")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_v4alm")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://ds21gbw4wyvn6"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0003.cs" id="1_h8d6p"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_udh4b"]
[ext_resource type="SpriteFrames" uid="uid://nqoieett75t3" path="res://resource/spriteFrames/prop/buff/BuffProp0003.tres" id="3_h72sh"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_udh4b")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_udh4b")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0003" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_h8d6p")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_h72sh")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://cq8edil51uccc"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0004.cs" id="1_7bt71"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_j7hva"]
[ext_resource type="SpriteFrames" uid="uid://bj0k3pipwp46x" path="res://resource/spriteFrames/prop/buff/BuffProp0004.tres" id="3_pdaqp"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_j7hva")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_j7hva")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0004" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_7bt71")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_pdaqp")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://3xtqrx17y14p"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0005.cs" id="1_6dlc2"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_qa4yg"]
[ext_resource type="SpriteFrames" uid="uid://bvqp46degt1rg" path="res://resource/spriteFrames/prop/buff/BuffProp0005.tres" id="3_1mcnn"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_qa4yg")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_qa4yg")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0005" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_6dlc2")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_1mcnn")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://bfc03e4aftg21"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0006.cs" id="1_2cooj"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_c1mo1"]
[ext_resource type="SpriteFrames" uid="uid://bxn65oovekw6k" path="res://resource/spriteFrames/prop/buff/BuffProp0006.tres" id="3_nd6lq"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_c1mo1")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_c1mo1")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0006" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_2cooj")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_nd6lq")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://cwfuv68ijkmfg"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0007.cs" id="1_71c3m"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_ofs5v"]
[ext_resource type="SpriteFrames" uid="uid://et840sb4d1g3" path="res://resource/spriteFrames/prop/buff/BuffProp0007.tres" id="3_xxla0"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_ofs5v")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_ofs5v")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0007" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_71c3m")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_xxla0")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://cn1tmegrfgr8h"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0008.cs" id="1_b5ys1"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_tdrqb"]
[ext_resource type="SpriteFrames" uid="uid://bs41p1hpkpucb" path="res://resource/spriteFrames/prop/buff/BuffProp0008.tres" id="3_5noil"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_tdrqb")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_tdrqb")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0008" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_b5ys1")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_5noil")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://gh0dxgvshwpm"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0009.cs" id="1_e1yrg"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_eq0bc"]
[ext_resource type="SpriteFrames" uid="uid://sqcibio78nwc" path="res://resource/spriteFrames/prop/buff/BuffProp0009.tres" id="3_qrjbu"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_eq0bc")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_eq0bc")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0009" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_e1yrg")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_qrjbu")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://do5mmmapnyxg4"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="1_5yy3i"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0010.cs" id="1_q6g7l"]
[ext_resource type="SpriteFrames" uid="uid://dxqtm7xgn2wms" path="res://resource/spriteFrames/prop/buff/BuffProp0010.tres" id="3_i5q7j"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("1_5yy3i")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("1_5yy3i")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0010" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_q6g7l")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_i5q7j")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://bs3ysp1587xqe"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0011.cs" id="1_dnyh3"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_d5gcm"]
[ext_resource type="SpriteFrames" uid="uid://bq7t8ruav5g41" path="res://resource/spriteFrames/prop/buff/BuffProp0011.tres" id="3_hrxu3"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("2_d5gcm")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("2_d5gcm")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0011" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_dnyh3")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_hrxu3")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://ph6x3vmkp11j"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0012.cs" id="1_w2r3p"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_kwnd5"]
[ext_resource type="SpriteFrames" uid="uid://rksmm8jwex7l" path="res://resource/spriteFrames/prop/buff/BuffProp0012.tres" id="3_fijh4"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("2_kwnd5")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("2_kwnd5")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0012" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_w2r3p")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_fijh4")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://di6874mbwbpkd"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0013.cs" id="1_iy1yu"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_n5bm6"]
[ext_resource type="SpriteFrames" uid="uid://cdnrqfy0vfyu5" path="res://resource/spriteFrames/prop/buff/BuffProp0013.tres" id="3_4qjjr"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("2_n5bm6")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("2_n5bm6")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0013" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_iy1yu")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_4qjjr")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -1,50 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://dw2tt5urcxtxe"]
[ext_resource type="Script" path="res://src/game/activity/prop/buff/BuffProp0014.cs" id="1_3n5b4"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_ts4j6"]
[ext_resource type="SpriteFrames" uid="uid://ux70kddi6wwy" path="res://resource/spriteFrames/prop/buff/BuffProp0014.tres" id="3_byb1t"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mrkt4"]
resource_local_to_scene = true
shader = ExtResource("2_ts4j6")
shader_parameter/blend = Color(0, 0, 0, 0.470588)
shader_parameter/schedule = 1.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = false
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b6ii6"]
resource_local_to_scene = true
shader = ExtResource("2_ts4j6")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(0, 0, 0, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpqup"]
size = Vector2(12, 10)
[node name="BuffProp0014" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
collision_layer = 4
script = ExtResource("1_3n5b4")
ShadowSprite = NodePath("ShadowSprite")
AnimatedSprite = NodePath("AnimatedSprite")
Collision = NodePath("Collision")
[node name="ShadowSprite" type="Sprite2D" parent="."]
z_index = -1
material = SubResource("ShaderMaterial_mrkt4")
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_b6ii6")
sprite_frames = ExtResource("3_byb1t")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cpqup")

View File

@ -88,6 +88,18 @@ text = "重新生成UiManagerMethods.cs代码"
layout_mode = 2
text = "运行"
[node name="HBoxContainer6" type="HBoxContainer" parent="ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 5
[node name="Label" type="Label" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6"]
layout_mode = 2
text = "生成Buff属性表"
[node name="Button" type="Button" parent="ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6"]
layout_mode = 2
text = "运行"
[node name="HBoxContainer7" type="HBoxContainer" parent="ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 5

View File

@ -1,9 +1,16 @@
[gd_scene load_steps=6 format=3 uid="uid://b2xq02i3vxct"]
[gd_scene load_steps=14 format=3 uid="uid://b2xq02i3vxct"]
[ext_resource type="Script" path="res://src/game/ui/encyclopedia/EncyclopediaPanel.cs" id="1_hd86y"]
[ext_resource type="Texture2D" uid="uid://blfvsup876agh" path="res://resource/sprite/ui/commonIcon/Search.png" id="2_3ln1u"]
[ext_resource type="Texture2D" uid="uid://c0st2iiql8igg" path="res://resource/sprite/ui/encyclopedia/TitleBg.png" id="3_gdtik"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="3_o1xl7"]
[ext_resource type="Texture2D" uid="uid://bn47bmilcw4x0" path="res://resource/sprite/ui/commonIcon/Select2.png" id="4_gtlqd"]
[ext_resource type="Texture2D" uid="uid://dahib4qcevboo" path="res://resource/sprite/ui/encyclopedia/Panel2.png" id="4_21546"]
[ext_resource type="Texture2D" uid="uid://jb73i5q1dv2a" path="res://resource/sprite/ui/encyclopedia/Tab.png" id="4_nm64b"]
[ext_resource type="Texture2D" uid="uid://brevrlfdtllmk" path="res://resource/sprite/ui/encyclopedia/Select.png" id="5_f0anf"]
[ext_resource type="Texture2D" uid="uid://cu5y32wfai4pn" path="res://resource/sprite/ui/encyclopedia/Item.png" id="5_niceh"]
[ext_resource type="Texture2D" uid="uid://conjg6fw6670x" path="res://resource/sprite/ui/encyclopedia/Panel.png" id="7_hfdat"]
[ext_resource type="Shader" path="res://resource/material/Outline.gdshader" id="9_mmpq6"]
[ext_resource type="Texture2D" uid="uid://cuas0bdjlpmwb" path="res://resource/sprite/ui/encyclopedia/Close.png" id="10_jgsfw"]
[ext_resource type="Texture2D" uid="uid://7x5b5ed7hk7w" path="res://resource/sprite/ui/encyclopedia/CloseSelect.png" id="11_247gy"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gm0bl"]
resource_local_to_scene = true
@ -17,118 +24,266 @@ shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qdxtu"]
resource_local_to_scene = true
shader = ExtResource("9_mmpq6")
shader_parameter/outline_color = Color(1, 1, 1, 1)
[node name="Encyclopedia" 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_hd86y")
[node name="Panel2" type="Panel" parent="."]
[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
size_flags_horizontal = 3
size_flags_stretch_ratio = 75.0
color = Color(0, 0, 0, 0.705882)
[node name="MarginContainer" type="MarginContainer" parent="Panel2"]
[node name="NinePatchRect" type="NinePatchRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 3.0
offset_top = 54.0
offset_right = -3.0
offset_bottom = -3.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("7_hfdat")
region_rect = Rect2(0, 0, 128, 128)
patch_margin_left = 56
patch_margin_top = 56
patch_margin_right = 56
patch_margin_bottom = 56
[node name="TextureRect" type="TextureRect" parent="NinePatchRect"]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_left = -3.0
offset_top = -35.0
offset_right = -3.0
offset_bottom = 69.0
grow_horizontal = 2
texture = ExtResource("3_gdtik")
stretch_mode = 3
[node name="Label" type="Label" parent="NinePatchRect/TextureRect"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -3.0
offset_bottom = -15.0
grow_horizontal = 2
grow_vertical = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "图鉴"
horizontal_alignment = 1
vertical_alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="NinePatchRect"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 2
theme_override_constants/margin_top = 2
theme_override_constants/margin_right = 2
theme_override_constants/margin_bottom = 2
theme_override_constants/margin_left = 40
theme_override_constants/margin_top = 80
theme_override_constants/margin_right = 40
theme_override_constants/margin_bottom = 40
[node name="VBoxContainer2" type="VBoxContainer" parent="Panel2/MarginContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="NinePatchRect/MarginContainer"]
layout_mode = 2
[node name="VBoxContainer2" type="VBoxContainer" parent="NinePatchRect/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 3.0
theme_override_constants/separation = 0
[node name="MarginContainer" type="MarginContainer" parent="Panel2/MarginContainer/VBoxContainer2"]
[node name="Control" type="Control" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2"]
custom_minimum_size = Vector2(2.08165e-12, 48)
layout_mode = 2
theme_override_constants/margin_left = 2
theme_override_constants/margin_top = 2
theme_override_constants/margin_right = 2
theme_override_constants/margin_bottom = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Panel2/MarginContainer/VBoxContainer2/MarginContainer"]
custom_minimum_size = Vector2(0, 100)
[node name="TabButton" type="TextureButton" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/Control"]
layout_mode = 1
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 16.0
offset_top = -68.0
offset_right = 96.0
offset_bottom = 4.0
grow_vertical = 0
texture_normal = ExtResource("4_nm64b")
[node name="Icon" type="TextureRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/Control/TabButton"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 8.0
offset_top = 24.0
offset_right = -8.0
grow_horizontal = 2
grow_vertical = 2
stretch_mode = 3
[node name="NinePatchRect" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2"]
layout_mode = 2
size_flags_vertical = 3
texture = ExtResource("4_21546")
region_rect = Rect2(0, 0, 128, 128)
patch_margin_left = 56
patch_margin_top = 56
patch_margin_right = 56
patch_margin_bottom = 56
[node name="LineEdit" type="LineEdit" parent="Panel2/MarginContainer/VBoxContainer2/MarginContainer/HBoxContainer"]
custom_minimum_size = Vector2(500, 44)
layout_mode = 2
size_flags_vertical = 4
placeholder_text = "搜索名称"
[node name="Search" type="Button" parent="Panel2/MarginContainer/VBoxContainer2/MarginContainer/HBoxContainer"]
custom_minimum_size = Vector2(44, 44)
layout_mode = 2
size_flags_vertical = 4
icon = ExtResource("2_3ln1u")
[node name="ScrollContainer" type="ScrollContainer" parent="Panel2/MarginContainer/VBoxContainer2"]
layout_mode = 2
[node name="ScrollContainer" type="ScrollContainer" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 24.0
offset_top = 24.0
offset_right = -24.0
offset_bottom = -24.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
size_flags_stretch_ratio = 75.0
[node name="ObjectButton" type="Button" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer"]
custom_minimum_size = Vector2(124, 160)
[node name="ObjectButton" type="TextureButton" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer"]
custom_minimum_size = Vector2(200, 120)
layout_mode = 2
[node name="PreviewImage" type="TextureRect" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer/ObjectButton"]
[node name="Bg" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer/ObjectButton"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_niceh")
region_rect = Rect2(0, 0, 56, 56)
patch_margin_left = 24
patch_margin_top = 24
patch_margin_right = 24
patch_margin_bottom = 24
[node name="PreviewImage" type="TextureRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer/ObjectButton"]
material = SubResource("ShaderMaterial_gm0bl")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 2.0
offset_top = 2.0
offset_right = -2.0
offset_bottom = -38.0
offset_right = -150.0
offset_bottom = -90.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(4, 4)
mouse_filter = 2
expand_mode = 2
stretch_mode = 5
stretch_mode = 3
[node name="ObjectName" type="Label" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer/ObjectButton"]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -43.0
offset_right = 124.0
offset_bottom = 43.0
grow_horizontal = 2
grow_vertical = 0
scale = Vector2(0.5, 0.5)
text = "武器"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 3
clip_text = true
text_overrun_behavior = 3
[node name="Select" type="NinePatchRect" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer/ObjectButton"]
[node name="Select" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer/ObjectButton"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_gtlqd")
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 8
patch_margin_top = 8
patch_margin_right = 8
patch_margin_bottom = 8
texture = ExtResource("5_f0anf")
region_rect = Rect2(0, 0, 16, 16)
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="VBoxContainer3" type="VBoxContainer" parent="NinePatchRect/MarginContainer/HBoxContainer"]
custom_minimum_size = Vector2(452, 2.08165e-12)
layout_mode = 2
[node name="NinePatchRect" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3"]
layout_mode = 2
size_flags_vertical = 3
texture = ExtResource("4_21546")
patch_margin_left = 56
patch_margin_top = 56
patch_margin_right = 56
patch_margin_bottom = 56
[node name="ItemInfoBg" type="VBoxContainer" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3/NinePatchRect"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 28.0
offset_top = 28.0
offset_right = -28.0
offset_bottom = -28.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 16
[node name="ItemName" type="Label" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3/NinePatchRect/ItemInfoBg"]
layout_mode = 2
text = "名称"
horizontal_alignment = 1
vertical_alignment = 1
[node name="NinePatchRect" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3/NinePatchRect/ItemInfoBg"]
custom_minimum_size = Vector2(396, 300)
layout_mode = 2
texture = ExtResource("4_21546")
patch_margin_left = 56
patch_margin_top = 56
patch_margin_right = 56
patch_margin_bottom = 56
[node name="ItemTexture" type="TextureRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3/NinePatchRect/ItemInfoBg/NinePatchRect"]
material = SubResource("ShaderMaterial_qdxtu")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 20.0
offset_top = 20.0
offset_right = -287.0
offset_bottom = -215.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(4, 4)
size_flags_vertical = 3
stretch_mode = 3
[node name="ItemDes" type="RichTextLabel" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3/NinePatchRect/ItemInfoBg"]
layout_mode = 2
size_flags_vertical = 3
text = "文本描述"
[node name="CloseButton" type="TextureButton" parent="NinePatchRect"]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -88.0
offset_top = -20.0
offset_right = -24.0
offset_bottom = 44.0
grow_horizontal = 0
texture_normal = ExtResource("10_jgsfw")
texture_pressed = ExtResource("11_247gy")
texture_hover = ExtResource("11_247gy")

View File

@ -54,10 +54,11 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_k8b5h")
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="VisibleButton" type="TextureButton" parent="VBoxContainer/ScrollContainer/LayerButton"]
layout_mode = 1

View File

@ -136,10 +136,10 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_jpt3y")
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="WaveVisibleButton" type="Button" parent="VBoxContainer/ScrollContainer/VBoxContainer/WaveItem/WaveContainer"]
custom_minimum_size = Vector2(36, 36)
@ -192,7 +192,7 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_jpt3y")
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4

View File

@ -157,10 +157,10 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_f4thw")
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="TerrainName" type="Label" parent="VBoxContainer/Panel/MarginContainer/Tab2/ScrollContainer/TerrainItem"]
layout_mode = 1
@ -260,10 +260,10 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_f4thw")
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="MaskBg" type="ColorRect" parent="."]
layout_mode = 1

View File

@ -98,10 +98,10 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_rcbyx")
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="Panel2" type="Panel" parent="HBoxContainer"]
layout_mode = 2
@ -212,10 +212,10 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_rcbyx")
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="ErrorTexture" type="TextureRect" parent="HBoxContainer/Panel2/MarginContainer/VBoxContainer/ScrollContainer/RoomButton"]
layout_mode = 0

View File

@ -73,10 +73,11 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_4nhjm")
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="Panel2" type="Panel" parent="HBoxContainer"]
layout_mode = 2

View File

@ -152,10 +152,10 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_t8bqb")
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="RightRoot" type="Panel" parent="Bg/VBoxContainer/HBoxContainer"]
clip_children = 2

View File

@ -299,7 +299,7 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_g5ey6")
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4

View File

@ -119,10 +119,10 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_l4lwx")
region_rect = Rect2(0, 0, 36, 36)
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="Panel" type="Panel" parent="Panel/MarginContainer/HBoxContainer2"]
layout_mode = 2

View File

@ -124,10 +124,10 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_ka47m")
patch_margin_left = 3
patch_margin_top = 3
patch_margin_right = 3
patch_margin_bottom = 3
patch_margin_left = 4
patch_margin_top = 4
patch_margin_right = 4
patch_margin_bottom = 4
[node name="TopBg" type="ColorRect" parent="VSplitContainer/PanelTop/HSplitContainer"]
clip_children = 2

View File

@ -46,7 +46,7 @@ material = SubResource("ShaderMaterial_o5ytq")
[node name="AnimatedSprite" parent="." index="1"]
material = SubResource("ShaderMaterial_rtliw")
position = Vector2(10, 1)
position = Vector2(10, 0)
sprite_frames = ExtResource("4_uymcs")
[node name="ShellPoint" parent="AnimatedSprite" index="0"]

View File

@ -0,0 +1 @@
[]

View File

@ -1,8 +1,8 @@
[
{
"Id": "role0001",
"Type": 3,
"Name": "\u73A9\u5BB6",
"Type": 3,
"Quality": 0,
"Price": 0,
"Intro": "\u73A9\u5BB6",
@ -15,8 +15,8 @@
},
{
"Id": "enemy0001",
"Type": 4,
"Name": "\u654C\u4EBA",
"Type": 4,
"Quality": 0,
"Price": 0,
"Intro": "\u654C\u4EBA",
@ -29,8 +29,8 @@
},
{
"Id": "enemy0002",
"Type": 4,
"Name": "\u654C\u4EBA2",
"Type": 4,
"Quality": 0,
"Price": 0,
"Intro": "\u654C\u4EBA2",
@ -43,8 +43,8 @@
},
{
"Id": "weapon0001",
"Type": 5,
"Name": "\u6B65\u67AA",
"Type": 5,
"Quality": 3,
"Price": 0,
"Intro": "",
@ -57,8 +57,8 @@
},
{
"Id": "weapon0002",
"Type": 5,
"Name": "\u9730\u5F39\u67AA",
"Type": 5,
"Quality": 3,
"Price": 0,
"Intro": "",
@ -71,8 +71,8 @@
},
{
"Id": "weapon0003",
"Type": 5,
"Name": "\u624B\u67AA",
"Type": 5,
"Quality": 2,
"Price": 0,
"Intro": "",
@ -85,8 +85,8 @@
},
{
"Id": "weapon0004",
"Type": 5,
"Name": "\u5200",
"Type": 5,
"Quality": 4,
"Price": 0,
"Intro": "",
@ -99,8 +99,8 @@
},
{
"Id": "weapon0005",
"Type": 5,
"Name": "\u72D9\u51FB\u67AA",
"Type": 5,
"Quality": 4,
"Price": 0,
"Intro": "",
@ -113,8 +113,8 @@
},
{
"Id": "weapon0006",
"Type": 5,
"Name": "\u51B2\u950B\u67AA",
"Type": 5,
"Quality": 2,
"Price": 0,
"Intro": "",
@ -127,8 +127,8 @@
},
{
"Id": "weapon0007",
"Type": 5,
"Name": "\u6C64\u59C6\u900A\u51B2\u950B\u67AA",
"Type": 5,
"Quality": 4,
"Price": 0,
"Intro": "",
@ -141,8 +141,8 @@
},
{
"Id": "weapon0008",
"Type": 5,
"Name": "\u6FC0\u5149\u624B\u67AA",
"Type": 5,
"Quality": 3,
"Price": 0,
"Intro": "",
@ -155,8 +155,8 @@
},
{
"Id": "weapon0009",
"Type": 5,
"Name": "\u69B4\u5F39\u53D1\u5C04\u5668",
"Type": 5,
"Quality": 4,
"Price": 0,
"Intro": "",
@ -169,8 +169,8 @@
},
{
"Id": "weapon0010",
"Type": 5,
"Name": "M1\u578B\u70ED\u80FD\u72D9\u51FB\u67AA",
"Type": 5,
"Quality": 5,
"Price": 0,
"Intro": "",
@ -183,8 +183,8 @@
},
{
"Id": "weapon0011",
"Type": 5,
"Name": "weapon0011",
"Type": 5,
"Quality": 5,
"Price": 0,
"Intro": "",
@ -197,8 +197,8 @@
},
{
"Id": "weapon0013",
"Type": 5,
"Name": "P90",
"Type": 5,
"Quality": 4,
"Price": 0,
"Intro": "",
@ -211,8 +211,8 @@
},
{
"Id": "weapon0014",
"Type": 5,
"Name": "\u5DE6\u8F6E",
"Type": 5,
"Quality": 2,
"Price": 0,
"Intro": "",
@ -225,8 +225,8 @@
},
{
"Id": "weapon0016",
"Type": 5,
"Name": "\u6728\u8D28\u77ED\u5F13",
"Type": 5,
"Quality": 2,
"Price": 0,
"Intro": "",
@ -239,8 +239,8 @@
},
{
"Id": "bullet0001",
"Type": 6,
"Name": "",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -253,8 +253,8 @@
},
{
"Id": "bullet0002",
"Type": 6,
"Name": "",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -267,8 +267,8 @@
},
{
"Id": "bullet0003",
"Type": 6,
"Name": "",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -281,8 +281,8 @@
},
{
"Id": "bullet0004",
"Type": 6,
"Name": "\u69B4\u5F39\u70AE",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -295,8 +295,8 @@
},
{
"Id": "bullet0005",
"Type": 6,
"Name": "\u629B\u7269\u7EBF\u7C98\u6DB2\u5B50\u5F39",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -309,8 +309,8 @@
},
{
"Id": "bullet0006",
"Type": 6,
"Name": "\u62D6\u5C3E\u5B50\u5F39",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -323,8 +323,8 @@
},
{
"Id": "bullet0007",
"Type": 6,
"Name": "",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -337,8 +337,8 @@
},
{
"Id": "bullet0008",
"Type": 6,
"Name": "",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -351,8 +351,8 @@
},
{
"Id": "bullet0009",
"Type": 6,
"Name": "\u5F13\u7BAD",
"Type": 6,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -365,8 +365,8 @@
},
{
"Id": "shell0001",
"Type": 7,
"Name": "",
"Type": 7,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -379,8 +379,8 @@
},
{
"Id": "shell0002",
"Type": 7,
"Name": "",
"Type": 7,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -393,8 +393,8 @@
},
{
"Id": "shell0003",
"Type": 7,
"Name": "",
"Type": 7,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -407,8 +407,8 @@
},
{
"Id": "shell0004",
"Type": 7,
"Name": "",
"Type": 7,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -421,8 +421,8 @@
},
{
"Id": "enemy_dead0001",
"Type": 8,
"Name": "",
"Type": 8,
"Quality": 0,
"Price": 0,
"Intro": "\u654C\u4EBA1\u6B7B\u4EA1\u788E\u7247",
@ -435,8 +435,8 @@
},
{
"Id": "enemy_dead0002",
"Type": 8,
"Name": "",
"Type": 8,
"Quality": 0,
"Price": 0,
"Intro": "\u654C\u4EBA2\u6B7B\u4EA1",
@ -449,204 +449,204 @@
},
{
"Id": "prop0001",
"Type": 9,
"Name": "\u978B\u5B50",
"Type": 9,
"Quality": 4,
"Price": 0,
"Intro": "\u63D0\u9AD8\u79FB\u52A8\u901F\u5EA6",
"Details": "",
"Details": "\u63D0\u9AD8\u89D2\u8272\u7684\u57FA\u7840\u79FB\u52A8\u901F\u5EA6",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0001.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0001.png",
"ShowInMapEditor": true
},
{
"Id": "prop0002",
"Type": 9,
"Name": "\u5FC3\u4E4B\u5BB9\u5668",
"Type": 9,
"Quality": 3,
"Price": 0,
"Intro": "\u63D0\u9AD8\u8840\u91CF\u4E0A\u9650",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0002.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0002.png",
"ShowInMapEditor": true
},
{
"Id": "prop0003",
"Type": 9,
"Name": "\u62A4\u76FE",
"Type": 9,
"Quality": 3,
"Price": 0,
"Intro": "\u53EF\u4EE5\u62B5\u6321\u5B50\u5F39\uFF0C\u968F\u65F6\u95F4\u63A8\u79FB\u81EA\u52A8\u6062\u590D",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0003.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0003.png",
"ShowInMapEditor": true
},
{
"Id": "prop0004",
"Type": 9,
"Name": "\u62A4\u76FE\u8BA1\u65F6\u5668",
"Type": 9,
"Quality": 4,
"Price": 0,
"Intro": "\u63D0\u9AD8\u62A4\u76FE\u6062\u590D\u901F\u5EA6",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0004.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0004.png",
"ShowInMapEditor": true
},
{
"Id": "prop0005",
"Type": 9,
"Name": "\u6740\u4F24\u5F39",
"Type": 9,
"Quality": 4,
"Price": 0,
"Intro": "\u63D0\u9AD8\u5B50\u5F39\u4F24\u5BB3",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0005.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0005.png",
"ShowInMapEditor": true
},
{
"Id": "prop0006",
"Type": 9,
"Name": "\u7EA2\u5B9D\u77F3\u6212\u6307",
"Type": 9,
"Quality": 4,
"Price": 0,
"Intro": "\u53D7\u4F24\u540E\u5EF6\u957F\u65E0\u654C\u65F6\u95F4",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0006.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0006.png",
"ShowInMapEditor": true
},
{
"Id": "prop0007",
"Type": 9,
"Name": "\u5907\u7528\u62A4\u76FE",
"Type": 9,
"Quality": 3,
"Price": 0,
"Intro": "\u53D7\u4F24\u65F6\u6709\u4E00\u5B9A\u6982\u7387\u62B5\u6D88\u4F24\u5BB3",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0007.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0007.png",
"ShowInMapEditor": true
},
{
"Id": "prop0008",
"Type": 9,
"Name": "\u773C\u955C",
"Type": 9,
"Quality": 3,
"Price": 0,
"Intro": "\u63D0\u9AD8\u6B66\u5668\u7CBE\u51C6\u5EA6",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0008.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0008.png",
"ShowInMapEditor": true
},
{
"Id": "prop0009",
"Type": 9,
"Name": "\u9AD8\u901F\u5B50\u5F39",
"Type": 9,
"Quality": 3,
"Price": 0,
"Intro": "\u63D0\u9AD8\u5B50\u5F39\u901F\u5EA6\u548C\u5C04\u7A0B",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0009.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0009.png",
"ShowInMapEditor": true
},
{
"Id": "prop0010",
"Type": 9,
"Name": "\u5206\u88C2\u5B50\u5F39",
"Type": 9,
"Quality": 4,
"Price": 0,
"Intro": "\u5B50\u5F39\u6570\u91CF\u7FFB\u500D, \u4F46\u662F\u7CBE\u51C6\u5EA6, \u51FB\u9000\u548C\u4F24\u5BB3\u964D\u4F4E",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0010.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0010.png",
"ShowInMapEditor": true
},
{
"Id": "prop0011",
"Type": 9,
"Name": "\u5F39\u5C04\u5B50\u5F39",
"Type": 9,
"Quality": 4,
"Price": 0,
"Intro": "\u5B50\u5F39\u53CD\u5F39\u6B21\u6570\u002B2",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0011.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0011.png",
"ShowInMapEditor": true
},
{
"Id": "prop0012",
"Type": 9,
"Name": "\u7A7F\u900F\u5B50\u5F39",
"Type": 9,
"Quality": 4,
"Price": 0,
"Intro": "\u5B50\u5F39\u7A7F\u900F\u002B1",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0012.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0012.png",
"ShowInMapEditor": true
},
{
"Id": "prop0013",
"Type": 9,
"Name": "\u6B66\u5668\u80CC\u5305",
"Type": 9,
"Quality": 2,
"Price": 0,
"Intro": "\u6B66\u5668\u5BB9\u91CF\u002B1",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0013.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0013.png",
"ShowInMapEditor": true
},
{
"Id": "prop0014",
"Type": 9,
"Name": "\u9053\u5177\u80CC\u5305",
"Type": 9,
"Quality": 2,
"Price": 0,
"Intro": "\u9053\u5177\u5BB9\u91CF\u002B1",
"Details": "",
"IsStatic": false,
"__Material": "",
"Prefab": "res://prefab/prop/buff/BuffProp0014.tscn",
"Prefab": "res://prefab/prop/BuffProp.tscn",
"Icon": "res://resource/sprite/prop/buff/BuffProp0014.png",
"ShowInMapEditor": true
},
{
"Id": "prop5000",
"Type": 9,
"Name": "\u533B\u836F\u7BB1",
"Type": 9,
"Quality": 1,
"Price": 0,
"Intro": "\u4F7F\u7528\u540E\u56DE\u590D\u4E00\u9897\u7EA2\u5FC3",
@ -659,8 +659,8 @@
},
{
"Id": "prop5001",
"Type": 9,
"Name": "\u5F39\u836F\u7BB1",
"Type": 9,
"Quality": 1,
"Price": 0,
"Intro": "\u4F7F\u7528\u540E\u8865\u5145\u5F53\u524D\u6B66\u5668\u5907\u7528\u5F39\u836F",
@ -673,8 +673,8 @@
},
{
"Id": "treasure_box0001",
"Type": 10,
"Name": "\u6728\u8D28\u5B9D\u7BB1",
"Type": 10,
"Quality": 0,
"Price": 0,
"Intro": "\u6728\u8D28\u5B9D\u7BB1",
@ -687,8 +687,8 @@
},
{
"Id": "other_door_e",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u4E1C\u4FA7)",
@ -701,8 +701,8 @@
},
{
"Id": "other_door_w",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u897F\u4FA7)",
@ -715,8 +715,8 @@
},
{
"Id": "other_door_s",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u5357\u4FA7)",
@ -729,8 +729,8 @@
},
{
"Id": "other_door_n",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "\u5730\u7262\u623F\u95F4\u7684\u95E8(\u5317\u4FA7)",
@ -743,8 +743,8 @@
},
{
"Id": "gold_10",
"Type": 99,
"Name": "\u91D1\u5E01",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "\u83B7\u5F9710\u91D1\u5E01",
@ -757,8 +757,8 @@
},
{
"Id": "gold_5",
"Type": 99,
"Name": "\u94F6\u5E01",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "\u83B7\u5F975\u91D1\u5E01",
@ -771,8 +771,8 @@
},
{
"Id": "gold_1",
"Type": 99,
"Name": "\u94DC\u5E01",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "\u83B7\u5F971\u91D1\u5E01",
@ -785,8 +785,8 @@
},
{
"Id": "item_0001",
"Type": 99,
"Name": "\u7535\u8111\u684C",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -799,8 +799,8 @@
},
{
"Id": "item_0002",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -813,8 +813,8 @@
},
{
"Id": "item_0003",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -827,8 +827,8 @@
},
{
"Id": "item_0004",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -841,8 +841,8 @@
},
{
"Id": "item_0005",
"Type": 99,
"Name": "",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -855,8 +855,8 @@
},
{
"Id": "item_0006",
"Type": 99,
"Name": "\u7535\u89C6\u684C",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -869,8 +869,8 @@
},
{
"Id": "item_0007",
"Type": 99,
"Name": "\u9152\u67DC",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -883,8 +883,8 @@
},
{
"Id": "item_0008",
"Type": 99,
"Name": "\u6C99\u53D1\u65C1\u67DC\u5B50",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -897,8 +897,8 @@
},
{
"Id": "item_0009",
"Type": 99,
"Name": "\u5427\u53F0",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -911,8 +911,8 @@
},
{
"Id": "item_0010",
"Type": 99,
"Name": "\u544A\u793A\u724C",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -925,8 +925,8 @@
},
{
"Id": "item_0011",
"Type": 99,
"Name": "\u7EFF\u6728\u51F3",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -939,8 +939,8 @@
},
{
"Id": "item_0012",
"Type": 99,
"Name": "\u6C99\u53D1\u7AD6",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -953,8 +953,8 @@
},
{
"Id": "item_0013",
"Type": 99,
"Name": "\u6C99\u53D1\u6A2A\u7740",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -967,8 +967,8 @@
},
{
"Id": "item_0014",
"Type": 99,
"Name": "\u61D2\u4EBA\u6C99\u53D1",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -981,8 +981,8 @@
},
{
"Id": "item_0015",
"Type": 99,
"Name": "\u5DE6\u4E0B\u89D2\u684C\u5B50",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -995,8 +995,8 @@
},
{
"Id": "item_0016",
"Type": 99,
"Name": "\u5DE6\u4E0B\u89D2\u77ED\u6C99\u53D1",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1009,8 +1009,8 @@
},
{
"Id": "item_0017",
"Type": 99,
"Name": "\u4E2D\u95F4\u684C\u5B50",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1023,8 +1023,8 @@
},
{
"Id": "item_0018",
"Type": 99,
"Name": "\u5DE6\u4E0B\u89D2\u957F\u6C99\u53D1",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1037,8 +1037,8 @@
},
{
"Id": "item_0019",
"Type": 99,
"Name": "\u53F3\u4E0B\u89D2\u684C\u5B50",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1051,8 +1051,8 @@
},
{
"Id": "item_0020",
"Type": 99,
"Name": "\u8F6C\u6905",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1065,8 +1065,8 @@
},
{
"Id": "item_0021",
"Type": 99,
"Name": "\u53F3\u4E0B\u89D2\u957F\u6C99\u53D1",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1079,8 +1079,8 @@
},
{
"Id": "item_0022",
"Type": 99,
"Name": "\u8863\u67B6",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1093,8 +1093,8 @@
},
{
"Id": "item_0023",
"Type": 99,
"Name": "\u7EFF\u690D",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1107,8 +1107,8 @@
},
{
"Id": "item_0024",
"Type": 99,
"Name": "\u65B0\u624B\u6559\u5B66\u5173\u5361",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1121,8 +1121,8 @@
},
{
"Id": "item_0025",
"Type": 99,
"Name": "\u8302\u76DB\u82B1\u76C6",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1135,8 +1135,8 @@
},
{
"Id": "item_0026",
"Type": 99,
"Name": "\u544A\u793A\u7248",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1149,8 +1149,8 @@
},
{
"Id": "item_0031",
"Type": 99,
"Name": "\u53F0\u706F",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1163,8 +1163,8 @@
},
{
"Id": "item_0033",
"Type": 99,
"Name": "\u5427\u53F0",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1177,8 +1177,8 @@
},
{
"Id": "item_0036",
"Type": 99,
"Name": "\u53F0\u7403\u684C",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1191,8 +1191,8 @@
},
{
"Id": "item_0054",
"Type": 99,
"Name": "\u8D29\u5356\u673A",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1205,8 +1205,8 @@
},
{
"Id": "item_0056",
"Type": 99,
"Name": "\u957F\u51F3\u5B50",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",
@ -1219,8 +1219,8 @@
},
{
"Id": "item_0057",
"Type": 99,
"Name": "\u5361\u5E26\u76D2\u5B50",
"Type": 99,
"Quality": 0,
"Price": 0,
"Intro": "",

View File

@ -0,0 +1,165 @@
[
{
"Id": "0001",
"Remark": "\u978B\u5B50",
"__Activity": "prop0001",
"Buff": {
"MoveSpeed": [
30
]
}
},
{
"Id": "0002",
"Remark": "\u5FC3\u4E4B\u5BB9\u5668",
"__Activity": "prop0002",
"Buff": {
"MaxHp": [
2
]
}
},
{
"Id": "0003",
"Remark": "\u62A4\u76FE",
"__Activity": "prop0003",
"Buff": {
"MaxShield": [
1
]
}
},
{
"Id": "0004",
"Remark": "\u62A4\u76FE\u8BA1\u65F6\u5668",
"__Activity": "prop0004",
"Buff": {
"ShieldRecoveryTime": [
2.5
]
}
},
{
"Id": "0005",
"Remark": "\u6740\u4F24\u5F39",
"__Activity": "prop0005",
"Buff": {
"Damage": [
2,
0.2
]
}
},
{
"Id": "0006",
"Remark": "\u7EA2\u5B9D\u77F3\u6212\u6307",
"__Activity": "prop0006",
"Buff": {
"WoundedInvincibleTime": [
2
]
}
},
{
"Id": "0007",
"Remark": "\u5907\u7528\u62A4\u76FE",
"__Activity": "prop0007",
"Buff": {
"OffsetInjury": [
0.15
]
}
},
{
"Id": "0008",
"Remark": "\u773C\u955C",
"__Activity": "prop0008",
"Buff": {
"Scattering": [
0.5
]
}
},
{
"Id": "0009",
"Remark": "\u9AD8\u901F\u5B50\u5F39",
"__Activity": "prop0009",
"Buff": {
"BulletSpeed": [
2,
0.25
],
"BulletDistance": [
2,
0.25
]
}
},
{
"Id": "0010",
"Remark": "\u5206\u88C2\u5B50\u5F39",
"__Activity": "prop0010",
"Buff": {
"BulletCount": [
2,
1
],
"BulletDeviationAngle": [
-8,
8
],
"Damage": [
2,
-0.35
],
"BulletRepel": [
2,
-0.35
],
"RandomBulletSpeed": [
-0.05,
0.05
]
}
},
{
"Id": "0011",
"Remark": "\u5F39\u5C04\u5B50\u5F39",
"__Activity": "prop0011",
"Buff": {
"BulletBounceCount": [
2
]
}
},
{
"Id": "0012",
"Remark": "\u7A7F\u900F\u5B50\u5F39",
"__Activity": "prop0012",
"Buff": {
"BulletPenetration": [
1
]
}
},
{
"Id": "0013",
"Remark": "\u6B66\u5668\u80CC\u5305",
"__Activity": "prop0013",
"Buff": {
"WeaponCapacity": [
1
]
}
},
{
"Id": "0014",
"Remark": "\u9053\u5177\u80CC\u5305",
"__Activity": "prop0014",
"Buff": {
"ActivePropsCapacity": [
1
]
}
}
]

View File

@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/VonwaonBitmap-12px.ttf-f0c6f7ea0d11709c60f005
[params]
Rendering=null
antialiasing=1
antialiasing=0
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
@ -27,7 +27,12 @@ Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

View File

@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/VonwaonBitmap-16px.ttf-45ba1c29e0693eadade28f
[params]
Rendering=null
antialiasing=1
antialiasing=0
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
@ -27,7 +27,12 @@ Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

View File

@ -1 +1 @@
[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":false,"WaveList":[[{"Position":{"X":39,"Y":8},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":-16,"Y":-18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":6},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0010","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":47,"Y":-32},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0008","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":23,"Y":37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0005","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":24,"Y":-30},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0006","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":40,"Y":-10},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":-37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-2,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":29,"Y":63},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0013","Weight":100,"Attr":{"CurrAmmon":"50","ResidueAmmo":"250"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-30,"Y":39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-19,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":48,"Y":29},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0004","Weight":100,"Attr":{"CurrAmmon":"180","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":20,"Y":94},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0014","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-14,"Y":97},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0011","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":9,"Y":-7},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0011","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-41,"Y":61},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0016","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":73,"Y":-19},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":5.551115E-14}]}]]}]
[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":false,"WaveList":[[{"Position":{"X":39,"Y":8},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":-16,"Y":-18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":6},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0010","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":47,"Y":-32},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0008","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":23,"Y":37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0005","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":24,"Y":-30},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0006","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":40,"Y":-10},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":-37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-2,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":29,"Y":63},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0013","Weight":100,"Attr":{"CurrAmmon":"50","ResidueAmmo":"250"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-30,"Y":39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-19,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":48,"Y":29},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0004","Weight":100,"Attr":{"CurrAmmon":"180","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":20,"Y":94},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0014","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-14,"Y":97},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0011","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":9,"Y":-7},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0011","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-41,"Y":61},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0016","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":73,"Y":-19},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-72,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-67,"Y":50},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-91,"Y":46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-92,"Y":74},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]}]]}]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cuas0bdjlpmwb"
path="res://.godot/imported/Close.png-3fada0779c1a516124741b6f9a05cf93.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/Close.png"
dest_files=["res://.godot/imported/Close.png-3fada0779c1a516124741b6f9a05cf93.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://7x5b5ed7hk7w"
path="res://.godot/imported/CloseSelect.png-63b474fe46efaecaa35172d820b3b06d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/CloseSelect.png"
dest_files=["res://.godot/imported/CloseSelect.png-63b474fe46efaecaa35172d820b3b06d.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cu5y32wfai4pn"
path="res://.godot/imported/Item.png-58bd34d7709452cf6ae6a4fd164bc305.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/Item.png"
dest_files=["res://.godot/imported/Item.png-58bd34d7709452cf6ae6a4fd164bc305.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://conjg6fw6670x"
path="res://.godot/imported/Panel.png-08c85561f9ba92cb98c43d7cf676dc7b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/Panel.png"
dest_files=["res://.godot/imported/Panel.png-08c85561f9ba92cb98c43d7cf676dc7b.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dahib4qcevboo"
path="res://.godot/imported/Panel2.png-1945b16de121d7dd89f800804a09b2e8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/Panel2.png"
dest_files=["res://.godot/imported/Panel2.png-1945b16de121d7dd89f800804a09b2e8.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://brevrlfdtllmk"
path="res://.godot/imported/Select.png-ff59a06a7a05be5c95bf722fa4889a19.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/Select.png"
dest_files=["res://.godot/imported/Select.png-ff59a06a7a05be5c95bf722fa4889a19.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://jb73i5q1dv2a"
path="res://.godot/imported/Tab.png-6caaacadacb5a595ff3de32a94dcc375.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/Tab.png"
dest_files=["res://.godot/imported/Tab.png-6caaacadacb5a595ff3de32a94dcc375.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3cyuhkpk5jc0"
path="res://.godot/imported/TabIcon1.png-959d0384e8e61550e56702a962ae1355.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/TabIcon1.png"
dest_files=["res://.godot/imported/TabIcon1.png-959d0384e8e61550e56702a962ae1355.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://vpm33qtm7w"
path="res://.godot/imported/TabSelect.png-d8a3ea74ef504abc15dab702abedc9bc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/TabSelect.png"
dest_files=["res://.godot/imported/TabSelect.png-d8a3ea74ef504abc15dab702abedc9bc.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c0st2iiql8igg"
path="res://.godot/imported/TitleBg.png-d91e021730751da9f4cb4810f02a912b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/sprite/ui/encyclopedia/TitleBg.png"
dest_files=["res://.godot/imported/TitleBg.png-d91e021730751da9f4cb4810f02a912b.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 B

After

Width:  |  Height:  |  Size: 165 B

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://wtvfyprel72y"]
[ext_resource type="Texture2D" uid="uid://bls55gj8h3mgv" path="res://resource/sprite/prop/buff/BuffProp0001.png" id="1_scm06"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_scm06")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://7t57gsyff470"]
[ext_resource type="Texture2D" uid="uid://cv2joc07ymofw" path="res://resource/sprite/prop/buff/BuffProp0002.png" id="1_8nnhb"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_8nnhb")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://nqoieett75t3"]
[ext_resource type="Texture2D" uid="uid://osr0v1c6l8ly" path="res://resource/sprite/prop/buff/BuffProp0003.png" id="1_p16yr"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_p16yr")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://bj0k3pipwp46x"]
[ext_resource type="Texture2D" uid="uid://c0c25nihdcgt1" path="res://resource/sprite/prop/buff/BuffProp0004.png" id="1_a2o8b"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_a2o8b")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://bvqp46degt1rg"]
[ext_resource type="Texture2D" uid="uid://dse0mbg06ngya" path="res://resource/sprite/prop/buff/BuffProp0005.png" id="1_en8jo"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_en8jo")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://bxn65oovekw6k"]
[ext_resource type="Texture2D" uid="uid://do8blk3xm5uy1" path="res://resource/sprite/prop/buff/BuffProp0006.png" id="1_ugsdc"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_ugsdc")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://et840sb4d1g3"]
[ext_resource type="Texture2D" uid="uid://fql5q452jqo0" path="res://resource/sprite/prop/buff/BuffProp0007.png" id="1_p5fwh"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_p5fwh")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://bs41p1hpkpucb"]
[ext_resource type="Texture2D" uid="uid://cn8f56vjb02u2" path="res://resource/sprite/prop/buff/BuffProp0008.png" id="1_7efyb"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_7efyb")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://sqcibio78nwc"]
[ext_resource type="Texture2D" uid="uid://csak48bvrnws" path="res://resource/sprite/prop/buff/BuffProp0009.png" id="1_78egk"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_78egk")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://dxqtm7xgn2wms"]
[ext_resource type="Texture2D" uid="uid://dlsfun6svqfmm" path="res://resource/sprite/prop/buff/BuffProp0010.png" id="1_w8rnu"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_w8rnu")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://bq7t8ruav5g41"]
[ext_resource type="Texture2D" uid="uid://b3lemqkwfnufw" path="res://resource/sprite/prop/buff/BuffProp0011.png" id="1_abwtt"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_abwtt")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://rksmm8jwex7l"]
[ext_resource type="Texture2D" uid="uid://djhhig4ct8fgo" path="res://resource/sprite/prop/buff/BuffProp0012.png" id="1_kl6x5"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_kl6x5")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://cdnrqfy0vfyu5"]
[ext_resource type="Texture2D" uid="uid://8ykm3jbhjpxh" path="res://resource/sprite/prop/buff/BuffProp0013.png" id="1_sshn3"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_sshn3")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -1,14 +0,0 @@
[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://ux70kddi6wwy"]
[ext_resource type="Texture2D" uid="uid://ddkno2rlclys0" path="res://resource/sprite/prop/buff/BuffProp0014.png" id="1_0n30r"]
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_0n30r")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

View File

@ -123,7 +123,7 @@ DefaultLayer = 1
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="1"]
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="0"]
position = Vector2(-10, -3)
texture = ExtResource("7_30qwa")
@ -135,7 +135,7 @@ DefaultLayer = 1
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="1"]
[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="0"]
position = Vector2(2.5, -12)
script = ExtResource("5_lowqi")
Id = "item_0031"
@ -151,7 +151,7 @@ DefaultLayer = 1
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="1"]
[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="0"]
position = Vector2(18, -2)
texture = ExtResource("8_61dkg")
@ -163,19 +163,19 @@ DefaultLayer = 1
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="0"]
position = Vector2(-2, -13)
texture = ExtResource("8_u3vry")
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
position = Vector2(18, -11)
texture = ExtResource("9_lhdr8")
[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
position = Vector2(-16, -2)
texture = ExtResource("10_4eqn0")
[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="4"]
[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
position = Vector2(10, -1)
texture = ExtResource("11_tg3jo")
@ -201,11 +201,11 @@ Id = "item_0002"
DefaultLayer = 1
CollisionVisible = false
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="0"]
position = Vector2(32, -2)
texture = ExtResource("12_agfji")
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="2"]
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
material = SubResource("ShaderMaterial_i7git")
position = Vector2(0, -15)
scale = Vector2(1, -1)
@ -223,7 +223,7 @@ script = ExtResource("5_lowqi")
Id = "item_0004"
DefaultLayer = 1
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="1"]
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="0"]
position = Vector2(0, -17)
texture = ExtResource("13_unnpl")
@ -258,15 +258,15 @@ script = ExtResource("5_lowqi")
Id = "item_0009"
DefaultLayer = 1
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="0"]
position = Vector2(-24, -10)
texture = ExtResource("15_h7524")
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
position = Vector2(1, -10)
texture = ExtResource("15_h7524")
[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="3"]
[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
position = Vector2(37, -10)
texture = ExtResource("15_h7524")
@ -300,7 +300,7 @@ script = ExtResource("5_lowqi")
Id = "item_0015"
DefaultLayer = 1
[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="1"]
[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="0"]
position = Vector2(16, -9)
texture = ExtResource("15_h7524")
@ -322,11 +322,11 @@ script = ExtResource("5_lowqi")
Id = "item_0019"
DefaultLayer = 1
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="0"]
position = Vector2(-23, -7)
texture = ExtResource("16_xj0e1")
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="2"]
[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
position = Vector2(24, -8)
texture = ExtResource("17_gwwce")

View File

@ -7,6 +7,15 @@ namespace Config;
public static partial class ExcelConfig
{
/// <summary>
/// BuffPropBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同
/// </summary>
public static List<BuffPropBase> BuffPropBase_List { get; private set; }
/// <summary>
/// BuffPropBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id
/// </summary>
public static Dictionary<string, BuffPropBase> BuffPropBase_Map { get; private set; }
/// <summary>
/// Sound.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同
/// </summary>
@ -52,6 +61,15 @@ public static partial class ExcelConfig
/// </summary>
public static Dictionary<string, BulletBase> BulletBase_Map { get; private set; }
/// <summary>
/// ActivePropBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同
/// </summary>
public static List<ActivePropBase> ActivePropBase_List { get; private set; }
/// <summary>
/// ActivePropBase.xlsx表数据集合, 里 Map 形式存储, key 为 Id
/// </summary>
public static Dictionary<string, ActivePropBase> ActivePropBase_Map { get; private set; }
/// <summary>
/// EnemyBase.xlsx表数据集合, 以 List 形式存储, 数据顺序与 Excel 表相同
/// </summary>
@ -89,19 +107,41 @@ public static partial class ExcelConfig
if (_init) return;
_init = true;
_InitBuffPropBaseConfig();
_InitSoundConfig();
_InitWeaponBaseConfig();
_InitActivityMaterialConfig();
_InitAiAttackAttrConfig();
_InitBulletBaseConfig();
_InitActivePropBaseConfig();
_InitEnemyBaseConfig();
_InitActivityBaseConfig();
_InitLiquidMaterialConfig();
_InitBuffPropBaseRef();
_InitWeaponBaseRef();
_InitActivePropBaseRef();
_InitEnemyBaseRef();
_InitActivityBaseRef();
}
private static void _InitBuffPropBaseConfig()
{
try
{
var text = _ReadConfigAsText("res://resource/config/BuffPropBase.json");
BuffPropBase_List = new List<BuffPropBase>(JsonSerializer.Deserialize<List<Ref_BuffPropBase>>(text));
BuffPropBase_Map = new Dictionary<string, BuffPropBase>();
foreach (var item in BuffPropBase_List)
{
BuffPropBase_Map.Add(item.Id, item);
}
}
catch (Exception e)
{
GD.PrintErr(e.ToString());
throw new Exception("初始化表'BuffPropBase'失败!");
}
}
private static void _InitSoundConfig()
{
try
@ -192,6 +232,24 @@ public static partial class ExcelConfig
throw new Exception("初始化表'BulletBase'失败!");
}
}
private static void _InitActivePropBaseConfig()
{
try
{
var text = _ReadConfigAsText("res://resource/config/ActivePropBase.json");
ActivePropBase_List = new List<ActivePropBase>(JsonSerializer.Deserialize<List<Ref_ActivePropBase>>(text));
ActivePropBase_Map = new Dictionary<string, ActivePropBase>();
foreach (var item in ActivePropBase_List)
{
ActivePropBase_Map.Add(item.Id, item);
}
}
catch (Exception e)
{
GD.PrintErr(e.ToString());
throw new Exception("初始化表'ActivePropBase'失败!");
}
}
private static void _InitEnemyBaseConfig()
{
try
@ -247,6 +305,25 @@ public static partial class ExcelConfig
}
}
private static void _InitBuffPropBaseRef()
{
foreach (Ref_BuffPropBase item in BuffPropBase_List)
{
try
{
if (!string.IsNullOrEmpty(item.__Activity))
{
item.Activity = ActivityBase_Map[item.__Activity];
}
}
catch (Exception e)
{
GD.PrintErr(e.ToString());
throw new Exception("初始化'BuffPropBase'引用其他表数据失败, 当前行id: " + item.Id);
}
}
}
private static void _InitWeaponBaseRef()
{
foreach (Ref_WeaponBase item in WeaponBase_List)
@ -315,6 +392,25 @@ public static partial class ExcelConfig
}
}
}
private static void _InitActivePropBaseRef()
{
foreach (Ref_ActivePropBase item in ActivePropBase_List)
{
try
{
if (!string.IsNullOrEmpty(item.__Activity))
{
item.Activity = ActivityBase_Map[item.__Activity];
}
}
catch (Exception e)
{
GD.PrintErr(e.ToString());
throw new Exception("初始化'ActivePropBase'引用其他表数据失败, 当前行id: " + item.Id);
}
}
}
private static void _InitEnemyBaseRef()
{
foreach (Ref_EnemyBase item in EnemyBase_List)

View File

@ -0,0 +1,69 @@
using System.Text.Json.Serialization;
using System.Collections.Generic;
namespace Config;
public static partial class ExcelConfig
{
public class ActivePropBase
{
/// <summary>
/// Buff Id
/// </summary>
[JsonInclude]
public string Id;
/// <summary>
/// 备注
/// </summary>
[JsonInclude]
public string Remark;
/// <summary>
/// 属性绑定Buff实体的Id这个id时ActivityBase表Id
/// </summary>
public ActivityBase Activity;
/// <summary>
/// 被动Buff效果 <br/>
/// 也就是当前buff道具所有挂载的被动属性集合, 具体属性名称请参阅buff属性表 <br/>
/// key为buff属性名称 <br/>
/// value为buff初始化参数
/// </summary>
[JsonInclude]
public Dictionary<string, float[]> Buff;
/// <summary>
/// 使用完成后是否自动销毁
/// </summary>
[JsonInclude]
public bool AutoDestroy;
/// <summary>
/// 最大叠加次数
/// </summary>
[JsonInclude]
public uint MaxCount;
/// <summary>
/// 返回浅拷贝出的新对象
/// </summary>
public ActivePropBase Clone()
{
var inst = new ActivePropBase();
inst.Id = Id;
inst.Remark = Remark;
inst.Activity = Activity;
inst.Buff = Buff;
inst.AutoDestroy = AutoDestroy;
inst.MaxCount = MaxCount;
return inst;
}
}
private class Ref_ActivePropBase : ActivePropBase
{
[JsonInclude]
public string __Activity;
}
}

View File

@ -14,6 +14,12 @@ public static partial class ExcelConfig
[JsonInclude]
public string Id;
/// <summary>
/// 物体名称
/// </summary>
[JsonInclude]
public string Name;
/// <summary>
/// Test(测试对象): 2 <br/>
/// Role(角色): 3 <br/>
@ -29,12 +35,6 @@ public static partial class ExcelConfig
[JsonInclude]
public ActivityType Type;
/// <summary>
/// 物体名称
/// </summary>
[JsonInclude]
public string Name;
/// <summary>
/// 物体品质, 用于武器和道具 <br/>
/// 通用物品: 1 <br/>
@ -106,8 +106,8 @@ public static partial class ExcelConfig
{
var inst = new ActivityBase();
inst.Id = Id;
inst.Type = Type;
inst.Name = Name;
inst.Type = Type;
inst.Quality = Quality;
inst.Price = Price;
inst.Intro = Intro;

View File

@ -0,0 +1,55 @@
using System.Text.Json.Serialization;
using System.Collections.Generic;
namespace Config;
public static partial class ExcelConfig
{
public class BuffPropBase
{
/// <summary>
/// Buff Id
/// </summary>
[JsonInclude]
public string Id;
/// <summary>
/// 备注
/// </summary>
[JsonInclude]
public string Remark;
/// <summary>
/// 属性绑定Buff实体的Id这个id时ActivityBase表Id
/// </summary>
public ActivityBase Activity;
/// <summary>
/// 被动Buff效果 <br/>
/// 也就是当前buff道具所有挂载的被动属性集合, 具体属性名称请参阅buff属性表 <br/>
/// key为buff属性名称 <br/>
/// value为buff初始化参数
/// </summary>
[JsonInclude]
public Dictionary<string, float[]> Buff;
/// <summary>
/// 返回浅拷贝出的新对象
/// </summary>
public BuffPropBase Clone()
{
var inst = new BuffPropBase();
inst.Id = Id;
inst.Remark = Remark;
inst.Activity = Activity;
inst.Buff = Buff;
return inst;
}
}
private class Ref_BuffPropBase : BuffPropBase
{
[JsonInclude]
public string __Activity;
}
}

View File

@ -477,7 +477,14 @@ public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine
else
{
SpriteFrames spriteFrames = AnimatedSprite.SpriteFrames;
spriteFrames.SetFrame("default", 0, texture);
if (spriteFrames.GetFrameCount("default") > 0)
{
spriteFrames.SetFrame("default", 0, texture);
}
else
{
spriteFrames.AddFrame("default", texture);
}
}
AnimatedSprite.Play("default");
@ -627,6 +634,20 @@ public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine
{
}
/// <summary>
/// 添加组件时调用
/// </summary>
public virtual void OnAddComponent(Component component)
{
}
/// <summary>
/// 移除组件时调用
/// </summary>
public virtual void OnRemoveComponent(Component component)
{
}
/// <summary>
/// 返回当物体 CollisionLayer 是否能与 mask 层碰撞
/// </summary>
@ -773,6 +794,7 @@ public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine
component.Master = this;
component.Ready();
component.OnEnable();
OnAddComponent(component);
return component;
}
@ -794,6 +816,7 @@ public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine
component.Master = this;
component.Ready();
component.OnEnable();
OnAddComponent(component);
return component;
}
@ -811,6 +834,7 @@ public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine
if (_updatingComp)
{
_changeComponents.Add(new KeyValuePair<Component, bool>(component, false));
OnRemoveComponent(component);
component.Destroy();
}
else
@ -820,6 +844,7 @@ public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine
if (_components[i].Value == component)
{
_components.RemoveAt(i);
OnRemoveComponent(component);
component.Destroy();
return;
}
@ -1933,7 +1958,7 @@ public partial class ActivityObject : CharacterBody2D, IDestroy, ICoroutine
}
/// <summary>
/// 设置是否启用碰撞层, 该函数是设置下状态下原碰撞层
/// 设置是否启用碰撞层, 该函数是设置下状态下原碰撞层
/// </summary>
public void SetOriginCollisionLayerValue(uint layer, bool vale)
{

View File

@ -343,9 +343,9 @@ public static class Utils
/// <summary>
/// 计算Vector2点所占用的区域
/// </summary>
public static Rect2I CalcRect(IEnumerable<Vector2I> cells)
public static Rect2I CalcRect(ICollection<Vector2I> cells)
{
var count = cells.Count();
var count = cells.Count;
if (count == 0)
{
return new Rect2I();

View File

@ -1,5 +1,6 @@

using System;
using System.Collections;
using Godot;
/// <summary>
@ -50,6 +51,13 @@ public abstract class UiCell<TUiCellNode, T> : IUiCell, IData<T> where TUiCellNo
{
}
/// <summary>
/// 当前cell被分配值时调用该函数为协程函数当仅在 Grid 中调研 SetDataListCoroutine() 函数时才会被调用
/// </summary>
public virtual IEnumerator OnSetDataCoroutine(T data)
{
yield break;
}
public virtual void Process(float delta)
{
@ -126,12 +134,20 @@ public abstract class UiCell<TUiCellNode, T> : IUiCell, IData<T> where TUiCellNo
}
/// <summary>
/// 设置当前 Cell 的值, 该函数由 UiGrid 调用
/// 更新当前 Cell 的值, 该函数由 UiGrid 调用
/// </summary>
public void UpdateData(T data)
{
Data = data;
OnSetData(data);
}
/// <summary>
/// 设置当前 Cell 的值, 该函数由 UiGrid 调用,该函数为协程函数
/// </summary>
public void SetData(T data)
{
Data = data;
OnSetData(data);
}
/// <summary>

View File

@ -1,6 +1,7 @@

using System;
using System.Collections;
using System.Collections.Generic;
using Godot;
@ -342,7 +343,22 @@ public class UiGrid<TUiCellNode, TData> : IUiGrid where TUiCellNode : IUiCellNod
for (var i = 0; i < _cellList.Count; i++)
{
var data = array[i];
_cellList[i].SetData(data);
_cellList[i].UpdateData(data);
}
}
/// <summary>
/// 设置当前网格组件中的所有 Cell 数据, 该函数为协程函数,可用于分帧处理大量数据
/// </summary>
public IEnumerator SetDataListCoroutine(ICollection<TData> array)
{
RemoveAll();
foreach (var data in array)
{
var cell = GetCellInstance();
GridContainer.AddChild(cell.CellNode.GetUiInstance());
cell.SetData(data);
yield return cell.OnSetDataCoroutine(data);
}
}
@ -353,7 +369,7 @@ public class UiGrid<TUiCellNode, TData> : IUiGrid where TUiCellNode : IUiCellNod
{
var cell = GetCellInstance();
GridContainer.AddChild(cell.CellNode.GetUiInstance());
cell.SetData(data);
cell.UpdateData(data);
if (select)
{
SelectIndex = Count - 1;
@ -368,7 +384,7 @@ public class UiGrid<TUiCellNode, TData> : IUiGrid where TUiCellNode : IUiCellNod
var uiCell = GetCell(index);
if (uiCell != null)
{
uiCell.SetData(data);
uiCell.UpdateData(data);
}
}

View File

@ -91,6 +91,7 @@ public partial class GameApplication : Node2D, ICoroutine
//初始化配置表
ExcelConfig.Init();
PreinstallMarkManager.Init();
BuffRegister.Init();
//初始化房间配置数据
InitRoomConfig();
//初始化TileSet配置数据
@ -99,6 +100,8 @@ public partial class GameApplication : Node2D, ICoroutine
Weapon.InitWeaponAttribute();
//初始化敌人数据
Enemy.InitEnemyAttribute();
//初始化buff数据
BuffProp.InitBuffAttribute();
DungeonConfig = new DungeonConfig();
DungeonConfig.GroupName = "Test1";

View File

@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
@ -75,6 +76,11 @@ public partial class World : CanvasModulate, ICoroutine
/// 随机对象池
/// </summary>
public RandomPool RandomPool { get; private set; }
/// <summary>
/// 角色死亡事件
/// </summary>
public event Action<Role> OnRoleDieEvent;
private bool _pause = false;
private List<CoroutineData> _coroutineList;
@ -166,4 +172,15 @@ public partial class World : CanvasModulate, ICoroutine
Random = random;
RandomPool = new RandomPool(this);
}
/// <summary>
/// 角色死亡
/// </summary>
public void OnRoleDie(Role role)
{
if (OnRoleDieEvent != null)
{
OnRoleDieEvent(role);
}
}
}

View File

@ -1,18 +1,15 @@
using System.Collections.Generic;
using Godot;
/// <summary>
/// 主动使用道具
/// </summary>
public abstract partial class ActiveProp : Prop, IPackageItem<Role>
[Tool]
public partial class ActiveProp : PropActivity, IPackageItem<Role>
{
public int PackageIndex { get; set; }
/// <summary>
/// 道具是否可以叠加
/// </summary>
public bool Superposition { get; set; } = false;
/// <summary>
/// 道具可使用次数
/// </summary>
@ -92,16 +89,22 @@ public abstract partial class ActiveProp : Prop, IPackageItem<Role>
//冷却计时器
private float _cooldownTimer = 0;
/// <summary>
/// 当检测是否可以使用时调用
/// </summary>
public abstract bool OnCheckUse();
public virtual bool OnCheckUse()
{
return true;
}
/// <summary>
/// 当道具被使用时调用, 函数返回值为消耗数量
/// </summary>
protected abstract int OnUse();
protected virtual int OnUse()
{
return 1;
}
/// <summary>
/// 道具数量改变时调用
@ -251,7 +254,7 @@ public abstract partial class ActiveProp : Prop, IPackageItem<Role>
else
{
//处理同类型道具
if (Superposition && item.Count < item.MaxCount) //允许叠加
if (item.Count < item.MaxCount) //允许叠加
{
if (item.Count + Count > item.MaxCount)
{
@ -292,7 +295,7 @@ public abstract partial class ActiveProp : Prop, IPackageItem<Role>
}
//处理同类型道具
if (Superposition && item.Count < item.MaxCount) //允许叠加
if (item.Count < item.MaxCount) //允许叠加
{
return new CheckInteractiveResult(this, true, CheckInteractiveResult.InteractiveType.Bullet);
}

View File

@ -0,0 +1,220 @@

using System;
using System.Collections.Generic;
using Config;
using Godot;
/// <summary>
/// 通用被动道具实体类
/// </summary>
[Tool]
public partial class BuffProp : PropActivity
{
//被动属性
private readonly List<BuffFragment> _buffFragment = new List<BuffFragment>();
public override void OnInit()
{
base.OnInit();
var buffAttribute = GetBuffAttribute(ActivityBase.Id);
if (buffAttribute != null)
{
//初始化buff属性
foreach (var keyValuePair in buffAttribute.Buff)
{
var buffInfo = BuffRegister.BuffInfos[keyValuePair.Key];
var item = keyValuePair.Value;
switch (item.Length)
{
case 0:
{
var buff = (BuffFragment)AddComponent(buffInfo.Type);
_buffFragment.Add(buff);
}
break;
case 1:
{
var buff = (BuffFragment)AddComponent(buffInfo.Type);
buff.InitParam(item[0]);
_buffFragment.Add(buff);
}
break;
case 2:
{
var buff = (BuffFragment)AddComponent(buffInfo.Type);
buff.InitParam(item[0], item[1]);
_buffFragment.Add(buff);
}
break;
case 3:
{
var buff = (BuffFragment)AddComponent(buffInfo.Type);
buff.InitParam(item[0], item[1], item[2]);
_buffFragment.Add(buff);
}
break;
case 4:
{
var buff = (BuffFragment)AddComponent(buffInfo.Type);
buff.InitParam(item[0], item[1], item[2], item[3]);
_buffFragment.Add(buff);
}
break;
}
}
//显示纹理
if (!string.IsNullOrEmpty(ActivityBase.Icon))
{
SetDefaultTexture(ResourceManager.LoadTexture2D(ActivityBase.Icon));
}
}
}
public override void OnPickUpItem()
{
foreach (var buffFragment in _buffFragment)
{
buffFragment.OnPickUpItem();
}
}
public override void OnRemoveItem()
{
foreach (var buffFragment in _buffFragment)
{
buffFragment.OnRemoveItem();
}
}
/// <summary>
/// 添加被动属性
/// </summary>
public void AddBuffFragment<T>() where T : BuffFragment, new()
{
var fragment = AddComponent<T>();
_buffFragment.Add(fragment);
if (Master != null)
{
fragment.OnPickUpItem();
}
}
/// <summary>
/// 添加被动属性
/// </summary>
public void AddBuffFragment<T>(float arg1) where T : BuffFragment, new()
{
var fragment = AddComponent<T>();
_buffFragment.Add(fragment);
fragment.InitParam(arg1);
if (Master != null)
{
fragment.OnPickUpItem();
}
}
/// <summary>
/// 添加被动属性
/// </summary>
public void AddBuffFragment<T>(float arg1, float arg2) where T : BuffFragment, new()
{
var fragment = AddComponent<T>();
_buffFragment.Add(fragment);
fragment.InitParam(arg1, arg2);
if (Master != null)
{
fragment.OnPickUpItem();
}
}
/// <summary>
/// 添加被动属性
/// </summary>
public void AddBuffFragment<T>(float arg1, float arg2, float arg3) where T : BuffFragment, new()
{
var fragment = AddComponent<T>();
_buffFragment.Add(fragment);
fragment.InitParam(arg1, arg2, arg3);
if (Master != null)
{
fragment.OnPickUpItem();
}
}
/// <summary>
/// 添加被动属性
/// </summary>
public void AddBuffFragment<T>(float arg1, float arg2, float arg3, float arg4) where T : BuffFragment, new()
{
var fragment = AddComponent<T>();
_buffFragment.Add(fragment);
fragment.InitParam(arg1, arg2, arg3, arg4);
if (Master != null)
{
fragment.OnPickUpItem();
}
}
public override void Interactive(ActivityObject master)
{
if (master is Player role)
{
Pickup();
role.PickUpBuffProp(this);
}
}
public override CheckInteractiveResult CheckInteractive(ActivityObject master)
{
if (master is Player)
{
return new CheckInteractiveResult(this, true, CheckInteractiveResult.InteractiveType.PickUp);
}
return base.CheckInteractive(master);
}
private static bool _init = false;
private static Dictionary<string, ExcelConfig.BuffPropBase> _buffAttributeMap =
new Dictionary<string, ExcelConfig.BuffPropBase>();
/// <summary>
/// 初始化 buff 属性数据
/// </summary>
public static void InitBuffAttribute()
{
if (_init)
{
return;
}
_init = true;
foreach (var buffAttr in ExcelConfig.BuffPropBase_List)
{
if (buffAttr.Activity != null)
{
if (!_buffAttributeMap.TryAdd(buffAttr.Activity.Id, buffAttr))
{
Debug.LogError("发现重复注册的 buff 属性: " + buffAttr.Id);
}
}
}
}
/// <summary>
/// 根据 ActivityBase.Id 获取对应 buff 的属性数据
/// </summary>
public static ExcelConfig.BuffPropBase GetBuffAttribute(string itemId)
{
if (itemId == null)
{
return null;
}
if (_buffAttributeMap.TryGetValue(itemId, out var attr))
{
return attr;
}
throw new Exception($"buff'{itemId}'没有在 BuffBase 表中配置属性数据!");
}
}

View File

@ -4,7 +4,7 @@ using Godot;
/// <summary>
/// 道具基类
/// </summary>
public abstract partial class Prop : ActivityObject
public abstract partial class PropActivity : ActivityObject
{
/// <summary>
/// 道具所属角色

View File

@ -12,7 +12,6 @@ public partial class ActiveProp5000 : ActiveProp
base.OnInit();
AutoDestroy = true;
MaxCount = 10;
Superposition = true;
}
public override bool OnCheckUse()

View File

@ -10,7 +10,6 @@ public partial class ActiveProp5001 : ActiveProp
public override void OnInit()
{
base.OnInit();
Superposition = true;
AutoDestroy = true;
MaxCount = 10;
}

View File

@ -1,24 +0,0 @@

/// <summary>
/// 被动增益道具
/// </summary>
public abstract partial class BuffProp : Prop
{
public override void Interactive(ActivityObject master)
{
if (master is Player role)
{
Pickup();
role.PickUpBuffProp(this);
}
}
public override CheckInteractiveResult CheckInteractive(ActivityObject master)
{
if (master is Player)
{
return new CheckInteractiveResult(this, true, CheckInteractiveResult.InteractiveType.PickUp);
}
return base.CheckInteractive(master);
}
}

View File

@ -1,23 +0,0 @@

using Godot;
/// <summary>
/// 移速 buff, 移速 + 3
/// </summary>
[Tool]
public partial class BuffProp0001 : BuffProp
{
public override void OnPickUpItem()
{
Master.RoleState.MoveSpeed += 30;
Master.RoleState.Acceleration += 400;
Master.RoleState.Friction += 300;
}
public override void OnRemoveItem()
{
Master.RoleState.MoveSpeed -= 30;
Master.RoleState.Acceleration -= 400;
Master.RoleState.Friction -= 300;
}
}

View File

@ -1,20 +0,0 @@

using Godot;
/// <summary>
/// 血量上限buff, 心之容器 + 1
/// </summary>
[Tool]
public partial class BuffProp0002 : BuffProp
{
public override void OnPickUpItem()
{
Master.MaxHp += 2;
Master.Hp += 2;
}
public override void OnRemoveItem()
{
Master.MaxHp -= 2;
}
}

View File

@ -1,20 +0,0 @@

using Godot;
/// <summary>
/// 护盾上限buff, 护盾 + 1
/// </summary>
[Tool]
public partial class BuffProp0003 : BuffProp
{
public override void OnPickUpItem()
{
Master.MaxShield += 1;
Master.Shield += 1;
}
public override void OnRemoveItem()
{
Master.MaxShield -= 1;
}
}

View File

@ -1,19 +0,0 @@

using Godot;
/// <summary>
/// 护盾恢复时间buff, 恢复时间 - 2.5s
/// </summary>
[Tool]
public partial class BuffProp0004 : BuffProp
{
public override void OnPickUpItem()
{
Master.RoleState.ShieldRecoveryTime -= 2.5f;
}
public override void OnRemoveItem()
{
Master.RoleState.ShieldRecoveryTime += 2.5f;
}
}

View File

@ -1,24 +0,0 @@

using Godot;
/// <summary>
/// 提升伤害buff, 子弹伤害提升20%
/// </summary>
[Tool]
public partial class BuffProp0005 : BuffProp
{
public override void OnPickUpItem()
{
Master.RoleState.CalcDamageEvent += CalcDamage;
}
public override void OnRemoveItem()
{
Master.RoleState.CalcDamageEvent -= CalcDamage;
}
private void CalcDamage(int originDamage, RefValue<int> refValue)
{
refValue.Value += Mathf.CeilToInt(originDamage * 0.2f);
}
}

View File

@ -1,19 +0,0 @@

using Godot;
/// <summary>
/// 延长无敌时间buff, 受伤后无敌时间 + 2s
/// </summary>
[Tool]
public partial class BuffProp0006 : BuffProp
{
public override void OnPickUpItem()
{
Master.RoleState.WoundedInvincibleTime += 2f;
}
public override void OnRemoveItem()
{
Master.RoleState.WoundedInvincibleTime -= 2f;
}
}

View File

@ -1,27 +0,0 @@

using Godot;
/// <summary>
/// 受伤时有15%概率抵消伤害
/// </summary>
[Tool]
public partial class BuffProp0007 : BuffProp
{
public override void OnPickUpItem()
{
Master.RoleState.CalcHurtDamageEvent += CalcHurtDamageEvent;
}
public override void OnRemoveItem()
{
Master.RoleState.CalcHurtDamageEvent -= CalcHurtDamageEvent;
}
private void CalcHurtDamageEvent(int originDamage, RefValue<int> refValue)
{
if (refValue.Value > 0 && Utils.Random.RandomBoolean(0.15f))
{
refValue.Value = 0;
}
}
}

View File

@ -1,31 +0,0 @@

using Godot;
/// <summary>
/// 眼镜, 提高武器50%精准度
/// </summary>
[Tool]
public partial class BuffProp0008 : BuffProp
{
public override void OnPickUpItem()
{
Master.RoleState.CalcStartScatteringEvent += CalcStartScatteringEvent;
Master.RoleState.CalcFinalScatteringEvent += CalcFinalScatteringEvent;
}
public override void OnRemoveItem()
{
Master.RoleState.CalcStartScatteringEvent -= CalcStartScatteringEvent;
Master.RoleState.CalcFinalScatteringEvent -= CalcFinalScatteringEvent;
}
private void CalcStartScatteringEvent(float originValue, RefValue<float> refValue)
{
refValue.Value *= 0.5f;
}
private void CalcFinalScatteringEvent(float originValue, RefValue<float> refValue)
{
refValue.Value *= 0.5f;
}
}

Some files were not shown because too many files have changed in this diff Show More