diff --git a/.gitignore b/.gitignore index 085a31f..5841f8e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ .mono/ export.cfg export_presets.cfg +android # System-specific files .DS_Store @@ -12,5 +13,3 @@ Thumbs.db # IDE-specific files .vscode/ .idea/ - -server/node_modules/ \ No newline at end of file diff --git a/CopyItems/crop_item.tscn b/CopyItems/crop_item.tscn index 7fef4fe..af6077b 100644 --- a/CopyItems/crop_item.tscn +++ b/CopyItems/crop_item.tscn @@ -1,12 +1,19 @@ [gd_scene load_steps=7 format=3 uid="uid://bkivlkirrx6u8"] -[ext_resource type="Texture2D" uid="uid://fibjlynv0vi2" path="res://assets/地块/土块1.png" id="1_bns1c"] +[ext_resource type="Texture2D" uid="uid://bt1i2yhhlor5e" path="res://assets/地块/土块1.webp" id="1_bns1c"] [ext_resource type="Script" uid="uid://xh5tr5co5kfu" path="res://GUI/SMY_ProgressBar.gd" id="2_1n4xp"] -[ext_resource type="Texture2D" uid="uid://cil2qobuc0chj" path="res://assets/作物/默认/0.webp" id="2_bns1c"] +[ext_resource type="Shader" path="res://Shader/PlantSwayShader.gdshader" id="2_s5pb0"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_v46ok"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_s5pb0"] +shader = ExtResource("2_s5pb0") +shader_parameter/sway_strength = 0.05 +shader_parameter/sway_speed = 1.5 +shader_parameter/wind_direction = 0.0 +shader_parameter/sway_variation = 0.5 +shader_parameter/sway_start_height = 0.5 +shader_parameter/height_curve = 2.0 [sub_resource type="ShaderMaterial" id="ShaderMaterial_cyybs"] @@ -17,19 +24,24 @@ offset_right = 40.0 offset_bottom = 40.0 [node name="ground_sprite" type="Sprite2D" parent="."] +modulate = Color(0.8, 0.8, 0.8, 1) material = SubResource("ShaderMaterial_v46ok") position = Vector2(50, 63) scale = Vector2(0.135, 0.135) texture = ExtResource("1_bns1c") [node name="crop_sprite" type="Sprite2D" parent="."] -visible = false material = SubResource("ShaderMaterial_s5pb0") -position = Vector2(50, 34) +position = Vector2(51, 39) +scale = Vector2(0.06, 0.06) + +[node name="old_crop_sprite" type="Sprite2D" parent="."] +material = SubResource("ShaderMaterial_s5pb0") +position = Vector2(51, 39) scale = Vector2(0.06, 0.06) -texture = ExtResource("2_bns1c") [node name="ProgressBar" type="ProgressBar" parent="."] +modulate = Color(0.1, 0.1, 0.1, 1) material = SubResource("ShaderMaterial_cyybs") layout_mode = 2 offset_left = 23.0 @@ -37,6 +49,9 @@ offset_top = 78.0 offset_right = 328.0 offset_bottom = 151.0 scale = Vector2(0.2, 0.2) +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 10 theme_override_font_sizes/font_size = 50 script = ExtResource("2_1n4xp") diff --git a/CopyItems/item_button.tscn b/CopyItems/item_button.tscn new file mode 100644 index 0000000..44114bd --- /dev/null +++ b/CopyItems/item_button.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=2 format=3 uid="uid://ibl5wbbw3pwc"] + +[ext_resource type="Script" uid="uid://c6ylh1o2kgqth" path="res://CopyItems/item_crop.gd" id="1_e25nh"] + +[node name="item_button" type="Button"] +custom_minimum_size = Vector2(400, 400) +offset_right = 400.0 +offset_bottom = 400.0 +theme_override_font_sizes/font_size = 1 +icon_alignment = 1 +script = ExtResource("1_e25nh") + +[node name="CropImage" type="Sprite2D" parent="."] +position = Vector2(199.569, 201.043) +scale = Vector2(0.260977, 0.259058) + +[node name="Title" type="Label" parent="."] +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 55.0 +theme_override_font_sizes/font_size = 50 +text = "普通" +horizontal_alignment = 1 diff --git a/Data/crop_data.json b/Data/crop_data.json index feed37a..d629b65 100644 --- a/Data/crop_data.json +++ b/Data/crop_data.json @@ -1,78 +1,29 @@ { - "测试作物": {"花费": 1, "生长时间": 5, "收益": 10000, "品质": "普通", "描述": "仅供测试使用的特殊作物", "耐候性": 10, "等级": 1, "经验": 999, "能否购买": false}, + "小麦": {"花费": 120, "生长时间": 120, "收益": 100, "品质": "普通", "描述": "基础作物,品质较低,适合新手种植", "耐候性": 10, "等级": 1, "经验": 10}, + "稻谷": {"花费": 100, "生长时间": 240, "收益": 120, "品质": "普通", "描述": "适合大规模种植的基础作物", "耐候性": 10, "等级": 1, "经验": 10}, + "玉米": {"花费": 70, "生长时间": 600, "收益": 90, "品质": "普通", "描述": "营养丰富的优良作物,适合稍有经验的玩家", "耐候性": 15, "等级": 2, "经验": 15}, + "土豆": {"花费": 75, "生长时间": 360, "收益": 90, "品质": "普通", "描述": "容易种植的耐寒作物", "耐候性": 12, "等级": 1, "经验": 10}, + "胡萝卜": {"花费": 60, "生长时间": 480, "收益": 80, "品质": "普通", "描述": "适合新手的健康作物", "耐候性": 12, "等级": 1, "经验": 10}, + "草莓": {"花费": 120, "生长时间": 960, "收益": 150, "品质": "优良", "描述": "营养丰富的果实,收益不错", "耐候性": 14, "等级": 2, "经验": 20}, + "番茄": {"花费": 100, "生长时间": 720, "收益": 130, "品质": "优良", "描述": "常见作物,适合小规模种植", "耐候性": 12, "等级": 2, "经验": 15}, + "大豆": {"花费": 90, "生长时间": 840, "收益": 110, "品质": "优良", "描述": "富含蛋白质的基础作物", "耐候性": 11, "等级": 2, "经验": 12}, - "小麦": {"花费": 50, "生长时间": 300, "收益": 75, "品质": "普通", "描述": "最基础的粮食作物,生长快速,适合新手练习", "耐候性": 8, "等级": 1, "经验": 8, "能否购买": true}, - "胡萝卜": {"花费": 40, "生长时间": 240, "收益": 65, "品质": "普通", "描述": "营养丰富的根茎类蔬菜,容易种植", "耐候性": 9, "等级": 1, "经验": 7, "能否购买": true}, - "土豆": {"花费": 60, "生长时间": 480, "收益": 95, "品质": "普通", "描述": "耐寒的块茎作物,产量稳定", "耐候性": 12, "等级": 1, "经验": 10, "能否购买": true}, - "稻谷": {"花费": 70, "生长时间": 600, "收益": 110, "品质": "普通", "描述": "重要的主粮作物,需要充足水分", "耐候性": 7, "等级": 1, "经验": 12, "能否购买": true}, + "蓝莓": {"花费": 150, "生长时间": 1200, "收益": 200, "品质": "稀有", "描述": "较为稀有的作物,市场价值较高", "耐候性": 18, "等级": 3, "经验": 25}, + "洋葱": {"花费": 85, "生长时间": 600, "收益": 105, "品质": "稀有", "描述": "烹饪常用的作物,适合中级种植", "耐候性": 10, "等级": 2, "经验": 10}, + "南瓜": {"花费": 180, "生长时间": 1440, "收益": 250, "品质": "稀有", "描述": "秋季收获的高收益作物", "耐候性": 20, "等级": 4, "经验": 30}, + "葡萄": {"花费": 200, "生长时间": 1200, "收益": 300, "品质": "稀有", "描述": "需要特殊管理的高收益作物", "耐候性": 15, "等级": 4, "经验": 35}, + "柿子": {"花费": 160, "生长时间": 1080, "收益": 240, "品质": "稀有", "描述": "富含营养的秋季作物", "耐候性": 18, "等级": 3, "经验": 28}, + "花椰菜": {"花费": 130, "生长时间": 960, "收益": 170, "品质": "稀有", "描述": "耐寒的高品质作物,适合经验丰富的玩家", "耐候性": 17, "等级": 3, "经验": 22}, + "芦笋": {"花费": 200, "生长时间": 1560, "收益": 280, "品质": "稀有", "描述": "市场需求量高的稀有作物", "耐候性": 15, "等级": 4, "经验": 30}, + "香草": {"花费": 250, "生长时间": 1800, "收益": 400, "品质": "史诗", "描述": "非常稀有且收益极高的作物", "耐候性": 22, "等级": 5, "经验": 40}, + "西瓜": {"花费": 240, "生长时间": 2400, "收益": 420, "品质": "史诗", "描述": "夏季丰产的高价值作物", "耐候性": 21, "等级": 5, "经验": 45}, + "甜菜": {"花费": 220, "生长时间": 2160, "收益": 350, "品质": "史诗", "描述": "营养丰富的根茎作物,收益较高", "耐候性": 20, "等级": 5, "经验": 38}, + "甘蔗": {"花费": 260, "生长时间": 3000, "收益": 450, "品质": "史诗", "描述": "需要充足水源的高价值作物", "耐候性": 18, "等级": 5, "经验": 50}, - "玉米": {"花费": 80, "生长时间": 900, "收益": 130, "品质": "优良", "描述": "高产的谷物作物,营养价值高", "耐候性": 10, "等级": 2, "经验": 15, "能否购买": true}, - "番茄": {"花费": 90, "生长时间": 720, "收益": 140, "品质": "优良", "描述": "多汁的果实,市场需求大", "耐候性": 8, "等级": 2, "经验": 16, "能否购买": true}, - "洋葱": {"花费": 75, "生长时间": 840, "收益": 125, "品质": "优良", "描述": "调味蔬菜,储存时间长", "耐候性": 11, "等级": 2, "经验": 14, "能否购买": true}, - "大豆": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, - - - "草莓": {"花费": 120, "生长时间": 1440, "收益": 200, "品质": "稀有", "描述": "甜美的浆果,深受喜爱", "耐候性": 6, "等级": 3, "经验": 22, "能否购买": true}, - "花椰菜": {"花费": 110, "生长时间": 1320, "收益": 185, "品质": "稀有", "描述": "营养丰富的十字花科蔬菜", "耐候性": 8, "等级": 3, "经验": 20, "能否购买": true}, - "柿子": {"花费": 140, "生长时间": 1800, "收益": 230, "品质": "稀有", "描述": "秋季成熟的甜美果实", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, - "蓝莓": {"花费": 160, "生长时间": 2100, "收益": 260, "品质": "稀有", "描述": "抗氧化的超级食物", "耐候性": 7, "等级": 3, "经验": 28, "能否购买": true}, - "栀子花": {"花费": 180, "生长时间": 2400, "收益": 300, "品质": "稀有", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, - "玫瑰花": {"花费": 190, "生长时间": 2520, "收益": 310, "品质": "稀有", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, - "菠萝": {"花费": 200, "生长时间": 2700, "收益": 340, "品质": "稀有", "描述": "热带水果之王", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, - "梨树": {"花费": 210, "生长时间": 2820, "收益": 350, "品质": "稀有", "描述": "春季开花的落叶果树", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, - "桃树": {"花费": 220, "生长时间": 2940, "收益": 360, "品质": "稀有", "描述": "粉色花海中的果实树种", "耐候性": 9, "等级": 3, "经验": 25, "能否购买": true}, - "荔枝": {"花费": 230, "生长时间": 3060, "收益": 380, "品质": "稀有", "描述": "亚热带珍稀水果,果肉如凝脂", "耐候性": 8, "等级": 3, "经验": 26, "能否购买": true}, - "芒果树": {"花费": 240, "生长时间": 3180, "收益": 400, "品质": "稀有", "描述": "热带阳光孕育的香甜果实", "耐候性": 10, "等级": 3, "经验": 27, "能否购买": true}, - "糖果树": {"花费": 250, "生长时间": 3300, "收益": 420, "品质": "稀有", "描述": "传说中结出彩色糖果的魔法树", "耐候性": 7, "等级": 3, "经验": 25, "能否购买": true}, - "面包树": {"花费": 260, "生长时间": 3420, "收益": 440, "品质": "稀有", "描述": "热带地区的淀粉质主食树种", "耐候性": 9, "等级": 3, "经验": 25, "能否购买": true}, - "幸运草": {"花费": 150, "生长时间": 1560, "收益": 220, "品质": "稀有", "描述": "四片叶子的幸运象征植物", "耐候性": 6, "等级": 3, "经验": 20, "能否购买": true}, - "幸运花": {"花费": 170, "生长时间": 1680, "收益": 240, "品质": "稀有", "描述": "绽放时带来好运的神秘花卉", "耐候性": 7, "等级": 3, "经验": 22, "能否购买": true}, - "摇钱树": {"花费": 300, "生长时间": 3600, "收益": 500, "品质": "稀有", "描述": "传说中能结出金币的神树", "耐候性": 10, "等级": 3, "经验": 30, "能否购买": true}, - - "葡萄": {"花费": 200, "生长时间": 2700, "收益": 340, "品质": "史诗", "描述": "用于酿酒的珍贵果实", "耐候性": 9, "等级": 4, "经验": 35, "能否购买": true}, - "南瓜": {"花费": 180, "生长时间": 3600, "收益": 320, "品质": "史诗", "描述": "大型瓜果,节庆装饰的首选", "耐候性": 12, "等级": 4, "经验": 38, "能否购买": true}, - "芦笋": {"花费": 220, "生长时间": 3000, "收益": 370, "品质": "史诗", "描述": "高档蔬菜,营养价值极高", "耐候性": 8, "等级": 4, "经验": 40, "能否购买": true}, - "茄子": {"花费": 190, "生长时间": 2400, "收益": 310, "品质": "史诗", "描述": "紫色的营养蔬菜", "耐候性": 10, "等级": 4, "经验": 32, "能否购买": true}, - - - "西瓜": {"花费": 250, "生长时间": 4800, "收益": 450, "品质": "优良", "描述": "夏日消暑的大型水果", "耐候性": 6, "等级": 5, "经验": 50, "能否购买": true}, - "甘蔗": {"花费": 280, "生长时间": 5400, "收益": 500, "品质": "优良", "描述": "制糖的重要原料", "耐候性": 5, "等级": 5, "经验": 55, "能否购买": true}, - "香草": {"花费": 300, "生长时间": 6000, "收益": 550, "品质": "优良", "描述": "珍贵的调料植物", "耐候性": 7, "等级": 5, "经验": 60, "能否购买": true}, - "甜菜": {"花费": 240, "生长时间": 4200, "收益": 420, "品质": "优良", "描述": "制糖的另一种选择", "耐候性": 11, "等级": 5, "经验": 45, "能否购买": true}, - "百合花": {"花费": 260, "生长时间": 4800, "收益": 480, "品质": "优良", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 5, "经验": 50, "能否购买": true}, - "康乃馨": {"花费": 270, "生长时间": 5100, "收益": 510, "品质": "优良", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 5, "经验": 50, "能否购买": true}, - "郁金香": {"花费": 280, "生长时间": 5100, "收益": 510, "品质": "优良", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 5, "经验": 50, "能否购买": true}, - - - "人参": {"花费": 400, "生长时间": 7200, "收益": 720, "品质": "传奇", "描述": "珍贵的药用植物,需要耐心培养", "耐候性": 15, "等级": 6, "经验": 80, "能否购买": true}, - "富贵竹": {"花费": 350, "生长时间": 6600, "收益": 650, "品质": "传奇", "描述": "寓意吉祥的观赏植物", "耐候性": 12, "等级": 6, "经验": 75, "能否购买": true}, - "芦荟": {"花费": 320, "生长时间": 6000, "收益": 600, "品质": "传奇", "描述": "具有药用价值的多肉植物", "耐候性": 18, "等级": 6, "经验": 70, "能否购买": true}, - "哈密瓜": {"花费": 380, "生长时间": 7800, "收益": 700, "品质": "传奇", "描述": "甘甜的高级水果", "耐候性": 8, "等级": 6, "经验": 85, "能否购买": true}, - - - "金橘": {"花费": 500, "生长时间": 10800, "收益": 900, "品质": "传奇", "描述": "金黄色的珍贵柑橘", "耐候性": 10, "等级": 7, "经验": 120, "能否购买": true}, - "苹果树": {"花费": 450, "生长时间": 9600, "收益": 820, "品质": "传奇", "描述": "结果丰富的果树", "耐候性": 14, "等级": 7, "经验": 110, "能否购买": true}, - "橘子树": {"花费": 480, "生长时间": 10200, "收益": 850, "品质": "传奇", "描述": "维生素C丰富的果树", "耐候性": 12, "等级": 7, "经验": 115, "能否购买": true}, - "香蕉树": {"花费": 420, "生长时间": 8400, "收益": 780, "品质": "传奇", "描述": "热带水果之王", "耐候性": 5, "等级": 7, "经验": 100, "能否购买": true}, - - - "向日葵": {"花费": 160, "生长时间": 3600, "收益": 280, "品质": "史诗", "描述": "向阳而生的美丽花朵", "耐候性": 13, "等级": 4, "经验": 35, "能否购买": true}, - "树莓": {"花费": 140, "生长时间": 2700, "收益": 240, "品质": "稀有", "描述": "小巧精致的浆果", "耐候性": 9, "等级": 3, "经验": 30, "能否购买": true}, - "豌豆": {"花费": 65, "生长时间": 720, "收益": 110, "品质": "优良", "描述": "嫩绿的豆荚蔬菜", "耐候性": 10, "等级": 2, "经验": 15, "能否购买": true}, - "黄瓜": {"花费": 85, "生长时间": 1200, "收益": 150, "品质": "优良", "描述": "清脆爽口的瓜类", "耐候性": 8, "等级": 2, "经验": 18, "能否购买": true}, - "大白菜": {"花费": 70, "生长时间": 900, "收益": 120, "品质": "优良", "描述": "北方冬季的主要蔬菜", "耐候性": 15, "等级": 2, "经验": 16, "能否购买": true}, - "蕨菜": {"花费": 180, "生长时间": 2400, "收益": 300, "品质": "史诗", "描述": "野生山菜,口感独特", "耐候性": 16, "等级": 4, "经验": 35, "能否购买": true}, - - - "龙果": {"花费": 800, "生长时间": 14400, "收益": 1500, "品质": "传奇", "描述": "传说中的神秘果实,蕴含强大能量", "耐候性": 25, "等级": 8, "经验": 200, "能否购买": true}, - "松露": {"花费": 1000, "生长时间": 18000, "收益": 2000, "品质": "传奇", "描述": "地下的黑金,顶级料理的灵魂", "耐候性": 20, "等级": 8, "经验": 250, "能否购买": true}, - "冬虫夏草": {"花费": 600, "生长时间": 12000, "收益": 1200, "品质": "传奇", "描述": "稀世珍宝,药王之称", "耐候性": 30, "等级": 7, "经验": 180, "能否购买": true}, - "山葵": {"花费": 500, "生长时间": 10800, "收益": 1000, "品质": "优良", "描述": "日式料理的珍贵调料", "耐候性": 22, "等级": 7, "经验": 150, "能否购买": true}, - "鱼腥草": {"花费": 300, "生长时间": 7200, "收益": 600, "品质": "稀有", "描述": "具有特殊药用价值的野菜", "耐候性": 18, "等级": 6, "经验": 90, "能否购买": true}, - - - "杂交树1": {"花费": 1200, "生长时间": 21600, "收益": 2500, "品质": "传奇", "描述": "初中生物书最后的想象", "耐候性": 35, "等级": 9, "经验": 300, "能否购买": true}, - "杂交树2": {"花费": 1500, "生长时间": 25200, "收益": 3000, "品质": "传奇", "描述": "初中生物书最后的想象", "耐候性": 40, "等级": 10, "经验": 400, "能否购买": true} -} \ No newline at end of file + "龙果": {"花费": 400, "生长时间": 4800, "收益": 600, "品质": "传奇", "描述": "极为稀有的热带作物,产量和价值都极高", "耐候性": 25, "等级": 6, "经验": 60}, + "松露": {"花费": 500, "生长时间": 7200, "收益": 700, "品质": "传奇", "描述": "极其珍贵的地下作物,市场价格极高", "耐候性": 23, "等级": 7, "经验": 80}, + "人参": {"花费": 450, "生长时间": 6600, "收益": 650, "品质": "传奇", "描述": "需要耐心等待的珍贵药材", "耐候性": 22, "等级": 6, "经验": 75}, + "金橘": {"花费": 420, "生长时间": 4800, "收益": 620, "品质": "传奇", "描述": "少见的耐寒果树,市场需求量极大", "耐候性": 26, "等级": 7, "经验": 70} +} \ No newline at end of file diff --git a/GUI/AcceptDialog.gd b/GUI/AcceptDialog.gd index 5020c6c..560ccba 100644 --- a/GUI/AcceptDialog.gd +++ b/GUI/AcceptDialog.gd @@ -65,9 +65,9 @@ func _customize_button(button: Button) -> void: func _apply_custom_theme() -> void: # 设置面板背景颜色 var panel_style := StyleBoxFlat.new() - panel_style.bg_color = Color("f8fafc") # very light gray + #panel_style.bg_color = Color.AQUA # very light gray panel_style.set_border_width_all(2) - panel_style.border_color = Color("cbd5e1") + #panel_style.border_color = Color("cbd5e1") self.add_theme_stylebox_override("panel", panel_style) # ✅ 修正方法名 diff --git a/GUI/AccountSettingPanel.gd b/GUI/AccountSettingPanel.gd new file mode 100644 index 0000000..31556b6 --- /dev/null +++ b/GUI/AccountSettingPanel.gd @@ -0,0 +1,237 @@ +extends Panel + +@onready var user_name_input: Label = $VBox1/Grid/User_Name_Input #用户名/账号名 +@onready var user_password_input: LineEdit = $VBox1/Grid/User_Password_Input#账号密码 +@onready var player_name_input: LineEdit = $VBox1/Grid/Player_Name_Input #玩家昵称 +@onready var farm_name_input: LineEdit = $VBox1/Grid/Farm_Name_Input #农场名称 +@onready var personal_profile_input: LineEdit = $VBox1/Grid/Personal_Profile_Input#个人简介 + +@onready var remove_account_btn: Button = $VBox1/HBox2/Remove_Account_Btn #删除账号按钮 +@onready var confirm_btn: Button = $VBox1/HBox2/Confirm_Btn #修改账号信息按钮 + +@onready var quit_button: Button = $QuitButton #关闭玩家信息面板按钮 +@onready var refresh_button: Button = $RefreshButton#刷新玩家信息按钮 + +#预添加常用的面板和组件 +@onready var main_game = get_node("/root/main") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") +@onready var accept_dialog = get_node("/root/main/UI/AcceptDialog") + +# 存储待执行的操作类型 +var pending_action = "" + +func _ready() -> void: + # 连接按钮信号 + quit_button.pressed.connect(_on_quit_button_pressed) + refresh_button.pressed.connect(_on_refresh_button_pressed) + confirm_btn.pressed.connect(_on_confirm_btn_pressed) + remove_account_btn.pressed.connect(_on_remove_account_btn_pressed) + + # 初始显示界面数据 + _refresh_player_info() + + # 如果有网络连接,自动请求最新数据(延迟一秒等待初始化完成) + if network_manager and network_manager.has_method("is_connected_to_server") and network_manager.is_connected_to_server(): + await get_tree().create_timer(1.0).timeout + _request_player_info_from_server() + +#关闭玩家信息面板按钮点击 +func _on_quit_button_pressed() -> void: + self.hide() + GlobalVariables.isZoomDisabled = false + +#刷新玩家信息按钮点击 +func _on_refresh_button_pressed() -> void: + # 向服务器请求最新的玩家数据 + _request_player_info_from_server() + +#向服务器请求玩家信息 +func _request_player_info_from_server(): + if not network_manager: + _show_message("网络管理器不可用", Color.RED) + return + + if not network_manager.is_connected_to_server(): + _show_message("未连接到服务器", Color.RED) + return + + # 发送刷新请求到服务器 + var message = { + "type": "refresh_player_info" + } + + var success = network_manager.send_message(message) + if success: + _show_message("正在刷新玩家信息...", Color.YELLOW) + else: + _show_message("发送刷新请求失败", Color.RED) + +#确认修改按钮点击 +func _on_confirm_btn_pressed() -> void: + # 显示二次确认对话框 + pending_action = "modify_account" + if accept_dialog: + accept_dialog.dialog_text = "确认要修改账号信息吗?这些更改将立即生效。" + accept_dialog.title = "确认修改" + accept_dialog.show() + # 连接确认信号 + if not accept_dialog.confirmed.is_connected(_on_accept_dialog_confirmed): + accept_dialog.confirmed.connect(_on_accept_dialog_confirmed) + +#删除账号按钮点击 +func _on_remove_account_btn_pressed() -> void: + # 显示二次确认对话框 + pending_action = "delete_account" + if accept_dialog: + accept_dialog.dialog_text = "警告:删除账号将永久移除您的所有数据,包括农场、作物、背包等所有内容。\n此操作无法撤销,确认要删除账号吗?" + accept_dialog.title = "删除账号确认" + accept_dialog.show() + # 连接确认信号 + if not accept_dialog.confirmed.is_connected(_on_accept_dialog_confirmed): + accept_dialog.confirmed.connect(_on_accept_dialog_confirmed) + +#确认对话框的确认按钮被点击 +func _on_accept_dialog_confirmed() -> void: + match pending_action: + "modify_account": + _modify_account_info() + "delete_account": + _delete_account() + + # 重置待执行操作 + pending_action = "" + + # 断开信号连接 + if accept_dialog and accept_dialog.confirmed.is_connected(_on_accept_dialog_confirmed): + accept_dialog.confirmed.disconnect(_on_accept_dialog_confirmed) + +#修改账号信息 +func _modify_account_info(): + if not network_manager: + _show_message("网络管理器不可用", Color.RED) + return + + if not network_manager.is_connected_to_server(): + _show_message("未连接到服务器", Color.RED) + return + + # 获取输入的信息 + var new_password = user_password_input.text.strip_edges() + var new_player_name = player_name_input.text.strip_edges() + var new_farm_name = farm_name_input.text.strip_edges() + var new_personal_profile = personal_profile_input.text.strip_edges() + + # 验证输入 + if new_password == "": + _show_message("密码不能为空", Color.RED) + return + + if new_player_name == "": + _show_message("玩家昵称不能为空", Color.RED) + return + + if new_farm_name == "": + _show_message("农场名称不能为空", Color.RED) + return + + # 发送修改请求到服务器 + var message = { + "type": "modify_account_info", + "new_password": new_password, + "new_player_name": new_player_name, + "new_farm_name": new_farm_name, + "new_personal_profile": new_personal_profile + } + + var success = network_manager.send_message(message) + if success: + _show_message("正在更新账号信息...", Color.YELLOW) + else: + _show_message("发送修改请求失败", Color.RED) + +#删除账号 +func _delete_account(): + if not network_manager: + _show_message("网络管理器不可用", Color.RED) + return + + if not network_manager.is_connected_to_server(): + _show_message("未连接到服务器", Color.RED) + return + + # 发送删除账号请求到服务器 + var message = { + "type": "delete_account" + } + + var success = network_manager.send_message(message) + if success: + _show_message("正在删除账号...", Color.YELLOW) + else: + _show_message("发送删除请求失败", Color.RED) + +#刷新玩家信息显示(从本地数据) +func _refresh_player_info(): + # 从主游戏获取当前玩家信息 + user_name_input.text = main_game.user_name if main_game.user_name != "" else "未知" + user_password_input.text = main_game.user_password if main_game.user_password != "" else "" + + # 优先从 login_data 获取数据,如果没有则从 data 获取 + var player_data = main_game.login_data if main_game.login_data.size() > 0 else main_game.data + + player_name_input.text = player_data.get("player_name", "") + farm_name_input.text = player_data.get("farm_name", "") + personal_profile_input.text = player_data.get("个人简介", "") + + +#显示消息提示 +func _show_message(message: String, color: Color): + if main_game and main_game.has_method("show_message"): + main_game.show_message(message, color) + else: + pass + +#处理服务器响应 +func handle_account_response(response_data: Dictionary): + var message_type = response_data.get("type", "") + var success = response_data.get("success", false) + var message = response_data.get("message", "") + + match message_type: + "modify_account_info_response": + if success: + _show_message(message, Color.GREEN) + # 更新本地数据 + if response_data.has("updated_data"): + var updated_data = response_data["updated_data"] + if main_game: + if updated_data.has("player_name"): + main_game.data["player_name"] = updated_data["player_name"] + if updated_data.has("farm_name"): + main_game.data["farm_name"] = updated_data["farm_name"] + if updated_data.has("个人简介"): + main_game.data["个人简介"] = updated_data["个人简介"] + if updated_data.has("user_password"): + main_game.user_password = updated_data["user_password"] + + # 刷新显示 + _refresh_player_info() + else: + _show_message(message, Color.RED) + + "delete_account_response": + if success: + _show_message(message, Color.GREEN) + # 等待2秒后返回主菜单 + await get_tree().create_timer(2.0).timeout + get_tree().change_scene_to_file("res://GUI/MainMenuPanel.tscn") + else: + _show_message(message, Color.RED) + + "refresh_player_info_response": + if success: + # 主游戏已经更新了数据,直接刷新显示即可 + _refresh_player_info() + _show_message("玩家信息已刷新", Color.GREEN) + else: + _show_message(message if message != "" else "刷新失败", Color.RED) diff --git a/GUI/AccountSettingPanel.gd.uid b/GUI/AccountSettingPanel.gd.uid new file mode 100644 index 0000000..58ca2eb --- /dev/null +++ b/GUI/AccountSettingPanel.gd.uid @@ -0,0 +1 @@ +uid://dinrduqwsf5k5 diff --git a/GUI/CropStorePanel.gd b/GUI/CropStorePanel.gd new file mode 100644 index 0000000..8c0def6 --- /dev/null +++ b/GUI/CropStorePanel.gd @@ -0,0 +1,500 @@ +extends Panel + +#种子商店面板 +#种子商店格子 +@onready var crop_grid_container : GridContainer = $ScrollContainer/Crop_Grid +@onready var quit_button : Button = $QuitButton + +#各种排序过滤按钮 +@onready var sort_all_button : Button = $SortContainer/Sort_All#全部 +@onready var sort_common_button : Button = $SortContainer/Sort_Common#普通 +@onready var sort_superior_button : Button = $SortContainer/Sort_Superior#优良 +@onready var sort_rare_button : Button = $SortContainer/Sort_Rare#稀有 +@onready var sort_epic_button : Button = $SortContainer/Sort_Epic#史诗 +@onready var sort_legendary_button : Button = $SortContainer/Sort_Legendary#传奇 +@onready var sort_price_button : Button = $SortContainer/Sort_Price#价格 +@onready var sort_growtime_button : Button = $SortContainer/Sort_GrowTime#生长时间 +@onready var sort_profit_button : Button = $SortContainer/Sort_Profit#收益 +@onready var sort_level_button : Button = $SortContainer/Sort_Level#等级 + +#预添加常用的面板 +@onready var main_game = get_node("/root/main") +@onready var land_panel = get_node("/root/main/UI/LandPanel") +@onready var crop_store_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var player_ranking_panel = get_node("/root/main/UI/PlayerRankingPanel") +@onready var player_bag_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 作物图片缓存(复用主游戏的缓存系统) +var crop_textures_cache : Dictionary = {} +var crop_frame_counts : Dictionary = {} + +# 当前过滤和排序设置 +var current_filter_quality = "" +var current_sort_key = "" +var current_sort_ascending = true + +# 准备函数 +func _ready(): + # 连接按钮信号 + _connect_buttons() + # 隐藏面板(初始默认隐藏) + self.hide() + +# 连接所有按钮信号 +func _connect_buttons(): + # 关闭按钮 + quit_button.pressed.connect(self._on_quit_button_pressed) + + # 过滤按钮 + sort_all_button.pressed.connect(func(): _filter_by_quality("")) + sort_common_button.pressed.connect(func(): _filter_by_quality("普通")) + sort_superior_button.pressed.connect(func(): _filter_by_quality("优良")) + sort_rare_button.pressed.connect(func(): _filter_by_quality("稀有")) + sort_epic_button.pressed.connect(func(): _filter_by_quality("史诗")) + sort_legendary_button.pressed.connect(func(): _filter_by_quality("传奇")) + + # 排序按钮 + sort_price_button.pressed.connect(func(): _sort_by("花费")) + sort_growtime_button.pressed.connect(func(): _sort_by("生长时间")) + sort_profit_button.pressed.connect(func(): _sort_by("收益")) + sort_level_button.pressed.connect(func(): _sort_by("等级")) + +# 初始化商店 +func init_store(): + + # 清空已有的作物按钮 + for child in crop_grid_container.get_children(): + child.queue_free() + + # 遍历可种植的作物数据并添加到商店 + for crop_name in main_game.can_planted_crop: + var crop = main_game.can_planted_crop[crop_name] + + # 检查是否可以购买 + if not crop.get("能否购买", true): + continue + + # 只显示当前等级可以种植的作物 + if crop["等级"] <= main_game.level: + var store_btn = _create_store_button(crop_name, crop["品质"]) + crop_grid_container.add_child(store_btn) + #print("添加商店按钮: " + crop_name) + + print("商店初始化完成,共添加按钮: " + str(crop_grid_container.get_child_count()) + "个") + + # 更新金钱显示 + _update_money_display() + +# 创建商店按钮 +func _create_store_button(crop_name: String, crop_quality: String) -> Button: + # 根据品质选择相应的按钮 + var button = main_game.item_button.duplicate() + + var crop = main_game.can_planted_crop[crop_name] + + # 确保按钮可见并可点击 + button.visible = true + button.disabled = false + button.focus_mode = Control.FOCUS_ALL + + # 设置按钮文本,显示价格 + button.text = str(crop_quality + "-" + crop_name + "\n价格: ¥" + str(crop["花费"])) + + # 将成熟时间从秒转换为天时分秒格式 + var total_seconds = int(crop["生长时间"]) + + # 定义时间单位换算 + var SECONDS_PER_MINUTE = 60 + var SECONDS_PER_HOUR = 3600 + var SECONDS_PER_DAY = 86400 + + # 计算各时间单位 + var days = total_seconds / SECONDS_PER_DAY + total_seconds %= SECONDS_PER_DAY + + var hours = total_seconds / SECONDS_PER_HOUR + total_seconds %= SECONDS_PER_HOUR + + var minutes = total_seconds / SECONDS_PER_MINUTE + var seconds = total_seconds % SECONDS_PER_MINUTE + + # 构建时间字符串(只显示有值的单位) + var time_str = "" + if days > 0: + time_str += str(days) + "天" + if hours > 0: + time_str += str(hours) + "小时" + if minutes > 0: + time_str += str(minutes) + "分钟" + if seconds > 0: + time_str += str(seconds) + "秒" + + button.tooltip_text = str( + "作物: " + crop_name + "\n" + + "品质: " + crop_quality + "\n" + + "价格: " + str(crop["花费"]) + "元\n" + + "成熟时间: " + time_str + "\n" + + "收获收益: " + str(crop["收益"]) + "元\n" + + "需求等级: " + str(crop["等级"]) + "\n" + + "耐候性: " + str(crop["耐候性"]) + "\n" + + "经验: " + str(crop["经验"]) + "点\n" + + "描述: " + str(crop["描述"]) + ) + + # 添加按钮事件 + button.pressed.connect(func(): _on_store_buy_pressed(crop_name)) + + # 更新按钮的作物图片 + _update_button_crop_image(button, crop_name) + + # 如果按钮有标题标签,设置标题 + if button.has_node("Title"): + match crop_quality: + "普通": + button.get_node("Title").modulate = Color.HONEYDEW#白色 + "优良": + button.get_node("Title").modulate =Color.DODGER_BLUE#深蓝色 + "稀有": + button.get_node("Title").modulate =Color.HOT_PINK#品红色 + "史诗": + button.get_node("Title").modulate =Color.YELLOW#黄色 + "传奇": + button.get_node("Title").modulate =Color.ORANGE_RED#红色 + + return button + +# 购买种子事件处理 +func _on_store_buy_pressed(crop_name: String): + var crop = main_game.can_planted_crop[crop_name] + + # 检查等级要求 + if main_game.level < crop["等级"]: + Toast.show("等级不足,无法购买此种子", Color.RED) + return + + # 检查金钱是否足够 + if main_game.money < crop["花费"]: + Toast.show("金钱不足,无法购买种子", Color.RED) + return + + # 发送购买请求到服务器 + if network_manager and network_manager.sendBuySeed(crop_name): + + # 将种子添加到背包 + var found = false + for seed_item in main_game.player_bag: + if seed_item["name"] == crop_name: + seed_item["count"] += 1 + found = true + break + + if not found: + main_game.player_bag.append({ + "name": crop_name, + "quality": crop["品质"], + "count": 1 + }) + + + # 更新背包UI + crop_store_panel.update_player_bag_ui() + + # 更新金钱显示 + _update_money_display() + + +# 按品质过滤作物 +func _filter_by_quality(quality: String): + current_filter_quality = quality + _apply_filter_and_sort() + +# 按指定键排序 +func _sort_by(sort_key: String): + # 切换排序方向或设置新排序键 + if current_sort_key == sort_key: + current_sort_ascending = !current_sort_ascending + else: + current_sort_key = sort_key + current_sort_ascending = true + + _apply_filter_and_sort() + +# 应用过滤和排序 +func _apply_filter_and_sort(): + # 清空现有按钮 + for child in crop_grid_container.get_children(): + child.queue_free() + + # 收集符合条件的作物 + var filtered_crops = [] + for crop_name in main_game.can_planted_crop: + var crop = main_game.can_planted_crop[crop_name] + + # 检查是否可以购买 + if not crop.get("能否购买", true): + continue + + # 检查等级和品质过滤 + if crop["等级"] > main_game.level: + continue + + if current_filter_quality != "" and crop["品质"] != current_filter_quality: + continue + + # 添加到过滤后的列表 + filtered_crops.append({ + "name": crop_name, + "data": crop + }) + + # 如果有排序条件,进行排序 + if current_sort_key != "": + filtered_crops.sort_custom(Callable(self, "_sort_crop_items")) + + # 添加所有过滤和排序后的作物 + for crop in filtered_crops: + var store_btn = _create_store_button(crop["name"], crop["data"]["品质"]) + crop_grid_container.add_child(store_btn) + + # 更新金钱显示 + _update_money_display() + +# 自定义排序函数 +func _sort_crop_items(a, b): + if current_sort_ascending: + return a["data"][current_sort_key] < b["data"][current_sort_key] + else: + return a["data"][current_sort_key] > b["data"][current_sort_key] + +# 更新金钱显示 +func _update_money_display(): + var money_label = get_node_or_null("MoneyLabel") + if money_label == null: + # 创建金钱显示标签 + money_label = Label.new() + money_label.name = "MoneyLabel" + money_label.position = Vector2(10, 10) + money_label.size = Vector2(300, 45) + + # 设置标签样式 + money_label.add_theme_color_override("font_color", Color(1, 0.647, 0, 1)) # 橙色 + money_label.add_theme_font_size_override("font_size", 24) + + add_child(money_label) + + # 更新金钱显示 + money_label.text = "当前金钱:" + str(main_game.money) + " 元" + +# 刷新商店内容,可以在金钱变化或等级提升后调用 +func refresh_store(): + # 清空并重新创建商店按钮 + init_store() + # 尝试创建过滤按钮(如果商店面板中没有这些按钮) + _create_filter_buttons_if_needed() + +# 如果需要,动态创建过滤按钮 +func _create_filter_buttons_if_needed(): + # 检查是否已存在过滤器容器 + var filter_container = get_node_or_null("FilterContainer") + if filter_container == null: + # 创建过滤器容器 + filter_container = HBoxContainer.new() + filter_container.name = "FilterContainer" + + # 设置容器位置和大小 + filter_container.position = Vector2(320, 10) + filter_container.size = Vector2(770, 45) + + add_child(filter_container) + + # 添加过滤按钮 + _add_filter_button(filter_container, "全部", func(): _filter_by_quality("")) + _add_filter_button(filter_container, "普通", func(): _filter_by_quality("普通")) + _add_filter_button(filter_container, "优良", func(): _filter_by_quality("优良")) + _add_filter_button(filter_container, "稀有", func(): _filter_by_quality("稀有")) + _add_filter_button(filter_container, "史诗", func(): _filter_by_quality("史诗")) + _add_filter_button(filter_container, "传奇", func(): _filter_by_quality("传奇")) + + # 检查是否已存在排序容器 + var sort_container = get_node_or_null("SortContainer") + if sort_container == null: + # 创建排序容器 + sort_container = HBoxContainer.new() + sort_container.name = "SortContainer" + + # 设置容器位置和大小 + sort_container.position = Vector2(320, 55) + sort_container.size = Vector2(770, 30) + + add_child(sort_container) + + # 添加排序按钮 + _add_filter_button(sort_container, "按价格", func(): _sort_by("花费")) + _add_filter_button(sort_container, "按生长时间", func(): _sort_by("生长时间")) + _add_filter_button(sort_container, "按收益", func(): _sort_by("收益")) + _add_filter_button(sort_container, "按等级", func(): _sort_by("等级")) + +# 添加过滤按钮 +func _add_filter_button(container, text, callback): + var button = Button.new() + button.text = text + button.custom_minimum_size = Vector2(100, 0) + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + container.add_child(button) + button.pressed.connect(callback) + +# 获取作物的成熟图片(用于商店显示) +func _get_crop_final_texture(crop_name: String) -> Texture2D: + # 优先从主游戏的缓存中获取成熟图片 + if main_game and main_game.crop_mature_textures_cache.has(crop_name): + return main_game.crop_mature_textures_cache[crop_name] + + # 如果缓存中没有,再尝试加载"成熟.webp"图片 + var crop_path = "res://assets/作物/" + crop_name + "/" + var mature_texture_path = crop_path + "成熟.webp" + + if ResourceLoader.exists(mature_texture_path): + var texture = load(mature_texture_path) + if texture: + print("商店加载作物成熟图片:", crop_name) + # 如果主游戏存在,也缓存到主游戏中 + if main_game: + main_game.crop_mature_textures_cache[crop_name] = texture + return texture + + # 如果没有找到作物的成熟图片,使用默认的成熟图片 + if main_game and main_game.crop_mature_textures_cache.has("默认"): + var default_texture = main_game.crop_mature_textures_cache["默认"] + # 缓存给这个作物 + main_game.crop_mature_textures_cache[crop_name] = default_texture + return default_texture + + # 最后尝试直接加载默认成熟图片 + var default_mature_path = "res://assets/作物/默认/成熟.webp" + if ResourceLoader.exists(default_mature_path): + var texture = load(default_mature_path) + if texture: + print("商店使用默认成熟图片:", crop_name) + # 缓存到主游戏 + if main_game: + main_game.crop_mature_textures_cache["默认"] = texture + main_game.crop_mature_textures_cache[crop_name] = texture + return texture + + return null + +# 加载作物图片序列帧(复用主游戏的逻辑) +func _load_crop_textures(crop_name: String) -> Array: + if crop_textures_cache.has(crop_name): + return crop_textures_cache[crop_name] + + var textures = [] + var crop_path = "res://assets/作物/" + crop_name + "/" + var default_path = "res://assets/作物/默认/" + + # 检查作物文件夹是否存在 + if DirAccess.dir_exists_absolute(crop_path): + # 尝试加载作物的序列帧(从0开始) + var frame_index = 0 + while true: + var texture_path = crop_path + str(frame_index) + ".webp" + if ResourceLoader.exists(texture_path): + var texture = load(texture_path) + if texture: + textures.append(texture) + frame_index += 1 + else: + break + else: + break + + if textures.size() > 0: + pass + else: + textures = _load_default_textures() + else: + print("商店:作物 ", crop_name, " 的文件夹不存在,使用默认图片") + textures = _load_default_textures() + + # 缓存结果 + crop_textures_cache[crop_name] = textures + crop_frame_counts[crop_name] = textures.size() + + return textures + +# 加载默认图片 +func _load_default_textures() -> Array: + if crop_textures_cache.has("默认"): + return crop_textures_cache["默认"] + + var textures = [] + var default_path = "res://assets/作物/默认/" + + # 尝试加载默认图片序列帧 + var frame_index = 0 + while true: + var texture_path = default_path + str(frame_index) + ".webp" + if ResourceLoader.exists(texture_path): + var texture = load(texture_path) + if texture: + textures.append(texture) + frame_index += 1 + else: + break + else: + break + + # 如果没有找到序列帧,尝试加载单个默认图片 + if textures.size() == 0: + var single_texture_path = default_path + "0.webp" + if ResourceLoader.exists(single_texture_path): + var texture = load(single_texture_path) + if texture: + textures.append(texture) + + # 缓存默认图片 + crop_textures_cache["默认"] = textures + crop_frame_counts["默认"] = textures.size() + + return textures + +# 更新按钮的作物图片 +func _update_button_crop_image(button: Button, crop_name: String): + # 检查按钮是否有CropImage节点 + var crop_image = button.get_node_or_null("CropImage") + if not crop_image: + print("商店按钮没有找到CropImage节点:", button.name) + return + + # 获取作物的最后一帧图片 + var texture = _get_crop_final_texture(crop_name) + + if texture: + # CropImage是Sprite2D,直接设置texture属性 + crop_image.texture = texture + crop_image.visible = true + print("商店更新作物图片:", crop_name) + else: + crop_image.visible = false + print("商店无法获取作物图片:", crop_name) + +# 兼容MainGame.gd中的调用,转发到_on_store_buy_pressed +func _on_crop_selected(crop_name: String): + _on_store_buy_pressed(crop_name) + + +#=========================面板通用处理========================= +#手动刷新种子商店面板 +func _on_refresh_button_pressed() -> void: + # 重新初始化种子商店 + init_store() + Toast.show("种子商店已刷新", Color.GREEN, 2.0, 1.0) + +#关闭种子商店面板 +func _on_quit_button_pressed(): + #打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = false + + self.hide() +#=========================面板通用处理========================= diff --git a/GUI/CropStorePanel.gd.uid b/GUI/CropStorePanel.gd.uid new file mode 100644 index 0000000..8f3c387 --- /dev/null +++ b/GUI/CropStorePanel.gd.uid @@ -0,0 +1 @@ +uid://mtfp0ct42nrx diff --git a/GUI/CropWarehousePanel.gd b/GUI/CropWarehousePanel.gd new file mode 100644 index 0000000..818d29f --- /dev/null +++ b/GUI/CropWarehousePanel.gd @@ -0,0 +1,408 @@ +extends Panel +#这是作物仓库面板 用来显示玩家收获的作物的成熟品 比如各种果实和花朵 + +# 作物仓库格子容器 +@onready var crop_warehouse_grid_container : GridContainer = $ScrollContainer/Warehouse_Grid +@onready var quit_button : Button = $QuitButton + +#各种排序过滤按钮 +@onready var sort_all_button : Button = $SortContainer/Sort_All#全部 +@onready var sort_common_button : Button = $SortContainer/Sort_Common#普通 +@onready var sort_superior_button : Button = $SortContainer/Sort_Superior#优良 +@onready var sort_rare_button : Button = $SortContainer/Sort_Rare#稀有 +@onready var sort_epic_button : Button = $SortContainer/Sort_Epic#史诗 +@onready var sort_legendary_button : Button = $SortContainer/Sort_Legendary#传奇 +@onready var sort_price_button : Button = $SortContainer/Sort_Price#价格 +@onready var sort_growtime_button : Button = $SortContainer/Sort_GrowTime#生长时间 +@onready var sort_profit_button : Button = $SortContainer/Sort_Profit#收益 +@onready var sort_level_button : Button = $SortContainer/Sort_Level#等级 + +#预添加常用的面板 +@onready var main_game = get_node("/root/main") +@onready var land_panel = get_node("/root/main/UI/LandPanel") +@onready var crop_store_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var player_ranking_panel = get_node("/root/main/UI/PlayerRankingPanel") +@onready var player_bag_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 作物图片缓存(复用主游戏的缓存系统) +var crop_textures_cache : Dictionary = {} +var crop_frame_counts : Dictionary = {} + +# 当前过滤和排序设置 +var current_filter_quality = "" +var current_sort_key = "" +var current_sort_ascending = true + +# 准备函数 +func _ready(): + # 连接按钮信号 + _connect_buttons() + + # 隐藏面板(初始默认隐藏) + self.hide() + +# 连接所有按钮信号 +func _connect_buttons(): + # 关闭按钮 + quit_button.pressed.connect(self._on_quit_button_pressed) + + # 过滤按钮 + sort_all_button.pressed.connect(func(): _filter_by_quality("")) + sort_common_button.pressed.connect(func(): _filter_by_quality("普通")) + sort_superior_button.pressed.connect(func(): _filter_by_quality("优良")) + sort_rare_button.pressed.connect(func(): _filter_by_quality("稀有")) + sort_epic_button.pressed.connect(func(): _filter_by_quality("史诗")) + sort_legendary_button.pressed.connect(func(): _filter_by_quality("传奇")) + + # 排序按钮 + sort_price_button.pressed.connect(func(): _sort_by("花费")) + sort_growtime_button.pressed.connect(func(): _sort_by("生长时间")) + sort_profit_button.pressed.connect(func(): _sort_by("收益")) + sort_level_button.pressed.connect(func(): _sort_by("等级")) + +# 初始化作物仓库 +func init_crop_warehouse(): + # 清空作物仓库格子 + for child in crop_warehouse_grid_container.get_children(): + child.queue_free() + + # 显示仓库中的成熟物 + update_crop_warehouse_ui() + +# 更新作物仓库UI +func update_crop_warehouse_ui(): + # 清空作物仓库格子 + for child in crop_warehouse_grid_container.get_children(): + child.queue_free() + #print("更新作物仓库UI,仓库中物品数量:", main_game.crop_warehouse.size()) + + # 应用过滤和排序 + var filtered_crops = _get_filtered_and_sorted_crops() + + # 为仓库中的每个过滤后的成熟物创建按钮 + for crop_item in filtered_crops: + var crop_name = crop_item["name"] + var crop_quality = crop_item.get("quality", "普通") + var crop_count = crop_item["count"] + #print("仓库物品:", crop_name, " 数量:", crop_count) + # 创建成熟物按钮 + var button = _create_crop_button(crop_name, crop_quality) + # 更新按钮文本显示数量 + button.text = str(crop_quality + "-" + crop_name + "\n数量:" + str(crop_count)) + + # 根据是否处于访问模式连接不同的事件 + if main_game.is_visiting_mode: + # 访问模式下,点击成熟物只显示信息,不能操作 + button.pressed.connect(func(): _on_visit_crop_selected(crop_name, crop_count)) + else: + # 正常模式下,连接成熟物信息显示事件 + button.pressed.connect(func(): _on_crop_selected(crop_name, crop_count)) + + crop_warehouse_grid_container.add_child(button) + +# 获取过滤和排序后的成熟物列表 +func _get_filtered_and_sorted_crops(): + var filtered_crops = [] + + # 收集符合条件的成熟物 + for crop_item in main_game.crop_warehouse: + # 安全获取品质字段(兼容老数据) + var item_quality = crop_item.get("quality", "普通") + + # 品质过滤 + if current_filter_quality != "" and item_quality != current_filter_quality: + continue + + # 获取成熟物对应的作物数据 + var crop_data = null + if main_game.can_planted_crop.has(crop_item["name"]): + crop_data = main_game.can_planted_crop[crop_item["name"]] + + # 添加到过滤后的列表 + filtered_crops.append({ + "name": crop_item["name"], + "quality": item_quality, + "count": crop_item["count"], + "data": crop_data + }) + + # 如果有排序条件且数据可用,进行排序 + if current_sort_key != "": + filtered_crops.sort_custom(Callable(self, "_sort_crop_items")) + + return filtered_crops + +# 自定义排序函数 +func _sort_crop_items(a, b): + # 检查是否有有效数据用于排序 + if a["data"] == null or b["data"] == null: + # 如果某一项没有数据,将其排在后面 + if a["data"] == null and b["data"] != null: + return false + if a["data"] != null and b["data"] == null: + return true + # 如果都没有数据,按名称排序 + return a["name"] < b["name"] + + # 确保排序键存在于数据中 + if !a["data"].has(current_sort_key) or !b["data"].has(current_sort_key): + print("警告: 排序键 ", current_sort_key, " 在某些成熟物数据中不存在") + return false + + # 执行排序 + if current_sort_ascending: + return a["data"][current_sort_key] < b["data"][current_sort_key] + else: + return a["data"][current_sort_key] > b["data"][current_sort_key] + +# 按品质过滤成熟物 +func _filter_by_quality(quality: String): + current_filter_quality = quality + print("过滤成熟物,品质: " + (quality if quality != "" else "全部")) + update_crop_warehouse_ui() + +# 按指定键排序 +func _sort_by(sort_key: String): + # 切换排序方向或设置新排序键 + if current_sort_key == sort_key: + current_sort_ascending = !current_sort_ascending + else: + current_sort_key = sort_key + current_sort_ascending = true + + print("排序成熟物,键: " + sort_key + ",升序: " + str(current_sort_ascending)) + update_crop_warehouse_ui() + +# 创建作物按钮 +func _create_crop_button(crop_name: String, crop_quality: String) -> Button: + # 根据品质选择相应的进度条 + var button = main_game.item_button.duplicate() + #普通 Color.HONEYDEW#白色 + #优良 Color.DODGER_BLUE#深蓝色 + #稀有 Color.HOT_PINK#品红色 + #史诗 Color.YELLOW#黄色 + #传奇 Color.ORANGE_RED#红色 + #空地 Color.GREEN#绿色 + #未开垦 Color.WEB_GRAY#深褐色 + + + # 确保按钮可见并可点击 + button.visible = true + button.disabled = false + button.focus_mode = Control.FOCUS_ALL + + # 设置按钮文本 + button.text = str(crop_quality + "-" + crop_name) + + # 添加工具提示 (tooltip) + if main_game.can_planted_crop.has(crop_name): + var crop = main_game.can_planted_crop[crop_name] + + # 将成熟时间从秒转换为天时分秒格式 + var total_seconds = int(crop["生长时间"]) + + # 定义时间单位换算 + var SECONDS_PER_MINUTE = 60 + var SECONDS_PER_HOUR = 3600 + var SECONDS_PER_DAY = 86400 + + # 计算各时间单位 + var days = total_seconds / SECONDS_PER_DAY + total_seconds %= SECONDS_PER_DAY + + var hours = total_seconds / SECONDS_PER_HOUR + total_seconds %= SECONDS_PER_HOUR + + var minutes = total_seconds / SECONDS_PER_MINUTE + var seconds = total_seconds % SECONDS_PER_MINUTE + + # 构建时间字符串(只显示有值的单位) + var time_str = "" + if days > 0: + time_str += str(days) + "天" + if hours > 0: + time_str += str(hours) + "小时" + if minutes > 0: + time_str += str(minutes) + "分钟" + if seconds > 0: + time_str += str(seconds) + "秒" + + button.tooltip_text = str( + "作物: " + crop_name + "\n" + + "品质: " + crop_quality + "\n" + + "原价格: " + str(crop["花费"]) + "元\n" + + "成熟时间: " + time_str + "\n" + + "原收益: " + str(crop["收益"]) + "元\n" + + "需求等级: " + str(crop["等级"]) + "\n" + + "耐候性: " + str(crop["耐候性"]) + "\n" + + "经验: " + str(crop["经验"]) + "点\n" + + "描述: " + str(crop["描述"]) + ) + + # 如果按钮有标题标签,设置标题 + if button.has_node("Title"): + button.get_node("Title").text = crop_quality + match crop_quality: + "普通": + button.get_node("Title").modulate = Color.HONEYDEW#白色 + "优良": + button.get_node("Title").modulate =Color.DODGER_BLUE#深蓝色 + "稀有": + button.get_node("Title").modulate =Color.HOT_PINK#品红色 + "史诗": + button.get_node("Title").modulate =Color.YELLOW#黄色 + "传奇": + button.get_node("Title").modulate =Color.ORANGE_RED#红色 + + # 更新按钮的作物图片(使用收获物.webp) + _update_button_crop_image(button, crop_name) + + return button + +# 正常模式下的成熟物点击处理 +func _on_crop_selected(crop_name, crop_count): + # 显示成熟物信息 + var info_text = "" + + if main_game.can_planted_crop.has(crop_name): + var crop = main_game.can_planted_crop[crop_name] + var quality = crop.get("品质", "未知") + var price = crop.get("花费", 0) + var grow_time = crop.get("生长时间", 0) + var profit = crop.get("收益", 0) + var level_req = crop.get("等级", 1) + + # 将成熟时间转换为可读格式 + var time_str = "" + var total_seconds = int(grow_time) + var hours = total_seconds / 3600 + var minutes = (total_seconds % 3600) / 60 + var seconds = total_seconds % 60 + + if hours > 0: + time_str += str(hours) + "小时" + if minutes > 0: + time_str += str(minutes) + "分钟" + if seconds > 0: + time_str += str(seconds) + "秒" + + info_text = quality + "-" + crop_name + " (数量: " + str(crop_count) + ")\n" + info_text += "原价格: " + str(price) + "元, 原收益: " + str(profit) + "元\n" + info_text += "成熟时间: " + time_str + ", 需求等级: " + str(level_req) + "\n" + info_text += "这是收获的成熟品,可以用于出售或其他用途" + else: + info_text = crop_name + " (数量: " + str(crop_count) + ")" + + Toast.show(info_text, Color.GOLD, 3.0, 1.0) + print("查看成熟物信息: ", info_text) + +# 访问模式下的成熟物点击处理 +func _on_visit_crop_selected(crop_name, crop_count): + # 显示成熟物信息 + var info_text = "" + + if main_game.can_planted_crop.has(crop_name): + var crop = main_game.can_planted_crop[crop_name] + var quality = crop.get("品质", "未知") + var price = crop.get("花费", 0) + var grow_time = crop.get("生长时间", 0) + var profit = crop.get("收益", 0) + var level_req = crop.get("等级", 1) + + # 将成熟时间转换为可读格式 + var time_str = "" + var total_seconds = int(grow_time) + var hours = total_seconds / 3600 + var minutes = (total_seconds % 3600) / 60 + var seconds = total_seconds % 60 + + if hours > 0: + time_str += str(hours) + "小时" + if minutes > 0: + time_str += str(minutes) + "分钟" + if seconds > 0: + time_str += str(seconds) + "秒" + + info_text = quality + "-" + crop_name + " (数量: " + str(crop_count) + ")\n" + info_text += "原价格: " + str(price) + "元, 原收益: " + str(profit) + "元\n" + info_text += "成熟时间: " + time_str + ", 需求等级: " + str(level_req) + else: + info_text = crop_name + " (数量: " + str(crop_count) + ")" + + Toast.show(info_text, Color.CYAN, 3.0, 1.0) + print("查看成熟物信息: ", info_text) + + + +# 获取作物的收获物图片(用于仓库显示) +func _get_crop_harvest_texture(crop_name: String) -> Texture2D: + # 尝试加载"收获物.webp"图片 + var crop_path = "res://assets/作物/" + crop_name + "/" + var harvest_texture_path = crop_path + "收获物.webp" + + if ResourceLoader.exists(harvest_texture_path): + var texture = load(harvest_texture_path) + if texture: + print("仓库加载作物收获物图片:", crop_name) + return texture + + # 如果没有找到收获物图片,使用成熟图片作为后备 + var mature_texture_path = crop_path + "成熟.webp" + if ResourceLoader.exists(mature_texture_path): + var texture = load(mature_texture_path) + if texture: + print("仓库使用成熟图片作为收获物:", crop_name) + return texture + + # 如果都没有找到,使用默认的收获物图片 + var default_harvest_path = "res://assets/作物/默认/收获物.webp" + if ResourceLoader.exists(default_harvest_path): + var texture = load(default_harvest_path) + if texture: + print("仓库使用默认收获物图片:", crop_name) + return texture + + # 最后尝试默认成熟图片 + var default_mature_path = "res://assets/作物/默认/成熟.webp" + if ResourceLoader.exists(default_mature_path): + var texture = load(default_mature_path) + if texture: + print("仓库使用默认成熟图片:", crop_name) + return texture + + return null + +# 更新按钮的作物图片 +func _update_button_crop_image(button: Button, crop_name: String): + # 检查按钮是否有CropImage节点 + var crop_image = button.get_node_or_null("CropImage") + if not crop_image: + print("仓库按钮没有找到CropImage节点:", button.name) + return + + # 获取作物的收获物图片 + var texture = _get_crop_harvest_texture(crop_name) + + if texture: + # CropImage是Sprite2D,直接设置texture属性 + crop_image.texture = texture + crop_image.visible = true + else: + crop_image.visible = false + print("仓库无法获取作物收获物图片:", crop_name) + + +#=========================面板通用处理========================= +#手动刷新作物仓库面板 +func _on_refresh_button_pressed() -> void: + # 刷新作物仓库UI + update_crop_warehouse_ui() + Toast.show("作物仓库已刷新", Color.GREEN, 2.0, 1.0) + +# 关闭作物仓库面板 +func _on_quit_button_pressed(): + #打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = false + self.hide() +#=========================面板通用处理========================= diff --git a/GUI/CropWarehousePanel.gd.uid b/GUI/CropWarehousePanel.gd.uid new file mode 100644 index 0000000..60fc340 --- /dev/null +++ b/GUI/CropWarehousePanel.gd.uid @@ -0,0 +1 @@ +uid://ptdj0qmobihd diff --git a/GUI/DailyCheckInPanel.tscn b/GUI/DailyCheckInPanel.tscn index a3c4bee..74d0644 100644 --- a/GUI/DailyCheckInPanel.tscn +++ b/GUI/DailyCheckInPanel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://smypui0vyso5"] -[ext_resource type="Script" uid="uid://c0jfbtkh0mj5b" path="res://游戏弹窗模板/DailyCheckInPanel.gd" id="1_fj7a7"] +[ext_resource type="Script" uid="uid://c0jfbtkh0mj5b" path="res://GUI/DailyCheckInPanel.gd" id="1_fj7a7"] [node name="DailyCheckInPanel" type="Panel"] offset_right = 600.0 @@ -13,6 +13,12 @@ offset_top = -1.0 offset_right = 600.0 offset_bottom = 41.0 theme_override_colors/font_color = Color(0.624759, 0.8051, 0.828302, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 35 text = "📅每日签到📅" horizontal_alignment = 1 diff --git a/GUI/GameSettingPanel.tscn b/GUI/GameSettingPanel.tscn new file mode 100644 index 0000000..e4e07d9 --- /dev/null +++ b/GUI/GameSettingPanel.tscn @@ -0,0 +1,68 @@ +[gd_scene load_steps=2 format=3 uid="uid://dos15dmc1b6bt"] + +[ext_resource type="Script" uid="uid://ct7rhywlql4y4" path="res://GUI/GameSettingPanel.gd" id="1_0c52c"] + +[node name="GameSettingPanel" type="Panel"] +offset_right = 1398.0 +offset_bottom = 720.0 +script = ExtResource("1_0c52c") + +[node name="Title" type="Label" parent="."] +layout_mode = 0 +offset_right = 1398.0 +offset_bottom = 80.0 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 4 +theme_override_constants/shadow_offset_y = 4 +theme_override_constants/outline_size = 20 +theme_override_constants/shadow_outline_size = 20 +theme_override_font_sizes/font_size = 45 +text = "游戏设置" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="QuitButton" type="Button" parent="."] +custom_minimum_size = Vector2(60, 60) +layout_mode = 0 +offset_left = 1327.0 +offset_right = 1400.0 +offset_bottom = 80.0 +theme_override_font_sizes/font_size = 35 +text = "X" + +[node name="LinkButton" type="LinkButton" parent="."] +layout_mode = 0 +offset_left = 15.0 +offset_top = 17.0 +offset_right = 79.0 +offset_bottom = 57.0 +text = "打开网页" +uri = "http://192.168.1.110:19132/site/python" + +[node name="Scroll" type="ScrollContainer" parent="."] +layout_mode = 0 +offset_top = 80.0 +offset_right = 1400.0 +offset_bottom = 720.0 + +[node name="Panel" type="Panel" parent="Scroll"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Label" type="Label" parent="Scroll/Panel"] +layout_mode = 2 +offset_right = 210.0 +offset_bottom = 42.0 +theme_override_font_sizes/font_size = 30 +text = "背景音乐音量:" + +[node name="HSlider" type="HSlider" parent="Scroll/Panel"] +layout_mode = 0 +offset_left = 210.0 +offset_top = 15.0 +offset_right = 573.0 +offset_bottom = 31.0 + +[connection signal="pressed" from="QuitButton" to="." method="_on_quit_button_pressed"] diff --git a/GUI/GameUpdatePanel.gd b/GUI/GameUpdatePanel.gd index 96335c7..8187906 100644 --- a/GUI/GameUpdatePanel.gd +++ b/GUI/GameUpdatePanel.gd @@ -118,10 +118,7 @@ func display_updates(updates: Array) -> void: # 处理换行符 content = content.replace("\\r\\n", "\n").replace("\\n", "\n") # 高亮特殊符号 - content = content.replace("✓", "[color=green]✓[/color]") - content = content.replace("修复:", "[color=yellow]修复:[/color]") - content = content.replace("添加", "[color=cyan]添加[/color]") - content = content.replace("修改", "[color=orange]修改[/color]") + #content = content.replace("✓", "[color=green]✓[/color]") update_text += "[color=white]" + content + "[/color]\n" diff --git a/GUI/ItemBagPanel.gd b/GUI/ItemBagPanel.gd new file mode 100644 index 0000000..0d4d146 --- /dev/null +++ b/GUI/ItemBagPanel.gd @@ -0,0 +1,280 @@ +extends Panel +# 这是道具背包面板,用来显示玩家获得的道具 + +# 道具背包格子容器 +@onready var bag_grid: GridContainer = $ScrollContainer/Bag_Grid +@onready var quit_button : Button = $QuitButton + +# 预添加常用的面板 +@onready var main_game = get_node("/root/main") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 道具使用状态 +var selected_item_name: String = "" +var selected_item_button: Button = null +var is_item_selected: bool = false + +# 准备函数 +func _ready(): + # 隐藏面板(初始默认隐藏) + self.hide() + +# 初始化道具背包 +func init_item_bag(): + # 清空道具背包格子 + for child in bag_grid.get_children(): + child.queue_free() + + # 显示背包中的道具 + update_item_bag_ui() + +# 更新道具背包UI +func update_item_bag_ui(): + # 清空道具背包格子 + for child in bag_grid.get_children(): + child.queue_free() + + print("更新道具背包UI,背包中道具数量:", main_game.item_bag.size()) + + # 为背包中的每个道具创建按钮 + for item_data in main_game.item_bag: + var item_name = item_data["name"] + var item_count = item_data["count"] + + # 创建道具按钮 + var button = _create_item_button(item_name) + + # 更新按钮文本显示数量 + button.text = str(item_name + "\n数量:" + str(item_count)) + + # 根据是否处于访问模式连接不同的事件 + if main_game.is_visiting_mode: + # 访问模式下,点击道具只显示信息,不能使用 + button.pressed.connect(func(): _on_visit_item_selected(item_name, item_count)) + else: + # 正常模式下,连接道具选择事件 + button.pressed.connect(func(): _on_item_selected(item_name, item_count, button)) + + bag_grid.add_child(button) + +# 创建道具按钮 +func _create_item_button(item_name: String) -> Button: + # 使用绿色按钮作为道具按钮的默认样式 + var button = main_game.item_button.duplicate() + + # 确保按钮可见并可点击 + button.visible = true + button.disabled = false + button.focus_mode = Control.FOCUS_ALL + + # 设置按钮文本 + button.text = item_name + + # 添加工具提示,从item_config.json获取道具信息 + var item_config = _load_item_config() + if item_config and item_config.has(item_name): + var item_info = item_config[item_name] + var description = item_info.get("描述", "暂无描述") + var cost = item_info.get("花费", 0) + + button.tooltip_text = str( + "道具: " + item_name + "\n" + + "价格: " + str(cost) + "元\n" + + "描述: " + description + "\n" + + "点击选择道具,然后对地块使用" + ) + else: + button.tooltip_text = str("道具: " + item_name + "\n描述: 暂无信息") + + # 如果按钮有标题标签,设置标题 + if button.has_node("Title"): + button.get_node("Title").text = "道具" + button.get_node("Title").modulate = Color.CYAN # 道具标题使用青色 + + # 更新按钮的道具图片 + _update_button_item_image(button, item_name) + + return button + +# 加载道具配置数据 +func _load_item_config() -> Dictionary: + # 从item_config.json加载道具配置数据 + var file = FileAccess.open("res://Server/config/item_config.json", FileAccess.READ) + if not file: + print("无法读取道具配置文件!") + return {} + + var json_text = file.get_as_text() + file.close() + + var json = JSON.new() + var parse_result = json.parse(json_text) + if parse_result != OK: + print("道具配置JSON解析错误:", json.get_error_message()) + return {} + + return json.get_data() + +# 正常模式下的道具点击处理 - 选择道具 +func _on_item_selected(item_name: String, item_count: int, button: Button): + # 检查道具是否可以使用 + if not _is_item_usable(item_name): + # 显示道具信息 + _show_item_info(item_name, item_count) + return + + # 取消之前选择的道具 + if selected_item_button and selected_item_button != button: + _deselect_item() + + if selected_item_name == item_name: + # 如果点击的是已选择的道具,取消选择 + _deselect_item() + Toast.show("已取消选择道具", Color.YELLOW, 2.0, 1.0) + else: + # 选择新道具 + _select_item(item_name, button) + #点击后关闭玩家道具面板 + _on_quit_button_pressed() + Toast.show("已选择 " + item_name + ",点击地块使用道具", Color.CYAN, 3.0, 1.0) + +# 选择道具 +func _select_item(item_name: String, button: Button): + selected_item_name = item_name + selected_item_button = button + is_item_selected = true + + # 设置全局选择状态 + main_game.selected_item_name = item_name + main_game.is_item_selected = true + + # 更改按钮样式表示选中 + if button.has_node("Title"): + button.get_node("Title").modulate = Color.YELLOW # 选中时使用黄色 + +# 取消选择道具 +func _deselect_item(): + selected_item_name = "" + is_item_selected = false + + # 清除全局选择状态 + main_game.selected_item_name = "" + main_game.is_item_selected = false + + # 恢复按钮样式 + if selected_item_button and selected_item_button.has_node("Title"): + selected_item_button.get_node("Title").modulate = Color.CYAN + + selected_item_button = null + +# 检查道具是否可以使用 +func _is_item_usable(item_name: String) -> bool: + # 根据道具类型判断是否可以使用 + match item_name: + "农家肥", "金坷垃", "生长素": + return true # 施肥道具 + "水壶", "水桶": + return true # 浇水道具 + "铲子": + return true # 铲除道具 + "除草剂": + return true # 除草道具 + "精准采集锄", "时运锄": + return true # 采集道具 + "杀虫剂": + return false # 其他道具(暂不实现) + _: + return false + +# 显示道具信息 +func _show_item_info(item_name: String, item_count: int): + var info_text = "" + + var item_config = _load_item_config() + if item_config and item_config.has(item_name): + var item_info = item_config[item_name] + var description = item_info.get("描述", "暂无描述") + var cost = item_info.get("花费", 0) + + info_text = item_name + " (数量: " + str(item_count) + ")\n" + info_text += "价格: " + str(cost) + "元\n" + info_text += "描述: " + description + + if not _is_item_usable(item_name): + info_text += "\n注意: 此道具功能暂未实现" + else: + info_text = item_name + " (数量: " + str(item_count) + ")\n描述: 暂无信息" + + Toast.show(info_text, Color.CYAN, 3.0, 1.0) + +# 访问模式下的道具点击处理 +func _on_visit_item_selected(item_name: String, item_count: int): + # 显示道具信息 + _show_item_info(item_name, item_count) + +# 更新按钮的道具图片 +func _update_button_item_image(button: Button, item_name: String): + # 检查按钮是否有CropImage节点 + var item_image = button.get_node_or_null("CropImage") + if not item_image: + print("道具背包按钮没有找到CropImage节点:", button.name) + return + + # 从配置文件获取道具图片路径 + var item_config = _load_item_config() + var texture = null + + if item_config and item_config.has(item_name): + var item_info = item_config[item_name] + var image_path = item_info.get("道具图片", "") + + if image_path != "" and ResourceLoader.exists(image_path): + # 尝试加载道具图片 + texture = load(image_path) + if texture: + print("成功加载道具图片:", item_name, " -> ", image_path) + else: + print("加载道具图片失败:", item_name, " -> ", image_path) + else: + print("道具图片路径无效或不存在:", item_name, " -> ", image_path) + + # 如果没有找到道具图片,尝试使用默认道具图片 + if not texture: + var default_item_path = "res://assets/道具图片/默认道具.webp" + if ResourceLoader.exists(default_item_path): + texture = load(default_item_path) + if texture: + print("使用默认道具图片:", item_name) + + # 设置图片 + if texture: + # CropImage是Sprite2D,直接设置texture属性 + item_image.texture = texture + item_image.visible = true + print("道具背包更新道具图片:", item_name) + else: + # 如果没有图片,隐藏图片节点 + item_image.visible = false + print("道具背包无法获取道具图片:", item_name) + +#=========================面板通用处理========================= +# 关闭道具背包面板 +func _on_quit_button_pressed() -> void: + # 打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = false + self.hide() + +#手动刷新道具背包面板 +func _on_refresh_button_pressed() -> void: + # 刷新道具背包UI + update_item_bag_ui() + Toast.show("道具背包已刷新", Color.GREEN, 2.0, 1.0) +#=========================面板通用处理========================= + +# 获取当前选择的道具名称 +func get_selected_item_name() -> String: + return selected_item_name + +# 检查是否有道具被选择 +func is_item_currently_selected() -> bool: + return is_item_selected diff --git a/GUI/ItemBagPanel.gd.uid b/GUI/ItemBagPanel.gd.uid new file mode 100644 index 0000000..4ee7c0a --- /dev/null +++ b/GUI/ItemBagPanel.gd.uid @@ -0,0 +1 @@ +uid://b701r833vse3u diff --git a/GUI/ItemStorePanel.gd b/GUI/ItemStorePanel.gd new file mode 100644 index 0000000..ac93c96 --- /dev/null +++ b/GUI/ItemStorePanel.gd @@ -0,0 +1,227 @@ +extends Panel +# 这是道具商店面板,用来展示各种道具 + +# 道具商店格子容器 +@onready var store_grid: GridContainer = $ScrollContainer/Store_Grid +@onready var quit_button : Button = $QuitButton + +# 预添加常用的面板 +@onready var main_game = get_node("/root/main") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 道具配置数据 +var item_config : Dictionary = {} + +# 准备函数 +func _ready(): + # 连接关闭按钮信号 + quit_button.pressed.connect(self._on_quit_button_pressed) + + # 隐藏面板(初始默认隐藏) + self.hide() + +# 初始化道具商店 +func init_item_store(): + # 加载道具配置数据 + _load_item_config() + + # 清空道具商店格子 + for child in store_grid.get_children(): + child.queue_free() + + # 显示商店中的道具 + update_item_store_ui() + +# 更新道具商店UI +func update_item_store_ui(): + # 清空道具商店格子 + for child in store_grid.get_children(): + child.queue_free() + + print("更新道具商店UI,道具种类:", item_config.size()) + + # 为每个道具配置创建按钮 + for item_name in item_config.keys(): + var item_info = item_config[item_name] + var item_cost = item_info.get("花费", 0) + var item_desc = item_info.get("描述", "暂无描述") + + # 创建道具按钮 + var button = _create_item_button(item_name, item_cost, item_desc) + + # 更新按钮文本显示价格 + button.text = str(item_name + "\n价格:" + str(item_cost) + "元") + + # 连接购买点击事件 + button.pressed.connect(func(): _on_store_item_selected(item_name, item_cost, item_desc)) + + store_grid.add_child(button) + +# 创建道具按钮 +func _create_item_button(item_name: String, item_cost: int, item_desc: String) -> Button: + # 使用橙色按钮作为道具商店按钮的样式 + var button = main_game.item_button.duplicate() + + # 确保按钮可见并可点击 + button.visible = true + button.disabled = false + button.focus_mode = Control.FOCUS_ALL + + # 设置按钮文本 + button.text = item_name + + # 添加工具提示 + button.tooltip_text = str( + "道具: " + item_name + "\n" + + "价格: " + str(item_cost) + "元\n" + + "描述: " + item_desc + "\n" + + "点击购买道具" + ) + + # 如果按钮有标题标签,设置标题 + if button.has_node("Title"): + button.get_node("Title").text = "商店" + button.get_node("Title").modulate = Color.GOLD # 商店标题使用金色 + + # 更新按钮的道具图片 + _update_button_item_image(button, item_name) + + return button + +# 加载道具配置数据 +func _load_item_config(): + # 从item_config.json加载道具配置数据 + var file = FileAccess.open("res://Server/config/item_config.json", FileAccess.READ) + if not file: + print("无法读取道具配置文件!") + item_config = {} + return + + var json_text = file.get_as_text() + file.close() + + var json = JSON.new() + var parse_result = json.parse(json_text) + if parse_result != OK: + print("道具配置JSON解析错误:", json.get_error_message()) + item_config = {} + return + + item_config = json.get_data() + print("成功加载道具配置,道具种类:", item_config.size()) + +# 商店道具点击处理 - 购买道具 +func _on_store_item_selected(item_name: String, item_cost: int, item_desc: String): + # 检查玩家金钱是否足够 + if main_game.money < item_cost: + Toast.show("金钱不足!需要 " + str(item_cost) + " 元,当前只有 " + str(main_game.money) + " 元", Color.RED, 3.0, 1.0) + return + + # 显示购买确认对话框 + _show_buy_confirmation_dialog(item_name, item_cost, item_desc) + +# 显示购买确认对话框 +func _show_buy_confirmation_dialog(item_name: String, item_cost: int, item_desc: String): + # 创建确认对话框 + var confirm_dialog = AcceptDialog.new() + confirm_dialog.dialog_text = str( + "确认购买道具?\n\n" + + "道具名称: " + item_name + "\n" + + "购买价格: " + str(item_cost) + " 元\n" + + "道具描述: " + item_desc + "\n\n" + + "当前金钱: " + str(main_game.money) + " 元\n" + + "购买后余额: " + str(main_game.money - item_cost) + " 元" + ) + confirm_dialog.title = "购买道具确认" + confirm_dialog.ok_button_text = "确认购买" + confirm_dialog.add_cancel_button("取消") + + # 添加到场景 + add_child(confirm_dialog) + + # 连接信号 + confirm_dialog.confirmed.connect(_on_confirm_buy_item.bind(item_name, item_cost, confirm_dialog)) + confirm_dialog.canceled.connect(_on_cancel_buy_item.bind(confirm_dialog)) + + # 显示对话框 + confirm_dialog.popup_centered() + +# 确认购买道具 +func _on_confirm_buy_item(item_name: String, item_cost: int, dialog: AcceptDialog): + if network_manager and network_manager.has_method("sendBuyItem"): + if network_manager.sendBuyItem(item_name, item_cost): + Toast.show("正在购买 " + item_name + "...", Color.YELLOW, 2.0, 1.0) + else: + Toast.show("发送购买请求失败", Color.RED, 2.0, 1.0) + else: + Toast.show("网络管理器不可用", Color.RED, 2.0, 1.0) + + # 清理对话框 + if dialog: + dialog.queue_free() + +# 取消购买道具 +func _on_cancel_buy_item(dialog: AcceptDialog): + if dialog: + dialog.queue_free() + +# 更新按钮的道具图片 +func _update_button_item_image(button: Button, item_name: String): + # 检查按钮是否有CropImage节点 + var item_image = button.get_node_or_null("CropImage") + if not item_image: + print("道具商店按钮没有找到CropImage节点:", button.name) + return + + # 从配置文件获取道具图片路径 + var texture = null + + if item_config.has(item_name): + var item_info = item_config[item_name] + var image_path = item_info.get("道具图片", "") + + if image_path != "" and ResourceLoader.exists(image_path): + # 尝试加载道具图片 + texture = load(image_path) + if texture: + print("成功加载道具图片:", item_name, " -> ", image_path) + else: + print("加载道具图片失败:", item_name, " -> ", image_path) + else: + print("道具图片路径无效或不存在:", item_name, " -> ", image_path) + + # 如果没有找到道具图片,尝试使用默认道具图片 + if not texture: + var default_item_path = "res://assets/道具图片/默认道具.webp" + if ResourceLoader.exists(default_item_path): + texture = load(default_item_path) + if texture: + print("使用默认道具图片:", item_name) + + # 设置图片 + if texture: + # CropImage是Sprite2D,直接设置texture属性 + item_image.texture = texture + item_image.visible = true + print("道具商店更新道具图片:", item_name) + else: + # 如果没有图片,隐藏图片节点 + item_image.visible = false + print("道具商店无法获取道具图片:", item_name) + + +#=========================面板通用处理========================= +#手动刷新道具商店面板 +func _on_refresh_button_pressed() -> void: + # 重新初始化道具商店 + init_item_store() + Toast.show("道具商店已刷新", Color.GREEN, 2.0, 1.0) + +# 关闭道具商店面板 +func _on_quit_button_pressed() -> void: + # 打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = false + self.hide() + pass + +#=========================面板通用处理========================= diff --git a/GUI/ItemStorePanel.gd.uid b/GUI/ItemStorePanel.gd.uid new file mode 100644 index 0000000..2298ad9 --- /dev/null +++ b/GUI/ItemStorePanel.gd.uid @@ -0,0 +1 @@ +uid://bruqwi63myl1m diff --git a/GUI/LandPanel.gd b/GUI/LandPanel.gd new file mode 100644 index 0000000..900aeea --- /dev/null +++ b/GUI/LandPanel.gd @@ -0,0 +1,598 @@ +extends Panel + +#获取玩家要操作的地块序号 +var selected_lot_index = 0 + +#预添加常用的面板 +@onready var main_game = get_node("/root/main") +@onready var land_panel = get_node("/root/main/UI/LandPanel") +@onready var crop_store_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var player_ranking_panel = get_node("/root/main/UI/PlayerRankingPanel") +@onready var player_bag_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +@onready var quit_button :Button = $Quit_Button +@onready var dig_button: Button = $Grid/Dig_Button #开垦 +@onready var water_button: Button = $Grid/Water_Button #浇水 +@onready var fertilize_button: Button = $Grid/Fertilize_Button #施肥 +@onready var upgrade_button: Button = $Grid/Upgrade_Button #升级 +@onready var plant_button: Button = $Grid/Plant_Button #种植 +@onready var remove_button: Button = $Grid/Remove_Button #铲除 +@onready var harvest_button: Button = $Grid/Harvest_Button #收获 +@onready var kill_insect_button: Button = $Grid/KillInsect_Button #杀虫 + + + +#下面这些来实时获取被点击地块的作物情况 +@onready var crop_texture_rect: TextureRect = $TextureRect #这个显示作物当前图片 +@onready var progress_bar: ProgressBar = $VBox/ProgressBar #显示作物当前生长进度 +@onready var cost: Label = $VBox/HBox1/cost #显示花费 +@onready var earn: Label = $VBox/HBox1/earn #显示收益 +@onready var growthtime: Label = $VBox/HBox1/growthtime #生长时间 +@onready var experience: Label = $VBox/HBox1/experience #收获经验 +@onready var canbuy: Label = $VBox/HBox2/canbuy #能否购买 +@onready var quality: Label = $VBox/HBox2/quality #作物品质 +@onready var weatherability: Label = $VBox/HBox2/weatherability #耐候性 +@onready var level: Label = $VBox/HBox2/level #种植等级 +@onready var description: Label = $VBox/HBox3/description #描述 + +#没有作物直接一键隐藏这个 +@onready var v_box: VBoxContainer = $VBox + + + + + + + +func _ready(): + self.hide() + quit_button.pressed.connect(self._on_quit_button_pressed) + dig_button.pressed.connect(self._on_dig_button_pressed) + water_button.pressed.connect(self._on_water_button_pressed) + fertilize_button.pressed.connect(self._on_fertilize_button_pressed) + upgrade_button.pressed.connect(self._on_upgrade_button_pressed) + plant_button.pressed.connect(self._on_plant_button_pressed) + remove_button.pressed.connect(self._on_remove_button_pressed) + harvest_button.pressed.connect(self._on_harvest_button_pressed) + + # 显示浇水、施肥、升级按钮 + water_button.visible = true + fertilize_button.visible = true + upgrade_button.visible = true + + _update_button_texts() + +# 显示面板时更新按钮状态 +func show_panel(): + self.show() + _update_button_texts() + _update_button_availability() + _update_crop_info() + +# 更新按钮可用性 +func _update_button_availability(): + if main_game.is_visiting_mode: + # 访问模式下禁用一些按钮 + dig_button.hide() + remove_button.hide() + upgrade_button.hide() + plant_button.hide() + + # 启用允许的按钮 + water_button.show() + fertilize_button.show() + harvest_button.show() + else: + # 自己农场模式下启用所有按钮 + dig_button.show() + remove_button.show() + upgrade_button.show() + plant_button.show() + water_button.show() + fertilize_button.show() + harvest_button.show() + +# 更新按钮文本 +func _update_button_texts(): + # 根据是否访问模式显示不同的按钮文本 + if main_game.is_visiting_mode: + water_button.text = "帮助浇水"+"\n¥50" + fertilize_button.text = "帮助施肥"+"\n¥150" + harvest_button.text = "偷菜" + else: + dig_button.text = "开垦"+"\n¥"+str(main_game.dig_money) + remove_button.text = "铲除"+"\n¥500" + water_button.text = "浇水"+"\n¥50" + fertilize_button.text = "施肥"+"\n¥150" + + # 升级按钮动态显示 + _update_upgrade_button_text() + + harvest_button.text = "收获" + +# 更新升级按钮文本 +func _update_upgrade_button_text(): + if not main_game or not main_game.farm_lots: + upgrade_button.text = "升级\n¥1000" + return + + if selected_lot_index >= 0 and selected_lot_index < main_game.farm_lots.size(): + var lot = main_game.farm_lots[selected_lot_index] + var current_level = int(lot.get("土地等级", 0)) # 确保是整数 + + var upgrade_config = { + 0: {"cost": 1000, "name": "黄土地"}, + 1: {"cost": 2000, "name": "红土地"}, + 2: {"cost": 4000, "name": "紫土地"}, + 3: {"cost": 8000, "name": "黑土地"} + } + + if current_level >= 4: + upgrade_button.text = "已满级" + elif upgrade_config.has(current_level): + var config = upgrade_config[current_level] + upgrade_button.text = "升级到\n" + config["name"] + "\n¥" + str(config["cost"]) + else: + upgrade_button.text = "等级异常\n" + str(current_level) + else: + upgrade_button.text = "选择地块" + + +#=====================================土地面板功能处理========================================= +#开垦 +func _on_dig_button_pressed(): + # 检查是否处于访问模式 + if main_game.is_visiting_mode: + Toast.show("访问模式下无法开垦土地", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查玩家金钱是否足够 + var dig_cost = main_game.dig_money + if main_game.money < dig_cost: + Toast.show("金钱不足,开垦土地需要 " + str(dig_cost) + " 金钱", Color.RED, 2.0, 1.0) + self.hide() + return + + # 检查地块是否已经开垦 + var lot = main_game.farm_lots[selected_lot_index] + if lot.get("is_diged", false): + Toast.show("此地块已经开垦过了", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 发送开垦土地请求到服务器 + if network_manager and network_manager.is_connected_to_server(): + if network_manager.sendDigGround(selected_lot_index): + self.hide() + else: + Toast.show("发送开垦请求失败", Color.RED, 2.0, 1.0) + self.hide() + else: + Toast.show("网络未连接,无法开垦土地", Color.RED, 2.0, 1.0) + self.hide() + +#浇水 +func _on_water_button_pressed(): + # 检查玩家金钱是否足够(无论是否访问模式都检查自己的钱) + var water_cost = 50 + var my_money = main_game.money + + # 如果是访问模式,需要检查自己的原始金钱数据 + if main_game.is_visiting_mode: + my_money = main_game.original_player_data.get("money", 0) + + if my_money < water_cost: + var action_text = "帮助浇水" if main_game.is_visiting_mode else "浇水" + Toast.show("金钱不足," + action_text + "需要 " + str(water_cost) + " 金钱", Color.RED, 2.0, 1.0) + self.hide() + return + + # 检查地块状态 + var lot = main_game.farm_lots[selected_lot_index] + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查作物是否已死亡 + if lot.get("is_dead", false): + Toast.show("死亡的作物无法浇水", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查是否已经成熟 + if lot.get("grow_time", 0) >= lot.get("max_grow_time", 1): + Toast.show("作物已经成熟,无需浇水", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查是否已经浇过水 + var current_time = Time.get_unix_time_from_system() + var last_water_time = lot.get("浇水时间", 0) + var water_cooldown = 3600 # 1小时冷却时间 + + if current_time - last_water_time < water_cooldown: + var remaining_time = water_cooldown - (current_time - last_water_time) + var remaining_minutes = int(remaining_time / 60) + var remaining_seconds = int(remaining_time) % 60 + Toast.show("浇水冷却中,还需等待 " + str(remaining_minutes) + " 分钟 " + str(remaining_seconds) + " 秒", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 发送浇水请求到服务器 + var target_username = "" + if main_game.is_visiting_mode: + target_username = main_game.visited_player_data.get("user_name", "") + + if network_manager and network_manager.is_connected_to_server(): + if network_manager.sendWaterCrop(selected_lot_index, target_username): + self.hide() + else: + Toast.show("发送浇水请求失败", Color.RED, 2.0, 1.0) + self.hide() + else: + var action_text = "帮助浇水" if main_game.is_visiting_mode else "浇水" + Toast.show("网络未连接,无法" + action_text, Color.RED, 2.0, 1.0) + self.hide() + +#施肥 +func _on_fertilize_button_pressed(): + # 检查玩家金钱是否足够(无论是否访问模式都检查自己的钱) + var fertilize_cost = 150 + var my_money = main_game.money + + # 如果是访问模式,需要检查自己的原始金钱数据 + if main_game.is_visiting_mode: + my_money = main_game.original_player_data.get("money", 0) + + if my_money < fertilize_cost: + var action_text = "帮助施肥" if main_game.is_visiting_mode else "施肥" + Toast.show("金钱不足," + action_text + "需要 " + str(fertilize_cost) + " 金钱", Color.RED, 2.0, 1.0) + self.hide() + return + + # 检查地块状态 + var lot = main_game.farm_lots[selected_lot_index] + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查作物是否已死亡 + if lot.get("is_dead", false): + Toast.show("死亡的作物无法施肥", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查是否已经成熟 + if lot.get("grow_time", 0) >= lot.get("max_grow_time", 1): + Toast.show("作物已经成熟,无需施肥", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查是否已经施过肥 + if lot.get("已施肥", false): + Toast.show("此作物已经施过肥了", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 发送施肥请求到服务器 + var target_username = "" + if main_game.is_visiting_mode: + target_username = main_game.visited_player_data.get("user_name", "") + + if network_manager and network_manager.is_connected_to_server(): + if network_manager.sendFertilizeCrop(selected_lot_index, target_username): + self.hide() + else: + Toast.show("发送施肥请求失败", Color.RED, 2.0, 1.0) + self.hide() + else: + var action_text = "帮助施肥" if main_game.is_visiting_mode else "施肥" + Toast.show("网络未连接,无法" + action_text, Color.RED, 2.0, 1.0) + self.hide() + +#升级 +func _on_upgrade_button_pressed(): + # 检查是否处于访问模式 + if main_game.is_visiting_mode: + Toast.show("访问模式下无法升级", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查地块索引是否有效 + if selected_lot_index < 0 or selected_lot_index >= main_game.farm_lots.size(): + Toast.show("无效的地块选择", Color.RED, 2.0, 1.0) + self.hide() + return + + # 获取地块数据 + var lot = main_game.farm_lots[selected_lot_index] + + # 检查地块是否已开垦 + if not lot.get("is_diged", false): + Toast.show("此地块尚未开垦", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 获取当前土地等级和升级配置 + var current_level = int(lot.get("土地等级", 0)) # 确保是整数 + print("当前选择地块索引: ", selected_lot_index) + print("当前土地等级: ", current_level, " (类型: ", typeof(current_level), ")") + + var upgrade_config = { + 0: {"cost": 1000, "name": "黄土地", "speed": "2倍"}, + 1: {"cost": 2000, "name": "红土地", "speed": "4倍"}, + 2: {"cost": 4000, "name": "紫土地", "speed": "6倍"}, + 3: {"cost": 8000, "name": "黑土地", "speed": "10倍"} + } + + # 检查是否已达到最高等级 + if current_level >= 4: + Toast.show("此土地已达到最高等级(黑土地)", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查土地等级是否有效 + if not upgrade_config.has(current_level): + Toast.show("土地等级数据异常,当前等级: " + str(current_level), Color.RED, 2.0, 1.0) + print("土地等级异常,当前等级: ", current_level, ",可用等级: ", upgrade_config.keys()) + self.hide() + return + + var config = upgrade_config[current_level] + var upgrade_cost = config["cost"] + var next_name = config["name"] + var speed_info = config["speed"] + + # 检查玩家金钱是否足够 + if main_game.money < upgrade_cost: + Toast.show("金钱不足,升级到" + next_name + "需要 " + str(upgrade_cost) + " 金钱", Color.RED, 2.0, 1.0) + self.hide() + return + + # 发送升级请求到服务器 + if network_manager and network_manager.is_connected_to_server(): + print("发送升级请求,地块索引: ", selected_lot_index, ",当前等级: ", current_level) + if network_manager.sendUpgradeLand(selected_lot_index): + self.hide() + else: + Toast.show("发送升级请求失败", Color.RED, 2.0, 1.0) + self.hide() + else: + Toast.show("网络未连接,无法升级土地", Color.RED, 2.0, 1.0) + self.hide() + +#种植 +func _on_plant_button_pressed(): + # 检查是否处于访问模式 + if main_game.is_visiting_mode: + Toast.show("访问模式下无法种植", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + player_bag_panel.show() + self.hide() + pass + +#铲除 +func _on_remove_button_pressed(): + # 检查是否处于访问模式 + if main_game.is_visiting_mode: + Toast.show("访问模式下无法铲除作物", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查玩家金钱是否足够 + var removal_cost = 500 + if main_game.money < removal_cost: + Toast.show("金钱不足,铲除作物需要 " + str(removal_cost) + " 金钱", Color.RED, 2.0, 1.0) + self.hide() + return + + # 检查地块是否有作物 + var lot = main_game.farm_lots[selected_lot_index] + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 发送铲除作物请求到服务器 + if network_manager and network_manager.is_connected_to_server(): + if network_manager.sendRemoveCrop(selected_lot_index): + self.hide() + else: + Toast.show("发送铲除请求失败", Color.RED, 2.0, 1.0) + self.hide() + else: + Toast.show("网络未连接,无法铲除作物", Color.RED, 2.0, 1.0) + self.hide() + pass + +#收获 +func _on_harvest_button_pressed(): + # 检查地块状态 + var lot = main_game.farm_lots[selected_lot_index] + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 检查作物是否成熟 + if lot.get("grow_time", 0) < lot.get("max_grow_time", 1) and not lot.get("is_dead", false): + Toast.show("作物尚未成熟", Color.ORANGE, 2.0, 1.0) + self.hide() + return + + # 发送收获请求到服务器 + var target_username = "" + if main_game.is_visiting_mode: + target_username = main_game.visited_player_data.get("user_name", "") + + if network_manager and network_manager.is_connected_to_server(): + if network_manager.sendHarvestCrop(selected_lot_index, target_username): + self.hide() + else: + Toast.show("发送收获请求失败", Color.RED, 2.0, 1.0) + self.hide() + else: + var action_text = "偷菜" if main_game.is_visiting_mode else "收获" + Toast.show("网络未连接,无法" + action_text, Color.RED, 2.0, 1.0) + self.hide() + pass +#=====================================土地面板功能处理========================================= + + +#关闭土地面板按钮 +func _on_quit_button_pressed(): + self.hide() + pass + +# 更新作物信息显示 +func _update_crop_info(): + print("调试:_update_crop_info 被调用,selected_lot_index = ", selected_lot_index) + + if not main_game or not main_game.farm_lots: + print("调试:main_game 或 farm_lots 不存在") + v_box.hide() + crop_texture_rect.hide() + return + + if selected_lot_index < 0 or selected_lot_index >= main_game.farm_lots.size(): + print("调试:selected_lot_index 无效: ", selected_lot_index, " / ", main_game.farm_lots.size()) + v_box.hide() + crop_texture_rect.hide() + return + + var lot = main_game.farm_lots[selected_lot_index] + print("调试:地块数据: ", lot) + + # 检查地块是否有作物 + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + print("调试:地块没有作物") + v_box.hide() + crop_texture_rect.hide() + # 清除所有显示内容 + crop_texture_rect.texture = null + progress_bar.value = 0 + cost.text = "" + earn.text = "" + growthtime.text = "" + experience.text = "" + canbuy.text = "" + quality.text = "" + weatherability.text = "" + level.text = "" + description.text = "" + return + + # 获取作物类型 + var crop_type = lot.get("crop_type", "") + print("调试:作物类型: ", crop_type) + + # 从网络管理器获取作物数据 + var crop_data = null + if network_manager and network_manager.has_method("get_crop_data"): + crop_data = network_manager.get_crop_data() + + # 如果没有作物数据,尝试从主游戏获取 + if not crop_data and main_game and main_game.has_method("get_crop_data"): + crop_data = main_game.get_crop_data() + + # 如果仍然没有作物数据,隐藏信息面板 + if not crop_data or not crop_data.has(crop_type): + print("调试:没有作物数据或作物类型不存在: ", crop_type) + v_box.hide() + crop_texture_rect.hide() + return + + print("调试:找到作物数据,开始显示作物信息") + + # 显示作物信息面板 + v_box.show() + crop_texture_rect.show() + + # 获取作物信息 + var crop_info = crop_data[crop_type] + print("调试:作物信息: ", crop_info) + + # 更新作物图片 + var crop_texture_path = "res://assets/作物/" + crop_type + "/0.webp" + if ResourceLoader.exists(crop_texture_path): + var texture = load(crop_texture_path) + crop_texture_rect.texture = texture + else: + # 如果没有序列帧,尝试加载单个图片 + crop_texture_path = "res://assets/作物/" + crop_type + ".webp" + if ResourceLoader.exists(crop_texture_path): + var texture = load(crop_texture_path) + crop_texture_rect.texture = texture + else: + # 加载默认图片 + crop_texture_path = "res://assets/作物/默认/0.webp" + if ResourceLoader.exists(crop_texture_path): + var texture = load(crop_texture_path) + crop_texture_rect.texture = texture + else: + crop_texture_rect.texture = null + + # 更新进度条 + var grow_time = lot.get("grow_time", 0) + var max_grow_time = lot.get("max_grow_time", 1) + var progress = float(grow_time) / float(max_grow_time) * 100.0 + progress_bar.value = min(progress, 100.0) + + # 更新作物信息标签 + cost.text = "花费: ¥" + str(crop_info.get("花费", 0)) + earn.text = "收益: ¥" + str(crop_info.get("收益", 0)) + + # 格式化生长时间 + var growth_seconds = crop_info.get("生长时间", 0) + var growth_time_text = _format_time_seconds(growth_seconds) + growthtime.text = "生长时间: " + growth_time_text + + experience.text = "经验: " + str(crop_info.get("经验", 0)) + canbuy.text = "可购买: " + ("是" if crop_info.get("能否购买", false) else "否") + quality.text = "品质: " + str(crop_info.get("品质", "普通")) + weatherability.text = "耐候性: " + str(crop_info.get("耐候性", 0)) + level.text = "等级要求: " + str(crop_info.get("等级", 1)) + + # 检查是否为杂草,显示特殊描述并控制收获按钮 + var is_weed = crop_info.get("是否杂草", false) + if is_weed: + description.text = "描述: " + str(crop_info.get("描述", "无描述")) + " [杂草不能收获,只能铲除]" + # 隐藏收获按钮(杂草不能收获) + harvest_button.hide() + else: + description.text = "描述: " + str(crop_info.get("描述", "无描述")) + # 显示收获按钮并设置正常文本 + harvest_button.show() + if main_game.is_visiting_mode: + harvest_button.text = "偷菜" + else: + harvest_button.text = "收获" + +# 格式化时间(秒转换为时分秒) +func _format_time_seconds(seconds: int) -> String: + var hours = seconds / 3600 + var minutes = (seconds % 3600) / 60 + var secs = seconds % 60 + + if hours > 0: + return str(hours) + "时" + str(minutes) + "分" + str(secs) + "秒" + elif minutes > 0: + return str(minutes) + "分" + str(secs) + "秒" + else: + return str(secs) + "秒" + + + + + + + + + + diff --git a/GUI/LandPanel.gd.uid b/GUI/LandPanel.gd.uid new file mode 100644 index 0000000..431760c --- /dev/null +++ b/GUI/LandPanel.gd.uid @@ -0,0 +1 @@ +uid://bljtkxil64h14 diff --git a/GUI/LandPanel.tscn b/GUI/LandPanel.tscn new file mode 100644 index 0000000..9c52ff4 --- /dev/null +++ b/GUI/LandPanel.tscn @@ -0,0 +1,256 @@ +[gd_scene load_steps=3 format=3 uid="uid://dckc8nrn7p425"] + +[ext_resource type="Script" uid="uid://bljtkxil64h14" path="res://GUI/LandPanel.gd" id="1_nmy5p"] +[ext_resource type="Texture2D" uid="uid://2sdfbvf1isif" path="res://icon.svg" id="2_07q41"] + +[node name="LandPanel" type="Panel"] +offset_left = 385.0 +offset_top = 69.0 +offset_right = 901.0 +offset_bottom = 540.0 +script = ExtResource("1_nmy5p") + +[node name="Quit_Button" type="Button" parent="."] +layout_mode = 0 +offset_left = 475.0 +offset_right = 515.0 +offset_bottom = 43.0 +theme_override_font_sizes/font_size = 25 +text = "X" + +[node name="Title" type="Label" parent="."] +self_modulate = Color(0, 0.87451, 1, 1) +layout_mode = 2 +offset_right = 516.0 +offset_bottom = 42.0 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 4 +theme_override_constants/shadow_offset_y = 4 +theme_override_constants/outline_size = 15 +theme_override_constants/shadow_outline_size = 15 +theme_override_font_sizes/font_size = 30 +text = "土地面板" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 2 +offset_left = 224.0 +offset_top = 249.0 +offset_right = 352.0 +offset_bottom = 377.0 +scale = Vector2(0.5, 0.5) +size_flags_horizontal = 4 +texture = ExtResource("2_07q41") +expand_mode = 1 + +[node name="VBox" type="VBoxContainer" parent="."] +layout_mode = 0 +offset_top = 313.0 +offset_right = 1287.0 +offset_bottom = 700.0 +scale = Vector2(0.4, 0.4) + +[node name="ProgressBar" type="ProgressBar" parent="VBox"] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 30 + +[node name="HBox1" type="HBoxContainer" parent="VBox"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="cost" type="Label" parent="VBox/HBox1"] +modulate = Color(1, 1, 0, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "花费:999" + +[node name="earn" type="Label" parent="VBox/HBox1"] +modulate = Color(1, 1, 0, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "收益:999" + +[node name="growthtime" type="Label" parent="VBox/HBox1"] +modulate = Color(1, 0.635294, 1, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "生长时间:999" + +[node name="experience" type="Label" parent="VBox/HBox1"] +modulate = Color(0.164706, 1, 0.341176, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "收获经验:999" + +[node name="HBox2" type="HBoxContainer" parent="VBox"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="canbuy" type="Label" parent="VBox/HBox2"] +modulate = Color(0.466667, 1, 1, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "能否购买:是" + +[node name="quality" type="Label" parent="VBox/HBox2"] +modulate = Color(1, 0.607843, 0.239216, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "品质:传奇" + +[node name="weatherability" type="Label" parent="VBox/HBox2"] +modulate = Color(0.784314, 0.647059, 0.498039, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "耐候性:999" + +[node name="level" type="Label" parent="VBox/HBox2"] +modulate = Color(0.394367, 0.644385, 0.816557, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "种植等级:999" + +[node name="HBox3" type="HBoxContainer" parent="VBox"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="description" type="Label" parent="VBox/HBox3"] +modulate = Color(0.988235, 0.831373, 1, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 40 +text = "描述:啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊" + +[node name="Grid" type="GridContainer" parent="."] +layout_mode = 2 +offset_top = 42.0 +offset_right = 516.0 +offset_bottom = 249.0 +columns = 5 + +[node name="Dig_Button" type="Button" parent="Grid"] +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(1, 0, 0, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "开垦" +icon_alignment = 1 +expand_icon = true + +[node name="Plant_Button" type="Button" parent="Grid"] +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(0.760784, 0.533333, 0.160784, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "种植" +icon_alignment = 1 +expand_icon = true + +[node name="Remove_Button" type="Button" parent="Grid"] +visible = false +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(0.870588, 0.870588, 0, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "铲除" +icon_alignment = 1 +expand_icon = true + +[node name="Harvest_Button" type="Button" parent="Grid"] +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(0.188235, 0.839216, 0.243137, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "收获" +icon_alignment = 1 +expand_icon = true + +[node name="Water_Button" type="Button" parent="Grid"] +visible = false +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(0, 0.87451, 0.87451, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "浇水" +icon_alignment = 1 +expand_icon = true + +[node name="Fertilize_Button" type="Button" parent="Grid"] +visible = false +custom_minimum_size = Vector2(80, 80) +layout_mode = 2 +theme_override_colors/font_color = Color(0.509804, 0.301961, 0.85098, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "施肥" +icon_alignment = 1 +expand_icon = true + +[node name="Upgrade_Button" type="Button" parent="Grid"] +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_color = Color(0.0705882, 0.411765, 0.87451, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "升级" +icon_alignment = 1 +expand_icon = true + +[node name="KillInsect_Button" type="Button" parent="Grid"] +visible = false +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_color = Color(0.988235, 0.929412, 0.760784, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "杀虫" +icon_alignment = 1 +expand_icon = true + +[node name="Grid2" type="GridContainer" parent="."] +layout_mode = 0 +offset_top = 345.0 +offset_right = 515.0 +offset_bottom = 468.0 +columns = 3 diff --git a/GUI/LoginPanel.gd b/GUI/LoginPanel.gd new file mode 100644 index 0000000..1fbdf75 --- /dev/null +++ b/GUI/LoginPanel.gd @@ -0,0 +1,530 @@ +#玩家登录注册面板 +extends PanelContainer + +#玩家登录账号,用QQ号代替 +@onready var username_input : LineEdit = $VBox/UserName/username_input +#用户登录密码 +@onready var password_input : LineEdit = $VBox/Password1/password_input +#登录按钮 +@onready var login_button : Button = $VBox/LoginRegister/login_button + +#下面是注册相关的 +#注册按钮 +@onready var register_button : Button = $VBox/LoginRegister/register_button +#注册账号时二次确认密码 +@onready var password_input_2 : LineEdit = $VBox/Password2/password_input2 +#农场名称 +@onready var farmname_input : LineEdit = $VBox/FarmName/farmname_input +#玩家昵称 +@onready var playername_input :LineEdit = $VBox/PlayerName/playername_input +#邮箱验证码 +@onready var verificationcode_input :LineEdit = $VBox/VerificationCode/verificationcode_input +#发送验证码按钮 +@onready var send_button :Button = $VBox/VerificationCode/SendButton +#状态提示标签 +@onready var status_label : Label = $VBox/status_label + +#隐藏注册相关 +@onready var password_2: HBoxContainer = $VBox/Password2 +@onready var verification_code: HBoxContainer = $VBox/VerificationCode +@onready var player_name: HBoxContainer = $VBox/PlayerName +@onready var farm_name: HBoxContainer = $VBox/FarmName + + + +# 记住密码选项 +var remember_password : bool = true # 默认记住密码 + +# 引用主场景和全局函数 +@onready var main_game = get_node("/root/main") +@onready var land_panel = get_node("/root/main/UI/LandPanel") +@onready var crop_store_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var player_ranking_panel = get_node("/root/main/UI/PlayerRankingPanel") +@onready var player_bag_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var tcp_network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 准备函数 +func _ready(): + + + + # 连接按钮信号 + login_button.pressed.connect(self._on_login_button_pressed) + register_button.pressed.connect(self._on_register_button_pressed) + send_button.pressed.connect(self._on_send_button_pressed) + + # 加载保存的登录信息 + _load_login_info() + + # 显示客户端版本号 + _display_version_info() + +# 处理登录按钮点击 +func _on_login_button_pressed(): + var user_name = username_input.text.strip_edges() # 修剪前后的空格 + var user_password = password_input.text.strip_edges() + var farmname = farmname_input.text.strip_edges() + + if user_name == "" or user_password == "": + status_label.text = "用户名或密码不能为空!" + status_label.modulate = Color.RED + return + + # 检查网络连接状态 + if !tcp_network_manager.client.is_client_connected(): + status_label.text = "未连接到服务器,正在尝试连接..." + status_label.modulate = Color.YELLOW + # 尝试自动连接到服务器 + tcp_network_manager.connect_to_current_server() + await get_tree().create_timer(2.0).timeout + + + + # 禁用按钮,防止重复点击 + login_button.disabled = true + + status_label.text = "正在登录,请稍候..." + status_label.modulate = Color.YELLOW + + # 如果启用了记住密码,保存登录信息 + if remember_password: + _save_login_info(user_name, user_password) + + tcp_network_manager.sendLoginInfo(user_name, user_password) + + # 更新主游戏数据 + main_game.user_name = user_name + main_game.user_password = user_password + + # 5秒后重新启用按钮(如果没有收到响应) + await get_tree().create_timer(5.0).timeout + if login_button.disabled: + login_button.disabled = false + status_label.text = "登录超时,请重试!" + status_label.modulate = Color.RED + +# 处理验证码发送按钮点击 +func _on_send_button_pressed(): + var user_name = username_input.text.strip_edges() + + if user_name == "": + status_label.text = "请输入QQ号以接收验证码!" + status_label.modulate = Color.RED + return + + if !is_valid_qq_number(user_name): + status_label.text = "请输入正确的QQ号码(5-12位数字)!" + status_label.modulate = Color.RED + return + + # 检查网络连接状态 + if !tcp_network_manager.client.is_client_connected(): + status_label.text = "未连接到服务器,正在尝试连接..." + status_label.modulate = Color.YELLOW + # 尝试自动连接到服务器 + tcp_network_manager.connect_to_current_server() + await get_tree().create_timer(2.0).timeout + + # 再次检查连接状态 + if !tcp_network_manager.client.is_client_connected(): + status_label.text = "连接服务器失败,正在尝试其他服务器..." + status_label.modulate = Color.YELLOW + # 等待自动服务器切换完成 + await get_tree().create_timer(3.0).timeout + + + # 禁用按钮,防止重复点击 + send_button.disabled = true + + status_label.text = "正在发送验证码,请稍候..." + status_label.modulate = Color.YELLOW + + # 发送验证码请求 + tcp_network_manager.sendVerificationCodeRequest(user_name) + + # 60秒后重新启用按钮(或收到响应后提前启用) + var timer = 60 + while timer > 0 and send_button.disabled: + send_button.text = "重新发送(%d)" % timer + await get_tree().create_timer(1.0).timeout + timer -= 1 + + if send_button.disabled: + send_button.disabled = false + send_button.text = "发送验证码" + + if status_label.text == "正在发送验证码,请稍候...": + status_label.text = "验证码发送超时,请重试!" + status_label.modulate = Color.RED + +# 处理注册按钮点击 +func _on_register_button_pressed(): + password_2.show() + verification_code.show() + player_name.show() + farm_name.show() + + var user_name = username_input.text.strip_edges() + var user_password = password_input.text.strip_edges() + var user_password_2 = password_input_2.text.strip_edges() + var farmname = farmname_input.text.strip_edges() + var player_name = playername_input.text.strip_edges() + var verification_code = verificationcode_input.text.strip_edges() + + # 检查密码格式(只允许数字和字母) + if not is_valid_password(user_password): + status_label.text = "密码只能包含数字和字母!" + status_label.modulate = Color.RED + return + + if user_name == "" or user_password == "": + status_label.text = "用户名或密码不能为空!" + status_label.modulate = Color.RED + return + if farmname == "": + status_label.text = "农场名称不能为空!" + status_label.modulate = Color.RED + return + if user_password != user_password_2: + status_label.text = "两次输入的密码不一致!" + status_label.modulate = Color.RED + return + + if !is_valid_qq_number(user_name): + status_label.text = "请输入正确的QQ号码(5-12位数字)!" + status_label.modulate = Color.RED + return + + if verification_code == "": + status_label.text = "请输入验证码!" + status_label.modulate = Color.RED + return + + # 检查网络连接状态 + if !tcp_network_manager.client.is_client_connected(): + status_label.text = "未连接到服务器,正在尝试连接..." + status_label.modulate = Color.YELLOW + # 尝试自动连接到服务器 + tcp_network_manager.connect_to_current_server() + await get_tree().create_timer(2.0).timeout + + # 再次检查连接状态 + if !tcp_network_manager.client.is_client_connected(): + status_label.text = "连接服务器失败,正在尝试其他服务器..." + status_label.modulate = Color.YELLOW + # 等待自动服务器切换完成 + await get_tree().create_timer(3.0).timeout + + + # 禁用按钮,防止重复点击 + register_button.disabled = true + + status_label.text = "正在注册,请稍候..." + status_label.modulate = Color.YELLOW + + # 发送注册请求 + tcp_network_manager.sendRegisterInfo(user_name, user_password, farmname, player_name, verification_code) + + # 更新主游戏数据 + #main_game.user_name = user_name + #main_game.user_password = user_password + #main_game.farmname = farmname + + # 5秒后重新启用按钮(如果没有收到响应) + await get_tree().create_timer(5.0).timeout + if register_button.disabled: + register_button.disabled = false + status_label.text = "注册超时,请重试!" + status_label.modulate = Color.RED + +# 处理验证码发送响应 +func _on_verification_code_response(success: bool, message: String): + if success: + status_label.text = message + status_label.modulate = Color.GREEN + else: + status_label.text = message + status_label.modulate = Color.RED + send_button.disabled = false + send_button.text = "发送验证码" + +# 处理验证码验证响应 +func _on_verify_code_response(success: bool, message: String): + if success: + status_label.text = message + status_label.modulate = Color.GREEN + else: + status_label.text = message + status_label.modulate = Color.RED + +# 验证QQ号是否有效 +func is_valid_qq_number(qq_number: String) -> bool: + # QQ号的标准格式是5到12位的数字 + var qq_regex = RegEx.new() + var pattern = r"^\d{5,12}$" + + var error = qq_regex.compile(pattern) + if error != OK: + status_label.text = "QQ号验证失败部错误" + status_label.modulate = Color.RED + return false + + return qq_regex.search(qq_number) != null + +# 添加密码验证函数 +func is_valid_password(password: String) -> bool: + # 检查密码是否为空 + if password.length() == 0: + return false + + # 遍历密码中的每个字符 + for i in range(password.length()): + var char = password[i] + + # 检查字符是否为数字 + var is_digit = char >= "0" and char <= "9" + + # 检查字符是否为大写字母 + var is_upper = char >= "A" and char <= "Z" + + # 检查字符是否为小写字母 + var is_lower = char >= "a" and char <= "z" + + # 如果字符既不是数字也不是字母,则返回false + if not (is_digit or is_upper or is_lower): + return false + + # 如果所有字符都是字母或数字,则返回true + return true + + +# 处理登录响应 +func _on_login_response_received(success: bool, message: String, user_data: Dictionary): + # 启用按钮 + login_button.disabled = false + + if success: + status_label.text = "登录成功!正在加载游戏..." + status_label.modulate = Color.GREEN + + # 保存登录数据到主游戏 + main_game.login_data = user_data.duplicate() + + # 更新主游戏数据 + main_game.experience = user_data.get("experience", 0) + main_game.farm_lots = user_data.get("farm_lots", []) + main_game.level = user_data.get("level", 1) + main_game.money = user_data.get("money", 0) + main_game.stamina = user_data.get("体力值", 20) + main_game.show_farm_name.text = "农场名称:"+user_data.get("farm_name", "") + main_game.show_player_name.text = "玩家昵称:"+user_data.get("player_name", "") + farmname_input.text = user_data.get("farm_name", "") + + # 加载玩家背包数据 + if user_data.has("player_bag"): + main_game.player_bag = user_data.get("player_bag", []) + else: + main_game.player_bag = [] + + # 加载作物仓库数据 + if user_data.has("作物仓库"): + main_game.crop_warehouse = user_data.get("作物仓库", []) + else: + main_game.crop_warehouse = [] + + # 加载道具背包数据 + if user_data.has("道具背包"): + main_game.item_bag = user_data.get("道具背包", []) + else: + main_game.item_bag = [] + + main_game.start_game = true + self.hide() + + # 确保在更新数据后调用主游戏的 UI 更新函数 + main_game._update_ui() + main_game._refresh_farm_lots() + player_bag_panel.update_player_bag_ui() + + # 更新作物仓库和道具背包UI + if main_game.crop_warehouse_panel and main_game.crop_warehouse_panel.has_method("update_crop_warehouse_ui"): + main_game.crop_warehouse_panel.update_crop_warehouse_ui() + if main_game.item_bag_panel and main_game.item_bag_panel.has_method("update_item_bag_ui"): + main_game.item_bag_panel.update_item_bag_ui() + + # 调用主游戏的登录成功处理函数 + main_game.handle_login_success(user_data) + else: + status_label.text = "登录失败:" + message + status_label.modulate = Color.RED + + # 如果登录失败且是密码错误,可以选择清除保存的信息 + if "密码" in message or "password" in message.to_lower(): + print("登录失败,可能是密码错误。如需清除保存的登录信息,请调用_clear_login_info()") + +# 处理注册响应 +func _on_register_response_received(success: bool, message: String): + # 启用按钮 + register_button.disabled = false + + if success: + status_label.text = "注册成功!请登录游戏" + status_label.modulate = Color.GREEN + + # 注册成功后,如果启用了记住密码,保存登录信息 + if remember_password: + var user_name = username_input.text.strip_edges() + var user_password = password_input.text.strip_edges() + _save_login_info(user_name, user_password) + + # 清除注册相关的输入框 + password_input_2.text = "" + verificationcode_input.text = "" + else: + status_label.text = "注册失败:" + message + status_label.modulate = Color.RED + +# 保存登录信息到JSON文件 +func _save_login_info(user_name: String, password: String): + var login_data = { + "user_name": user_name, + "password": password + } + + var file = FileAccess.open("user://login.json", FileAccess.WRITE) + if file: + var json_string = JSON.stringify(login_data, "\t") + file.store_string(json_string) + file.close() + print("登录信息已保存") + else: + print("无法保存登录信息") + +# 从JSON文件加载登录信息 +func _load_login_info(): + var file = FileAccess.open("user://login.json", FileAccess.READ) + if file: + var json_text = file.get_as_text() + file.close() + + var json = JSON.new() + var parse_result = json.parse(json_text) + if parse_result == OK: + var login_data = json.get_data() + if login_data.has("user_name") and login_data.has("password"): + var saved_username = login_data.get("user_name", "") + var saved_password = login_data.get("password", "") + + if saved_username != "" and saved_password != "": + username_input.text = saved_username + password_input.text = saved_password + status_label.text = "已加载保存的登录信息" + status_label.modulate = Color.CYAN + print("登录信息已加载:用户名 =", saved_username) + else: + status_label.text = "欢迎使用萌芽农场" + status_label.modulate = Color.WHITE + print("没有有效的保存登录信息") + else: + print("登录信息格式错误") + else: + print("登录信息JSON解析错误:", json.get_error_message()) + else: + # 创建默认的登录信息文件 + _save_login_info("", "") + status_label.text = "欢迎使用萌芽农场" + status_label.modulate = Color.WHITE + print("没有找到保存的登录信息,已创建默认文件") + +# 清除保存的登录信息 +func _clear_login_info(): + var file = FileAccess.open("user://login.json", FileAccess.WRITE) + if file: + var empty_data = { + "user_name": "", + "password": "" + } + var json_string = JSON.stringify(empty_data, "\t") + file.store_string(json_string) + file.close() + print("登录信息已清除") + else: + print("无法清除登录信息") + +# 切换记住密码选项 +func toggle_remember_password(): + remember_password = !remember_password + print("记住密码选项:", "开启" if remember_password else "关闭") + + # 如果关闭了记住密码,清除已保存的信息 + if not remember_password: + _clear_login_info() + +# 检查是否有保存的登录信息 +func has_saved_login_info() -> bool: + var file = FileAccess.open("user://login.json", FileAccess.READ) + if file: + var json_text = file.get_as_text() + file.close() + + var json = JSON.new() + var parse_result = json.parse(json_text) + if parse_result == OK: + var login_data = json.get_data() + var user_name = login_data.get("user_name", "") + var password = login_data.get("password", "") + return user_name != "" and password != "" + + return false + +# 快捷登录(使用保存的登录信息) +func quick_login(): + if has_saved_login_info(): + var user_name = username_input.text.strip_edges() + var user_password = password_input.text.strip_edges() + + if user_name != "" and user_password != "": + print("执行快捷登录...") + _on_login_button_pressed() + else: + status_label.text = "保存的登录信息不完整" + status_label.modulate = Color.ORANGE + else: + status_label.text = "没有保存的登录信息" + status_label.modulate = Color.ORANGE + +# 获取保存的用户名(用于调试或显示) +func get_saved_username() -> String: + var file = FileAccess.open("user://login.json", FileAccess.READ) + if file: + var json_text = file.get_as_text() + file.close() + + var json = JSON.new() + var parse_result = json.parse(json_text) + if parse_result == OK: + var login_data = json.get_data() + return login_data.get("user_name", "") + + return "" + +# 显示版本信息 +func _display_version_info(): + # 在状态标签中显示客户端版本信息 + if status_label.text == "欢迎使用萌芽农场" or status_label.text == "连接状态": + status_label.text = "萌芽农场 v" + main_game.client_version + " - 欢迎使用" + status_label.modulate = Color.CYAN + +# 处理连接断开事件 +func _on_connection_lost(): + print("登录面板收到连接断开通知") + + # 更新状态标签 + status_label.text = "与服务器连接已断开,请重新登录" + status_label.modulate = Color.ORANGE + + # 重新启用所有按钮 + login_button.disabled = false + register_button.disabled = false + send_button.disabled = false + send_button.text = "发送验证码" diff --git a/GUI/LoginPanel.gd.uid b/GUI/LoginPanel.gd.uid new file mode 100644 index 0000000..59912fd --- /dev/null +++ b/GUI/LoginPanel.gd.uid @@ -0,0 +1 @@ +uid://cka0r4g8tbf0 diff --git a/GUI/LuckyDrawPanel.gd b/GUI/LuckyDrawPanel.gd index a6fd8e0..7721ef7 100644 --- a/GUI/LuckyDrawPanel.gd +++ b/GUI/LuckyDrawPanel.gd @@ -27,8 +27,8 @@ signal draw_failed(error_message: String) # 抽奖失败信号 # ============================================================================= var reward_templates: Array[RichTextLabel] = [] var current_rewards: Array = [] -var network_manager = null -var main_game = null +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") +@onready var main_game = get_node("/root/main") # 15种不同的模板颜色 var template_colors: Array[Color] = [ @@ -47,10 +47,10 @@ var template_colors: Array[Color] = [ Color(1.0, 0.95, 0.8, 1.0), # 淡香槟色 Color(0.85, 0.8, 1.0, 1.0), # 淡薰衣草色 Color(0.95, 1.0, 0.85, 1.0) # 淡春绿色 - - ] +var anticipation_tween: Tween = null + # ============================================================================= # 基础奖励配置 - 根据 crop_data.json 调整 # ============================================================================= @@ -60,7 +60,6 @@ var base_rewards: Dictionary = { "empty": {"name": "谢谢惠顾", "icon": "😅", "color": "#CCCCCC"} } -# 根据 crop_data.json 动态构建的种子奖励 var seed_rewards: Dictionary = {} # 抽奖费用配置 @@ -81,11 +80,8 @@ var server_reward_pools: Dictionary = {} func _ready() -> void: _initialize_system() +#初始化抽奖系统 func _initialize_system() -> void: - """初始化抽奖系统""" - # 获取网络管理器和主游戏引用 - network_manager = get_node("/root/main/UI/TCPNetworkManager") - main_game = get_node("/root/main") # 连接信号 if main_game: @@ -97,15 +93,15 @@ func _initialize_system() -> void: _generate_reward_templates() _update_template_display() +#从主游戏加载作物数据并构建种子奖励 func _load_crop_data_and_build_rewards() -> void: - """从主游戏加载作物数据并构建种子奖励""" if main_game and main_game.has_method("get_crop_data"): var crop_data = main_game.get_crop_data() if crop_data: _build_seed_rewards_from_crop_data(crop_data) +#根据 crop_data.json 构建种子奖励配置 func _build_seed_rewards_from_crop_data(crop_data: Dictionary) -> void: - """根据 crop_data.json 构建种子奖励配置""" seed_rewards.clear() for crop_name in crop_data.keys(): @@ -126,8 +122,8 @@ func _build_seed_rewards_from_crop_data(crop_data: Dictionary) -> void: "cost": crop_info.get("花费", 50) } +#根据稀有度获取颜色 func _get_rarity_color(rarity: String) -> String: - """根据稀有度获取颜色""" match rarity: "普通": return "#90EE90" @@ -270,7 +266,6 @@ func _format_template_text(reward: Dictionary) -> String: ## 执行网络抽奖 func _perform_network_draw(draw_type: String) -> void: - """通过网络请求执行抽奖""" if not network_manager or not network_manager.is_connected_to_server(): _show_error_message("网络未连接,无法进行抽奖") return @@ -292,7 +287,6 @@ func _perform_network_draw(draw_type: String) -> void: ## 显示等待动画 func _show_waiting_animation(draw_type: String) -> void: - """显示抽奖等待动画""" # 禁用抽奖按钮 _set_draw_buttons_enabled(false) @@ -304,7 +298,6 @@ func _show_waiting_animation(draw_type: String) -> void: ## 处理服务器抽奖响应 func handle_lucky_draw_response(response: Dictionary) -> void: - """处理来自服务器的抽奖响应""" # 停止期待动画 _stop_anticipation_animation() @@ -329,7 +322,6 @@ func handle_lucky_draw_response(response: Dictionary) -> void: ## 显示服务器返回的抽奖结果 func _show_server_draw_results(rewards: Array, draw_type: String, cost: int) -> void: - """显示服务器返回的抽奖结果""" current_rewards = rewards # 显示结果(动画已在handle_lucky_draw_response中停止) @@ -492,7 +484,7 @@ func _play_anticipation_animation() -> void: 0.0, 1.0, 0.5 ) -var anticipation_tween: Tween = null + func _anticipation_flash(template: RichTextLabel, progress: float) -> void: """期待动画闪烁效果""" @@ -501,7 +493,6 @@ func _anticipation_flash(template: RichTextLabel, progress: float) -> void: ## 停止期待动画 func _stop_anticipation_animation() -> void: - """停止期待动画""" if anticipation_tween: anticipation_tween.kill() anticipation_tween = null @@ -524,7 +515,6 @@ func _play_result_animation() -> void: ## 显示错误信息 func _show_error_message(message: String) -> void: - """显示错误信息""" lucky_draw_reward.text = "[center][color=#FF6B6B]❌ %s[/color][/center]" % message lucky_draw_reward.show() @@ -579,6 +569,5 @@ func clear_draw_results() -> void: ## 刷新奖励显示(当作物数据更新时调用) func refresh_reward_display() -> void: - """刷新奖励显示""" _load_crop_data_and_build_rewards() _update_template_display() diff --git a/GUI/LuckyDrawPanel.tscn b/GUI/LuckyDrawPanel.tscn index 79bfd36..961422e 100644 --- a/GUI/LuckyDrawPanel.tscn +++ b/GUI/LuckyDrawPanel.tscn @@ -13,6 +13,12 @@ offset_top = -1.0 offset_right = 600.0 offset_bottom = 58.0 theme_override_colors/font_color = Color(0.624759, 0.8051, 0.828302, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 35 text = "幸运抽奖" horizontal_alignment = 1 diff --git a/GUI/MainMenuPanel.tscn b/GUI/MainMenuPanel.tscn index bb48469..bd5710b 100644 --- a/GUI/MainMenuPanel.tscn +++ b/GUI/MainMenuPanel.tscn @@ -1,13 +1,13 @@ [gd_scene load_steps=9 format=3 uid="uid://bypjb28h4ntdr"] [ext_resource type="Script" uid="uid://badqjgdfhg7vt" path="res://GUI/MainMenuPanel.gd" id="1_wpehy"] -[ext_resource type="Texture2D" uid="uid://bhdqkhf0y2ply" path="res://assets/UI/背景1.jpg" id="2_fys16"] -[ext_resource type="Script" path="res://GUI/GameSettingPanel.gd" id="2_n0pjj"] -[ext_resource type="Texture2D" uid="uid://4kvddwqlodpg" path="res://assets/logo_title/logo1.png" id="3_sr106"] -[ext_resource type="Script" path="res://GUI/GameAboutPanel.gd" id="3_y0inj"] +[ext_resource type="Texture2D" uid="uid://ddcmrh50o1y0q" path="res://assets/菜单UI/背景1.webp" id="2_eghpk"] +[ext_resource type="Texture2D" uid="uid://h8tto256aww4" path="res://assets/菜单Logo/logo1.webp" id="3_eghpk"] +[ext_resource type="Script" uid="uid://bob7a4vhw4nl3" path="res://GUI/GameAboutPanel.gd" id="3_y0inj"] +[ext_resource type="Texture2D" uid="uid://dgdootc5bny5q" path="res://assets/菜单UI/QQ群.webp" id="4_eghpk"] [ext_resource type="Script" uid="uid://kj7v1uxk2i6h" path="res://GUI/GameUpdatePanel.gd" id="4_fys16"] -[ext_resource type="Texture2D" uid="uid://b5of6puh4efui" path="res://assets/杂项/柚小青装饰品.png" id="5_eghpk"] -[ext_resource type="Texture2D" uid="uid://cuuqapjbrsdy7" path="res://assets/UI/QQ群.jpg" id="5_y0inj"] +[ext_resource type="Texture2D" uid="uid://ccav04woielxa" path="res://assets/菜单UI/柚小青装饰品.webp" id="5_6jmhb"] +[ext_resource type="PackedScene" uid="uid://dos15dmc1b6bt" path="res://GUI/GameSettingPanel.tscn" id="6_eghpk"] [node name="MainMenuPanel" type="Control"] layout_mode = 3 @@ -26,7 +26,7 @@ offset_left = -131.0 offset_top = -24.0 offset_right = 1568.0 offset_bottom = 734.0 -texture = ExtResource("2_fys16") +texture = ExtResource("2_eghpk") [node name="GUI" type="Control" parent="."] anchors_preset = 0 @@ -40,7 +40,7 @@ offset_top = -24.0 offset_right = 1730.0 offset_bottom = 696.0 scale = Vector2(0.4, 0.4) -texture = ExtResource("3_sr106") +texture = ExtResource("3_eghpk") stretch_mode = 2 [node name="RichTextLabel" type="RichTextLabel" parent="GUI"] @@ -79,7 +79,7 @@ offset_top = 43.0 offset_right = 952.0 offset_bottom = 1229.0 scale = Vector2(0.3, 0.3) -texture = ExtResource("5_y0inj") +texture = ExtResource("4_eghpk") [node name="YouXiaoQing" type="TextureRect" parent="GUI/AddGroupLabel"] layout_mode = 0 @@ -88,7 +88,7 @@ offset_top = 82.0 offset_right = 1233.0 offset_bottom = 1268.0 scale = Vector2(0.14, 0.14) -texture = ExtResource("5_eghpk") +texture = ExtResource("5_6jmhb") [node name="VBox" type="VBoxContainer" parent="."] layout_mode = 0 @@ -131,41 +131,8 @@ size_flags_horizontal = 4 theme_override_font_sizes/font_size = 40 text = "退出游戏" -[node name="GameSettingPanel" type="Panel" parent="."] -visible = false +[node name="GameSettingPanel" parent="." instance=ExtResource("6_eghpk")] layout_mode = 0 -offset_right = 1398.0 -offset_bottom = 720.0 -script = ExtResource("2_n0pjj") - -[node name="Title" type="Label" parent="GameSettingPanel"] -layout_mode = 0 -offset_right = 1398.0 -offset_bottom = 80.0 -theme_override_font_sizes/font_size = 45 -text = "游戏设置" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="QuitButton" type="Button" parent="GameSettingPanel"] -custom_minimum_size = Vector2(60, 60) -layout_mode = 0 -offset_left = 1340.0 -offset_right = 1400.0 -offset_bottom = 60.0 -theme_override_font_sizes/font_size = 35 -text = "X" - -[node name="Scroll" type="ScrollContainer" parent="GameSettingPanel"] -layout_mode = 0 -offset_top = 80.0 -offset_right = 1400.0 -offset_bottom = 720.0 - -[node name="Contents" type="RichTextLabel" parent="GameSettingPanel/Scroll"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 [node name="GameAboutPanel" type="Panel" parent="."] layout_mode = 0 @@ -177,6 +144,13 @@ script = ExtResource("3_y0inj") layout_mode = 0 offset_right = 1398.0 offset_bottom = 80.0 +theme_override_colors/font_color = Color(0.780392, 1, 0.905882, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 5 +theme_override_constants/shadow_offset_y = 5 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 45 text = "关于" horizontal_alignment = 1 @@ -185,9 +159,9 @@ vertical_alignment = 1 [node name="QuitButton" type="Button" parent="GameAboutPanel"] custom_minimum_size = Vector2(60, 60) layout_mode = 0 -offset_left = 1340.0 +offset_left = 1325.0 offset_right = 1400.0 -offset_bottom = 60.0 +offset_bottom = 80.0 theme_override_font_sizes/font_size = 35 text = "X" @@ -210,7 +184,8 @@ text = "玩法介绍: 4.不要一上来就把钱用完了(比如某某人一上来就十连抽),可以去偷别人的菜 致谢名单: -虚空领主:(美术抠图) +程序牛马:(作物处理+抠图) +虚空领主:(抠图) 豆包:(万能的美术)" [node name="GameUpdatePanel" type="Panel" parent="."] @@ -263,6 +238,5 @@ text = "刷新" [connection signal="pressed" from="VBox/GameUpdateButton" to="." method="_on_game_update_button_pressed"] [connection signal="pressed" from="VBox/GameAboutButton" to="." method="_on_game_about_button_pressed"] [connection signal="pressed" from="VBox/ExitButton" to="." method="_on_exit_button_pressed"] -[connection signal="pressed" from="GameSettingPanel/QuitButton" to="GameSettingPanel" method="_on_quit_button_pressed"] [connection signal="pressed" from="GameAboutPanel/QuitButton" to="GameAboutPanel" method="_on_quit_button_pressed"] [connection signal="pressed" from="GameUpdatePanel/QuitButton" to="GameUpdatePanel" method="_on_quit_button_pressed"] diff --git a/GUI/OneClickPlantPanel.gd b/GUI/OneClickPlantPanel.gd index beefe06..6c9ad99 100644 --- a/GUI/OneClickPlantPanel.gd +++ b/GUI/OneClickPlantPanel.gd @@ -21,6 +21,7 @@ extends Panel @onready var one_column_plant_btn: Button = $Grid/OneColumnPlantBtn #列种植 @onready var nine_square_plant_btn: Button = $Grid/NineSquarePlantBtn #九宫格种植 @onready var cross_plant_btn: Button = $Grid/CrossPlantBtn #十字法种植 +@onready var random_plant_btn: Button = $Grid/RandomPlantBtn #随机种植 # 引用主游戏和其他面板 @onready var main_game = get_node("/root/main") @@ -36,6 +37,9 @@ const BASE_COST = 500 # 基础费用 const COST_RATE = 0.2 # 种植成本比例(20%) const PLANT_INTERVAL = 0.25 # 种植间隔时间 + + + # 种植状态变量 var is_planting = false var selected_crop_name = "" @@ -57,6 +61,7 @@ func _ready(): one_column_plant_btn.pressed.connect(_on_one_column_plant_pressed) nine_square_plant_btn.pressed.connect(_on_nine_square_plant_pressed) cross_plant_btn.pressed.connect(_on_cross_plant_pressed) + random_plant_btn.pressed.connect(_on_random_plant_pressed) # 设置按钮提示文本 _setup_button_tooltips() @@ -68,6 +73,8 @@ func _process(delta): plant_timer = 0.0 _process_plant_queue() + +#=================================一键种植模式========================================= # 全屏种植按钮处理 func _on_full_screen_plant_pressed(): _request_crop_selection("全屏种植", "选择要种植的作物进行全屏种植") @@ -88,111 +95,10 @@ func _on_nine_square_plant_pressed(): func _on_cross_plant_pressed(): _start_lot_selection_mode("十字法种植") -# 开始地块选择模式 -func _start_lot_selection_mode(plant_type: String): - is_waiting_for_lot_selection = true - pending_plant_type = plant_type - - # 隐藏一键种植面板 - self.hide() - - # 显示提示信息 - var tip_message = "" - match plant_type: - "行种植": - tip_message = "请点击一个地块来确定要种植的行" - "列种植": - tip_message = "请点击一个地块来确定要种植的列" - "九宫格种植": - tip_message = "请点击一个地块来确定九宫格种植的中心位置" - "十字法种植": - tip_message = "请点击一个地块来确定十字法种植的中心位置" - _: - tip_message = "请点击一个地块" - - Toast.show(tip_message + "(按ESC键取消)", Color.CYAN) - print("进入地块选择模式:%s" % plant_type) +# 随机种植按钮处理 +func _on_random_plant_pressed(): + _prepare_random_plant() -# 处理地块选择(从MainGame调用) -func on_lot_selected(lot_index: int): - if not is_waiting_for_lot_selection: - return false # 不是等待地块选择状态,返回false让MainGame正常处理 - - # 退出地块选择模式 - is_waiting_for_lot_selection = false - - # 设置选择的地块索引 - main_game.selected_lot_index = lot_index - - # 开始作物选择 - _request_crop_selection(pending_plant_type, "选择要种植的作物进行" + pending_plant_type) - - # 清空待处理的种植类型 - pending_plant_type = "" - - return true # 返回true表示已处理了地块选择 - -# 请求作物选择 -func _request_crop_selection(plant_type: String, tip_message: String): - # 检查背包是否有种子 - if main_game.player_bag.size() == 0: - Toast.show("背包中没有种子,请先去商店购买", Color.RED) - return - - var has_seeds = false - for item in main_game.player_bag: - if item["count"] > 0: - has_seeds = true - break - - if not has_seeds: - Toast.show("背包中没有可用的种子", Color.RED) - return - - Toast.show(tip_message, Color.CYAN) - self.hide() - - # 设置背包面板的种植模式回调 - player_bag_panel.set_planting_mode(plant_type, self) - player_bag_panel.show() - -# 背包选择作物回调函数 -func on_crop_selected(crop_name: String, plant_type: String): - selected_crop_name = crop_name - - # 检查背包中的作物数量 - selected_crop_count = _get_crop_count_in_bag(crop_name) - if selected_crop_count <= 0: - Toast.show("背包中没有 " + crop_name + " 种子", Color.RED) - return - - print("开始准备一键种植:") - print(" 选择作物:%s" % crop_name) - print(" 种植模式:%s" % plant_type) - print(" 背包数量:%d" % selected_crop_count) - - # 根据种植类型生成种植队列 - match plant_type: - "全屏种植": - _prepare_full_screen_plant() - "行种植": - _prepare_row_plant() - "列种植": - _prepare_column_plant() - "九宫格种植": - _prepare_nine_square_plant() - "十字法种植": - _prepare_cross_plant() - _: - Toast.show("未知的种植模式:" + plant_type, Color.RED) - print("错误:未知的种植模式:%s" % plant_type) - -# 获取背包中指定作物的数量 -func _get_crop_count_in_bag(crop_name: String) -> int: - for item in main_game.player_bag: - if item["name"] == crop_name: - return item["count"] - return 0 # 准备全屏种植 func _prepare_full_screen_plant(): @@ -277,6 +183,210 @@ func _prepare_cross_plant(): _start_planting("十字法种植") +# 准备随机种植 +func _prepare_random_plant(): + # 检查背包是否有种子 + if main_game.player_bag.size() == 0: + Toast.show("背包中没有种子,请先去商店购买", Color.RED) + return + + # 获取背包中所有的种子类型和数量 + var available_seeds = [] + for item in main_game.player_bag: + if item["count"] > 0: + # 根据种子数量添加多个相同种子到列表中 + for i in range(item["count"]): + available_seeds.append(item["name"]) + + if available_seeds.size() == 0: + Toast.show("背包中没有可用的种子", Color.RED) + return + + # 打乱种子列表 + available_seeds.shuffle() + + # 获取所有可种植的地块 + var available_lots = [] + for i in range(len(main_game.farm_lots)): + if _can_plant_at_index(i): + available_lots.append(i) + + if available_lots.size() == 0: + Toast.show("没有可种植的地块", Color.YELLOW) + return + + # 根据种子数量和可种植地块数量确定实际种植数量 + var plant_count = min(available_seeds.size(), available_lots.size()) + + # 准备种植队列,每个元素包含地块索引和对应的种子名称 + plant_queue.clear() + var random_plant_data = [] # 存储地块索引和对应种子的映射 + + for i in range(plant_count): + var lot_index = available_lots[i] + var seed_name = available_seeds[i] + plant_queue.append(lot_index) + random_plant_data.append({"lot_index": lot_index, "seed_name": seed_name}) + + # 存储随机种植数据到全局变量,供种植过程使用 + if not has_meta("random_plant_data"): + set_meta("random_plant_data", random_plant_data) + else: + set_meta("random_plant_data", random_plant_data) + + # 计算总费用(基于所有要种植的种子) + var total_crop_cost = 0 + for data in random_plant_data: + var crop_data = main_game.can_planted_crop.get(data["seed_name"], {}) + var crop_price = crop_data.get("花费", 0) + total_crop_cost += crop_price + + var service_fee = int(total_crop_cost * COST_RATE) + BASE_COST + + print("随机种植费用计算:") + var seed_names = [] + for data in random_plant_data: + seed_names.append(data["seed_name"]) + print(" 将要种植的种子:%s" % str(seed_names)) + print(" 种植数量:%d 个地块" % plant_count) + print(" 作物总成本:%d 元" % total_crop_cost) + print(" 服务费率:%.1f%%" % (COST_RATE * 100)) + print(" 基础费用:%d 元" % BASE_COST) + print(" 总服务费:%d 元" % service_fee) + print(" 玩家当前金钱:%d 元" % main_game.money) + + # 检查金钱是否足够支付服务费 + if main_game.money < service_fee: + Toast.show("金钱不足!随机种植需要服务费 %d 元(当前:%d 元)" % [service_fee, main_game.money], Color.RED) + return + + # 扣除服务费 + main_game.money -= service_fee + main_game._update_ui() + + # 开始种植 + is_planting = true + current_plant_index = 0 + plant_timer = 0.0 + + # 更新按钮状态为种植中 + _update_buttons_planting_state(true) + + # 计算不同种子的数量 + var unique_seeds = {} + for data in random_plant_data: + unique_seeds[data["seed_name"]] = true + var unique_seed_count = unique_seeds.size() + + Toast.show("开始随机种植,预计种植 %d 个地块,使用 %d 种不同种子,服务费 %d 元" % [plant_count, unique_seed_count, service_fee], Color.GREEN) + + +#=================================一键种植模式========================================= + + + +# 开始地块选择模式 +func _start_lot_selection_mode(plant_type: String): + is_waiting_for_lot_selection = true + pending_plant_type = plant_type + + # 隐藏一键种植面板 + self.hide() + + # 显示提示信息 + var tip_message = "" + match plant_type: + "行种植": + tip_message = "请点击一个地块来确定要种植的行" + "列种植": + tip_message = "请点击一个地块来确定要种植的列" + "九宫格种植": + tip_message = "请点击一个地块来确定九宫格种植的中心位置" + "十字法种植": + tip_message = "请点击一个地块来确定十字法种植的中心位置" + _: + tip_message = "请点击一个地块" + + Toast.show(tip_message + "(按ESC键取消)", Color.CYAN) + print("进入地块选择模式:%s" % plant_type) + +# 处理地块选择(从MainGame调用) +func on_lot_selected(lot_index: int): + if not is_waiting_for_lot_selection: + return false # 不是等待地块选择状态,返回false让MainGame正常处理 + + # 退出地块选择模式 + is_waiting_for_lot_selection = false + + # 设置选择的地块索引 + main_game.selected_lot_index = lot_index + + # 开始作物选择 + _request_crop_selection(pending_plant_type, "选择要种植的作物进行" + pending_plant_type) + + # 清空待处理的种植类型 + pending_plant_type = "" + + return true # 返回true表示已处理了地块选择 + +# 请求作物选择 +func _request_crop_selection(plant_type: String, tip_message: String): + # 检查背包是否有种子 + if main_game.player_bag.size() == 0: + Toast.show("背包中没有种子,请先去商店购买", Color.RED) + return + + var has_seeds = false + for item in main_game.player_bag: + if item["count"] > 0: + has_seeds = true + break + + if not has_seeds: + Toast.show("背包中没有可用的种子", Color.RED) + return + + Toast.show(tip_message, Color.CYAN) + self.hide() + + # 设置背包面板的种植模式回调 + player_bag_panel.set_planting_mode(plant_type, self) + player_bag_panel.show() + +# 背包选择作物回调函数 +func on_crop_selected(crop_name: String, plant_type: String): + selected_crop_name = crop_name + + # 检查背包中的作物数量 + selected_crop_count = _get_crop_count_in_bag(crop_name) + if selected_crop_count <= 0: + Toast.show("背包中没有 " + crop_name + " 种子", Color.RED) + return + + + # 根据种植类型生成种植队列 + match plant_type: + "全屏种植": + _prepare_full_screen_plant() + "行种植": + _prepare_row_plant() + "列种植": + _prepare_column_plant() + "九宫格种植": + _prepare_nine_square_plant() + "十字法种植": + _prepare_cross_plant() + _: + Toast.show("未知的种植模式:" + plant_type, Color.RED) + print("错误:未知的种植模式:%s" % plant_type) + +# 获取背包中指定作物的数量 +func _get_crop_count_in_bag(crop_name: String) -> int: + for item in main_game.player_bag: + if item["name"] == crop_name: + return item["count"] + return 0 + # 开始种植 func _start_planting(plant_type: String): if plant_queue.size() == 0: @@ -322,7 +432,6 @@ func _start_planting(plant_type: String): _update_buttons_planting_state(true) Toast.show("开始%s,预计种植 %d 个地块,服务费 %d 元" % [plant_type, plant_queue.size(), total_cost], Color.GREEN) - print("开始%s,种植队列: %s" % [plant_type, str(plant_queue)]) # 处理种植队列 func _process_plant_queue(): @@ -333,36 +442,56 @@ func _process_plant_queue(): var lot_index = plant_queue[current_plant_index] - # 检查是否还有种子和该地块是否仍可种植 - if _get_crop_count_in_bag(selected_crop_name) > 0 and _can_plant_at_index(lot_index): - # 执行种植 - _plant_at_index(lot_index) + # 检查是否是随机种植模式 + if has_meta("random_plant_data"): + # 随机种植模式:每个地块种植不同的种子 + var random_plant_data = get_meta("random_plant_data") + if current_plant_index < random_plant_data.size(): + var plant_data = random_plant_data[current_plant_index] + var seed_name = plant_data["seed_name"] + + # 检查是否还有该种子和该地块是否仍可种植 + if _get_crop_count_in_bag(seed_name) > 0 and _can_plant_at_index(lot_index): + # 执行随机种植 + _plant_at_index_with_seed(lot_index, seed_name) + else: + # 普通种植模式:所有地块种植相同的种子 + # 检查是否还有种子和该地块是否仍可种植 + if _get_crop_count_in_bag(selected_crop_name) > 0 and _can_plant_at_index(lot_index): + # 执行种植 + _plant_at_index(lot_index) current_plant_index += 1 # 完成种植 func _finish_planting(): is_planting = false - var planted_count = current_plant_index - var success_count = min(planted_count, selected_crop_count) # 恢复按钮状态 _update_buttons_planting_state(false) - Toast.show("一键种植完成!成功种植 %d 个地块" % success_count, Color.GREEN) - print("一键种植完成,成功种植了 %d 个地块" % success_count) - # 清空队列 plant_queue.clear() current_plant_index = 0 + + # 清理随机种植的元数据 + if has_meta("random_plant_data"): + remove_meta("random_plant_data") # 在指定索引处种植 func _plant_at_index(lot_index: int): if network_manager and network_manager.sendPlantCrop(lot_index, selected_crop_name): - print("发送种植请求:地块 %d,作物 %s" % [lot_index, selected_crop_name]) + pass else: print("发送种植请求失败:地块 %d" % lot_index) +# 在指定索引处种植指定种子(用于随机种植) +func _plant_at_index_with_seed(lot_index: int, seed_name: String): + if network_manager and network_manager.sendPlantCrop(lot_index, seed_name): + pass + else: + print("发送种植请求失败:地块 %d,种子 %s" % [lot_index, seed_name]) + # 检查指定索引的地块是否可以种植 func _can_plant_at_index(index: int) -> bool: if index < 0 or index >= len(main_game.farm_lots): @@ -403,6 +532,7 @@ func _setup_button_tooltips(): one_column_plant_btn.tooltip_text = "在选定地块所在的列中从上到下依次种植\n点击此按钮后,再点击农场中的任意地块确定列位置\n费用:种植总成本的20% + 500元基础费" nine_square_plant_btn.tooltip_text = "以选定地块为中心的3x3九宫格范围内种植\n点击此按钮后,再点击农场中的任意地块确定中心位置\n费用:种植总成本的20% + 500元基础费" cross_plant_btn.tooltip_text = "以选定地块为中心的十字形(上下左右+中心)种植\n点击此按钮后,再点击农场中的任意地块确定中心位置\n费用:种植总成本的20% + 500元基础费" + random_plant_btn.tooltip_text = "获取背包中所有种子并打乱后随机种植到所有空地块\n自动使用背包中的各种种子,每个地块种植不同种子\n费用:种植总成本的20% + 500元基础费" # 更新按钮状态 func _update_buttons_planting_state(planting: bool): @@ -413,12 +543,14 @@ func _update_buttons_planting_state(planting: bool): one_column_plant_btn.disabled = true nine_square_plant_btn.disabled = true cross_plant_btn.disabled = true + random_plant_btn.disabled = true full_screen_plant_btn.text = "种植中..." one_row_plant_btn.text = "种植中..." one_column_plant_btn.text = "种植中..." nine_square_plant_btn.text = "种植中..." cross_plant_btn.text = "种植中..." + random_plant_btn.text = "种植中..." else: # 种植完成,恢复按钮状态 full_screen_plant_btn.disabled = false @@ -426,12 +558,14 @@ func _update_buttons_planting_state(planting: bool): one_column_plant_btn.disabled = false nine_square_plant_btn.disabled = false cross_plant_btn.disabled = false + random_plant_btn.disabled = false full_screen_plant_btn.text = "全屏种植" one_row_plant_btn.text = "行种植" one_column_plant_btn.text = "列种植" - nine_square_plant_btn.text = "九宫格种植" - cross_plant_btn.text = "十字法种植" + nine_square_plant_btn.text = "九宫格\n种植" + cross_plant_btn.text = "十字法\n种植" + random_plant_btn.text = "随机\n种植" # 取消地块选择模式 func cancel_lot_selection(): @@ -439,7 +573,6 @@ func cancel_lot_selection(): is_waiting_for_lot_selection = false pending_plant_type = "" Toast.show("已取消地块选择", Color.YELLOW) - print("用户取消了地块选择") # 重新显示一键种植面板 self.show() @@ -448,10 +581,9 @@ func stop_planting(): if is_planting: is_planting = false Toast.show("一键种植已停止", Color.YELLOW) - print("用户停止了一键种植") _finish_planting() -#这个不用管 +#关闭一键种植面板 func _on_quit_button_pressed() -> void: # 如果正在种植,先停止种植 if is_planting: @@ -459,6 +591,6 @@ func _on_quit_button_pressed() -> void: # 如果正在等待地块选择,取消选择 elif is_waiting_for_lot_selection: cancel_lot_selection() - return # cancel_lot_selection已经重新显示了面板,不需要hide + return self.hide() pass diff --git a/GUI/OnlineGiftPanel.gd b/GUI/OnlineGiftPanel.gd new file mode 100644 index 0000000..558055b --- /dev/null +++ b/GUI/OnlineGiftPanel.gd @@ -0,0 +1,229 @@ +extends Panel + +@onready var one_minute: Button = $Grid/OneMinute +@onready var three_minutes: Button = $Grid/ThreeMinutes +@onready var five_minutes: Button = $Grid/FiveMinutes +@onready var ten_minutes: Button = $Grid/TenMinutes +@onready var thirty_minutes: Button = $Grid/ThirtyMinutes +@onready var one_hour: Button = $Grid/OneHour +@onready var three_hours: Button = $Grid/ThreeHours +@onready var five_hours: Button = $Grid/FiveHours + +# 网络管理器引用,运行时获取 +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 在线礼包数据结构 +var online_gift_config = { + "1分钟": { + "time_seconds": 60, + "rewards": { + "money": 100, + "experience": 50, + "seeds": [{"name": "小麦", "count": 5}, {"name": "胡萝卜", "count": 3}] + } + }, + "3分钟": { + "time_seconds": 180, + "rewards": { + "money": 250, + "experience": 150, + "seeds": [{"name": "胡萝卜", "count": 5}, {"name": "玉米", "count": 3}] + } + }, + "5分钟": { + "time_seconds": 300, + "rewards": { + "money": 500, + "experience": 250, + "seeds": [{"name": "玉米", "count": 3}, {"name": "番茄", "count": 2}] + } + }, + + "10分钟": { + "time_seconds": 600, + "rewards": { + "money": 500, + "experience": 200, + "seeds": [{"name": "玉米", "count": 3}, {"name": "番茄", "count": 2}] + } + }, + "30分钟": { + "time_seconds": 1800, + "rewards": { + "money": 1200, + "experience": 500, + "seeds": [{"name": "草莓", "count": 2}, {"name": "花椰菜", "count": 1}] + } + }, + "1小时": { + "time_seconds": 3600, + "rewards": { + "money": 2500, + "experience": 1000, + "seeds": [{"name": "葡萄", "count": 1}, {"name": "南瓜", "count": 1}, {"name": "咖啡豆", "count": 1}] + } + }, + "3小时": { + "time_seconds": 10800, + "rewards": { + "money": 6000, + "experience": 2500, + "seeds": [{"name": "人参", "count": 1}, {"name": "藏红花", "count": 1}] + } + }, + "5小时": { + "time_seconds": 18000, + "rewards": { + "money": 12000, + "experience": 5000, + "seeds": [{"name": "龙果", "count": 1}, {"name": "松露", "count": 1}, {"name": "月光草", "count": 1}] + } + } +} + +# 按钮映射 +var button_mapping = {} +# 礼包领取状态 +var gift_claimed_status = {} +# 在线开始时间 +var online_start_time: float = 0 +# 当前在线时长 +var current_online_duration: float = 0 + +func _ready(): + # 初始化按钮映射 + button_mapping = { + "1分钟": one_minute, + "3分钟": three_minutes, + "5分钟": five_minutes, + "10分钟": ten_minutes, + "30分钟": thirty_minutes, + "1小时": one_hour, + "3小时": three_hours, + "5小时": five_hours + } + + # 连接按钮信号 + for gift_name in button_mapping.keys(): + var button = button_mapping[gift_name] + if button: + button.pressed.connect(_on_gift_button_pressed.bind(gift_name)) + + # 初始化时禁用所有按钮 + disable_all_buttons() + +#显示面板并请求最新数据 +func show_panel_and_request_data(): + show() + move_to_front() + request_online_gift_data() + +#禁用所有礼包按钮 +func disable_all_buttons(): + for button in button_mapping.values(): + if button: + button.disabled = true + +#更新按钮状态 +func update_button_status(): + for gift_name in online_gift_config.keys(): + var config = online_gift_config[gift_name] + var button = button_mapping[gift_name] + + if not button: + continue + + var required_time = config["time_seconds"] + var is_claimed = gift_claimed_status.get(gift_name, false) + + if is_claimed: + # 已领取 + button.disabled = true + button.text = gift_name + "\n(已领取)" + elif current_online_duration >= required_time: + # 可以领取 + button.disabled = false + button.text = gift_name + "\n(可领取)" + else: + # 时间未到 + button.disabled = true + var remaining_time = required_time - current_online_duration + button.text = gift_name + "\n(" + format_time(remaining_time) + ")" + +#格式化时间显示 +func format_time(seconds: float) -> String: + var hours = int(seconds / 3600) + var minutes = int(int(seconds) % 3600 / 60) + var secs = int(int(seconds) % 60) + + if hours > 0: + return "%d:%02d:%02d" % [hours, minutes, secs] + else: + return "%02d:%02d" % [minutes, secs] + +#处理礼包按钮点击 +func _on_gift_button_pressed(gift_name: String): + if gift_claimed_status.get(gift_name, false): + Toast.show("该礼包已经领取过了!", Color.RED) + return + + # 发送领取请求到服务器 + request_claim_online_gift(gift_name) + +#请求在线礼包数据 +func request_online_gift_data(): + network_manager.sendGetOnlineGiftData() + +#请求领取在线礼包 +func request_claim_online_gift(gift_name: String): + network_manager.sendClaimOnlineGift(gift_name) + +#处理在线礼包数据响应 +func handle_online_gift_data_response(data: Dictionary): + if data.has("claimed_gifts"): + gift_claimed_status = data["claimed_gifts"] + + if data.has("online_start_time"): + online_start_time = data["online_start_time"] + + # 直接使用服务端计算的在线时长 + if data.has("current_online_duration"): + current_online_duration = data["current_online_duration"] + + # 更新按钮状态 + update_button_status() + +#处理领取在线礼包响应 +func handle_claim_online_gift_response(data: Dictionary): + var success = data.get("success", false) + var message = data.get("message", "") + var gift_name = data.get("gift_name", "") + + + if success: + # 标记为已领取 + gift_claimed_status[gift_name] = true + + # 显示奖励信息 + var rewards = data.get("rewards", {}) + var reward_text = "获得奖励: " + + if rewards.has("money"): + reward_text += "金币+" + str(rewards["money"]) + " " + if rewards.has("experience"): + reward_text += "经验+" + str(rewards["experience"]) + " " + if rewards.has("seeds"): + for seed in rewards["seeds"]: + reward_text += seed["name"] + "x" + str(seed["count"]) + " " + + Toast.show(reward_text, Color.GOLD) + Toast.show(message, Color.GREEN) + + # 更新按钮状态 + update_button_status() + else: + Toast.show(message, Color.RED) + +#关闭在线礼包面板 +func _on_quit_button_pressed() -> void: + self.hide() diff --git a/GUI/OnlineGiftPanel.gd.uid b/GUI/OnlineGiftPanel.gd.uid new file mode 100644 index 0000000..6d9c3f8 --- /dev/null +++ b/GUI/OnlineGiftPanel.gd.uid @@ -0,0 +1 @@ +uid://ccaqrb6sdwbux diff --git a/GUI/PlayerBagPanel.gd b/GUI/PlayerBagPanel.gd new file mode 100644 index 0000000..8d9e206 --- /dev/null +++ b/GUI/PlayerBagPanel.gd @@ -0,0 +1,510 @@ +extends Panel + +# 背包格子容器 +@onready var player_bag_grid_container : GridContainer = $ScrollContainer/Bag_Grid +@onready var quit_button : Button = $QuitButton + +#各种排序过滤按钮 +@onready var sort_all_button : Button = $SortContainer/Sort_All#全部 +@onready var sort_common_button : Button = $SortContainer/Sort_Common#普通 +@onready var sort_superior_button : Button = $SortContainer/Sort_Superior#优良 +@onready var sort_rare_button : Button = $SortContainer/Sort_Rare#稀有 +@onready var sort_epic_button : Button = $SortContainer/Sort_Epic#史诗 +@onready var sort_legendary_button : Button = $SortContainer/Sort_Legendary#传奇 +@onready var sort_price_button : Button = $SortContainer/Sort_Price#价格 +@onready var sort_growtime_button : Button = $SortContainer/Sort_GrowTime#生长时间 +@onready var sort_profit_button : Button = $SortContainer/Sort_Profit#收益 +@onready var sort_level_button : Button = $SortContainer/Sort_Level#等级 + +#预添加常用的面板 +@onready var main_game = get_node("/root/main") +@onready var land_panel = get_node("/root/main/UI/LandPanel") +@onready var crop_store_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var player_ranking_panel = get_node("/root/main/UI/PlayerRankingPanel") +@onready var player_bag_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 作物图片缓存(复用主游戏的缓存系统) +var crop_textures_cache : Dictionary = {} +var crop_frame_counts : Dictionary = {} + +# 当前选择的地块索引,从MainGame获取 +var selected_lot_index : int = -1 + +# 当前过滤和排序设置 +var current_filter_quality = "" +var current_sort_key = "" +var current_sort_ascending = true + +# 一键种植模式相关变量 +var is_planting_mode = false +var planting_type = "" +var one_click_plant_panel = null + +# 准备函数 +func _ready(): + # 连接按钮信号 + _connect_buttons() + + # 隐藏面板(初始默认隐藏) + self.hide() + +# 连接所有按钮信号 +func _connect_buttons(): + # 关闭按钮 + quit_button.pressed.connect(self._on_quit_button_pressed) + + # 过滤按钮 + sort_all_button.pressed.connect(func(): _filter_by_quality("")) + sort_common_button.pressed.connect(func(): _filter_by_quality("普通")) + sort_superior_button.pressed.connect(func(): _filter_by_quality("优良")) + sort_rare_button.pressed.connect(func(): _filter_by_quality("稀有")) + sort_epic_button.pressed.connect(func(): _filter_by_quality("史诗")) + sort_legendary_button.pressed.connect(func(): _filter_by_quality("传奇")) + + # 排序按钮 + sort_price_button.pressed.connect(func(): _sort_by("花费")) + sort_growtime_button.pressed.connect(func(): _sort_by("生长时间")) + sort_profit_button.pressed.connect(func(): _sort_by("收益")) + sort_level_button.pressed.connect(func(): _sort_by("等级")) + +# 初始化玩家背包 +func init_player_bag(): + # 清空玩家背包格子 + for child in player_bag_grid_container.get_children(): + child.queue_free() + + # 显示背包中的种子 + update_player_bag_ui() + +# 更新玩家背包UI +func update_player_bag_ui(): + # 清空玩家背包格子 + for child in player_bag_grid_container.get_children(): + child.queue_free() + #print("更新背包UI,背包中物品数量:", main_game.player_bag.size()) + + # 应用过滤和排序 + var filtered_seeds = _get_filtered_and_sorted_seeds() + + # 为背包中的每个过滤后的种子创建按钮 + for seed_item in filtered_seeds: + var crop_name = seed_item["name"] + var crop_quality = seed_item.get("quality", "普通") + var crop_count = seed_item["count"] + #print("背包物品:", crop_name, " 数量:", crop_count) + # 创建种子按钮 + var button = _create_crop_button(crop_name, crop_quality) + # 更新按钮文本显示数量 + button.text = str(crop_quality + "-" + crop_name + "\n数量:" + str(crop_count)) + + # 根据是否处于访问模式连接不同的事件 + if main_game.is_visiting_mode: + # 访问模式下,点击种子只显示信息,不能种植 + button.pressed.connect(func(): _on_visit_seed_selected(crop_name, crop_count)) + else: + # 正常模式下,连接种植事件 + button.pressed.connect(func(): _on_bag_seed_selected(crop_name)) + + player_bag_grid_container.add_child(button) + +# 获取过滤和排序后的种子列表 +func _get_filtered_and_sorted_seeds(): + var filtered_seeds = [] + + # 收集符合条件的种子 + for seed_item in main_game.player_bag: + # 安全获取品质字段(兼容老数据) + var item_quality = seed_item.get("quality", "普通") + + # 品质过滤 + if current_filter_quality != "" and item_quality != current_filter_quality: + continue + + # 获取种子对应的作物数据 + var crop_data = null + if main_game.can_planted_crop.has(seed_item["name"]): + crop_data = main_game.can_planted_crop[seed_item["name"]] + + # 添加到过滤后的列表 + filtered_seeds.append({ + "name": seed_item["name"], + "quality": item_quality, + "count": seed_item["count"], + "data": crop_data + }) + + # 如果有排序条件且数据可用,进行排序 + if current_sort_key != "": + filtered_seeds.sort_custom(Callable(self, "_sort_seed_items")) + + return filtered_seeds + +# 自定义排序函数 +func _sort_seed_items(a, b): + # 检查是否有有效数据用于排序 + if a["data"] == null or b["data"] == null: + # 如果某一项没有数据,将其排在后面 + if a["data"] == null and b["data"] != null: + return false + if a["data"] != null and b["data"] == null: + return true + # 如果都没有数据,按名称排序 + return a["name"] < b["name"] + + # 确保排序键存在于数据中 + if !a["data"].has(current_sort_key) or !b["data"].has(current_sort_key): + print("警告: 排序键 ", current_sort_key, " 在某些种子数据中不存在") + return false + + # 执行排序 + if current_sort_ascending: + return a["data"][current_sort_key] < b["data"][current_sort_key] + else: + return a["data"][current_sort_key] > b["data"][current_sort_key] + +# 按品质过滤种子 +func _filter_by_quality(quality: String): + current_filter_quality = quality + update_player_bag_ui() + +# 按指定键排序 +func _sort_by(sort_key: String): + # 切换排序方向或设置新排序键 + if current_sort_key == sort_key: + current_sort_ascending = !current_sort_ascending + else: + current_sort_key = sort_key + current_sort_ascending = true + + update_player_bag_ui() + +# 创建作物按钮 +func _create_crop_button(crop_name: String, crop_quality: String) -> Button: + # 根据品质选择相应的进度条 + var button = main_game.item_button.duplicate() + + + # 确保按钮可见并可点击 + button.visible = true + button.disabled = false + button.focus_mode = Control.FOCUS_ALL + # 设置按钮文本 + button.text = str(crop_quality + "-" + crop_name) + + # 添加工具提示 (tooltip) + if main_game.can_planted_crop.has(crop_name): + var crop = main_game.can_planted_crop[crop_name] + + # 将成熟时间从秒转换为天时分秒格式 + var total_seconds = int(crop["生长时间"]) + + # 定义时间单位换算 + var SECONDS_PER_MINUTE = 60 + var SECONDS_PER_HOUR = 3600 + var SECONDS_PER_DAY = 86400 + + # 计算各时间单位 + var days = total_seconds / SECONDS_PER_DAY + total_seconds %= SECONDS_PER_DAY + + var hours = total_seconds / SECONDS_PER_HOUR + total_seconds %= SECONDS_PER_HOUR + + var minutes = total_seconds / SECONDS_PER_MINUTE + var seconds = total_seconds % SECONDS_PER_MINUTE + + # 构建时间字符串(只显示有值的单位) + var time_str = "" + if days > 0: + time_str += str(days) + "天" + if hours > 0: + time_str += str(hours) + "小时" + if minutes > 0: + time_str += str(minutes) + "分钟" + if seconds > 0: + time_str += str(seconds) + "秒" + + button.tooltip_text = str( + "作物: " + crop_name + "\n" + + "品质: " + crop_quality + "\n" + + "价格: " + str(crop["花费"]) + "元\n" + + "成熟时间: " + time_str + "\n" + + "收获收益: " + str(crop["收益"]) + "元\n" + + "需求等级: " + str(crop["等级"]) + "\n" + + "耐候性: " + str(crop["耐候性"]) + "\n" + + "经验: " + str(crop["经验"]) + "点\n" + + "描述: " + str(crop["描述"]) + ) + + # 如果按钮有标题标签,设置标题 + if button.has_node("Title"): + button.get_node("Title").text = crop_quality + match crop_quality: + "普通": + button.get_node("Title").modulate = Color.HONEYDEW#白色 + "优良": + button.get_node("Title").modulate =Color.DODGER_BLUE#深蓝色 + "稀有": + button.get_node("Title").modulate =Color.HOT_PINK#品红色 + "史诗": + button.get_node("Title").modulate =Color.YELLOW#黄色 + "传奇": + button.get_node("Title").modulate =Color.ORANGE_RED#红色 + + # 更新按钮的作物图片 + _update_button_crop_image(button, crop_name) + + return button + +# 从背包中选择种子并种植 +func _on_bag_seed_selected(crop_name): + # 检查是否处于访问模式 + if main_game.is_visiting_mode: + Toast.show("访问模式下无法种植", Color.ORANGE, 2.0, 1.0) + return + + # 检查是否是一键种植模式 + if is_planting_mode: + # 一键种植模式下,回调给一键种植面板 + if one_click_plant_panel and one_click_plant_panel.has_method("on_crop_selected"): + one_click_plant_panel.on_crop_selected(crop_name, planting_type) + # 退出种植模式 + _exit_planting_mode() + self.hide() + return + + # 从主场景获取当前选择的地块索引 + selected_lot_index = main_game.selected_lot_index + + if selected_lot_index != -1: + # 检查背包中是否有这个种子 + var seed_index = -1 + for i in range(len(main_game.player_bag)): + if main_game.player_bag[i]["name"] == crop_name: + seed_index = i + break + + if seed_index != -1 and main_game.player_bag[seed_index]["count"] > 0: + # 种植种子并从背包中减少数量 + _plant_crop_from_bag(selected_lot_index, crop_name, seed_index) + main_game.selected_lot_index = -1 + self.hide() + +# 访问模式下的种子点击处理 +func _on_visit_seed_selected(crop_name, crop_count): + # 显示种子信息 + var info_text = "" + + if main_game.can_planted_crop.has(crop_name): + var crop = main_game.can_planted_crop[crop_name] + var quality = crop.get("品质", "未知") + var price = crop.get("花费", 0) + var grow_time = crop.get("生长时间", 0) + var profit = crop.get("收益", 0) + var level_req = crop.get("等级", 1) + + # 将成熟时间转换为可读格式 + var time_str = "" + var total_seconds = int(grow_time) + var hours = total_seconds / 3600 + var minutes = (total_seconds % 3600) / 60 + var seconds = total_seconds % 60 + + if hours > 0: + time_str += str(hours) + "小时" + if minutes > 0: + time_str += str(minutes) + "分钟" + if seconds > 0: + time_str += str(seconds) + "秒" + + info_text = quality + "-" + crop_name + " (数量: " + str(crop_count) + ")\n" + info_text += "价格: " + str(price) + "元, 收益: " + str(profit) + "元\n" + info_text += "成熟时间: " + time_str + ", 需求等级: " + str(level_req) + else: + info_text = crop_name + " (数量: " + str(crop_count) + ")" + + Toast.show(info_text, Color.CYAN, 3.0, 1.0) + print("查看种子信息: ", info_text) + +# 从背包种植作物 +func _plant_crop_from_bag(index, crop_name, seed_index): + var crop = main_game.can_planted_crop[crop_name] + + # 检查是否有效的种子索引,防止越界访问 + if seed_index < 0 or seed_index >= main_game.player_bag.size(): + #print("错误:无效的种子索引 ", seed_index) + return + # 发送种植请求到服务器 + if network_manager and network_manager.sendPlantCrop(index, crop_name): + # 关闭背包面板 + hide() + +# 设置种植模式 +func set_planting_mode(plant_type: String, plant_panel): + is_planting_mode = true + planting_type = plant_type + one_click_plant_panel = plant_panel + print("进入种植模式:", plant_type) + +# 退出种植模式 +func _exit_planting_mode(): + is_planting_mode = false + planting_type = "" + one_click_plant_panel = null + print("退出种植模式") + + +# 获取作物的成熟图片(用于背包显示) +func _get_crop_final_texture(crop_name: String) -> Texture2D: + # 优先从主游戏的缓存中获取成熟图片 + if main_game and main_game.crop_mature_textures_cache.has(crop_name): + return main_game.crop_mature_textures_cache[crop_name] + + # 如果缓存中没有,再尝试加载"成熟.webp"图片 + var crop_path = "res://assets/作物/" + crop_name + "/" + var mature_texture_path = crop_path + "成熟.webp" + + if ResourceLoader.exists(mature_texture_path): + var texture = load(mature_texture_path) + if texture: + print("背包加载作物成熟图片:", crop_name) + # 如果主游戏存在,也缓存到主游戏中 + if main_game: + main_game.crop_mature_textures_cache[crop_name] = texture + return texture + + # 如果没有找到作物的成熟图片,使用默认的成熟图片 + if main_game and main_game.crop_mature_textures_cache.has("默认"): + var default_texture = main_game.crop_mature_textures_cache["默认"] + # 缓存给这个作物 + main_game.crop_mature_textures_cache[crop_name] = default_texture + return default_texture + + # 最后尝试直接加载默认成熟图片 + var default_mature_path = "res://assets/作物/默认/成熟.webp" + if ResourceLoader.exists(default_mature_path): + var texture = load(default_mature_path) + if texture: + print("背包使用默认成熟图片:", crop_name) + # 缓存到主游戏 + if main_game: + main_game.crop_mature_textures_cache["默认"] = texture + main_game.crop_mature_textures_cache[crop_name] = texture + return texture + + return null + +# 加载作物图片序列帧(复用主游戏的逻辑) +func _load_crop_textures(crop_name: String) -> Array: + if crop_textures_cache.has(crop_name): + return crop_textures_cache[crop_name] + + var textures = [] + var crop_path = "res://assets/作物/" + crop_name + "/" + var default_path = "res://assets/作物/默认/" + + # 检查作物文件夹是否存在 + if DirAccess.dir_exists_absolute(crop_path): + # 尝试加载作物的序列帧(从0开始) + var frame_index = 0 + while true: + var texture_path = crop_path + str(frame_index) + ".webp" + if ResourceLoader.exists(texture_path): + var texture = load(texture_path) + if texture: + textures.append(texture) + frame_index += 1 + else: + break + else: + break + + if textures.size() > 0: + print("背包加载作物 ", crop_name, " 的 ", textures.size(), " 帧图片") + else: + print("背包:作物 ", crop_name, " 文件夹存在但没有找到有效图片,使用默认图片") + textures = _load_default_textures() + else: + print("背包:作物 ", crop_name, " 的文件夹不存在,使用默认图片") + textures = _load_default_textures() + + # 缓存结果 + crop_textures_cache[crop_name] = textures + crop_frame_counts[crop_name] = textures.size() + + return textures + +# 加载默认图片 +func _load_default_textures() -> Array: + if crop_textures_cache.has("默认"): + return crop_textures_cache["默认"] + + var textures = [] + var default_path = "res://assets/作物/默认/" + + # 尝试加载默认图片序列帧 + var frame_index = 0 + while true: + var texture_path = default_path + str(frame_index) + ".webp" + if ResourceLoader.exists(texture_path): + var texture = load(texture_path) + if texture: + textures.append(texture) + frame_index += 1 + else: + break + else: + break + + # 如果没有找到序列帧,尝试加载单个默认图片 + if textures.size() == 0: + var single_texture_path = default_path + ".webp" + if ResourceLoader.exists(single_texture_path): + var texture = load(single_texture_path) + if texture: + textures.append(texture) + + # 缓存默认图片 + crop_textures_cache["默认"] = textures + crop_frame_counts["默认"] = textures.size() + + print("背包加载了 ", textures.size(), " 个默认作物图片") + return textures + +# 更新按钮的作物图片 +func _update_button_crop_image(button: Button, crop_name: String): + # 检查按钮是否有CropImage节点 + var crop_image = button.get_node_or_null("CropImage") + if not crop_image: + print("背包按钮没有找到CropImage节点:", button.name) + return + + # 获取作物的最后一帧图片 + var texture = _get_crop_final_texture(crop_name) + + if texture: + # CropImage是Sprite2D,直接设置texture属性 + crop_image.texture = texture + crop_image.visible = true + print("背包更新作物图片:", crop_name) + else: + crop_image.visible = false + print("背包无法获取作物图片:", crop_name) + +#=========================面板通用处理========================= +#手动刷新种子仓库面板 +func _on_refresh_button_pressed() -> void: + # 刷新种子背包UI + update_player_bag_ui() + Toast.show("种子背包已刷新", Color.GREEN, 2.0, 1.0) + +# 关闭面板 +func _on_quit_button_pressed(): + #打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = false + # 退出种植模式(如果当前在种植模式下) + if is_planting_mode: + _exit_planting_mode() + self.hide() +#=========================面板通用处理========================= diff --git a/GUI/PlayerBagPanel.gd.uid b/GUI/PlayerBagPanel.gd.uid new file mode 100644 index 0000000..7208216 --- /dev/null +++ b/GUI/PlayerBagPanel.gd.uid @@ -0,0 +1 @@ +uid://cgr332wsx63a8 diff --git a/GUI/PlayerRankingItem.tscn b/GUI/PlayerRankingItem.tscn new file mode 100644 index 0000000..db6c9b6 --- /dev/null +++ b/GUI/PlayerRankingItem.tscn @@ -0,0 +1,87 @@ +[gd_scene load_steps=3 format=3 uid="uid://crd28qnymob7"] + +[ext_resource type="Texture2D" uid="uid://dsln1w1aqgf1k" path="res://assets/游戏UI/玩家默认头像.webp" id="1_sgoxp"] +[ext_resource type="Script" uid="uid://0d2j5m6j2ema" path="res://Components/HTTPTextureRect.gd" id="2_ky0k8"] + +[node name="player_ranking_item" type="VBoxContainer"] +offset_right = 1152.0 +offset_bottom = 82.0 + +[node name="HBox" type="HBoxContainer" parent="."] +layout_mode = 2 + +[node name="SerialNumber" type="Label" parent="HBox"] +visible = false +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "1." + +[node name="PlayerAvatar" type="TextureRect" parent="HBox"] +layout_mode = 2 +texture = ExtResource("1_sgoxp") +expand_mode = 3 +script = ExtResource("2_ky0k8") +metadata/_custom_type_script = "uid://0d2j5m6j2ema" + +[node name="PlayerName" type="Label" parent="HBox"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +text = "树萌芽" + +[node name="PlayerMoney" type="Label" parent="HBox"] +modulate = Color(1, 1, 0, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +text = "钱币:999" + +[node name="SeedNum" type="Label" parent="HBox"] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +text = "种子数:999" + +[node name="PlayerLevel" type="Label" parent="HBox"] +modulate = Color(0, 1, 1, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +text = "等级:999" + +[node name="VisitButton" type="Button" parent="HBox"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +text = "访问" + +[node name="HBox2" type="HBoxContainer" parent="."] +layout_mode = 2 + +[node name="LastLoginTime" type="Label" parent="HBox2"] +modulate = Color(0.811765, 1, 0.811765, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +text = "最后在线:2025年12时09分35秒" + +[node name="OnlineTime" type="Label" parent="HBox2"] +modulate = Color(0.784314, 0.733333, 0.521569, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +text = "累计在线时长:99时60分60秒" + +[node name="IsOnlineTime" type="Label" parent="HBox2"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +text = "正在检测中..." + +[node name="LikeNum" type="Label" parent="HBox2"] +modulate = Color(1, 0.611765, 1, 1) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +text = "点赞数:999" diff --git a/GUI/PlayerRankingPanel.gd b/GUI/PlayerRankingPanel.gd new file mode 100644 index 0000000..e7bd6cf --- /dev/null +++ b/GUI/PlayerRankingPanel.gd @@ -0,0 +1,314 @@ +extends Panel + +@onready var player_ranking_list : VBoxContainer = $Scroll/PlayerList +@onready var refresh_button : Button = $RefreshButton #刷新玩家排行榜面板按钮 +@onready var quit_button : Button = $QuitButton #关闭面板按钮 +@onready var search_button: Button = $SearchButton #搜索玩家按钮 +@onready var register_player_num: Label = $RegisterPlayerNum #显示注册总人数 + +#搜索玩家输入框,通过输入QQ号来查询 +@onready var search_line_edit: LineEdit = $SearchLineEdit + +#排序筛选玩家面板按钮,默认按从大到小排序 +#排序元素:种子数,等级,在线时长,最后登录时长,点赞数 +#筛选元素:是否在线 筛选出在线玩家 +@onready var seed_sort_btn: Button = $FiterAndSortHBox/SeedSortBtn +@onready var level_sort_btn: Button = $FiterAndSortHBox/LevelSortBtn +@onready var online_time_sort_btn: Button = $FiterAndSortHBox/OnlineTimeSortBtn +@onready var login_time_sort_btn: Button = $FiterAndSortHBox/LoginTimeSortBtn +@onready var like_num_sort_btn: Button = $FiterAndSortHBox/LikeNumSortBtn +@onready var money_sort_btn: Button = $FiterAndSortHBox/MoneySortBtn +@onready var is_online_sort_btn: Button = $FiterAndSortHBox/IsOnlineSortBtn + + +#预添加常用的面板 +@onready var main_game = get_node("/root/main") +@onready var land_panel = get_node("/root/main/UI/LandPanel") +@onready var crop_store_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var player_ranking_panel = get_node("/root/main/UI/PlayerRankingPanel") +@onready var player_bag_panel = get_node("/root/main/UI/PlayerBagPanel") +@onready var network_manager = get_node("/root/main/UI/TCPNetworkManager") + +# 排序状态管理 +var current_sort_by = "level" # 当前排序字段 +var current_sort_order = "desc" # 当前排序顺序 +var filter_online_only = false # 是否只显示在线玩家 +var current_search_qq = "" # 当前搜索的QQ号 + +#下面这是每个玩家要展示的信息,直接获取服务器玩家数据json文件来实现 +#模板用于复制创建新的玩家条目 +@onready var player_info_template : VBoxContainer = $Scroll/PlayerList/player_ranking_item + +func _ready() -> void: + # 隐藏模板 + player_info_template.visible = false + + # 连接按钮信号 + refresh_button.pressed.connect(_on_refresh_button_pressed) + quit_button.pressed.connect(_on_quit_button_pressed) + search_button.pressed.connect(_on_search_button_pressed) + + # 连接排序按钮信号 + seed_sort_btn.pressed.connect(func(): _on_sort_button_pressed("seed_count")) + level_sort_btn.pressed.connect(func(): _on_sort_button_pressed("level")) + online_time_sort_btn.pressed.connect(func(): _on_sort_button_pressed("online_time")) + login_time_sort_btn.pressed.connect(func(): _on_sort_button_pressed("login_time")) + like_num_sort_btn.pressed.connect(func(): _on_sort_button_pressed("like_num")) + money_sort_btn.pressed.connect(func(): _on_sort_button_pressed("money")) + is_online_sort_btn.pressed.connect(_on_online_filter_pressed) + + # 初始化按钮状态 + _update_button_states() + +# 排序按钮点击处理 +func _on_sort_button_pressed(sort_field: String): + # 如果点击的是当前排序字段,切换排序顺序 + if current_sort_by == sort_field: + current_sort_order = "asc" if current_sort_order == "desc" else "desc" + else: + # 切换到新的排序字段,默认降序 + current_sort_by = sort_field + current_sort_order = "desc" + + # 更新按钮状态 + _update_button_states() + + # 重新请求排行榜 + request_player_rankings() + +# 在线筛选按钮点击处理 +func _on_online_filter_pressed(): + filter_online_only = !filter_online_only + _update_button_states() + request_player_rankings() + +# 更新按钮状态显示 +func _update_button_states(): + # 重置所有排序按钮 + var sort_buttons = [seed_sort_btn, level_sort_btn, online_time_sort_btn, login_time_sort_btn, like_num_sort_btn, money_sort_btn] + var sort_fields = ["seed_count", "level", "online_time", "login_time", "like_num", "money"] + var sort_names = ["种子数", "等级", "游玩时间", "登录时间", "点赞数", "金币数"] + + for i in range(sort_buttons.size()): + var btn = sort_buttons[i] + var field = sort_fields[i] + var name = sort_names[i] + + if current_sort_by == field: + # 当前排序字段,显示排序方向 + var arrow = "↓" if current_sort_order == "desc" else "↑" + btn.text = name + arrow + btn.modulate = Color.YELLOW + else: + # 非当前排序字段 + btn.text = name + btn.modulate = Color.WHITE + + # 更新在线筛选按钮 + if filter_online_only: + is_online_sort_btn.text = "仅在线✓" + is_online_sort_btn.modulate = Color.GREEN + else: + is_online_sort_btn.text = "全部玩家" + is_online_sort_btn.modulate = Color.WHITE + +# 请求玩家排行榜数据 +func request_player_rankings(): + if not network_manager: + register_player_num.text = "网络管理器不可用" + register_player_num.modulate = Color.RED + return false + + if not network_manager.is_connected_to_server(): + register_player_num.text = "未连接服务器" + register_player_num.modulate = Color.RED + return false + + var success = network_manager.sendGetPlayerRankings(current_sort_by, current_sort_order, filter_online_only, current_search_qq) + if not success: + register_player_num.text = "请求发送失败" + register_player_num.modulate = Color.RED + return false + + return true + +# 处理玩家排行榜响应 +func handle_player_rankings_response(data): + # 重新启用刷新按钮 + refresh_button.disabled = false + refresh_button.text = "刷新" + + # 检查响应是否成功 + if not data.get("success", false): + register_player_num.text = "获取注册人数失败" + register_player_num.modulate = Color.RED + Toast.show("获取排行榜失败:" + data.get("message", "未知错误"), Color.RED) + return + + # 显示注册总人数和在线人数 + var total_registered = data.get("total_registered_players", 0) + var players_list = data.get("players", []) + var online_count = 0 + for player in players_list: + if player.get("is_online", false): + online_count += 1 + + # 显示搜索和筛选信息 + var info_text = "总人数:" + str(int(total_registered)) + "| 在线:" + str(online_count) + if current_search_qq != "": + info_text += "| 搜索:" + current_search_qq + if filter_online_only: + info_text += "| 仅在线" + + register_player_num.text = info_text + register_player_num.modulate = Color.CYAN + + # 清除现有的玩家条目(除了模板) + for child in player_ranking_list.get_children(): + if child != player_info_template: + child.queue_free() + + # 添加玩家条目 + var players = players_list + for player_data in players: + add_player_entry(player_data) + + print("排行榜数据已更新,显示", players.size(), "个玩家,注册总人数:", total_registered) + + var result_text = "排行榜已刷新!显示 " + str(players.size()) + " 个玩家" + if current_search_qq != "": + result_text += "(搜索:" + current_search_qq + ")" + if filter_online_only: + result_text += "(仅在线)" + + Toast.show(result_text, Color.GREEN) + +# 添加单个玩家条目 +func add_player_entry(player_data): + # 复制模板 + var player_entry = player_info_template.duplicate() + player_entry.visible = true + player_ranking_list.add_child(player_entry) + + # 设置玩家信息 + + var player_name = player_entry.get_node("HBox/PlayerName") + var player_level = player_entry.get_node("HBox/PlayerLevel") + var player_money = player_entry.get_node("HBox/PlayerMoney") + var player_seed_num = player_entry.get_node("HBox/SeedNum") + var player_online_time = player_entry.get_node("HBox2/OnlineTime") + var player_last_login_time = player_entry.get_node("HBox2/LastLoginTime") + var player_avatar = player_entry.get_node("HBox/PlayerAvatar") + var visit_button = player_entry.get_node("HBox/VisitButton") + var player_is_online_time = player_entry.get_node("HBox2/IsOnlineTime") + var player_like_num = player_entry.get_node("HBox2/LikeNum") + + # 填充数据 + var username = player_data.get("user_name", "未知") + var display_name = player_data.get("player_name", username) + player_name.text = display_name + #都是整数,不要乱用浮点数 + player_level.text = "等级: " + str(int(player_data.get("level", 0))) + player_money.text = "金币: " + str(int(player_data.get("money", 0))) + player_seed_num.text = "种子: " + str(int(player_data.get("seed_count", 0))) + player_online_time.text = "游玩时间: " + player_data.get("total_login_time", "0时0分0秒") + player_last_login_time.text = "最后登录: " + player_data.get("last_login_time", "未知") + + # 设置在线状态显示 + var is_online = player_data.get("is_online", false) + if is_online: + player_is_online_time.text = "🟢 在线" + player_is_online_time.modulate = Color.GREEN + else: + player_is_online_time.text = "🔴 离线" + player_is_online_time.modulate = Color.GRAY + + # 设置点赞数显示 + player_like_num.text = "点赞: " + str(int(player_data.get("like_num", 0))) + + # 尝试加载玩家头像(使用用户名/QQ号加载头像,而不是显示名) + if username.is_valid_int(): + player_avatar.load_from_url("http://q1.qlogo.cn/g?b=qq&nk=" + username + "&s=100") + + # 设置访问按钮 + visit_button.pressed.connect(func(): _on_visit_player_pressed(username)) + +# 访问玩家按钮点击 +func _on_visit_player_pressed(username): + #访问玩家后取消禁用相机功能,否则无法恢复 + GlobalVariables.isZoomDisabled = false + + + # 检查网络连接 + if not network_manager or not network_manager.is_connected_to_server(): + Toast.show("未连接服务器,无法访问玩家", Color.RED) + return + + # 检查是否尝试访问自己 + if main_game and main_game.user_name == username: + Toast.show("不能访问自己的农场", Color.ORANGE) + return + + # 发送访问玩家请求 + if network_manager and network_manager.has_method("sendVisitPlayer"): + var success = network_manager.sendVisitPlayer(username) + if success: + Toast.show("正在访问 " + username + " 的农场...", Color.YELLOW) + else: + Toast.show("发送访问请求失败", Color.RED) + else: + Toast.show("网络管理器不可用", Color.RED) + +# 刷新按钮点击 +func _on_refresh_button_pressed(): + # 检查网络连接 + if not network_manager or not network_manager.is_connected_to_server(): + register_player_num.text = "未连接服务器,无法刷新" + register_player_num.modulate = Color.RED + Toast.show("未连接服务器,无法刷新排行榜", Color.RED) + return + + # 显示加载状态 + register_player_num.text = "正在刷新排行榜..." + register_player_num.modulate = Color.YELLOW + refresh_button.disabled = true + refresh_button.text = "刷新中..." + + # 请求排行榜数据 + request_player_rankings() + + # 5秒后重新启用按钮(防止卡住) + await get_tree().create_timer(5.0).timeout + if refresh_button.disabled: + refresh_button.disabled = false + refresh_button.text = "刷新" + if register_player_num.text == "正在刷新排行榜...": + register_player_num.text = "刷新超时,请重试" + register_player_num.modulate = Color.RED + +# 退出按钮点击 +func _on_quit_button_pressed(): + #打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = false + + self.hide() + +#搜索按钮点击 - 通过QQ号查询玩家 +func _on_search_button_pressed(): + var search_text = search_line_edit.text.strip_edges() + + # 如果搜索框为空,清除搜索条件 + if search_text == "": + current_search_qq = "" + Toast.show("已清除搜索条件", Color.YELLOW) + else: + # 验证输入是否为数字(QQ号) + if not search_text.is_valid_int(): + Toast.show("请输入有效的QQ号(纯数字)", Color.RED) + return + + current_search_qq = search_text + Toast.show("搜索QQ号:" + search_text, Color.YELLOW) + + # 重新请求排行榜 + request_player_rankings() diff --git a/GUI/PlayerRankingPanel.gd.uid b/GUI/PlayerRankingPanel.gd.uid new file mode 100644 index 0000000..2b4de47 --- /dev/null +++ b/GUI/PlayerRankingPanel.gd.uid @@ -0,0 +1 @@ +uid://fk4q3x6uqydd diff --git a/GUI/loginPanel.tscn b/GUI/loginPanel.tscn new file mode 100644 index 0000000..a9f81da --- /dev/null +++ b/GUI/loginPanel.tscn @@ -0,0 +1,190 @@ +[gd_scene load_steps=2 format=3 uid="uid://cbhitturvihqj"] + +[ext_resource type="Script" uid="uid://cka0r4g8tbf0" path="res://GUI/LoginPanel.gd" id="1_xnwaq"] + +[node name="LoginPanel" type="PanelContainer"] +offset_left = 449.0 +offset_top = 77.0 +offset_right = 952.0 +offset_bottom = 550.0 +script = ExtResource("1_xnwaq") + +[node name="VBox" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="Title" type="Label" parent="VBox"] +modulate = Color(1, 1, 0.537255, 1) +layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 5 +theme_override_constants/shadow_offset_y = 5 +theme_override_constants/outline_size = 15 +theme_override_constants/shadow_outline_size = 15 +theme_override_font_sizes/font_size = 30 +text = "登录/注册面板" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="UserName" type="HBoxContainer" parent="VBox"] +layout_mode = 2 + +[node name="Label" type="Label" parent="VBox/UserName"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "账号" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="username_input" type="LineEdit" parent="VBox/UserName"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +placeholder_text = "请输入QQ号" +metadata/_edit_use_anchors_ = true + +[node name="Password1" type="HBoxContainer" parent="VBox"] +layout_mode = 2 + +[node name="Label2" type="Label" parent="VBox/Password1"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "密码" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="password_input" type="LineEdit" parent="VBox/Password1"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +placeholder_text = "请输入密码" + +[node name="Password2" type="HBoxContainer" parent="VBox"] +visible = false +layout_mode = 2 + +[node name="Label2" type="Label" parent="VBox/Password2"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "确认密码" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="password_input2" type="LineEdit" parent="VBox/Password2"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +placeholder_text = "请再次输入密码" + +[node name="VerificationCode" type="HBoxContainer" parent="VBox"] +visible = false +layout_mode = 2 + +[node name="Label" type="Label" parent="VBox/VerificationCode"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "验证码" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="verificationcode_input" type="LineEdit" parent="VBox/VerificationCode"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +placeholder_text = "请输入您的QQ邮箱收到的验证码" +metadata/_edit_use_anchors_ = true + +[node name="SendButton" type="Button" parent="VBox/VerificationCode"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "发送验证码" + +[node name="PlayerName" type="HBoxContainer" parent="VBox"] +visible = false +layout_mode = 2 + +[node name="Label2" type="Label" parent="VBox/PlayerName"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "玩家昵称" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="playername_input" type="LineEdit" parent="VBox/PlayerName"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +placeholder_text = "请输入您的玩家昵称" + +[node name="FarmName" type="HBoxContainer" parent="VBox"] +visible = false +layout_mode = 2 + +[node name="Label" type="Label" parent="VBox/FarmName"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "农场名称" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="farmname_input" type="LineEdit" parent="VBox/FarmName"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +placeholder_text = "请输入您的农场名称" +metadata/_edit_use_anchors_ = true + +[node name="LoginRegister" type="HBoxContainer" parent="VBox"] +layout_mode = 2 + +[node name="login_button" type="Button" parent="VBox/LoginRegister"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +text = "登录" + +[node name="register_button" type="Button" parent="VBox/LoginRegister"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +text = "注册" + +[node name="Password3" type="HBoxContainer" parent="VBox"] +visible = false +layout_mode = 2 + +[node name="login_button" type="Button" parent="VBox/Password3"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +text = "发送验证码" + +[node name="Label2" type="Label" parent="VBox/Password3"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "找回密码" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="password_input2" type="LineEdit" parent="VBox/Password3"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 20 +placeholder_text = "请输入QQ邮箱验证码" + +[node name="Note" type="Label" parent="VBox"] +modulate = Color(1, 0.552941, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "注意:首次游玩游戏需要注册账号, +账号请直接输入您的QQ号,系统会直接向您的QQ +邮箱发送一串验证码进行注册验证,密码请设置的复杂一 +点,以免被暴力破解(" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="status_label" type="Label" parent="VBox"] +layout_mode = 2 +theme_override_font_sizes/font_size = 20 +text = "连接状态" +horizontal_alignment = 1 diff --git a/GameCamera2D.gd b/GameCamera2D.gd new file mode 100644 index 0000000..46a1825 --- /dev/null +++ b/GameCamera2D.gd @@ -0,0 +1,142 @@ +extends Camera2D + +# 相机移动速度 +@export var move_speed: float = 400.0 # 每秒移动的像素数 +@export var zoom_speed: float = 0.02 # 缩放速度 +@export var min_zoom: float = 0.7 # 最小缩放值 +@export var max_zoom: float = 1.2 # 最大缩放值 + +# 移动端触摸设置 +@export var touch_sensitivity: float = 1.0 # 触摸灵敏度 +@export var enable_touch_zoom: bool = true # 是否启用双指缩放 + +# 移动边界(可选) +@export var bounds_enabled: bool = false +@export var bounds_min: Vector2 = Vector2(-1000, -1000) +@export var bounds_max: Vector2 = Vector2(1000, 1000) + +@export var current_zoom_level: float = 1.0 + +# 触摸相关变量 +var is_dragging: bool = false +var last_touch_position: Vector2 +var touch_points: Dictionary = {} # 存储多点触摸信息 +var initial_zoom_distance: float = 0.0 + +func _ready(): + # 初始化相机 + zoom = Vector2(current_zoom_level, current_zoom_level) + + + +func _process(delta): + #其他地方可通过这个方法来禁用相机功能 + if GlobalVariables.isZoomDisabled == true: + return + + # 处理相机移动 + var input_dir = Vector2.ZERO + + # WASD 键移动 + if Input.is_action_pressed("ui_up") or Input.is_key_pressed(KEY_W): + input_dir.y -= 1 + if Input.is_action_pressed("ui_down") or Input.is_key_pressed(KEY_S): + input_dir.y += 1 + if Input.is_action_pressed("ui_left") or Input.is_key_pressed(KEY_A): + input_dir.x -= 1 + if Input.is_action_pressed("ui_right") or Input.is_key_pressed(KEY_D): + input_dir.x += 1 + + # 归一化移动向量,确保对角线移动不会更快 + if input_dir.length() > 0: + input_dir = input_dir.normalized() + + # 相机移动 + position += input_dir * move_speed * delta / current_zoom_level + + # 如果启用了边界限制,确保相机在边界内 + if bounds_enabled: + position.x = clamp(position.x, bounds_min.x, bounds_max.x) + position.y = clamp(position.y, bounds_min.y, bounds_max.y) + + # 处理相机缩放KEY_EQUAL + if Input.is_key_pressed(KEY_EQUAL) or Input.is_key_pressed(KEY_KP_ADD): # + 键放大 + zoom_camera(-zoom_speed) + if Input.is_key_pressed(KEY_MINUS) or Input.is_key_pressed(KEY_KP_SUBTRACT): # - 键缩小 + zoom_camera(zoom_speed) + +# 处理输入事件(包括触摸和鼠标) +func _input(event): + + #其他地方可通过这个方法来禁用相机功能 + if GlobalVariables.isZoomDisabled == true: + return + + # 鼠标滚轮缩放 + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_WHEEL_DOWN: + zoom_camera(-zoom_speed) + elif event.button_index == MOUSE_BUTTON_WHEEL_UP: + zoom_camera(zoom_speed) + + # 触摸开始 + elif event is InputEventScreenTouch: + if event.pressed: + # 记录触摸点 + touch_points[event.index] = event.position + + if len(touch_points) == 1: + # 单指触摸,开始拖动 + is_dragging = true + last_touch_position = event.position + elif len(touch_points) == 2 and enable_touch_zoom: + # 双指触摸,准备缩放 + is_dragging = false + var touches = touch_points.values() + initial_zoom_distance = touches[0].distance_to(touches[1]) + else: + # 触摸结束 + if touch_points.has(event.index): + touch_points.erase(event.index) + + if len(touch_points) == 0: + is_dragging = false + elif len(touch_points) == 1: + # 从双指回到单指,重新开始拖动 + is_dragging = true + last_touch_position = touch_points.values()[0] + + # 触摸拖动 + elif event is InputEventScreenDrag: + if touch_points.has(event.index): + touch_points[event.index] = event.position + + if len(touch_points) == 1 and is_dragging: + # 单指拖动,移动相机 + var drag_delta = last_touch_position - event.position + # 根据当前缩放级别调整移动距离 + position += drag_delta * touch_sensitivity / current_zoom_level + + # 应用边界限制 + if bounds_enabled: + position.x = clamp(position.x, bounds_min.x, bounds_max.x) + position.y = clamp(position.y, bounds_min.y, bounds_max.y) + + last_touch_position = event.position + + elif len(touch_points) == 2 and enable_touch_zoom: + # 双指缩放 + var touches = touch_points.values() + var current_distance = touches[0].distance_to(touches[1]) + + if initial_zoom_distance > 0: + var zoom_factor = current_distance / initial_zoom_distance + var zoom_change = (zoom_factor - 1.0) * zoom_speed * 10 + zoom_camera(zoom_change) + + initial_zoom_distance = current_distance + +# 缩放相机 +func zoom_camera(zoom_amount): + current_zoom_level = clamp(current_zoom_level + zoom_amount, min_zoom, max_zoom) + zoom = Vector2(current_zoom_level, current_zoom_level) diff --git a/GameCamera2D.gd.uid b/GameCamera2D.gd.uid new file mode 100644 index 0000000..bb9ca5b --- /dev/null +++ b/GameCamera2D.gd.uid @@ -0,0 +1 @@ +uid://c7bxje0wvvgo4 diff --git a/GlobalScript/GlobalVariables.gd b/GlobalScript/GlobalVariables.gd index 21bcf31..a4a856d 100644 --- a/GlobalScript/GlobalVariables.gd +++ b/GlobalScript/GlobalVariables.gd @@ -1,3 +1,5 @@ extends Node -const client_version :String = "1.0.3" #记录客户端版本 \ No newline at end of file +const client_version :String = "1.0.5" #记录客户端版本 + +var isZoomDisabled :bool = false diff --git a/MainGame.gd b/MainGame.gd index 9ad36e9..93a4f01 100644 --- a/MainGame.gd +++ b/MainGame.gd @@ -8,10 +8,9 @@ extends Node @onready var show_money : Label = $UI/GUI/GameInfoHBox1/money # 显示当前剩余的钱 @onready var show_experience : Label = $UI/GUI/GameInfoHBox1/experience # 显示当前玩家的经验 @onready var show_level : Label = $UI/GUI/GameInfoHBox1/level # 显示当前玩家的等级 -@onready var show_tip : Label = $UI/GUI/GameInfoHBox1/tip # 显示小提示 +@onready var show_tip : Label = $UI/GUI/GameInfoHBox3/tip # 显示小提示 @onready var show_like: Label = $UI/GUI/GameInfoHBox1/like # 显示别人给自己点赞的总赞数 @onready var show_onlineplayer: Label = $UI/GUI/GameInfoHBox2/onlineplayer # 显示服务器在线人数 - @onready var show_player_name : Label = $UI/GUI/GameInfoHBox2/player_name # 显示玩家昵称 @onready var show_farm_name : Label = $UI/GUI/GameInfoHBox2/farm_name # 显示农场名称 @onready var show_status_label : Label = $UI/GUI/GameInfoHBox2/StatusLabel # 显示与服务器连接状态 @@ -27,9 +26,9 @@ extends Node #和农场操作相关的按钮 @onready var one_click_harvestbutton: Button = $UI/GUI/FarmVBox/OneClickHarvestButton #一键收获 @onready var one_click_plant_button: Button = $UI/GUI/FarmVBox/OneClickPlantButton #一键种植面板 -@onready var player_bag_button: Button = $UI/GUI/FarmVBox/PlayerBagButton #打开玩家背包 +@onready var player_bag_button: Button = $UI/GUI/FarmVBox/SeedWarehouseButton #打开玩家背包 @onready var add_new_ground_button: Button = $UI/GUI/FarmVBox/AddNewGroundButton #购买新地块 -@onready var open_store_button: Button = $UI/GUI/FarmVBox/OpenStoreButton #打开种子商店 +@onready var open_store_button: Button = $UI/GUI/FarmVBox/SeedStoreButton #打开种子商店 #其他一些按钮(暂未分类) @onready var setting_button: Button = $UI/GUI/OtherVBox/SettingButton #打开设置面板 @@ -39,38 +38,45 @@ extends Node @onready var scare_crow_button: Button = $UI/GUI/OtherVBox/ScareCrowButton #打开稻草人面板按钮 @onready var my_pet_button: Button = $UI/GUI/OtherVBox/MyPetButton #打开宠物面板按钮 @onready var return_main_menu_button: Button = $UI/GUI/OtherVBox/ReturnMainMenuButton #返回主菜单按钮 -@onready var new_player_gift_button: Button = $UI/GUI/OtherVBox/NewPlayerGiftButton #领取新手大礼包按钮 +@onready var new_player_gift_button: Button = $UI/GUI/OtherVBox/NewPlayerGiftButton #领取新手大礼包按钮 +@onready var account_setting_button: Button = $UI/GUI/OtherVBox/AccountSettingButton #账户设置按钮 @onready var crop_grid_container : GridContainer = $UI/CropStorePanel/ScrollContainer/Crop_Grid #种子商店格子 @onready var player_bag_grid_container : GridContainer = $UI/PlayerBagPanel/ScrollContainer/Bag_Grid #玩家背包格子 #作物品质按钮 -@onready var green_bar : Button = $CopyNodes/GreenCrop #普通 -@onready var white_blue_bar : Button = $CopyNodes/WhiteBlueCrop #稀有 -@onready var orange_bar : Button = $CopyNodes/OrangeCrop #优良 -@onready var pink_bar : Button = $CopyNodes/PinkCrop #史诗 -@onready var black_blue_bar : Button = $CopyNodes/BlackBlueCrop #传奇 -@onready var red_bar : Button = $CopyNodes/RedCrop #神圣 + +@onready var item_button :Button = $CopyNodes/item_button #通用面板按钮 #各种面板 @onready var land_panel : Panel = $UI/LandPanel #地块面板 @onready var login_panel : PanelContainer = $UI/LoginPanel #登录注册面板 @onready var crop_store_panel : Panel = $UI/CropStorePanel #种子商店面板 @onready var player_bag_panel : Panel = $UI/PlayerBagPanel #玩家背包面板 +@onready var crop_warehouse_panel : Panel = $UI/CropWarehousePanel #作物仓库面板 +@onready var item_bag_panel : Panel = $UI/ItemBagPanel #道具背包面板 +@onready var item_store_panel : Panel = $UI/ItemStorePanel #道具商店面板 @onready var network_manager : Panel = $UI/TCPNetworkManager #网络管理器 @onready var player_ranking_panel : Panel = $UI/PlayerRankingPanel #玩家排行榜面板 @onready var daily_check_in_panel: DailyCheckInPanel = $UI/DailyCheckInPanel #每日签到面板 @onready var lucky_draw_panel: LuckyDrawPanel = $UI/LuckyDrawPanel #幸运抽签面板 @onready var one_click_plant_panel: Panel = $UI/OneClickPlantPanel #一键种植面板 +@onready var online_gift_panel: Panel = $UI/OnlineGiftPanel #在线礼包面板 +@onready var account_setting_panel: Panel = $UI/AccountSettingPanel #账户设置面板 + +#加载缓存资源显示面板 +@onready var load_progress_panel: Panel = $UI/LoadProgressPanel #加载资源面板默认为显示状态,加载完后隐藏 +@onready var load_progress_bar: ProgressBar = $UI/LoadProgressPanel/LoadProgressBar #显示加载进度进度条 + @onready var game_info_h_box_1: HBoxContainer = $UI/GUI/GameInfoHBox1 @onready var game_info_h_box_2: HBoxContainer = $UI/GUI/GameInfoHBox2 +@onready var game_info_h_box_3: HBoxContainer = $UI/GUI/GameInfoHBox3 @onready var farm_v_box: VBoxContainer = $UI/GUI/FarmVBox @onready var visit_v_box: VBoxContainer = $UI/GUI/VisitVBox @onready var other_v_box: VBoxContainer = $UI/GUI/OtherVBox - @onready var accept_dialog: AcceptDialog = $UI/AcceptDialog var money: int = 500 # 默认每个人初始为100元 @@ -87,12 +93,17 @@ var user_password : String = "" var login_data : Dictionary = {} var data : Dictionary = {} var buttons : Array = [] -# 使用 _process 计时器实现作物生长机制 -var update_timer: float = 0.0 -var update_interval: float = 1.0 + var start_game : bool = false # 玩家背包数据 var player_bag : Array = [] +# 作物仓库数据 +var crop_warehouse : Array = [] +# 道具背包数据 +var item_bag : Array = [] +# 道具选择状态 +var selected_item_name : String = "" +var is_item_selected : bool = false #农作物种类JSON var can_planted_crop : Dictionary = {} # 新手大礼包领取状态 @@ -111,6 +122,7 @@ var visited_player_data : Dictionary = {} # 被访问玩家的数据 # 作物图片缓存 var crop_textures_cache : Dictionary = {} # 缓存已加载的作物图片 var crop_frame_counts : Dictionary = {} # 记录每种作物的帧数 +var crop_mature_textures_cache : Dictionary = {} # 缓存已加载的作物成熟图片 # FPS显示相关变量 var fps_timer: float = 0.0 # FPS更新计时器 @@ -120,13 +132,22 @@ var current_fps: float = 0.0 # 当前FPS值 var client_version :String = GlobalVariables.client_version #记录客户端版本 +var five_timer = 0.0 +var five_interval = 5.0 +var one_timer: float = 0.0 +var one_interval: float = 1.0 # 准备阶段 func _ready(): + # 显示加载进度面板,隐藏其他所有UI + load_progress_panel.show() + load_progress_bar.value = 0 + #未登录时隐藏所有UI game_info_h_box_1.hide() game_info_h_box_2.hide() + game_info_h_box_3.hide() farm_v_box.hide() visit_v_box.hide() other_v_box.hide() @@ -134,29 +155,35 @@ func _ready(): # 隐藏面板 crop_store_panel.hide() player_bag_panel.hide() + crop_warehouse_panel.hide() + item_bag_panel.hide() + item_store_panel.hide() lucky_draw_panel.hide() daily_check_in_panel.hide() player_ranking_panel.hide() one_click_plant_panel.hide() + account_setting_panel.hide() accept_dialog.hide() - print("萌芽农场客户端 v" + client_version + " 启动") _update_ui() _create_farm_buttons() # 创建地块按钮 _update_farm_lots_state() # 初始更新地块状态 - # 预加载默认作物图片 - _preload_common_crop_textures() - # 先尝试加载本地数据进行快速初始化 _load_local_crop_data() # 初始化玩家背包UI player_bag_panel.init_player_bag() + # 初始化作物仓库UI + crop_warehouse_panel.init_crop_warehouse() + # 初始化道具背包UI + item_bag_panel.init_item_bag() # 初始化商店 crop_store_panel.init_store() + # 初始化道具商店UI + item_store_panel.init_item_store() # 连接AcceptDialog的确认信号 accept_dialog.confirmed.connect(_on_accept_dialog_confirmed) @@ -164,6 +191,9 @@ func _ready(): # 启动在线人数更新定时器 _start_online_players_timer() + # 预加载所有作物图片(带进度显示) + await _preload_all_crop_textures() + # 启动后稍等片刻尝试从服务器获取最新数据 await get_tree().create_timer(0.5).timeout _try_load_from_server() @@ -207,9 +237,11 @@ func _process(delta: float) -> void: func _physics_process(delta): #1秒计时器 - update_timer += delta - if update_timer >= update_interval: - update_timer = 0.0 # 重置计时器 + one_timer += delta + if one_timer >= one_interval: + one_timer = 0.0 # 重置计时器 + + #同步网络管理器的状态 show_status_label.text = "服务器状态:"+network_status_label.text @@ -227,15 +259,39 @@ func _physics_process(delta): else: game_info_h_box_1.show() game_info_h_box_2.show() + game_info_h_box_3.show() farm_v_box.show() visit_v_box.hide() other_v_box.show() pass pass + #5秒计时器 + five_timer += delta + if five_timer >= five_interval: + five_timer = 0.0 # 重置计时器 + show_tip.text = _random_small_game_tips() - - +#随机游戏提示 +func _random_small_game_tips() -> String: + const game_tips = [ + "按住wsad可以移动游戏画面", + "使用鼠标滚轮来缩放游戏画面", + "移动端双指缩放游戏画面", + "不要一上来就花光你的初始资金", + "钱币是目前游戏唯一货币", + "每隔一小时体力值+1", + "不要忘记领取你的新手礼包!", + "记得使用一键截图来分享你的农场", + "新注册用户可享受三天10倍速作物生长", + "偷别人菜时不要忘了给别人浇水哦", + "你能分得清小麦和稻谷吗", + "凌晨刷新体力值", + "面板左上角有刷新按钮,可以刷新面板", + ] + var random_index = randi() % game_tips.size() + var selected_tip = game_tips[random_index] + return selected_tip # 处理服务器作物更新消息 @@ -257,10 +313,42 @@ func _handle_crop_update(update_data): # 更新UI显示 _update_farm_lots_state() +# 修复背包数据,确保所有物品都有quality字段 +func _fix_player_bag_data(): + """修复背包数据,为缺少quality字段的物品添加默认质量""" + if not player_bag: + return + + print("检查并修复背包数据...") + var fixed_count = 0 + + for i in range(player_bag.size()): + var item = player_bag[i] + + # 如果物品缺少quality字段,尝试从作物数据中获取或设置默认值 + if not item.has("quality"): + var item_name = item.get("name", "") + var quality = "普通" # 默认质量 + + # 尝试从作物数据中获取质量 + if can_planted_crop.has(item_name): + quality = can_planted_crop[item_name].get("品质", "普通") + + item["quality"] = quality + fixed_count += 1 + print("修复背包物品 [", item_name, "] 的质量字段为:", quality) + + if fixed_count > 0: + print("背包数据修复完成,共修复 ", fixed_count, " 个物品") + else: + print("背包数据检查完成,无需修复") + # 处理登录成功 func handle_login_success(player_data: Dictionary): """处理登录成功后的逻辑""" - print("登录成功,正在初始化游戏数据...") + + # 修复背包数据兼容性问题 + _fix_player_bag_data() # 更新新手大礼包状态 new_player_gift_claimed = player_data.get("new_player_gift_claimed", false) @@ -323,6 +411,8 @@ func _handle_visit_player_response(data): stamina = target_player_data.get("体力值", 20) farm_lots = target_player_data.get("farm_lots", []) player_bag = target_player_data.get("player_bag", []) + crop_warehouse = target_player_data.get("作物仓库", []) + item_bag = target_player_data.get("道具背包", []) # 更新UI显示 show_player_name.text = "玩家昵称:" + target_player_data.get("player_name", "未知") @@ -341,6 +431,12 @@ func _handle_visit_player_response(data): # 更新背包UI if player_bag_panel and player_bag_panel.has_method("update_player_bag_ui"): player_bag_panel.update_player_bag_ui() + # 更新作物仓库UI + if crop_warehouse_panel and crop_warehouse_panel.has_method("update_crop_warehouse_ui"): + crop_warehouse_panel.update_crop_warehouse_ui() + # 更新道具背包UI + if item_bag_panel and item_bag_panel.has_method("update_item_bag_ui"): + item_bag_panel.update_item_bag_ui() # 隐藏排行榜面板 if player_ranking_panel: @@ -367,6 +463,8 @@ func _handle_return_my_farm_response(data): stamina = player_data.get("体力值", 20) farm_lots = player_data.get("farm_lots", []) player_bag = player_data.get("player_bag", []) + crop_warehouse = player_data.get("作物仓库", []) + item_bag = player_data.get("道具背包", []) # 恢复UI显示 show_player_name.text = "玩家昵称:" + player_data.get("player_name", "未知") @@ -391,6 +489,12 @@ func _handle_return_my_farm_response(data): # 更新背包UI if player_bag_panel and player_bag_panel.has_method("update_player_bag_ui"): player_bag_panel.update_player_bag_ui() + # 更新作物仓库UI + if crop_warehouse_panel and crop_warehouse_panel.has_method("update_crop_warehouse_ui"): + crop_warehouse_panel.update_crop_warehouse_ui() + # 更新道具背包UI + if item_bag_panel and item_bag_panel.has_method("update_item_bag_ui"): + item_bag_panel.update_item_bag_ui() Toast.show("已返回自己的农场", Color.GREEN) print("成功返回自己的农场") @@ -402,20 +506,19 @@ func _handle_return_my_farm_response(data): #创建作物按钮 func _create_crop_button(crop_name: String, crop_quality: String) -> Button: # 根据品质选择相应的进度条 - var button = null + var button = item_button.duplicate() match crop_quality: "普通": - button = green_bar.duplicate() + button.get_node("Title").modulate = Color.HONEYDEW#白色 "优良": - button = orange_bar.duplicate() + button.get_node("Title").modulate =Color.DODGER_BLUE#深蓝色 "稀有": - button = white_blue_bar.duplicate() + button.get_node("Title").modulate =Color.HOT_PINK#品红色 "史诗": - button = pink_bar.duplicate() + button.get_node("Title").modulate =Color.YELLOW#黄色 "传奇": - button = black_blue_bar.duplicate() - _: # 默认情况 - button = green_bar.duplicate() + button.get_node("Title").modulate =Color.ORANGE_RED#红色 + # 确保按钮可见并可点击 button.visible = true @@ -443,14 +546,10 @@ func _create_farm_buttons(): var button = crop_item.duplicate() button.name = "FarmLot_" + str(i) - - - button.connect("pressed", Callable(self, "_on_item_selected").bind(i)) grid_container.add_child(button) - # 更新农场地块状态到 GridContainer 更新现有按钮的状态 func _update_farm_lots_state(): var digged_count = 0 # 统计已开垦地块的数量 @@ -481,109 +580,142 @@ func _update_farm_lots_state(): else: # 正常生长逻辑 var crop_name = lot["crop_type"] - label.text = "[" + can_planted_crop[crop_name]["品质"] + "-" + lot["crop_type"] +"]" - var status_text = "" - # 添加状态标识 - var status_indicators = [] - # 检查浇水状态(1小时内浇过水) - var current_time = Time.get_unix_time_from_system() - var last_water_time = lot.get("浇水时间", 0) - var water_cooldown = 3600 # 1小时冷却时间 - - if current_time - last_water_time < water_cooldown: - status_indicators.append("已浇水")#💧 - - if lot.get("已施肥", false): - status_indicators.append("已施肥")#🌱 - - # 土地等级颜色(不显示文本,只通过颜色区分) - var land_level = int(lot.get("土地等级", 0)) # 确保是整数 - var level_config = { - 0: {"color": Color.WHITE}, # 默认土地:默认颜色 - 1: {"color": Color(1.0, 1.0, 0.0)}, # 黄土地:ffff00 - 2: {"color": Color(1.0, 0.41, 0.0)}, # 红土地:ff6900 - 3: {"color": Color(0.55, 0.29, 0.97)}, # 紫土地:8e4af7 - 4: {"color": Color(0.33, 0.4, 0.59)} # 黑土地:546596 - } - - if land_level in level_config: - var config = level_config[land_level] - ground_image.self_modulate = config["color"] - else: - # 未知等级,使用默认颜色 - ground_image.self_modulate = Color.WHITE - - - if status_indicators.size() > 0: - status_text += " " + " ".join(status_indicators) - status_label.text = status_text - - # 根据品质显示颜色 - match can_planted_crop[crop_name]["品质"]: - "普通": - label.modulate = Color.HONEYDEW#白色 - "优良": - label.modulate = Color.DODGER_BLUE#深蓝色 - "稀有": - label.modulate = Color.HOT_PINK#品红色 - "史诗": - label.modulate = Color.YELLOW#黄色 - "传奇": - label.modulate = Color.ORANGE_RED#红色 - - progressbar.show() - progressbar.max_value = int(lot["max_grow_time"]) - progressbar.value = int(lot["grow_time"]) # 直接设置值,不使用动画 - - # 添加作物详细信息到tooltip + # 检查是否为杂草,如果是杂草则隐藏进度条和作物名字 + var is_weed = false if can_planted_crop.has(crop_name): - var crop = can_planted_crop[crop_name] - var crop_quality = crop.get("品质", "未知") + is_weed = can_planted_crop[crop_name].get("是否杂草", false) + + if is_weed: + # 杂草:隐藏进度条和作物名字 + label.hide() + progressbar.hide() + # 杂草不显示tooltip和状态标签 + button.tooltip_text = "" + status_label.text = "" - # 将成熟时间从秒转换为天时分秒格式 - var total_seconds = int(crop["生长时间"]) - - # 定义时间单位换算 - var SECONDS_PER_MINUTE = 60 - var SECONDS_PER_HOUR = 3600 - var SECONDS_PER_DAY = 86400 - - # 计算各时间单位 - var days = total_seconds / SECONDS_PER_DAY - total_seconds %= SECONDS_PER_DAY - - var hours = total_seconds / SECONDS_PER_HOUR - total_seconds %= SECONDS_PER_HOUR - - var minutes = total_seconds / SECONDS_PER_MINUTE - var seconds = total_seconds % SECONDS_PER_MINUTE - - # 构建时间字符串(只显示有值的单位) - var time_str = "" - if days > 0: - time_str += str(days) + "天" - if hours > 0: - time_str += str(hours) + "小时" - if minutes > 0: - time_str += str(minutes) + "分钟" - if seconds > 0: - time_str += str(seconds) + "秒" - - button.tooltip_text = str( - "作物: " + crop_name + "\n" + - "品质: " + crop_quality + "\n" + - "价格: " + str(crop["花费"]) + "元\n" + - "成熟时间: " + time_str + "\n" + - "收获收益: " + str(crop["收益"]) + "元\n" + - "需求等级: " + str(crop["等级"]) + "\n" + - "耐候性: " + str(crop["耐候性"]) + "\n" + - "经验: " + str(crop["经验"]) + "点\n" + - "描述: " + str(crop["描述"]) - ) + # 杂草也要显示土地等级颜色 + var land_level = int(lot.get("土地等级", 0)) + var level_config = { + 0: {"color": Color.WHITE}, + 1: {"color": Color(1.0, 1.0, 0.0)}, + 2: {"color": Color(1.0, 0.41, 0.0)}, + 3: {"color": Color(0.55, 0.29, 0.97)}, + 4: {"color": Color(0.33, 0.4, 0.59)} + } + + if land_level in level_config: + var config = level_config[land_level] + ground_image.self_modulate = config["color"] + else: + ground_image.self_modulate = Color.WHITE else: - # 如果作物数据不存在,显示基本信息 - button.tooltip_text = "作物: " + crop_name + "\n" + "作物数据未找到" + # 正常作物:显示进度条和作物名字 + label.show() + label.text = "[" + can_planted_crop[crop_name]["品质"] + "-" + lot["crop_type"] +"]" + + var status_text = "" + # 添加状态标识 + var status_indicators = [] + + # 检查浇水状态(1小时内浇过水) + var current_time = Time.get_unix_time_from_system() + var last_water_time = lot.get("浇水时间", 0) + var water_cooldown = 3600 # 1小时冷却时间 + + if current_time - last_water_time < water_cooldown: + status_indicators.append("已浇水")#💧 + + if lot.get("已施肥", false): + status_indicators.append("已施肥")#🌱 + + # 土地等级颜色(不显示文本,只通过颜色区分) + var land_level = int(lot.get("土地等级", 0)) # 确保是整数 + var level_config = { + 0: {"color": Color.WHITE}, # 默认土地:默认颜色 + 1: {"color": Color(1.0, 1.0, 0.0)}, # 黄土地:ffff00 + 2: {"color": Color(1.0, 0.41, 0.0)}, # 红土地:ff6900 + 3: {"color": Color(0.55, 0.29, 0.97)}, # 紫土地:8e4af7 + 4: {"color": Color(0.33, 0.4, 0.59)} # 黑土地:546596 + } + + if land_level in level_config: + var config = level_config[land_level] + ground_image.self_modulate = config["color"] + else: + # 未知等级,使用默认颜色 + ground_image.self_modulate = Color.WHITE + + + if status_indicators.size() > 0: + status_text += " " + " ".join(status_indicators) + status_label.text = status_text + + # 根据品质显示颜色 + match can_planted_crop[crop_name]["品质"]: + "普通": + label.modulate = Color.HONEYDEW#白色 + "优良": + label.modulate = Color.DODGER_BLUE#深蓝色 + "稀有": + label.modulate = Color.HOT_PINK#品红色 + "史诗": + label.modulate = Color.YELLOW#黄色 + "传奇": + label.modulate = Color.ORANGE_RED#红色 + + progressbar.show() + progressbar.max_value = int(lot["max_grow_time"]) + progressbar.value = int(lot["grow_time"]) # 直接设置值,不使用动画 + + # 添加作物详细信息到tooltip(只对正常作物) + if can_planted_crop.has(crop_name): + var crop = can_planted_crop[crop_name] + var crop_quality = crop.get("品质", "未知") + + # 将成熟时间从秒转换为天时分秒格式 + var total_seconds = int(crop["生长时间"]) + + # 定义时间单位换算 + var SECONDS_PER_MINUTE = 60 + var SECONDS_PER_HOUR = 3600 + var SECONDS_PER_DAY = 86400 + + # 计算各时间单位 + var days = total_seconds / SECONDS_PER_DAY + total_seconds %= SECONDS_PER_DAY + + var hours = total_seconds / SECONDS_PER_HOUR + total_seconds %= SECONDS_PER_HOUR + + var minutes = total_seconds / SECONDS_PER_MINUTE + var seconds = total_seconds % SECONDS_PER_MINUTE + + # 构建时间字符串(只显示有值的单位) + var time_str = "" + if days > 0: + time_str += str(days) + "天" + if hours > 0: + time_str += str(hours) + "小时" + if minutes > 0: + time_str += str(minutes) + "分钟" + if seconds > 0: + time_str += str(seconds) + "秒" + + button.tooltip_text = str( + "作物: " + crop_name + "\n" + + "品质: " + crop_quality + "\n" + + "价格: " + str(crop["花费"]) + "元\n" + + "成熟时间: " + time_str + "\n" + + "收获收益: " + str(crop["收益"]) + "元\n" + + "需求等级: " + str(crop["等级"]) + "\n" + + "耐候性: " + str(crop["耐候性"]) + "\n" + + "经验: " + str(crop["经验"]) + "点\n" + + "描述: " + str(crop["描述"]) + ) + else: + # 如果作物数据不存在,显示基本信息 + button.tooltip_text = "作物: " + crop_name + "\n" + "作物数据未找到" else: # 已开垦但未种植的地块显示为空地 var land_text = "[空地]" @@ -608,6 +740,8 @@ func _update_farm_lots_state(): # 空地不显示状态标签 status_label.text = "" + # 确保label显示并设置文本 + label.show() label.modulate = Color.GREEN#绿色 label.text = land_text progressbar.hide() @@ -615,6 +749,8 @@ func _update_farm_lots_state(): button.tooltip_text = "" else: # 未开垦的地块 + # 确保label显示并设置文本 + label.show() label.modulate = Color.WEB_GRAY#深褐色 label.text = "[" + "未开垦" + "]" progressbar.hide() @@ -654,16 +790,27 @@ func _update_ui(): # 处理地块点击事件 func _on_item_selected(index): + print("调试:地块点击事件 - 地块索引: ", index) + print("调试:道具选择状态 - is_item_selected: ", is_item_selected, ", selected_item_name: ", selected_item_name) + # 检查是否处于一键种植的地块选择模式 if one_click_plant_panel and one_click_plant_panel.has_method("on_lot_selected"): if one_click_plant_panel.on_lot_selected(index): # 一键种植面板已处理了这次点击,直接返回 + print("调试:一键种植面板处理了此点击") return - # 正常模式下,打开土地面板 - land_panel.show_panel() + # 检查是否有道具被选择,如果有则使用道具 + if is_item_selected and selected_item_name != "": + print("调试:检测到道具选择状态,调用道具使用函数") + _use_item_on_lot(index, selected_item_name) + return + + print("调试:没有道具选择,打开土地面板") + # 正常模式下,先设置地块索引,再打开土地面板 land_panel.selected_lot_index = index selected_lot_index = index + land_panel.show_panel() # 更新按钮文本 if land_panel.has_method("_update_button_texts"): land_panel._update_button_texts() @@ -689,23 +836,7 @@ func _check_level_up(): crop_store_panel.init_store() -# 返回自己的农场 -func return_to_my_farm(): - if not is_visiting_mode: - return - - # 发送返回自己农场的请求到服务器 - if network_manager and network_manager.has_method("sendReturnMyFarm"): - var success = network_manager.sendReturnMyFarm() - if success: - print("已发送返回自己农场的请求") - else: - Toast.show("网络未连接,无法返回农场", Color.RED) - print("发送返回农场请求失败,网络未连接") - else: - Toast.show("网络管理器不可用", Color.RED) - print("网络管理器不可用") - +#===============================================作物数据处理=============================================== # 从服务器获取作物数据 func _load_crop_data(): var network_manager = get_node("/root/main/UI/TCPNerworkManager") @@ -811,25 +942,99 @@ func _save_crop_data_to_local(crop_data): file.close() print("作物数据已保存到本地缓存") -# 加载作物图片序列帧 -func _load_crop_textures(crop_name: String) -> Array: - """ - 加载指定作物的所有序列帧图片 - 返回图片数组,如果作物不存在则返回默认图片 - """ - if crop_textures_cache.has(crop_name): - return crop_textures_cache[crop_name] +#===============================================作物数据处理=============================================== + + + +#===============================================作物图片缓存系统=============================================== + +## 作物图片缓存和管理系统 +class CropTextureManager: + """作物图片缓存管理器 - 负责所有作物图片的加载、缓存和管理""" - var textures = [] - var crop_path = "res://assets/作物/" + crop_name + "/" - var default_path = "res://assets/作物/默认/" + # 缓存字典 + var texture_cache: Dictionary = {} # 序列帧缓存 {crop_name: [Texture2D]} + var mature_texture_cache: Dictionary = {} # 成熟图片缓存 {crop_name: Texture2D} + var frame_counts: Dictionary = {} # 帧数记录 {crop_name: int} - # 检查作物文件夹是否存在 - if DirAccess.dir_exists_absolute(crop_path): - # 尝试加载作物的序列帧(从0开始) + # 加载状态 + var is_loading: bool = false + var load_progress: float = 0.0 + var total_crops: int = 0 + var loaded_crops: int = 0 + + func _init(): + print("[CropTextureManager] 初始化作物图片管理器") + + ## 异步预加载所有作物图片 - 主要入口函数 + func preload_all_textures_async(crop_data: Dictionary, progress_callback: Callable) -> void: + """异步预加载所有作物图片,提供进度回调""" + if is_loading: + print("[CropTextureManager] 正在加载中,跳过重复请求") + return + + is_loading = true + load_progress = 0.0 + total_crops = crop_data.size() + loaded_crops = 0 + + print("[CropTextureManager] 开始异步预加载 %d 种作物图片" % total_crops) + + # 阶段1:加载默认图片 (0-10%) + progress_callback.call(0, "正在加载默认图片...") + await _load_default_textures_async() + progress_callback.call(10, "默认图片加载完成") + + # 阶段2:批量加载作物图片 (10-90%) + await _load_crops_batch_async(crop_data, progress_callback) + + # 阶段3:完成 (90-100%) + progress_callback.call(100, "所有作物图片加载完成!") + _print_cache_stats() + + is_loading = false + print("[CropTextureManager] 预加载完成") + + ## 批量异步加载作物图片 + func _load_crops_batch_async(crop_data: Dictionary, progress_callback: Callable) -> void: + """批量异步加载作物图片,每帧加载有限数量避免卡顿""" + const BATCH_SIZE = 3 # 每帧最多加载3种作物 + var crop_names = crop_data.keys() + var batch_count = 0 + + for crop_name in crop_names: + # 加载序列帧和成熟图片 + _load_crop_textures_immediate(crop_name) + _load_mature_texture_immediate(crop_name) + + loaded_crops += 1 + batch_count += 1 + + # 更新进度 (10% 到 90% 区间) + var progress = 10 + int((float(loaded_crops) / float(total_crops)) * 80) + var message = "加载作物图片: %s (%d/%d)" % [crop_name, loaded_crops, total_crops] + progress_callback.call(progress, message) + + # 每批次后暂停一帧,避免卡顿 + if batch_count >= BATCH_SIZE: + batch_count = 0 + await Engine.get_main_loop().process_frame + + ## 立即加载默认图片(同步) + func _load_default_textures_async() -> void: + """异步加载默认图片""" + const DEFAULT_CROP = "默认" + const DEFAULT_PATH = "res://assets/作物/默认/" + + if texture_cache.has(DEFAULT_CROP): + return + + var textures = [] var frame_index = 0 + + # 加载序列帧 while true: - var texture_path = crop_path + str(frame_index) + ".webp" + var texture_path = DEFAULT_PATH + str(frame_index) + ".webp" if ResourceLoader.exists(texture_path): var texture = load(texture_path) if texture: @@ -840,198 +1045,370 @@ func _load_crop_textures(crop_name: String) -> Array: else: break - if textures.size() > 0: - print("成功加载作物 ", crop_name, " 的 ", textures.size(), " 帧图片") + # 如果没有序列帧,尝试加载单个图片 + if textures.size() == 0: + var single_path = DEFAULT_PATH + "0.webp" + if ResourceLoader.exists(single_path): + var texture = load(single_path) + if texture: + textures.append(texture) + + # 缓存结果 + texture_cache[DEFAULT_CROP] = textures + frame_counts[DEFAULT_CROP] = textures.size() + + # 加载默认成熟图片 + var mature_path = DEFAULT_PATH + "成熟.webp" + if ResourceLoader.exists(mature_path): + var mature_texture = load(mature_path) + if mature_texture: + mature_texture_cache[DEFAULT_CROP] = mature_texture + + print("[CropTextureManager] 默认图片加载完成:%d 帧" % textures.size()) + + # 让出一帧 + await Engine.get_main_loop().process_frame + + ## 立即加载单个作物的序列帧图片 + func _load_crop_textures_immediate(crop_name: String) -> Array: + """立即加载指定作物的序列帧图片""" + if texture_cache.has(crop_name): + return texture_cache[crop_name] + + var textures = [] + var crop_path = "res://assets/作物/" + crop_name + "/" + + # 检查作物文件夹是否存在 + if not DirAccess.dir_exists_absolute(crop_path): + # 文件夹不存在,使用默认图片 + textures = texture_cache.get("默认", []) else: - print("作物 ", crop_name, " 文件夹存在但没有找到有效图片,使用默认图片") - textures = _load_default_textures() - else: - print("作物 ", crop_name, " 的文件夹不存在,使用默认图片") - textures = _load_default_textures() + # 加载序列帧 + var frame_index = 0 + while true: + var texture_path = crop_path + str(frame_index) + ".webp" + if ResourceLoader.exists(texture_path): + var texture = load(texture_path) + if texture: + textures.append(texture) + frame_index += 1 + else: + break + else: + break + + # 如果没找到图片,使用默认图片 + if textures.size() == 0: + textures = texture_cache.get("默认", []) + + # 缓存结果 + texture_cache[crop_name] = textures + frame_counts[crop_name] = textures.size() + + return textures - # 缓存结果 - crop_textures_cache[crop_name] = textures - crop_frame_counts[crop_name] = textures.size() + ## 立即加载单个作物的成熟图片 + func _load_mature_texture_immediate(crop_name: String) -> Texture2D: + """立即加载指定作物的成熟图片""" + if mature_texture_cache.has(crop_name): + return mature_texture_cache[crop_name] + + var crop_path = "res://assets/作物/" + crop_name + "/" + var mature_path = crop_path + "成熟.webp" + var texture: Texture2D = null + + # 尝试加载作物专属成熟图片 + if ResourceLoader.exists(mature_path): + texture = load(mature_path) + + # 如果没找到,使用默认成熟图片 + if not texture: + texture = mature_texture_cache.get("默认", null) + + # 缓存结果 + if texture: + mature_texture_cache[crop_name] = texture + + return texture - return textures + ## 根据生长进度获取作物图片 + func get_texture_by_progress(crop_name: String, progress: float) -> Texture2D: + """根据作物名称和生长进度获取对应的图片""" + # 100%成熟时优先使用成熟图片 + if progress >= 1.0: + var mature_texture = mature_texture_cache.get(crop_name, null) + if mature_texture: + return mature_texture + + # 使用序列帧图片 + var textures = texture_cache.get(crop_name, []) + if textures.size() == 0: + return null + + if textures.size() == 1: + return textures[0] + + # 根据进度计算帧索引 + var frame_index = int(progress * (textures.size() - 1)) + frame_index = clamp(frame_index, 0, textures.size() - 1) + + return textures[frame_index] + + ## 清理缓存 + func clear_cache() -> void: + """清理所有缓存,释放内存""" + texture_cache.clear() + mature_texture_cache.clear() + frame_counts.clear() + print("[CropTextureManager] 缓存已清理") + + ## 打印缓存统计信息 + func _print_cache_stats() -> void: + """打印缓存统计信息""" + print("[CropTextureManager] 缓存统计:") + print(" - 序列帧缓存: %d 种作物" % texture_cache.size()) + print(" - 成熟图片缓存: %d 种作物" % mature_texture_cache.size()) + var total_frames = 0 + for count in frame_counts.values(): + total_frames += count + print(" - 总图片帧数: %d 帧" % total_frames) + + ## 获取详细缓存信息 + func get_cache_info() -> String: + """获取详细的缓存信息字符串""" + var info = "作物图片缓存详情:\n" + for crop_name in texture_cache.keys(): + var frame_count = frame_counts.get(crop_name, 0) + var has_mature = mature_texture_cache.has(crop_name) + info += " - %s: %d帧" % [crop_name, frame_count] + if has_mature: + info += " (含成熟图片)" + info += "\n" + return info -# 加载默认图片 -func _load_default_textures() -> Array: - """ - 加载默认作物图片 - """ - if crop_textures_cache.has("默认"): - return crop_textures_cache["默认"] - - var textures = [] - var default_path = "res://assets/作物/默认/" - - # 尝试加载默认图片序列帧 - var frame_index = 0 - while true: - var texture_path = default_path + str(frame_index) + ".webp" - if ResourceLoader.exists(texture_path): - var texture = load(texture_path) - if texture: - textures.append(texture) - frame_index += 1 - else: - break - else: - break - - # 如果没有找到序列帧,尝试加载单个默认图片 - if textures.size() == 0: - var single_texture_path = default_path + "0.webp" - if ResourceLoader.exists(single_texture_path): - var texture = load(single_texture_path) - if texture: - textures.append(texture) - - # 缓存默认图片 - crop_textures_cache["默认"] = textures - crop_frame_counts["默认"] = textures.size() - - print("加载了 ", textures.size(), " 个默认作物图片") - return textures +# 全局作物图片管理器实例 +var crop_texture_manager: CropTextureManager -# 根据生长进度获取对应的作物图片 -func _get_crop_texture_by_progress(crop_name: String, progress: float) -> Texture2D: - """ - 根据作物名称和生长进度获取对应的图片 - progress: 0.0 到 1.0 的生长进度 - """ - var textures = _load_crop_textures(crop_name) - - if textures.size() == 0: - return null - - if textures.size() == 1: - return textures[0] - - # 根据进度计算应该显示的帧 - var frame_index = int(progress * (textures.size() - 1)) - frame_index = clamp(frame_index, 0, textures.size() - 1) - - return textures[frame_index] +#===============================================作物图片更新=============================================== -# 更新地块的作物图片 -func _update_lot_crop_sprite(button: Button, lot_data: Dictionary): - """ - 更新单个地块按钮的作物图片 - """ +## 更新单个地块的作物图片显示(直接切换) +func _update_lot_crop_sprite(button: Button, lot_data: Dictionary) -> void: var crop_sprite = button.get_node("crop_sprite") - if not lot_data["is_diged"]: - # 未开垦的地块,隐藏作物图片 + # 未开垦或空地,隐藏图片 + if not lot_data["is_diged"] or not lot_data["is_planted"] or lot_data["crop_type"] == "": crop_sprite.visible = false return - if not lot_data["is_planted"] or lot_data["crop_type"] == "": - # 空地,隐藏作物图片 - crop_sprite.visible = false - return - - # 有作物的地块 + # 显示作物图片 crop_sprite.visible = true var crop_name = lot_data["crop_type"] var grow_time = float(lot_data["grow_time"]) var max_grow_time = float(lot_data["max_grow_time"]) - var is_dead = lot_data.get("is_dead", false) # 计算生长进度 var progress = 0.0 if max_grow_time > 0: - progress = grow_time / max_grow_time - progress = clamp(progress, 0.0, 1.0) + progress = clamp(grow_time / max_grow_time, 0.0, 1.0) - # 如果作物死亡,显示最后一帧并调整颜色 - if is_dead: - var texture = _get_crop_texture_by_progress(crop_name, 1.0) # 使用最后一帧 - if texture: - crop_sprite.texture = texture - crop_sprite.modulate = Color(0.5, 0.5, 0.5, 0.8) # 变暗表示死亡 - else: - crop_sprite.visible = false - else: - # 正常作物,恢复正常颜色 + # 获取对应图片 + var texture: Texture2D = null + if crop_texture_manager: + texture = crop_texture_manager.get_texture_by_progress(crop_name, progress) + + if texture: + # 直接切换图片,无渐变效果 + crop_sprite.texture = texture crop_sprite.modulate = Color.WHITE - - # 获取对应的图片 - var texture = _get_crop_texture_by_progress(crop_name, progress) - - if texture: - crop_sprite.texture = texture - else: - print("无法获取作物 ", crop_name, " 的图片") - crop_sprite.visible = false + else: + crop_sprite.visible = false -# 预加载常用作物图片 -func _preload_common_crop_textures(): - """ - 预加载一些常用的作物图片,提高游戏性能 - """ - print("开始预加载作物图片...") - - # 首先加载默认图片 - _load_default_textures() - - # 预加载一些常见作物(可以根据实际情况调整) - var common_crops = [ - "草莓","大白菜","大豆", "稻谷", "冬虫夏草", "番茄", "富贵竹", "甘蔗" - , "哈密瓜", "胡萝卜", "花椰菜", "黄瓜", "金橘", "橘子树", "蕨菜", "辣椒" - , "蓝莓", "龙果", "芦荟", "芦笋", "南瓜", "甘蔗", "苹果树", "葡萄" - ] - - for crop_name in common_crops: - _load_crop_textures(crop_name) - - print("作物图片预加载完成,已缓存 ", crop_textures_cache.size(), " 种作物") -# 清理作物图片缓存 -func _clear_crop_textures_cache(): - """ - 清理作物图片缓存,释放内存 - """ - crop_textures_cache.clear() - crop_frame_counts.clear() - print("作物图片缓存已清理") -# 获取作物图片缓存信息 -func _get_crop_cache_info() -> String: - """ - 获取当前作物图片缓存的信息 - """ - var info = "作物图片缓存信息:\n" - for crop_name in crop_textures_cache.keys(): - var frame_count = crop_frame_counts.get(crop_name, 0) - info += "- " + crop_name + ": " + str(frame_count) + " 帧\n" - return info - -# 调试:打印作物图片缓存信息 -func _debug_print_crop_cache(): - """ - 调试用:打印当前作物图片缓存信息 - """ - print(_get_crop_cache_info()) - -# 调试:强制刷新所有地块的作物图片 -func _debug_refresh_all_crop_sprites(): - """ - 调试用:强制刷新所有地块的作物图片 - """ - print("强制刷新所有地块的作物图片...") - for i in range(len(farm_lots)): - if i >= grid_container.get_child_count(): - break +## 批量刷新所有地块的作物图片 +func _refresh_all_crop_sprites() -> void: + for i in range(min(farm_lots.size(), grid_container.get_child_count())): var button = grid_container.get_child(i) var lot = farm_lots[i] _update_lot_crop_sprite(button, lot) - print("作物图片刷新完成") +#===============================================作物图片更新=============================================== + + +#===============================================加载进度管理=============================================== + +## 更新加载进度显示 +func _update_load_progress(progress: int, message: String = "") -> void: + """更新加载进度条和提示信息""" + load_progress_bar.value = progress + + # 更新消息显示 + var message_label = load_progress_panel.get_node_or_null("MessageLabel") + if message_label and message != "": + message_label.text = message + + if message != "": + print("[加载进度] %d%% - %s" % [progress, message]) + +## 主预加载函数 - 游戏启动时调用 +func _preload_all_crop_textures() -> void: + """预加载所有作物图片的主函数""" + print("[主游戏] 开始预加载作物图片...") + + # 初始化管理器 + if not crop_texture_manager: + crop_texture_manager = CropTextureManager.new() + + # 等待作物数据加载 + _update_load_progress(0, "等待作物数据...") + await _wait_for_crop_data() + + # 开始异步预加载 + await crop_texture_manager.preload_all_textures_async( + can_planted_crop, + Callable(self, "_update_load_progress") + ) + + # 完成后隐藏加载面板 + await get_tree().create_timer(0.5).timeout + load_progress_panel.hide() + print("[主游戏] 图片预加载完成,隐藏加载面板") + +## 等待作物数据加载完成 +func _wait_for_crop_data() -> void: + """等待作物数据加载完成""" + const MAX_WAIT_TIME = 5.0 + var wait_time = 0.0 + + while can_planted_crop.size() == 0 and wait_time < MAX_WAIT_TIME: + await get_tree().create_timer(0.1).timeout + wait_time += 0.1 + + if can_planted_crop.size() == 0: + _update_load_progress(90, "作物数据加载失败,跳过图片预加载") + print("[警告] 作物数据未加载,跳过图片预加载") + else: + print("[主游戏] 作物数据加载完成,共 %d 种作物" % can_planted_crop.size()) + +#===============================================调试和维护工具=============================================== + +## 调试:测试直接切换图片 +func _debug_test_direct_switch(lot_index: int = 0) -> void: + """调试用:测试指定地块的直接图片切换""" + if lot_index >= 0 and lot_index < grid_container.get_child_count(): + var button = grid_container.get_child(lot_index) + var crop_sprite = button.get_node_or_null("crop_sprite") + if crop_sprite and crop_texture_manager: + # 随机选择一个作物图片进行测试 + var crop_names = can_planted_crop.keys() + if crop_names.size() > 0: + var random_crop = crop_names[randi() % crop_names.size()] + var test_texture = crop_texture_manager.get_texture_by_progress(random_crop, 1.0) + if test_texture: + print("[调试] 测试地块 ", lot_index, " 的直接图片切换,使用作物:", random_crop) + crop_sprite.texture = test_texture + crop_sprite.modulate = Color.WHITE + crop_sprite.visible = true + else: + print("[调试] 无法获取测试贴图") + else: + print("[调试] 作物数据为空") + else: + print("[调试] 无法找到crop_sprite或图片管理器未初始化") + else: + print("[调试] 地块索引无效:", lot_index) + +## 调试:打印缓存信息 +func _debug_print_crop_cache() -> void: + """调试用:打印当前作物图片缓存信息""" + if crop_texture_manager: + print(crop_texture_manager.get_cache_info()) + else: + print("[调试] 作物图片管理器未初始化") + +## 调试:强制刷新所有图片 +func _debug_refresh_all_crop_sprites() -> void: + """调试用:强制刷新所有地块的作物图片""" + print("[调试] 强制刷新所有地块图片...") + _refresh_all_crop_sprites() + print("[调试] 图片刷新完成") + +## 调试:清理图片缓存 +func _debug_clear_crop_cache() -> void: + """调试用:清理作物图片缓存""" + if crop_texture_manager: + crop_texture_manager.clear_cache() + print("[调试] 图片缓存已清理") + +#===============================================向后兼容性=============================================== + +# 为了保持向后兼容,保留一些原来的函数名 +func _load_crop_textures(crop_name: String) -> Array: + """向后兼容:加载作物图片序列帧""" + if crop_texture_manager: + return crop_texture_manager._load_crop_textures_immediate(crop_name) + return [] + +func _get_crop_texture_by_progress(crop_name: String, progress: float) -> Texture2D: + """向后兼容:根据进度获取作物图片""" + if crop_texture_manager: + return crop_texture_manager.get_texture_by_progress(crop_name, progress) + return null + +func _clear_crop_textures_cache() -> void: + """向后兼容:清理图片缓存""" + if crop_texture_manager: + crop_texture_manager.clear_cache() + +func _get_crop_cache_info() -> String: + """向后兼容:获取缓存信息""" + if crop_texture_manager: + return crop_texture_manager.get_cache_info() + return "图片管理器未初始化" + +#===============================================作物图片处理结束=============================================== + + + +#===============================================返回自己的农场处理=============================================== +#访客模式下返回我的农场 +func _on_return_my_farm_button_pressed() -> void: + # 如果当前处于访问模式,返回自己的农场 + if is_visiting_mode: + return_to_my_farm() + else: + # 如果不在访问模式,这个按钮可能用于其他功能或者不做任何操作 + print("当前已在自己的农场") + +# 返回自己的农场 +func return_to_my_farm(): + if not is_visiting_mode: + return + + # 发送返回自己农场的请求到服务器 + if network_manager and network_manager.has_method("sendReturnMyFarm"): + var success = network_manager.sendReturnMyFarm() + if success: + print("已发送返回自己农场的请求") + else: + Toast.show("网络未连接,无法返回农场", Color.RED) + print("发送返回农场请求失败,网络未连接") + else: + Toast.show("网络管理器不可用", Color.RED) + print("网络管理器不可用") + +#===============================================返回自己的农场处理=============================================== + + + + + #打开种子商店面板 -func _on_open_store_button_pressed(): +func _on_open_store_button_pressed() -> void: + #打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = true + # 如果处于访问模式,不允许打开商店 if is_visiting_mode: Toast.show("访问模式下无法使用商店", Color.ORANGE) @@ -1044,20 +1421,132 @@ func _on_open_store_button_pressed(): # 确保在最前面显示 crop_store_panel.move_to_front() pass + #打开玩家排行榜面板 func _on_player_ranking_button_pressed() -> void: + #打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = true + player_ranking_panel.show() player_ranking_panel.request_player_rankings() pass -#访客模式下返回我的农场 -func _on_return_my_farm_button_pressed() -> void: - # 如果当前处于访问模式,返回自己的农场 - if is_visiting_mode: - return_to_my_farm() - else: - # 如果不在访问模式,这个按钮可能用于其他功能或者不做任何操作 - print("当前已在自己的农场") + +#打开设置面板 暂时没想到可以设置什么 +func _on_setting_button_pressed() -> void: + pass + + +#打开我的宠物系统,这个比较复杂以后再实现 +func _on_my_pet_button_pressed() -> void: + pass + + +# 处理AcceptDialog的确认信号 +func _on_accept_dialog_confirmed() -> void: + var action_type = accept_dialog.get_meta("action_type", "") + + if action_type == "one_click_harvest": + # 执行一键收获逻辑 + _execute_one_click_harvest() + elif action_type == "buy_new_ground": + # 执行购买新地块逻辑 + _execute_buy_new_ground() + elif action_type == "return_main_menu": + # 执行返回主菜单逻辑 + _execute_return_main_menu() + else: + # 处理其他类型的确认逻辑 + pass + + +#打开一键种植面板 +func _on_one_click_plant_button_pressed() -> void: + # 如果处于访问模式,不允许操作 + if is_visiting_mode: + Toast.show("访问模式下无法使用一键种植", Color.ORANGE) + return + + # 检查是否有网络连接 + if not network_manager.is_connected_to_server(): + Toast.show("未连接服务器,无法使用一键种植", Color.RED) + return + + # 显示一键种植面板 + one_click_plant_panel.show() + one_click_plant_panel.move_to_front() + +# 处理连接断开事件 +func _on_connection_lost(): + + # 重置游戏状态 + start_game = false + + # 隐藏所有游戏UI + game_info_h_box_1.hide() + game_info_h_box_2.hide() + farm_v_box.hide() + visit_v_box.hide() + other_v_box.hide() + + # 隐藏所有面板 + crop_store_panel.hide() + player_bag_panel.hide() + lucky_draw_panel.hide() + daily_check_in_panel.hide() + player_ranking_panel.hide() + one_click_plant_panel.hide() + land_panel.hide() + accept_dialog.hide() + + # 重置访问模式 + if is_visiting_mode: + _handle_return_my_farm_response({"success": true}) + + # 显示登录面板 + if login_panel: + login_panel.show() + + # 更新登录面板状态 + if login_panel.has_method("_on_connection_lost"): + login_panel._on_connection_lost() + + # 显示连接断开的提示 + Toast.show("与服务器的连接已断开,请重新登录", Color.ORANGE, 3.0, 1.0) + +#打开种子仓库面板 +func _on_seed_warehouse_button_pressed() -> void: + #打开面板后暂时禁用相机功能 + GlobalVariables.isZoomDisabled = true + player_bag_panel.show() + pass + + +#打开玩家道具背包面板 +func _on_item_bag_button_pressed() -> void: + item_bag_panel.show() + pass + +#打开道具商店面板 +func _on_item_store_button_pressed() -> void: + item_store_panel.show() + pass + +#打开作物仓库面板 +func _on_crop_warehouse_button_pressed() -> void: + crop_warehouse_panel.show() + pass + + + + + + + + + + +#===============================================添加新地块处理=============================================== #添加新的地块,默认花费2000 func _on_add_new_ground_button_pressed() -> void: # 如果处于访问模式,不允许操作 @@ -1090,6 +1579,27 @@ func _on_add_new_ground_button_pressed() -> void: # 标记当前操作为购买新地块 accept_dialog.set_meta("action_type", "buy_new_ground") +# 执行购买新地块逻辑 +func _execute_buy_new_ground(): + var new_ground_cost = 2000 + + # 发送购买新地块请求到服务器 + if network_manager and network_manager.has_method("sendBuyNewGround"): + var success = network_manager.sendBuyNewGround() + if success: + print("已发送购买新地块请求") + else: + Toast.show("网络未连接,无法购买新地块", Color.RED) + print("发送购买新地块请求失败,网络未连接") + else: + Toast.show("网络管理器不可用", Color.RED) + print("网络管理器不可用") + +#===============================================添加新地块处理=============================================== + + + +#===============================================每日签到处理=============================================== #每日签到 奖励可以有钱币,经验,随机种子 连续签到奖励更多 连续签到只要不中断,奖励会随着签到的次数逐渐变得丰厚 func _on_daily_check_in_button_pressed() -> void: daily_check_in_panel.show() @@ -1109,6 +1619,8 @@ func _handle_daily_check_in_response(response: Dictionary) -> void: level = updated_data["level"] if updated_data.has("player_bag"): player_bag = updated_data["player_bag"] + # 修复背包数据兼容性问题 + _fix_player_bag_data() # 更新UI _update_ui() @@ -1138,6 +1650,110 @@ func _handle_check_in_data_response(response: Dictionary) -> void: if daily_check_in_panel and daily_check_in_panel.has_method("handle_check_in_data_response"): daily_check_in_panel.handle_check_in_data_response(response) +#===============================================每日签到处理=============================================== + + + +#===============================================一键收获处理=============================================== +#一键收获 默认花费400元 可以一键收获已成熟作物 +func _on_one_click_harvestbutton_pressed() -> void: + # 如果处于访问模式,不允许操作 + if is_visiting_mode: + Toast.show("访问模式下无法使用一键收获", Color.ORANGE) + return + + # 检查是否有网络连接 + if not network_manager.is_connected_to_server(): + Toast.show("未连接服务器,无法使用一键收获", Color.RED) + return + + # 统计有多少成熟的作物 + var mature_crops_count = 0 + for lot in farm_lots: + if lot["is_diged"] and lot["is_planted"] and not lot.get("is_dead", false): + if lot["grow_time"] >= lot["max_grow_time"]: + mature_crops_count += 1 + + # 如果没有成熟的作物 + if mature_crops_count == 0: + Toast.show("没有可以收获的成熟作物", Color.YELLOW) + return + + # 检查玩家金钱是否足够 + var one_click_cost = 400 + if money < one_click_cost: + Toast.show("金钱不足!一键收获需要 " + str(one_click_cost) + " 元", Color.RED) + return + + # 显示确认弹窗 + accept_dialog.set_dialog_title("一键收获确认") + accept_dialog.set_dialog_content("发现 " + str(mature_crops_count) + " 个成熟作物\n花费 " + str(one_click_cost) + " 元进行一键收获?") + accept_dialog.popup_centered() + + # 标记当前操作为一键收获 + accept_dialog.set_meta("action_type", "one_click_harvest") + +# 执行一键收获逻辑 +func _execute_one_click_harvest(): + var one_click_cost = 400 + var harvested_count = 0 + var success_count = 0 + + # 先扣除费用 + money -= one_click_cost + _update_ui() + + # 遍历所有地块,收获成熟作物 + for i in range(len(farm_lots)): + var lot = farm_lots[i] + if lot["is_diged"] and lot["is_planted"] and not lot.get("is_dead", false): + if lot["grow_time"] >= lot["max_grow_time"]: + harvested_count += 1 + # 发送收获请求到服务器 + if network_manager and network_manager.sendHarvestCrop(i): + success_count += 1 + # 添加小延迟避免服务器压力过大 + await get_tree().create_timer(0.3).timeout + + # 显示结果 + if success_count > 0: + Toast.show("一键收获完成!成功收获 " + str(success_count) + " 个作物,花费 " + str(one_click_cost) + " 元", Color.GREEN) + print("一键收获完成,收获了 ", success_count, " 个作物") + else: + Toast.show("一键收获失败,请检查网络连接", Color.RED) + # 如果失败,退还费用 + money += one_click_cost + _update_ui() + +#===============================================一键收获处理=============================================== + + + +#===============================================返回主菜单处理=============================================== +#断开连接并返回主菜单界面 +func _on_return_main_menu_button_pressed() -> void: + # 显示确认弹窗 + accept_dialog.set_dialog_title("返回主菜单") + accept_dialog.set_dialog_content("确定要断开连接并返回主菜单吗?\n") + accept_dialog.popup_centered() + + # 标记当前操作为返回主菜单 + accept_dialog.set_meta("action_type", "return_main_menu") + +# 执行返回主菜单逻辑 +func _execute_return_main_menu(): + # 断开与服务器的连接 + if network_manager and network_manager.is_connected_to_server(): + network_manager.client.disconnect_from_server() + print("已断开与服务器的连接") + + # 直接切换到主菜单场景 + get_tree().change_scene_to_file('res://GUI/MainMenuPanel.tscn') +#===============================================返回主菜单处理=============================================== + + + +#===============================================幸运抽奖处理=============================================== #幸运抽奖 默认800元抽一次 五连抽打九折 十连抽打八折 奖励可以有钱币,经验,随机种子 func _on_lucky_draw_button_pressed() -> void: lucky_draw_panel.show() @@ -1157,6 +1773,8 @@ func _handle_lucky_draw_response(response: Dictionary) -> void: level = updated_data["level"] if updated_data.has("player_bag"): player_bag = updated_data["player_bag"] + # 修复背包数据兼容性问题 + _fix_player_bag_data() # 更新UI _update_ui() @@ -1213,48 +1831,11 @@ func _on_lucky_draw_failed(error_message: String) -> void: func get_crop_data() -> Dictionary: return can_planted_crop -#打开设置面板 暂时没想到可以设置什么 -func _on_setting_button_pressed() -> void: - pass +#===============================================幸运抽奖处理=============================================== -#一键收获 默认花费400元 可以一键收获已成熟作物 -func _on_one_click_harvestbutton_pressed() -> void: - # 如果处于访问模式,不允许操作 - if is_visiting_mode: - Toast.show("访问模式下无法使用一键收获", Color.ORANGE) - return - - # 检查是否有网络连接 - if not network_manager.is_connected_to_server(): - Toast.show("未连接服务器,无法使用一键收获", Color.RED) - return - - # 统计有多少成熟的作物 - var mature_crops_count = 0 - for lot in farm_lots: - if lot["is_diged"] and lot["is_planted"] and not lot.get("is_dead", false): - if lot["grow_time"] >= lot["max_grow_time"]: - mature_crops_count += 1 - - # 如果没有成熟的作物 - if mature_crops_count == 0: - Toast.show("没有可以收获的成熟作物", Color.YELLOW) - return - - # 检查玩家金钱是否足够 - var one_click_cost = 400 - if money < one_click_cost: - Toast.show("金钱不足!一键收获需要 " + str(one_click_cost) + " 元", Color.RED) - return - - # 显示确认弹窗 - accept_dialog.set_dialog_title("一键收获确认") - accept_dialog.set_dialog_content("发现 " + str(mature_crops_count) + " 个成熟作物\n花费 " + str(one_click_cost) + " 元进行一键收获?") - accept_dialog.popup_centered() - - # 标记当前操作为一键收获 - accept_dialog.set_meta("action_type", "one_click_harvest") + +#===============================================点赞处理=============================================== #访客模式下可以给别人点赞,然后总赞数显示在show_like节点上 func _on_like_button_pressed() -> void: # 检查是否处于访问模式 @@ -1304,95 +1885,11 @@ func _handle_like_player_response(data): Toast.show(message, Color.RED) print("点赞失败:", message) -#打开我的宠物系统,这个比较复杂以后再实现 -func _on_my_pet_button_pressed() -> void: - pass +#===============================================点赞处理=============================================== -#断开连接并返回主菜单界面 -func _on_return_main_menu_button_pressed() -> void: - # 显示确认弹窗 - accept_dialog.set_dialog_title("返回主菜单确认") - accept_dialog.set_dialog_content("确定要断开连接并返回主菜单吗?\n\n注意:未保存的进度可能会丢失!") - accept_dialog.popup_centered() - - # 标记当前操作为返回主菜单 - accept_dialog.set_meta("action_type", "return_main_menu") -# 处理AcceptDialog的确认信号 -func _on_accept_dialog_confirmed(): - var action_type = accept_dialog.get_meta("action_type", "") - - if action_type == "one_click_harvest": - # 执行一键收获逻辑 - _execute_one_click_harvest() - elif action_type == "buy_new_ground": - # 执行购买新地块逻辑 - _execute_buy_new_ground() - elif action_type == "return_main_menu": - # 执行返回主菜单逻辑 - _execute_return_main_menu() - else: - # 处理其他类型的确认逻辑 - pass - -# 执行一键收获逻辑 -func _execute_one_click_harvest(): - var one_click_cost = 400 - var harvested_count = 0 - var success_count = 0 - - # 先扣除费用 - money -= one_click_cost - _update_ui() - - # 遍历所有地块,收获成熟作物 - for i in range(len(farm_lots)): - var lot = farm_lots[i] - if lot["is_diged"] and lot["is_planted"] and not lot.get("is_dead", false): - if lot["grow_time"] >= lot["max_grow_time"]: - harvested_count += 1 - # 发送收获请求到服务器 - if network_manager and network_manager.sendHarvestCrop(i): - success_count += 1 - # 添加小延迟避免服务器压力过大 - await get_tree().create_timer(0.3).timeout - - # 显示结果 - if success_count > 0: - Toast.show("一键收获完成!成功收获 " + str(success_count) + " 个作物,花费 " + str(one_click_cost) + " 元", Color.GREEN) - print("一键收获完成,收获了 ", success_count, " 个作物") - else: - Toast.show("一键收获失败,请检查网络连接", Color.RED) - # 如果失败,退还费用 - money += one_click_cost - _update_ui() - -# 执行购买新地块逻辑 -func _execute_buy_new_ground(): - var new_ground_cost = 2000 - - # 发送购买新地块请求到服务器 - if network_manager and network_manager.has_method("sendBuyNewGround"): - var success = network_manager.sendBuyNewGround() - if success: - print("已发送购买新地块请求") - else: - Toast.show("网络未连接,无法购买新地块", Color.RED) - print("发送购买新地块请求失败,网络未连接") - else: - Toast.show("网络管理器不可用", Color.RED) - print("网络管理器不可用") - -# 执行返回主菜单逻辑 -func _execute_return_main_menu(): - # 断开与服务器的连接 - if network_manager and network_manager.is_connected_to_server(): - network_manager.client.disconnect_from_server() - print("已断开与服务器的连接") - - # 直接切换到主菜单场景 - get_tree().change_scene_to_file('res://GUI/MainMenuPanel.tscn') +#===============================================获取在线人数处理=============================================== # 启动在线人数更新定时器 func _start_online_players_timer(): # 初始显示连接中状态 @@ -1440,33 +1937,17 @@ func _update_online_players_display(count: int, connected: bool, connecting: boo show_onlineplayer.text = "连接中..." show_onlineplayer.modulate = Color.YELLOW elif connected: - show_onlineplayer.text = "在线:" + str(count) + " 人" + show_onlineplayer.text = "在线设备:" + str(count) show_onlineplayer.modulate = Color.GREEN else: show_onlineplayer.text = "离线" show_onlineplayer.modulate = Color.RED -# 显示玩家背包面板 -func _on_player_bag_button_pressed() -> void: - player_bag_panel.show() - pass +#===============================================获取在线人数处理=============================================== -#打开一键种植面板 -func _on_one_click_plant_button_pressed() -> void: - # 如果处于访问模式,不允许操作 - if is_visiting_mode: - Toast.show("访问模式下无法使用一键种植", Color.ORANGE) - return - - # 检查是否有网络连接 - if not network_manager.is_connected_to_server(): - Toast.show("未连接服务器,无法使用一键种植", Color.RED) - return - - # 显示一键种植面板 - one_click_plant_panel.show() - one_click_plant_panel.move_to_front() + +#====================================领取新手玩家礼包处理========================================= #新手玩家大礼包按钮点击,只能领取一次,领取后这个按钮对该账号永久隐藏 func _on_new_player_gift_button_pressed() -> void: # 检查网络连接 @@ -1518,6 +1999,8 @@ func _handle_new_player_gift_response(data): level = updated_data["level"] if updated_data.has("player_bag"): player_bag = updated_data["player_bag"] + # 修复背包数据兼容性问题 + _fix_player_bag_data() if updated_data.has("new_player_gift_claimed"): new_player_gift_claimed = updated_data["new_player_gift_claimed"] @@ -1543,3 +2026,626 @@ func _handle_new_player_gift_response(data): # 显示错误消息 Toast.show(message, Color.RED, 2.0, 1.0) + +#====================================领取新手玩家礼包处理========================================= + + + +#====================================一键截图处理========================================= +#一键截图按钮,隐藏所有UI,截图,然后保存在相应位置 +func _on_one_click_screen_shot_pressed() -> void: + # 保存当前UI状态 + var ui_state = _save_ui_visibility_state() + + # 隐藏所有UI + _hide_all_ui_for_screenshot() + + # 进行截图 + var success = await _take_and_save_screenshot() + + # 等待一帧 + await get_tree().create_timer(2).timeout + # 恢复UI显示 + _restore_ui_visibility_state(ui_state) + + # 显示截图结果 + if success: + Toast.show("截图保存成功!", Color.GREEN, 2.0, 1.0) + else: + Toast.show("截图保存失败!", Color.RED, 2.0, 1.0) + +# 保存当前UI可见性状态 +func _save_ui_visibility_state() -> Dictionary: + var state = {} + + # 保存主要UI容器状态 + state["game_info_h_box_1"] = game_info_h_box_1.visible + state["game_info_h_box_2"] = game_info_h_box_2.visible + state["farm_v_box"] = farm_v_box.visible + state["visit_v_box"] = visit_v_box.visible + state["other_v_box"] = other_v_box.visible + state["game_info_h_box_3"] = game_info_h_box_3.visible + + # 保存面板状态 + state["crop_store_panel"] = crop_store_panel.visible + state["player_bag_panel"] = player_bag_panel.visible + state["lucky_draw_panel"] = lucky_draw_panel.visible + state["daily_check_in_panel"] = daily_check_in_panel.visible + state["player_ranking_panel"] = player_ranking_panel.visible + state["one_click_plant_panel"] = one_click_plant_panel.visible + state["land_panel"] = land_panel.visible + state["accept_dialog"] = accept_dialog.visible + state["login_panel"] = login_panel.visible if login_panel else false + + return state + +# 隐藏所有UI用于截图 +func _hide_all_ui_for_screenshot(): + # 隐藏主要UI容器 + game_info_h_box_1.hide() + game_info_h_box_2.hide() + farm_v_box.hide() + visit_v_box.hide() + other_v_box.hide() + game_info_h_box_3.hide() + + # 隐藏所有面板 + crop_store_panel.hide() + player_bag_panel.hide() + lucky_draw_panel.hide() + daily_check_in_panel.hide() + player_ranking_panel.hide() + one_click_plant_panel.hide() + land_panel.hide() + accept_dialog.hide() + login_panel.hide() + +# 恢复UI可见性状态 +func _restore_ui_visibility_state(state: Dictionary): + # 恢复主要UI容器状态 + if state.get("game_info_h_box_1", false): + game_info_h_box_1.show() + if state.get("game_info_h_box_2", false): + game_info_h_box_2.show() + if state.get("farm_v_box", false): + farm_v_box.show() + if state.get("visit_v_box", false): + visit_v_box.show() + if state.get("other_v_box", false): + other_v_box.show() + + if state.get("game_info_h_box_3",false): + game_info_h_box_3.show() + + # 恢复面板状态 + if state.get("crop_store_panel", false): + crop_store_panel.show() + if state.get("player_bag_panel", false): + player_bag_panel.show() + if state.get("lucky_draw_panel", false): + lucky_draw_panel.show() + if state.get("daily_check_in_panel", false): + daily_check_in_panel.show() + if state.get("player_ranking_panel", false): + player_ranking_panel.show() + if state.get("one_click_plant_panel", false): + one_click_plant_panel.show() + if state.get("land_panel", false): + land_panel.show() + if state.get("accept_dialog", false): + accept_dialog.show() + if state.get("login_panel", false) and login_panel: + login_panel.show() + +# 截图并保存到合适的位置 +func _take_and_save_screenshot() -> bool: + # 获取当前视口 + var viewport = get_viewport() + if not viewport: + print("无法获取视口") + return false + + # 强制渲染一帧以确保所有效果都被应用 + RenderingServer.force_sync() + await get_tree().process_frame + + # 获取包含所有后处理效果的最终图像 + var image = await _capture_viewport_with_effects(viewport) + if not image: + print("无法获取视口图像") + return false + + # 生成文件名(包含时间戳) + var datetime = Time.get_datetime_dict_from_system() + var filename = "萌芽农场_%04d%02d%02d_%02d%02d%02d.png" % [ + datetime.year, datetime.month, datetime.day, + datetime.hour, datetime.minute, datetime.second + ] + + # 根据平台选择保存路径 + var save_path = _get_screenshot_save_path(filename) + + if save_path == "": + print("无法确定截图保存路径") + return false + + # 确保目录存在 + var dir_path = save_path.get_base_dir() + if not DirAccess.dir_exists_absolute(dir_path): + # 如果目录不存在,尝试创建 + var error = DirAccess.make_dir_recursive_absolute(dir_path) + if error != OK: + print("创建目录失败: ", dir_path, " 错误代码: ", error) + return false + + # 保存图像 + var error = image.save_png(save_path) + if error == OK: + print("截图已保存到: ", save_path) + return true + else: + print("保存截图失败,错误代码: ", error) + return false + +# 捕获包含所有视觉效果的视口图像 +func _capture_viewport_with_effects(viewport: Viewport) -> Image: + # 确保视口设置启用HDR和后处理效果 + var original_hdr = viewport.use_hdr_2d + var original_msaa = viewport.msaa_2d + + # 临时启用HDR和抗锯齿以获得更好的截图质量 + viewport.use_hdr_2d = true + viewport.msaa_2d = Viewport.MSAA_4X + + # 等待几帧让设置生效 + await get_tree().process_frame + await get_tree().process_frame + + # 获取图像 + var image = viewport.get_texture().get_image() + + # 恢复原始设置 + viewport.use_hdr_2d = original_hdr + viewport.msaa_2d = original_msaa + + return image + +# 根据平台获取截图保存路径 +func _get_screenshot_save_path(filename: String) -> String: + var platform = OS.get_name() + + match platform: + "Windows": + # Windows平台保存到桌面 + var desktop_path = OS.get_system_dir(OS.SYSTEM_DIR_DESKTOP) + if desktop_path != "": + return desktop_path + "/" + filename + else: + # 如果获取桌面路径失败,使用用户文档目录 + var documents_path = OS.get_system_dir(OS.SYSTEM_DIR_DOCUMENTS) + return documents_path + "/萌芽农场截图/" + filename + + "Android": + # Android平台保存到Pictures目录 + var pictures_path = OS.get_system_dir(OS.SYSTEM_DIR_PICTURES) + if pictures_path != "": + return pictures_path + "/萌芽农场/" + filename + else: + # 如果获取Pictures目录失败,使用Downloads目录 + var downloads_path = OS.get_system_dir(OS.SYSTEM_DIR_DOWNLOADS) + return downloads_path + "/萌芽农场截图/" + filename + + "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD": + # Linux/BSD平台优先保存到Pictures,其次是桌面 + var pictures_path = OS.get_system_dir(OS.SYSTEM_DIR_PICTURES) + if pictures_path != "": + return pictures_path + "/萌芽农场/" + filename + else: + var desktop_path = OS.get_system_dir(OS.SYSTEM_DIR_DESKTOP) + if desktop_path != "": + return desktop_path + "/" + filename + else: + # 最后选择用户主目录 + return OS.get_environment("HOME") + "/萌芽农场截图/" + filename + + "macOS": + # macOS平台优先保存到桌面 + var desktop_path = OS.get_system_dir(OS.SYSTEM_DIR_DESKTOP) + if desktop_path != "": + return desktop_path + "/" + filename + else: + # 如果获取桌面路径失败,使用Pictures目录 + var pictures_path = OS.get_system_dir(OS.SYSTEM_DIR_PICTURES) + return pictures_path + "/萌芽农场/" + filename + + "iOS": + # iOS平台保存到Documents目录 + var documents_path = OS.get_system_dir(OS.SYSTEM_DIR_DOCUMENTS) + return documents_path + "/萌芽农场截图/" + filename + + _: + # 其他平台默认保存到用户目录 + var documents_path = OS.get_system_dir(OS.SYSTEM_DIR_DOCUMENTS) + if documents_path != "": + return documents_path + "/萌芽农场截图/" + filename + else: + # 最后使用game的用户数据目录 + return OS.get_user_data_dir() + "/screenshots/" + filename +#====================================一键截图处理========================================= + + + +#====================================在线礼包处理========================================= +#在线礼包,在线时间越久,越丰富,默认 1分钟 10分钟 30分钟 1小时 3小时 5小时 每天刷新 +func _on_online_gift_button_pressed() -> void: + # 每次打开面板时都请求最新的在线数据 + if online_gift_panel and online_gift_panel.has_method("show_panel_and_request_data"): + online_gift_panel.show_panel_and_request_data() + else: + online_gift_panel.show() + online_gift_panel.move_to_front() + +# 处理在线礼包数据响应 +func _handle_online_gift_data_response(data: Dictionary): + if online_gift_panel and online_gift_panel.has_method("handle_online_gift_data_response"): + online_gift_panel.handle_online_gift_data_response(data) + +# 处理领取在线礼包响应 +func _handle_claim_online_gift_response(data: Dictionary): + var success = data.get("success", false) + var updated_data = data.get("updated_data", {}) + + if success: + # 更新玩家数据 + if updated_data.has("money"): + money = updated_data["money"] + if updated_data.has("experience"): + experience = updated_data["experience"] + if updated_data.has("level"): + level = updated_data["level"] + if updated_data.has("player_bag"): + player_bag = updated_data["player_bag"] + # 修复背包数据兼容性问题 + _fix_player_bag_data() + + # 更新UI + _update_ui() + player_bag_panel.update_player_bag_ui() + + # 将响应传递给在线礼包面板处理UI更新 + if online_gift_panel and online_gift_panel.has_method("handle_claim_online_gift_response"): + online_gift_panel.handle_claim_online_gift_response(data) +#====================================在线礼包处理========================================= + + + +#====================================账户设置处理========================================= +# 处理账户设置响应 +func _handle_account_setting_response(data: Dictionary): + # 如果是刷新玩家信息响应,需要同步更新主游戏的数据 + if data.get("type") == "refresh_player_info_response" and data.get("success", false): + if data.has("account_info"): + var account_info = data["account_info"] + + # 只更新账户相关信息,不影响农场和背包数据 + if account_info.has("user_password"): + user_password = account_info["user_password"] + if account_info.has("farm_name"): + show_farm_name.text = "农场名称:" + account_info.get("farm_name", "") + if account_info.has("player_name"): + show_player_name.text = "玩家昵称:" + account_info.get("player_name", "") + + # 更新基本游戏状态显示 + if account_info.has("experience"): + experience = account_info.get("experience", 0) + if account_info.has("level"): + level = account_info.get("level", 1) + if account_info.has("money"): + money = account_info.get("money", 0) + + # 同步更新login_data和data中的账户信息 + if login_data.size() > 0: + login_data["user_password"] = account_info.get("user_password", "") + login_data["player_name"] = account_info.get("player_name", "") + login_data["farm_name"] = account_info.get("farm_name", "") + login_data["个人简介"] = account_info.get("个人简介", "") + + if data.size() > 0: + data["user_password"] = account_info.get("user_password", "") + data["player_name"] = account_info.get("player_name", "") + data["farm_name"] = account_info.get("farm_name", "") + data["个人简介"] = account_info.get("个人简介", "") + + # 更新UI显示 + _update_ui() + + # 将响应传递给账户设置面板 + if account_setting_panel and account_setting_panel.has_method("handle_account_response"): + account_setting_panel.handle_account_response(data) + +# 显示消息提示 +func show_message(message: String, color: Color): + # 使用Toast显示消息 + Toast.show(message, color) + +#打开账户设置面板 +func _on_account_setting_button_pressed() -> void: + account_setting_panel.show() + GlobalVariables.isZoomDisabled = true + account_setting_panel._refresh_player_info() + pass +#====================================账户设置处理========================================= + + + +#===============================================道具使用处理=============================================== +# 在地块上使用道具 +func _use_item_on_lot(lot_index: int, item_name: String): + Toast.show("正在使用道具: " + item_name, Color.CYAN, 2.0, 1.0) + + # 检查地块索引是否有效 + if lot_index < 0 or lot_index >= farm_lots.size(): + Toast.show("无效的地块索引", Color.RED, 2.0, 1.0) + return + + # 检查是否处于访问模式 + if is_visiting_mode: + Toast.show("访问模式下无法使用道具", Color.ORANGE, 2.0, 1.0) + return + + var lot = farm_lots[lot_index] + + # 根据道具类型执行不同的逻辑 + match item_name: + "农家肥", "金坷垃", "生长素": + print("调试:识别为施肥类道具") + _use_fertilizer_item(lot_index, item_name, lot) + "水壶", "水桶": + print("调试:识别为浇水类道具") + _use_watering_item(lot_index, item_name, lot) + "铲子": + print("调试:识别为铲除类道具") + _use_removal_item(lot_index, item_name, lot) + "除草剂": + print("调试:识别为铲除类道具") + _use_weed_killer_item(lot_index, item_name, lot) + "精准采集锄", "时运锄": + print("调试:识别为收获类道具") + _use_harvest_item(lot_index, item_name, lot) + _: + print("错误:未识别的道具类型: ", item_name) + Toast.show("该道具暂未实现使用功能: " + item_name, Color.YELLOW, 2.0, 1.0) + +# 使用施肥类道具 +func _use_fertilizer_item(lot_index: int, item_name: String, lot: Dictionary): + + # 检查地块是否已开垦且已种植 + if not lot.get("is_diged", false): + Toast.show("此地块尚未开垦,无法施肥", Color.ORANGE, 2.0, 1.0) + return + + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物,无法施肥", Color.ORANGE, 2.0, 1.0) + return + + # 检查作物是否已死亡 + if lot.get("is_dead", false): + Toast.show("作物已死亡,无法施肥", Color.ORANGE, 2.0, 1.0) + return + + # 检查作物是否已成熟 + var grow_time = float(lot.get("grow_time", 0)) + var max_grow_time = float(lot.get("max_grow_time", 1)) + print("调试:作物生长时间: ", grow_time, "/", max_grow_time) + if grow_time >= max_grow_time: + Toast.show("作物已成熟,无需施肥", Color.ORANGE, 2.0, 1.0) + return + + # 检查是否已经施过肥 + if lot.get("已施肥", false): + Toast.show("此作物已经施过肥了", Color.ORANGE, 2.0, 1.0) + return + + # 检查玩家是否有这个道具 + if not _has_item_in_bag(item_name): + Toast.show("您没有 " + item_name, Color.RED, 2.0, 1.0) + return + + # 发送使用道具请求到服务器 + var target_username = "" + if is_visiting_mode: + target_username = visited_player_data.get("user_name", "") + + + if network_manager and network_manager.has_method("sendUseItem"): + if network_manager.sendUseItem(lot_index, item_name, "fertilize", target_username): + # 取消道具选择状态 + _clear_item_selection() + var action_text = "帮助施肥" if is_visiting_mode else "施肥" + Toast.show("正在使用 " + item_name + " " + action_text + "...", Color.CYAN, 2.0, 1.0) + else: + Toast.show("发送使用道具请求失败", Color.RED, 2.0, 1.0) + else: + Toast.show("网络未连接,无法使用道具", Color.RED, 2.0, 1.0) + +# 使用浇水类道具 +func _use_watering_item(lot_index: int, item_name: String, lot: Dictionary): + # 检查地块是否已开垦且已种植 + if not lot.get("is_diged", false): + Toast.show("此地块尚未开垦,无法浇水", Color.ORANGE, 2.0, 1.0) + return + + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物,无法浇水", Color.ORANGE, 2.0, 1.0) + return + + # 检查作物是否已死亡 + if lot.get("is_dead", false): + Toast.show("作物已死亡,无法浇水", Color.ORANGE, 2.0, 1.0) + return + + # 检查作物是否已成熟 + var grow_time = float(lot.get("grow_time", 0)) + var max_grow_time = float(lot.get("max_grow_time", 1)) + if grow_time >= max_grow_time: + Toast.show("作物已成熟,无需浇水", Color.ORANGE, 2.0, 1.0) + return + + # 检查玩家是否有这个道具 + if not _has_item_in_bag(item_name): + Toast.show("您没有 " + item_name, Color.RED, 2.0, 1.0) + return + + # 发送使用道具请求到服务器 + var target_username = "" + if is_visiting_mode: + target_username = visited_player_data.get("user_name", "") + + if network_manager and network_manager.has_method("sendUseItem"): + if network_manager.sendUseItem(lot_index, item_name, "water", target_username): + # 取消道具选择状态 + _clear_item_selection() + var action_text = "帮助浇水" if is_visiting_mode else "浇水" + Toast.show("正在使用 " + item_name + " " + action_text + "...", Color.CYAN, 2.0, 1.0) + else: + Toast.show("发送使用道具请求失败", Color.RED, 2.0, 1.0) + else: + Toast.show("网络未连接,无法使用道具", Color.RED, 2.0, 1.0) + +# 检查玩家是否拥有指定道具 +func _has_item_in_bag(item_name: String) -> bool: + for item in item_bag: + if item.get("name", "") == item_name and item.get("count", 0) > 0: + return true + return false + +# 使用铲除类道具(铲子) +func _use_removal_item(lot_index: int, item_name: String, lot: Dictionary): + # 检查地块是否已开垦 + if not lot.get("is_diged", false): + Toast.show("此地块尚未开垦,无法使用铲子", Color.ORANGE, 2.0, 1.0) + return + + # 检查地块是否有作物 + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物,无法铲除", Color.ORANGE, 2.0, 1.0) + return + + # 检查玩家是否有这个道具 + if not _has_item_in_bag(item_name): + Toast.show("您没有 " + item_name, Color.RED, 2.0, 1.0) + return + + # 发送使用道具请求到服务器 + var target_username = "" + if is_visiting_mode: + target_username = visited_player_data.get("user_name", "") + + if network_manager and network_manager.has_method("sendUseItem"): + if network_manager.sendUseItem(lot_index, item_name, "remove", target_username): + # 取消道具选择状态 + _clear_item_selection() + var action_text = "帮助铲除" if is_visiting_mode else "铲除" + Toast.show("正在使用 " + item_name + " " + action_text + "作物...", Color.CYAN, 2.0, 1.0) + else: + Toast.show("发送使用道具请求失败", Color.RED, 2.0, 1.0) + else: + Toast.show("网络未连接,无法使用道具", Color.RED, 2.0, 1.0) + +# 使用除草剂 +func _use_weed_killer_item(lot_index: int, item_name: String, lot: Dictionary): + # 检查地块是否已开垦 + if not lot.get("is_diged", false): + Toast.show("此地块尚未开垦,无法使用除草剂", Color.ORANGE, 2.0, 1.0) + return + + # 检查地块是否有作物 + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物,无法除草", Color.ORANGE, 2.0, 1.0) + return + + # 检查是否为杂草 + var crop_type = lot.get("crop_type", "") + var is_weed = false + if can_planted_crop.has(crop_type): + is_weed = can_planted_crop[crop_type].get("是否杂草", false) + + if not is_weed: + Toast.show("除草剂只能用于清除杂草,此作物不是杂草", Color.ORANGE, 2.0, 1.0) + return + + # 检查玩家是否有这个道具 + if not _has_item_in_bag(item_name): + Toast.show("您没有 " + item_name, Color.RED, 2.0, 1.0) + return + + # 发送使用道具请求到服务器 + var target_username = "" + if is_visiting_mode: + target_username = visited_player_data.get("user_name", "") + + if network_manager and network_manager.has_method("sendUseItem"): + if network_manager.sendUseItem(lot_index, item_name, "weed_killer", target_username): + # 取消道具选择状态 + _clear_item_selection() + var action_text = "帮助除草" if is_visiting_mode else "除草" + Toast.show("正在使用 " + item_name + " " + action_text + "...", Color.CYAN, 2.0, 1.0) + else: + Toast.show("发送使用道具请求失败", Color.RED, 2.0, 1.0) + else: + Toast.show("网络未连接,无法使用道具", Color.RED, 2.0, 1.0) + +# 使用采集道具(精准采集锄、时运锄) +func _use_harvest_item(lot_index: int, item_name: String, lot: Dictionary): + # 检查地块是否已开垦 + if not lot.get("is_diged", false): + Toast.show("此地块尚未开垦,无法使用采集道具", Color.ORANGE, 2.0, 1.0) + return + + # 检查地块是否有作物 + if not lot.get("is_planted", false) or lot.get("crop_type", "") == "": + Toast.show("此地块没有种植作物,无法收获", Color.ORANGE, 2.0, 1.0) + return + + # 检查作物是否已成熟 + var grow_time = float(lot.get("grow_time", 0)) + var max_grow_time = float(lot.get("max_grow_time", 1)) + if grow_time < max_grow_time: + Toast.show("作物还未成熟,无法使用采集道具", Color.ORANGE, 2.0, 1.0) + return + + # 检查作物是否已死亡 + if lot.get("is_dead", false): + Toast.show("作物已死亡,无法收获", Color.ORANGE, 2.0, 1.0) + return + + # 检查玩家是否有这个道具 + if not _has_item_in_bag(item_name): + Toast.show("您没有 " + item_name, Color.RED, 2.0, 1.0) + return + + # 发送使用道具请求到服务器 + var target_username = "" + if is_visiting_mode: + target_username = visited_player_data.get("user_name", "") + + if network_manager and network_manager.has_method("sendUseItem"): + if network_manager.sendUseItem(lot_index, item_name, "harvest", target_username): + # 取消道具选择状态 + _clear_item_selection() + var action_text = "帮助收获" if is_visiting_mode else "收获" + Toast.show("正在使用 " + item_name + " " + action_text + "作物...", Color.CYAN, 2.0, 1.0) + else: + Toast.show("发送使用道具请求失败", Color.RED, 2.0, 1.0) + else: + Toast.show("网络未连接,无法使用道具", Color.RED, 2.0, 1.0) + +# 清除道具选择状态 +func _clear_item_selection(): + selected_item_name = "" + is_item_selected = false + + # 通知道具背包面板取消选择 + if item_bag_panel and item_bag_panel.has_method("_deselect_item"): + item_bag_panel._deselect_item() +#===============================================道具使用处理=============================================== diff --git a/MainGame.tscn b/MainGame.tscn index 654852e..f5effee 100644 --- a/MainGame.tscn +++ b/MainGame.tscn @@ -1,43 +1,90 @@ -[gd_scene load_steps=40 format=3 uid="uid://dgh61dttaas5a"] +[gd_scene load_steps=42 format=3 uid="uid://dgh61dttaas5a"] [ext_resource type="Script" uid="uid://2pt11sfcaxf7" path="res://MainGame.gd" id="1_v3yaj"] -[ext_resource type="Texture2D" uid="uid://b4wi8yusmbbu8" path="res://assets/GUI/玩家昵称.png" id="2_ma1re"] -[ext_resource type="Script" uid="uid://cka0r4g8tbf0" path="res://GUI/login_panel.gd" id="2_mi4js"] -[ext_resource type="Texture2D" uid="uid://clvhlo0mc3e7v" path="res://assets/GUI/农场名称.png" id="3_28psf"] -[ext_resource type="Script" uid="uid://bljtkxil64h14" path="res://GUI/land_panel.gd" id="3_401ut"] +[ext_resource type="Texture2D" uid="uid://du2pyiojliasy" path="res://assets/游戏UI/经验球.webp" id="2_6jgly"] [ext_resource type="PackedScene" uid="uid://bkivlkirrx6u8" path="res://CopyItems/crop_item.tscn" id="3_isiom"] -[ext_resource type="PackedScene" uid="uid://2m54c0f1ejir" path="res://CopyItems/green_crop.tscn" id="3_o8l48"] -[ext_resource type="Script" uid="uid://mtfp0ct42nrx" path="res://GUI/crop_store_panel.gd" id="3_qtrx8"] -[ext_resource type="Texture2D" uid="uid://cwloibftcmp76" path="res://assets/GUI/经验球.png" id="4_a6adi"] -[ext_resource type="Script" uid="uid://cgr332wsx63a8" path="res://GUI/player_bag_panel.gd" id="4_led80"] -[ext_resource type="Script" uid="uid://fk4q3x6uqydd" path="res://GUI/player_ranking_panel.gd" id="4_yphxy"] -[ext_resource type="PackedScene" uid="uid://cm1e72lhd7j7v" path="res://CopyItems/black_blue_crop.tscn" id="5_o8l48"] -[ext_resource type="Texture2D" uid="uid://c87kujyuxnx2s" path="res://assets/GUI/等级.png" id="5_va67g"] -[ext_resource type="PackedScene" uid="uid://crd28qnymob7" path="res://GUI/player_ranking_item.tscn" id="5_yphxy"] -[ext_resource type="PackedScene" uid="uid://forqk66f354p" path="res://CopyItems/orange_crop.tscn" id="6_0v7qb"] -[ext_resource type="Texture2D" uid="uid://c6i00d35fnl12" path="res://assets/GUI/钱币.png" id="6_t0yo1"] -[ext_resource type="Texture2D" uid="uid://mkqcp7mn2b0o" path="res://assets/GUI/点赞图标.png" id="6_uc6q1"] -[ext_resource type="Texture2D" uid="uid://ckqy5yq2ltax6" path="res://assets/GUI/小提示.png" id="7_6brkw"] +[ext_resource type="Script" uid="uid://mtfp0ct42nrx" path="res://GUI/CropStorePanel.gd" id="3_qtrx8"] +[ext_resource type="Texture2D" uid="uid://ftv231igtdoq" path="res://assets/游戏UI/等级.webp" id="3_y1hsh"] +[ext_resource type="Script" uid="uid://cgr332wsx63a8" path="res://GUI/PlayerBagPanel.gd" id="4_led80"] +[ext_resource type="Texture2D" uid="uid://bqib5y8uwg6hx" path="res://assets/游戏UI/钱币.webp" id="4_ql8k3"] +[ext_resource type="Script" uid="uid://fk4q3x6uqydd" path="res://GUI/PlayerRankingPanel.gd" id="4_yphxy"] +[ext_resource type="Texture2D" uid="uid://waqbwo2r33j3" path="res://assets/游戏UI/小提示.webp" id="5_5b81d"] +[ext_resource type="Texture2D" uid="uid://bnhyqsw8yjekh" path="res://assets/游戏UI/体力值图标.webp" id="5_n03md"] +[ext_resource type="PackedScene" uid="uid://crd28qnymob7" path="res://GUI/PlayerRankingItem.tscn" id="5_yphxy"] +[ext_resource type="Texture2D" uid="uid://cj0qac0wmm0q8" path="res://assets/游戏UI/点赞图标.webp" id="6_8kysg"] [ext_resource type="PackedScene" uid="uid://cpxiaqh0y6a5d" path="res://Network/TCPNetworkManager.tscn" id="7_401ut"] -[ext_resource type="PackedScene" uid="uid://cmdoymcviv0ai" path="res://CopyItems/pink_crop.tscn" id="7_qtrx8"] -[ext_resource type="Texture2D" uid="uid://by5qcip8tel1f" path="res://assets/GUI/服务器连接状态.png" id="8_cgwad"] -[ext_resource type="PackedScene" uid="uid://d3ve4qeggsdqy" path="res://CopyItems/red_crop.tscn" id="8_led80"] -[ext_resource type="PackedScene" uid="uid://dagh3u5med30i" path="res://CopyItems/white_blue_crop.tscn" id="9_mi4js"] -[ext_resource type="Script" uid="uid://c7bxje0wvvgo4" path="res://game_camera.gd" id="10_o8l48"] -[ext_resource type="Texture2D" uid="uid://bky1j7qmbnmlx" path="res://assets/GUI/玩家数图标.png" id="10_vygm6"] -[ext_resource type="Texture2D" uid="uid://dr5gdk5ol2wbs" path="res://assets/土地面板图标/种植图标.png" id="12_n03md"] -[ext_resource type="Texture2D" uid="uid://dpcxeffaqb7ui" path="res://assets/土地面板图标/开垦图标4.png" id="13_uc6q1"] -[ext_resource type="Texture2D" uid="uid://d2gty44ikvair" path="res://assets/土地面板图标/铲除图标3.png" id="13_uhubb"] -[ext_resource type="Texture2D" uid="uid://dqwfcpv8orlm7" path="res://assets/土地面板图标/收获图标2.png" id="14_uc6q1"] -[ext_resource type="Texture2D" uid="uid://ba8ptjai2x5h7" path="res://assets/土地面板图标/浇水图标3.png" id="15_vygm6"] +[ext_resource type="Texture2D" uid="uid://d3pev0nbt8sjd" path="res://assets/游戏UI/玩家昵称.webp" id="7_n03md"] +[ext_resource type="Texture2D" uid="uid://cxm72d5t4dn0q" path="res://assets/游戏UI/农场名称.webp" id="8_uhubb"] +[ext_resource type="Texture2D" uid="uid://b665dc0ye72lg" path="res://assets/游戏UI/服务器连接状态.webp" id="9_uc6q1"] +[ext_resource type="Script" uid="uid://c7bxje0wvvgo4" path="res://GameCamera2D.gd" id="10_o8l48"] +[ext_resource type="Texture2D" uid="uid://dsuaw8kcdtrst" path="res://assets/游戏UI/FPS图标.webp" id="10_uhubb"] +[ext_resource type="Texture2D" uid="uid://bso5fyjavdien" path="res://assets/游戏UI/玩家数图标.webp" id="10_vygm6"] +[ext_resource type="PackedScene" uid="uid://cbhitturvihqj" path="res://GUI/loginPanel.tscn" id="11_6jgly"] +[ext_resource type="PackedScene" uid="uid://dckc8nrn7p425" path="res://GUI/LandPanel.tscn" id="12_y1hsh"] +[ext_resource type="Script" uid="uid://ccaqrb6sdwbux" path="res://GUI/OnlineGiftPanel.gd" id="13_y1hsh"] [ext_resource type="PackedScene" uid="uid://btp1h6hic2sin" path="res://GUI/AcceptDialog.tscn" id="16_0igvr"] -[ext_resource type="Texture2D" uid="uid://2ul8g4qf1lif" path="res://assets/土地面板图标/施肥图标.png" id="16_2e153"] [ext_resource type="Script" uid="uid://dckw8dskfbnkp" path="res://background.gd" id="17_0igvr"] [ext_resource type="PackedScene" uid="uid://bndf1e4sgdjr6" path="res://GUI/LuckyDrawPanel.tscn" id="17_f21le"] +[ext_resource type="Script" uid="uid://bruqwi63myl1m" path="res://GUI/ItemStorePanel.gd" id="17_vygm6"] [ext_resource type="PackedScene" uid="uid://smypui0vyso5" path="res://GUI/DailyCheckInPanel.tscn" id="18_m6fch"] [ext_resource type="Script" uid="uid://rlk8e51pibtm" path="res://GUI/OneClickPlantPanel.gd" id="18_n03md"] -[ext_resource type="Texture2D" uid="uid://dg4o3wv1j0fx" path="res://assets/土地面板图标/升级图标2.png" id="19_uc6q1"] +[ext_resource type="Script" uid="uid://ptdj0qmobihd" path="res://GUI/CropWarehousePanel.gd" id="20_uc6q1"] +[ext_resource type="Script" uid="uid://b701r833vse3u" path="res://GUI/ItemBagPanel.gd" id="22_2e153"] +[ext_resource type="Texture2D" uid="uid://dsln1w1aqgf1k" path="res://assets/游戏UI/玩家默认头像.webp" id="23_5b81d"] +[ext_resource type="Script" uid="uid://dinrduqwsf5k5" path="res://GUI/AccountSettingPanel.gd" id="23_8kysg"] +[ext_resource type="Script" uid="uid://0d2j5m6j2ema" path="res://Components/HTTPTextureRect.gd" id="24_8kysg"] [ext_resource type="Script" uid="uid://ca2chgx5w3g1y" path="res://Components/GameBGMPlayer.gd" id="28_m6fch"] +[ext_resource type="PackedScene" uid="uid://ibl5wbbw3pwc" path="res://CopyItems/item_button.tscn" id="39_cdkxt"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8kysg"] +border_width_left = 5 +border_width_top = 5 +border_width_right = 5 +border_width_bottom = 5 +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 +corner_detail = 5 +shadow_size = 20 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uc6q1"] +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 +corner_detail = 20 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_n03md"] +border_width_left = 5 +border_width_top = 5 +border_width_right = 5 +border_width_bottom = 5 +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 +corner_detail = 20 +shadow_size = 20 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_y1hsh"] +border_color = Color(2.98411e-06, 0.95982, 0.386903, 1) +border_blend = true +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 +corner_detail = 20 +shadow_size = 20 +shadow_offset = Vector2(10, 10) +anti_aliasing = false +anti_aliasing_size = 5.0 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uhubb"] +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 [sub_resource type="Environment" id="Environment_m6fch"] background_mode = 3 @@ -57,121 +104,165 @@ anchors_preset = 0 [node name="GameInfoHBox1" type="HBoxContainer" parent="UI/GUI"] layout_mode = 0 -offset_right = 243143.0 +offset_right = 1400.0 offset_bottom = 35.0 [node name="experience_image" type="TextureRect" parent="UI/GUI/GameInfoHBox1"] +self_modulate = Color(0.498039, 1, 0, 1) layout_mode = 2 -texture = ExtResource("4_a6adi") +texture = ExtResource("2_6jgly") expand_mode = 2 [node name="experience" type="Label" parent="UI/GUI/GameInfoHBox1"] modulate = Color(0, 1, 0, 1) layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "经验:999" [node name="level_image" type="TextureRect" parent="UI/GUI/GameInfoHBox1"] layout_mode = 2 -texture = ExtResource("5_va67g") +texture = ExtResource("3_y1hsh") expand_mode = 2 [node name="level" type="Label" parent="UI/GUI/GameInfoHBox1"] modulate = Color(0, 1, 1, 1) layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0.372549, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "等级:100" [node name="money_image" type="TextureRect" parent="UI/GUI/GameInfoHBox1"] layout_mode = 2 -texture = ExtResource("6_t0yo1") +texture = ExtResource("4_ql8k3") expand_mode = 2 [node name="money" type="Label" parent="UI/GUI/GameInfoHBox1"] modulate = Color(1, 1, 0, 1) layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0.372549, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "钱币:999" [node name="hungervalue_image" type="TextureRect" parent="UI/GUI/GameInfoHBox1"] layout_mode = 2 -texture = ExtResource("6_t0yo1") +texture = ExtResource("5_n03md") expand_mode = 2 [node name="hunger_value" type="Label" parent="UI/GUI/GameInfoHBox1"] modulate = Color(0.88617, 0.748355, 0.764238, 1) layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0.372549, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "体力值:20" -[node name="tip_image" type="TextureRect" parent="UI/GUI/GameInfoHBox1"] -layout_mode = 2 -texture = ExtResource("7_6brkw") -expand_mode = 2 - -[node name="tip" type="Label" parent="UI/GUI/GameInfoHBox1"] -layout_mode = 2 -theme_override_colors/font_color = Color(1, 0, 1, 1) -theme_override_font_sizes/font_size = 25 -text = "游戏小提示" - [node name="like_image" type="TextureRect" parent="UI/GUI/GameInfoHBox1"] layout_mode = 2 -texture = ExtResource("6_uc6q1") +texture = ExtResource("6_8kysg") expand_mode = 2 [node name="like" type="Label" parent="UI/GUI/GameInfoHBox1"] layout_mode = 2 theme_override_colors/font_color = Color(0.992157, 0.482353, 0.482353, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0.372549, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "点赞数:0" [node name="GameInfoHBox2" type="HBoxContainer" parent="UI/GUI"] layout_mode = 0 -offset_top = 42.0 +offset_top = 35.0 offset_right = 1400.0 -offset_bottom = 77.0 +offset_bottom = 70.0 [node name="player_name_image" type="TextureRect" parent="UI/GUI/GameInfoHBox2"] layout_mode = 2 -texture = ExtResource("2_ma1re") +texture = ExtResource("7_n03md") expand_mode = 2 [node name="player_name" type="Label" parent="UI/GUI/GameInfoHBox2"] modulate = Color(1, 0.670588, 0.490196, 1) layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "玩家昵称:树萌芽" [node name="farm_name_image" type="TextureRect" parent="UI/GUI/GameInfoHBox2"] layout_mode = 2 -texture = ExtResource("3_28psf") +texture = ExtResource("8_uhubb") expand_mode = 3 [node name="farm_name" type="Label" parent="UI/GUI/GameInfoHBox2"] modulate = Color(1, 0.858824, 0.623529, 1) layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "农场名称:树萌芽的农场" [node name="status_label_image" type="TextureRect" parent="UI/GUI/GameInfoHBox2"] layout_mode = 2 -texture = ExtResource("8_cgwad") +texture = ExtResource("9_uc6q1") expand_mode = 2 [node name="StatusLabel" type="Label" parent="UI/GUI/GameInfoHBox2"] layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "服务器状态:正在检测中" [node name="FPS_image" type="TextureRect" parent="UI/GUI/GameInfoHBox2"] layout_mode = 2 -texture = ExtResource("7_6brkw") +texture = ExtResource("10_uhubb") expand_mode = 2 [node name="FPS" type="Label" parent="UI/GUI/GameInfoHBox2"] layout_mode = 2 theme_override_colors/font_color = Color(0.68755, 0.948041, 0, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "FPS:0" @@ -183,23 +274,76 @@ expand_mode = 2 [node name="onlineplayer" type="Label" parent="UI/GUI/GameInfoHBox2"] layout_mode = 2 theme_override_colors/font_color = Color(0.423529, 1, 0.533333, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 25 text = "检测中..." +[node name="GameInfoHBox3" type="HBoxContainer" parent="UI/GUI"] +layout_mode = 0 +offset_top = 70.0 +offset_right = 1400.0 +offset_bottom = 105.0 + +[node name="tip_image" type="TextureRect" parent="UI/GUI/GameInfoHBox3"] +layout_mode = 2 +texture = ExtResource("5_5b81d") +expand_mode = 2 + +[node name="tip" type="Label" parent="UI/GUI/GameInfoHBox3"] +layout_mode = 2 +theme_override_colors/font_color = Color(1, 0.564706, 1, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 +theme_override_font_sizes/font_size = 25 +text = "游戏小提示" + [node name="FarmVBox" type="VBoxContainer" parent="UI/GUI"] layout_mode = 0 -offset_left = 2.0 -offset_top = 454.0 -offset_right = 250.0 -offset_bottom = 785.0 +offset_left = 4.0 +offset_top = 263.0 +offset_right = 252.0 +offset_bottom = 795.0 scale = Vector2(0.8, 0.8) alignment = 2 -[node name="PlayerBagButton" type="Button" parent="UI/GUI/FarmVBox"] -modulate = Color(0.639216, 0.772549, 0.219608, 1) +[node name="SeedStoreButton" type="Button" parent="UI/GUI/FarmVBox"] +modulate = Color(1, 0.564706, 0.647059, 1) layout_mode = 2 theme_override_font_sizes/font_size = 40 -text = "玩家背包" +text = "种子商店" + +[node name="SeedWarehouseButton" type="Button" parent="UI/GUI/FarmVBox"] +modulate = Color(1, 0.772549, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "种子仓库" + +[node name="CropWarehouseButton" type="Button" parent="UI/GUI/FarmVBox"] +modulate = Color(1, 0.772549, 0.219608, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "作物仓库" + +[node name="ItemStoreButton" type="Button" parent="UI/GUI/FarmVBox"] +modulate = Color(0.231373, 0.772549, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "道具商店" + +[node name="ItemBagButton" type="Button" parent="UI/GUI/FarmVBox"] +modulate = Color(0.639216, 0.984314, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "道具背包" [node name="OneClickHarvestButton" type="Button" parent="UI/GUI/FarmVBox"] modulate = Color(0.841258, 0.700703, 0.325362, 1) @@ -219,18 +363,12 @@ layout_mode = 2 theme_override_font_sizes/font_size = 40 text = "添加新土地" -[node name="OpenStoreButton" type="Button" parent="UI/GUI/FarmVBox"] -modulate = Color(1, 0.564706, 0.647059, 1) -layout_mode = 2 -theme_override_font_sizes/font_size = 40 -text = "种子商店" - [node name="VisitVBox" type="VBoxContainer" parent="UI/GUI"] layout_mode = 0 -offset_left = 4.00002 -offset_top = 77.0001 +offset_left = 4.0 +offset_top = 115.0 offset_right = 252.0 -offset_bottom = 207.0 +offset_bottom = 245.0 scale = Vector2(0.8, 0.8) alignment = 2 @@ -255,18 +393,29 @@ offset_bottom = 408.0 scale = Vector2(0.8, 0.8) alignment = 2 +[node name="AccountSettingButton" type="Button" parent="UI/GUI/OtherVBox"] +modulate = Color(0.843137, 0.772549, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "账户设置" + +[node name="OnlineGiftButton" type="Button" parent="UI/GUI/OtherVBox"] +modulate = Color(1, 0.615686, 0.447059, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "在线礼包" + [node name="NewPlayerGiftButton" type="Button" parent="UI/GUI/OtherVBox"] modulate = Color(1, 1, 0.447059, 1) layout_mode = 2 theme_override_font_sizes/font_size = 40 text = "新手礼包" -[node name="SettingButton" type="Button" parent="UI/GUI/OtherVBox"] -visible = false -modulate = Color(0.345098, 0.764706, 1, 1) +[node name="OneClickScreenShot" type="Button" parent="UI/GUI/OtherVBox"] +modulate = Color(0.407843, 0.796078, 0.996078, 1) layout_mode = 2 theme_override_font_sizes/font_size = 40 -text = "设置" +text = "一键截图" [node name="LuckyDrawButton" type="Button" parent="UI/GUI/OtherVBox"] modulate = Color(0.729412, 0.764706, 1, 1) @@ -292,6 +441,27 @@ layout_mode = 2 theme_override_font_sizes/font_size = 40 text = "返回主菜单" +[node name="SmallGameButton" type="Button" parent="UI/GUI/OtherVBox"] +visible = false +modulate = Color(0.513726, 0.615686, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "游玩小游戏" + +[node name="SettingButton" type="Button" parent="UI/GUI/OtherVBox"] +visible = false +modulate = Color(0.345098, 0.764706, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "设置" + +[node name="WisdomTreeButton" type="Button" parent="UI/GUI/OtherVBox"] +visible = false +modulate = Color(0.345098, 0.764706, 0.611765, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "智慧树" + [node name="MyPetButton" type="Button" parent="UI/GUI/OtherVBox"] visible = false modulate = Color(0.992157, 0.482353, 0.870588, 1) @@ -304,174 +474,26 @@ visible = false modulate = Color(0.937381, 0.612088, 0.36654, 1) layout_mode = 2 theme_override_font_sizes/font_size = 40 -text = "我的稻草人" +text = "稻草人" -[node name="LoginPanel" type="PanelContainer" parent="UI"] -offset_left = 486.0 -offset_top = 143.0 -offset_right = 989.0 -offset_bottom = 616.0 -script = ExtResource("2_mi4js") +[node name="LoginPanel" parent="UI" instance=ExtResource("11_6jgly")] -[node name="VBox" type="VBoxContainer" parent="UI/LoginPanel"] -layout_mode = 2 +[node name="LandPanel" parent="UI" instance=ExtResource("12_y1hsh")] +visible = false +offset_left = 454.0 +offset_top = 77.0 +offset_right = 970.0 +offset_bottom = 548.0 -[node name="Title" type="Label" parent="UI/LoginPanel/VBox"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -text = "登录/注册面板" -horizontal_alignment = 1 -vertical_alignment = 1 +[node name="OnlineGiftPanel" type="Panel" parent="UI"] +visible = false +offset_left = 449.0 +offset_top = 77.0 +offset_right = 970.0 +offset_bottom = 327.0 +script = ExtResource("13_y1hsh") -[node name="UserName" type="HBoxContainer" parent="UI/LoginPanel/VBox"] -layout_mode = 2 - -[node name="Label" type="Label" parent="UI/LoginPanel/VBox/UserName"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "账号" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="username_input" type="LineEdit" parent="UI/LoginPanel/VBox/UserName"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -placeholder_text = "请输入QQ号..." -metadata/_edit_use_anchors_ = true - -[node name="Password1" type="HBoxContainer" parent="UI/LoginPanel/VBox"] -layout_mode = 2 - -[node name="Label2" type="Label" parent="UI/LoginPanel/VBox/Password1"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "密码" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="password_input" type="LineEdit" parent="UI/LoginPanel/VBox/Password1"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -placeholder_text = "请输入密码..." - -[node name="Title3" type="Label" parent="UI/LoginPanel/VBox"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "以下为注册填写内容" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="Password2" type="HBoxContainer" parent="UI/LoginPanel/VBox"] -layout_mode = 2 - -[node name="Label2" type="Label" parent="UI/LoginPanel/VBox/Password2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "确认密码" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="password_input2" type="LineEdit" parent="UI/LoginPanel/VBox/Password2"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -placeholder_text = "请再次输入密码(登录不需要)..." - -[node name="VerificationCode" type="HBoxContainer" parent="UI/LoginPanel/VBox"] -layout_mode = 2 - -[node name="Label" type="Label" parent="UI/LoginPanel/VBox/VerificationCode"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "验证码" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="verificationcode_input" type="LineEdit" parent="UI/LoginPanel/VBox/VerificationCode"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -placeholder_text = "请输入您的QQ邮箱收到的验证码..." -metadata/_edit_use_anchors_ = true - -[node name="SendButton" type="Button" parent="UI/LoginPanel/VBox/VerificationCode"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "发送验证码" - -[node name="PlayerName" type="HBoxContainer" parent="UI/LoginPanel/VBox"] -layout_mode = 2 - -[node name="Label2" type="Label" parent="UI/LoginPanel/VBox/PlayerName"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "玩家昵称" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="playername_input" type="LineEdit" parent="UI/LoginPanel/VBox/PlayerName"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -placeholder_text = "请输入您的玩家昵称..." - -[node name="FarmName" type="HBoxContainer" parent="UI/LoginPanel/VBox"] -layout_mode = 2 - -[node name="Label" type="Label" parent="UI/LoginPanel/VBox/FarmName"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "农场名称" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="farmname_input" type="LineEdit" parent="UI/LoginPanel/VBox/FarmName"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -placeholder_text = "请输入您的农场名称(登录不需要)..." -metadata/_edit_use_anchors_ = true - -[node name="LoginRegister" type="HBoxContainer" parent="UI/LoginPanel/VBox"] -layout_mode = 2 - -[node name="login_button" type="Button" parent="UI/LoginPanel/VBox/LoginRegister"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -text = "登录" - -[node name="register_button" type="Button" parent="UI/LoginPanel/VBox/LoginRegister"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 20 -text = "注册" - -[node name="Note" type="Label" parent="UI/LoginPanel/VBox"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "注意:账号请直接使用您的QQ号,系统会直接向您的QQ -邮箱发送一串验证码进行注册验证,密码请设置的复杂一 -点,以免被暴力破解(" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="status_label" type="Label" parent="UI/LoginPanel/VBox"] -layout_mode = 2 -theme_override_font_sizes/font_size = 20 -text = "连接状态" -horizontal_alignment = 1 - -[node name="LandPanel" type="Panel" parent="UI"] -offset_left = 475.0 -offset_top = 145.0 -offset_right = 991.0 -offset_bottom = 616.0 -script = ExtResource("3_401ut") - -[node name="Quit_Button" type="Button" parent="UI/LandPanel"] +[node name="Quit_Button" type="Button" parent="UI/OnlineGiftPanel"] layout_mode = 0 offset_left = 465.0 offset_right = 515.0 @@ -479,140 +501,140 @@ offset_bottom = 50.0 theme_override_font_sizes/font_size = 30 text = "X" -[node name="HBox" type="HBoxContainer" parent="UI/LandPanel"] +[node name="HBox" type="HBoxContainer" parent="UI/OnlineGiftPanel"] layout_mode = 0 offset_right = 40.0 offset_bottom = 40.0 -[node name="Title" type="Label" parent="UI/LandPanel"] +[node name="Title" type="Label" parent="UI/OnlineGiftPanel"] +modulate = Color(0.996846, 0.629335, 1, 1) layout_mode = 2 offset_right = 516.0 offset_bottom = 42.0 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 30 -text = "土地面板" +text = "在线礼包" horizontal_alignment = 1 vertical_alignment = 1 -[node name="Grid" type="GridContainer" parent="UI/LandPanel"] +[node name="Grid" type="GridContainer" parent="UI/OnlineGiftPanel"] layout_mode = 2 offset_top = 46.0 offset_right = 500.0 offset_bottom = 210.0 columns = 5 -[node name="Dig_Button" type="Button" parent="UI/LandPanel/Grid"] +[node name="OneMinute" type="Button" parent="UI/OnlineGiftPanel/Grid"] custom_minimum_size = Vector2(100, 100) layout_mode = 2 -theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_color = Color(0, 0, 0, 1) theme_override_colors/font_outline_color = Color(0, 0, 0, 1) theme_override_colors/font_color = Color(1, 0, 0, 1) theme_override_colors/font_focus_color = Color(0, 0, 0, 1) theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 20 -text = "开垦" -icon = ExtResource("13_uc6q1") +text = "在线 +1分钟" icon_alignment = 1 expand_icon = true -[node name="Plant_Button" type="Button" parent="UI/LandPanel/Grid"] +[node name="ThreeMinutes" type="Button" parent="UI/OnlineGiftPanel/Grid"] +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(0.995313, 0.515623, 0.748044, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "在线 +3分钟" +icon_alignment = 1 +expand_icon = true + +[node name="FiveMinutes" type="Button" parent="UI/OnlineGiftPanel/Grid"] +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(0.635294, 0.827451, 0.537255, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +text = "在线 +5分钟" +icon_alignment = 1 +expand_icon = true + +[node name="TenMinutes" type="Button" parent="UI/OnlineGiftPanel/Grid"] custom_minimum_size = Vector2(100, 100) layout_mode = 2 -theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_color = Color(0, 0, 0, 1) theme_override_colors/font_color = Color(0.760784, 0.533333, 0.160784, 1) theme_override_colors/font_focus_color = Color(0, 0, 0, 1) theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 20 -text = "种植" -icon = ExtResource("12_n03md") +text = "在线 +10分钟" icon_alignment = 1 expand_icon = true -[node name="Remove_Button" type="Button" parent="UI/LandPanel/Grid"] +[node name="ThirtyMinutes" type="Button" parent="UI/OnlineGiftPanel/Grid"] custom_minimum_size = Vector2(100, 100) layout_mode = 2 -theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_color = Color(0, 0, 0, 1) theme_override_colors/font_color = Color(0.870588, 0.870588, 0, 1) theme_override_colors/font_focus_color = Color(0, 0, 0, 1) theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 20 -text = "铲除" -icon = ExtResource("13_uhubb") +text = "在线 +30分钟" icon_alignment = 1 expand_icon = true -[node name="Harvest_Button" type="Button" parent="UI/LandPanel/Grid"] +[node name="OneHour" type="Button" parent="UI/OnlineGiftPanel/Grid"] custom_minimum_size = Vector2(100, 100) layout_mode = 2 -theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_color = Color(0, 0, 0, 1) theme_override_colors/font_color = Color(0.188235, 0.839216, 0.243137, 1) theme_override_colors/font_focus_color = Color(0, 0, 0, 1) theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 20 -text = "收获" -icon = ExtResource("14_uc6q1") +text = "在线 +1小时" icon_alignment = 1 expand_icon = true -[node name="Water_Button" type="Button" parent="UI/LandPanel/Grid"] +[node name="ThreeHours" type="Button" parent="UI/OnlineGiftPanel/Grid"] custom_minimum_size = Vector2(100, 100) layout_mode = 2 -theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_color = Color(0, 0, 0, 1) theme_override_colors/font_outline_color = Color(0, 0, 0, 1) theme_override_colors/font_color = Color(0, 0.87451, 0.87451, 1) theme_override_colors/font_focus_color = Color(0, 0, 0, 1) theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 20 -text = "浇水" -icon = ExtResource("15_vygm6") +text = "在线 +3小时" icon_alignment = 1 expand_icon = true -[node name="Fertilize_Button" type="Button" parent="UI/LandPanel/Grid"] -custom_minimum_size = Vector2(80, 80) +[node name="FiveHours" type="Button" parent="UI/OnlineGiftPanel/Grid"] +custom_minimum_size = Vector2(100, 100) layout_mode = 2 -theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_color = Color(0, 0, 0, 1) theme_override_colors/font_color = Color(0.509804, 0.301961, 0.85098, 1) theme_override_colors/font_focus_color = Color(0, 0, 0, 1) theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 20 -text = "施肥" -icon = ExtResource("16_2e153") -icon_alignment = 1 -expand_icon = true - -[node name="Upgrade_Button" type="Button" parent="UI/LandPanel/Grid"] -custom_minimum_size = Vector2(100, 100) -layout_mode = 2 -theme_override_colors/font_disabled_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1) -theme_override_colors/font_hover_color = Color(0, 0, 0, 1) -theme_override_colors/font_color = Color(0.0705882, 0.411765, 0.87451, 1) -theme_override_colors/font_focus_color = Color(0, 0, 0, 1) -theme_override_colors/font_pressed_color = Color(0, 0, 0, 1) -theme_override_font_sizes/font_size = 20 -text = "升级" -icon = ExtResource("19_uc6q1") +text = "在线 +5小时" icon_alignment = 1 expand_icon = true [node name="OneClickPlantPanel" type="Panel" parent="UI"] visible = false -offset_left = 475.0 -offset_top = 145.0 -offset_right = 991.0 -offset_bottom = 616.0 +offset_left = 450.0 +offset_top = 77.0 +offset_right = 966.0 +offset_bottom = 327.0 script = ExtResource("18_n03md") [node name="Quit_Button" type="Button" parent="UI/OneClickPlantPanel"] @@ -628,6 +650,12 @@ self_modulate = Color(0.431373, 0.498039, 1, 1) layout_mode = 2 offset_right = 516.0 offset_bottom = 42.0 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 30 text = "一键种植面板" horizontal_alignment = 1 @@ -687,6 +715,15 @@ text = "十字法 icon_alignment = 1 expand_icon = true +[node name="RandomPlantBtn" type="Button" parent="UI/OneClickPlantPanel/Grid"] +custom_minimum_size = Vector2(100, 100) +layout_mode = 2 +theme_override_colors/font_color = Color(1, 0.49586, 0.63552, 1) +theme_override_font_sizes/font_size = 20 +text = "随机种植" +icon_alignment = 1 +expand_icon = true + [node name="PlayerRankingPanel" type="Panel" parent="UI"] visible = false offset_left = 2.0 @@ -709,6 +746,12 @@ offset_left = 2.0 offset_right = 1395.0 offset_bottom = 56.0 size_flags_vertical = 3 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/normal_font_size = 40 bbcode_enabled = true text = "玩家排行榜" @@ -832,23 +875,52 @@ layout_mode = 2 [node name="CropStorePanel" type="Panel" parent="UI"] visible = false -offset_top = -1.0 -offset_right = 1399.0 -offset_bottom = 719.0 +offset_left = 126.0 +offset_top = 70.0 +offset_right = 1525.0 +offset_bottom = 790.0 +scale = Vector2(0.8, 0.8) size_flags_horizontal = 3 size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_8kysg") script = ExtResource("3_qtrx8") +[node name="TMBackGround" type="ColorRect" parent="UI/CropStorePanel"] +layout_mode = 0 +offset_left = -157.0 +offset_top = -87.0 +offset_right = 1592.0 +offset_bottom = 811.0 +color = Color(1, 1, 1, 0) + +[node name="Title" type="Label" parent="UI/CropStorePanel"] +layout_mode = 2 +offset_right = 1397.0 +offset_bottom = 55.0 +size_flags_horizontal = 3 +theme_override_colors/font_color = Color(1, 0.964706, 0, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 5 +theme_override_constants/shadow_offset_y = 5 +theme_override_constants/outline_size = 15 +theme_override_constants/shadow_outline_size = 15 +theme_override_font_sizes/font_size = 50 +text = "种子商店" +horizontal_alignment = 1 + [node name="SortContainer" type="HBoxContainer" parent="UI/CropStorePanel"] layout_mode = 0 -offset_top = 58.0 +offset_top = 78.0 offset_right = 1399.0 -offset_bottom = 121.0 +offset_bottom = 141.0 +alignment = 1 -[node name="SortLabel" type="Label" parent="UI/CropStorePanel/SortContainer"] +[node name="FilterLabel" type="Label" parent="UI/CropStorePanel/SortContainer"] +self_modulate = Color(0.607843, 0.647059, 1, 1) layout_mode = 2 theme_override_font_sizes/font_size = 30 -text = "排序:" +text = "筛选:" [node name="Sort_All" type="Button" parent="UI/CropStorePanel/SortContainer"] layout_mode = 2 @@ -880,6 +952,12 @@ layout_mode = 2 theme_override_font_sizes/font_size = 30 text = "传奇" +[node name="SortLabel" type="Label" parent="UI/CropStorePanel/SortContainer"] +self_modulate = Color(0.607843, 0.647059, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "排序:" + [node name="Sort_Price" type="Button" parent="UI/CropStorePanel/SortContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 30 @@ -902,54 +980,216 @@ text = "按等级" [node name="ScrollContainer" type="ScrollContainer" parent="UI/CropStorePanel"] layout_mode = 2 -offset_top = 134.0 -offset_right = 4657.0 -offset_bottom = 2087.0 -scale = Vector2(0.3, 0.3) +offset_left = 13.0 +offset_top = 144.0 +offset_right = 3450.0 +offset_bottom = 1551.0 +scale = Vector2(0.4, 0.4) size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_uc6q1") horizontal_scroll_mode = 0 +vertical_scroll_mode = 2 +scroll_deadzone = -10 [node name="Crop_Grid" type="GridContainer" parent="UI/CropStorePanel/ScrollContainer"] layout_mode = 2 -size_flags_horizontal = 3 +size_flags_horizontal = 6 size_flags_vertical = 3 -columns = 11 - -[node name="Title" type="Label" parent="UI/CropStorePanel"] -layout_mode = 2 -offset_right = 1397.0 -offset_bottom = 55.0 -size_flags_horizontal = 3 -theme_override_font_sizes/font_size = 40 -text = "种子商店" -horizontal_alignment = 1 +columns = 8 [node name="QuitButton" type="Button" parent="UI/CropStorePanel"] custom_minimum_size = Vector2(60, 60) layout_mode = 2 -offset_left = 1337.0 -offset_top = 3.0 -offset_right = 1397.0 -offset_bottom = 66.0 +offset_left = 1327.0 +offset_top = 13.0 +offset_right = 1387.0 +offset_bottom = 76.0 theme_override_font_sizes/font_size = 40 text = "X" -[node name="PlayerBagPanel" type="Panel" parent="UI"] +[node name="RefreshButton" type="Button" parent="UI/CropStorePanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 13.0 +offset_top = 11.0 +offset_right = 101.0 +offset_bottom = 74.0 +theme_override_font_sizes/font_size = 40 +text = "刷新" + +[node name="CropWarehousePanel" type="Panel" parent="UI"] visible = false -self_modulate = Color(0.767349, 0.201783, 0, 1) -offset_right = 1397.0 -offset_bottom = 720.0 +offset_left = 119.0 +offset_top = 77.0 +offset_right = 1518.0 +offset_bottom = 797.0 +scale = Vector2(0.8, 0.8) size_flags_horizontal = 3 size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_8kysg") +script = ExtResource("20_uc6q1") + +[node name="TMBackGround" type="ColorRect" parent="UI/CropWarehousePanel"] +layout_mode = 0 +offset_left = -76.0 +offset_top = -39.0 +offset_right = 1480.0 +offset_bottom = 764.0 +color = Color(1, 1, 1, 0) + +[node name="Title" type="Label" parent="UI/CropWarehousePanel"] +layout_mode = 2 +offset_right = 1397.0 +offset_bottom = 55.0 +size_flags_horizontal = 3 +theme_override_colors/font_color = Color(1, 0.964706, 0, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 +theme_override_font_sizes/font_size = 40 +text = "作物仓库" +horizontal_alignment = 1 + +[node name="SortContainer" type="HBoxContainer" parent="UI/CropWarehousePanel"] +layout_mode = 0 +offset_top = 58.0 +offset_right = 1399.0 +offset_bottom = 121.0 +alignment = 1 + +[node name="FilterLabel" type="Label" parent="UI/CropWarehousePanel/SortContainer"] +self_modulate = Color(0.607843, 1, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "筛选:" + +[node name="Sort_All" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "全部" + +[node name="Sort_Common" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "普通" + +[node name="Sort_Superior" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "优良" + +[node name="Sort_Rare" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "稀有" + +[node name="Sort_Epic" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "史诗" + +[node name="Sort_Legendary" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "传奇" + +[node name="SortLabel" type="Label" parent="UI/CropWarehousePanel/SortContainer"] +self_modulate = Color(0.607843, 1, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "排序:" + +[node name="Sort_Price" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "按价格" + +[node name="Sort_GrowTime" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "按生长时间" + +[node name="Sort_Profit" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "按收益" + +[node name="Sort_Level" type="Button" parent="UI/CropWarehousePanel/SortContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "按等级" + +[node name="ScrollContainer" type="ScrollContainer" parent="UI/CropWarehousePanel"] +layout_mode = 2 +offset_left = 9.0 +offset_top = 121.0 +offset_right = 3462.0 +offset_bottom = 1588.0 +scale = Vector2(0.4, 0.4) +size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_uc6q1") +horizontal_scroll_mode = 0 +vertical_scroll_mode = 2 +scroll_deadzone = -10 + +[node name="Warehouse_Grid" type="GridContainer" parent="UI/CropWarehousePanel/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 6 +size_flags_vertical = 3 +columns = 8 + +[node name="QuitButton" type="Button" parent="UI/CropWarehousePanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 1327.5 +offset_top = 10.0 +offset_right = 1387.5 +offset_bottom = 73.0 +theme_override_font_sizes/font_size = 40 +text = "X" + +[node name="RefreshButton" type="Button" parent="UI/CropWarehousePanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 12.5001 +offset_top = 12.5 +offset_right = 100.5 +offset_bottom = 75.5 +theme_override_font_sizes/font_size = 40 +text = "刷新" + +[node name="PlayerBagPanel" type="Panel" parent="UI"] +visible = false +offset_left = 157.0 +offset_top = 79.0 +offset_right = 1554.0 +offset_bottom = 799.0 +scale = Vector2(0.8, 0.8) +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_n03md") script = ExtResource("4_led80") +[node name="TMBackGround" type="ColorRect" parent="UI/PlayerBagPanel"] +layout_mode = 0 +offset_left = -157.0 +offset_top = -85.0 +offset_right = 1595.0 +offset_bottom = 811.0 +color = Color(1, 1, 1, 0) + [node name="SortContainer" type="HBoxContainer" parent="UI/PlayerBagPanel"] layout_mode = 0 offset_top = 58.0 offset_right = 1397.0 offset_bottom = 121.0 +alignment = 1 -[node name="SortLabel" type="Label" parent="UI/PlayerBagPanel/SortContainer"] +[node name="FilterLabel" type="Label" parent="UI/PlayerBagPanel/SortContainer"] +modulate = Color(0.439216, 0.560784, 1, 1) layout_mode = 2 theme_override_font_sizes/font_size = 30 text = "排序:" @@ -984,6 +1224,12 @@ layout_mode = 2 theme_override_font_sizes/font_size = 30 text = "传奇" +[node name="SortLabel" type="Label" parent="UI/PlayerBagPanel/SortContainer"] +modulate = Color(0.439216, 0.560784, 1, 1) +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "排序:" + [node name="Sort_Price" type="Button" parent="UI/PlayerBagPanel/SortContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 30 @@ -1006,37 +1252,201 @@ text = "按等级" [node name="ScrollContainer" type="ScrollContainer" parent="UI/PlayerBagPanel"] layout_mode = 2 -offset_top = 128.0 -offset_right = 4657.0 -offset_bottom = 2101.0 -scale = Vector2(0.3, 0.3) +offset_left = 11.0 +offset_top = 121.0 +offset_right = 3452.0 +offset_bottom = 1592.0 +scale = Vector2(0.4, 0.4) size_flags_vertical = 3 horizontal_scroll_mode = 0 [node name="Bag_Grid" type="GridContainer" parent="UI/PlayerBagPanel/ScrollContainer"] layout_mode = 2 -size_flags_horizontal = 3 +size_flags_horizontal = 6 size_flags_vertical = 3 -columns = 11 +columns = 8 [node name="Title" type="Label" parent="UI/PlayerBagPanel"] layout_mode = 2 -offset_right = 1276.0 +offset_right = 1396.0 offset_bottom = 55.0 size_flags_horizontal = 3 +theme_override_colors/font_color = Color(1, 1, 1, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 2 +theme_override_constants/shadow_offset_y = 2 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 theme_override_font_sizes/font_size = 40 -text = "玩家背包" +text = "种子仓库" horizontal_alignment = 1 [node name="QuitButton" type="Button" parent="UI/PlayerBagPanel"] custom_minimum_size = Vector2(60, 60) layout_mode = 2 -offset_left = 1337.0 -offset_right = 1397.0 -offset_bottom = 63.0 +offset_left = 1326.25 +offset_top = 13.75 +offset_right = 1386.25 +offset_bottom = 76.75 theme_override_font_sizes/font_size = 40 text = "X" +[node name="RefreshButton" type="Button" parent="UI/PlayerBagPanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 15.0001 +offset_top = 13.75 +offset_right = 75.0001 +offset_bottom = 76.75 +theme_override_font_sizes/font_size = 40 +text = "刷新" + +[node name="ItemBagPanel" type="Panel" parent="UI"] +visible = false +offset_left = 145.0 +offset_top = 79.0 +offset_right = 1542.0 +offset_bottom = 799.0 +scale = Vector2(0.8, 0.8) +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_n03md") +script = ExtResource("22_2e153") + +[node name="TMBackGround" type="ColorRect" parent="UI/ItemBagPanel"] +layout_mode = 0 +offset_left = -179.0 +offset_top = -100.0 +offset_right = 1566.0 +offset_bottom = 800.0 +color = Color(1, 1, 1, 0) + +[node name="ScrollContainer" type="ScrollContainer" parent="UI/ItemBagPanel"] +layout_mode = 2 +offset_left = 13.0 +offset_top = 95.0 +offset_right = 3437.0 +offset_bottom = 1608.0 +scale = Vector2(0.4, 0.4) +size_flags_vertical = 3 +horizontal_scroll_mode = 0 + +[node name="Bag_Grid" type="GridContainer" parent="UI/ItemBagPanel/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 6 +size_flags_vertical = 3 +columns = 8 + +[node name="Title" type="Label" parent="UI/ItemBagPanel"] +layout_mode = 2 +offset_right = 1396.0 +offset_bottom = 55.0 +size_flags_horizontal = 3 +theme_override_colors/font_color = Color(1, 1, 0.807843, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 4 +theme_override_constants/shadow_offset_y = 4 +theme_override_constants/outline_size = 15 +theme_override_constants/shadow_outline_size = 15 +theme_override_font_sizes/font_size = 40 +text = "道具背包" +horizontal_alignment = 1 + +[node name="QuitButton" type="Button" parent="UI/ItemBagPanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 1325.0 +offset_top = 12.5 +offset_right = 1385.0 +offset_bottom = 75.5 +theme_override_font_sizes/font_size = 40 +text = "X" + +[node name="RefreshButton" type="Button" parent="UI/ItemBagPanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 12.5 +offset_top = 13.75 +offset_right = 100.5 +offset_bottom = 76.75 +theme_override_font_sizes/font_size = 40 +text = "刷新" + +[node name="ItemStorePanel" type="Panel" parent="UI"] +visible = false +offset_left = 145.0 +offset_top = 79.0 +offset_right = 1542.0 +offset_bottom = 799.0 +scale = Vector2(0.8, 0.8) +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_n03md") +script = ExtResource("17_vygm6") + +[node name="TMBackGround" type="ColorRect" parent="UI/ItemStorePanel"] +layout_mode = 0 +offset_left = -184.0 +offset_top = -100.0 +offset_right = 1571.0 +offset_bottom = 804.0 +color = Color(1, 1, 1, 0) + +[node name="ScrollContainer" type="ScrollContainer" parent="UI/ItemStorePanel"] +layout_mode = 2 +offset_left = 15.0 +offset_top = 88.0 +offset_right = 3434.0 +offset_bottom = 1626.0 +scale = Vector2(0.4, 0.4) +size_flags_vertical = 3 +horizontal_scroll_mode = 0 + +[node name="Store_Grid" type="GridContainer" parent="UI/ItemStorePanel/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 6 +size_flags_vertical = 3 +columns = 8 + +[node name="Title" type="Label" parent="UI/ItemStorePanel"] +layout_mode = 2 +offset_right = 1396.0 +offset_bottom = 62.0 +size_flags_horizontal = 3 +theme_override_colors/font_color = Color(1, 1, 0.807843, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 4 +theme_override_constants/shadow_offset_y = 4 +theme_override_constants/outline_size = 15 +theme_override_constants/shadow_outline_size = 15 +theme_override_font_sizes/font_size = 40 +text = "道具商店" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="QuitButton" type="Button" parent="UI/ItemStorePanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 1325.0 +offset_top = 11.25 +offset_right = 1385.0 +offset_bottom = 74.25 +theme_override_font_sizes/font_size = 40 +text = "X" + +[node name="RefreshButton" type="Button" parent="UI/ItemStorePanel"] +custom_minimum_size = Vector2(60, 60) +layout_mode = 2 +offset_left = 12.5 +offset_top = 12.5 +offset_right = 100.5 +offset_bottom = 75.5 +theme_override_font_sizes/font_size = 40 +text = "刷新" + [node name="TCPNetworkManager" parent="UI" instance=ExtResource("7_401ut")] visible = false offset_left = 2.00012 @@ -1060,6 +1470,178 @@ offset_top = 3.0 offset_right = 1042.0 offset_bottom = 723.0 +[node name="AccountSettingPanel" type="Panel" parent="UI"] +visible = false +offset_left = 243.0 +offset_top = 42.0 +offset_right = 1154.0 +offset_bottom = 689.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_y1hsh") +script = ExtResource("23_8kysg") + +[node name="Title" type="RichTextLabel" parent="UI/AccountSettingPanel"] +modulate = Color(1, 0.745098, 0.54902, 1) +layout_mode = 0 +offset_left = 2.0 +offset_right = 911.0 +offset_bottom = 56.0 +size_flags_vertical = 3 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_outline_size = 10 +theme_override_font_sizes/normal_font_size = 40 +bbcode_enabled = true +text = "玩家信息设置" +horizontal_alignment = 1 +threaded = true + +[node name="QuitButton" type="Button" parent="UI/AccountSettingPanel"] +custom_minimum_size = Vector2(55, 55) +layout_mode = 0 +offset_left = 854.0 +offset_right = 911.0 +offset_bottom = 57.0 +theme_override_font_sizes/font_size = 35 +text = "X" + +[node name="RefreshButton" type="Button" parent="UI/AccountSettingPanel"] +custom_minimum_size = Vector2(55, 55) +layout_mode = 0 +offset_left = 2.0 +offset_right = 80.0 +offset_bottom = 57.0 +theme_override_font_sizes/font_size = 35 +text = "刷新" + +[node name="VBox1" type="VBoxContainer" parent="UI/AccountSettingPanel"] +layout_mode = 0 +offset_top = 58.0 +offset_right = 911.0 +offset_bottom = 647.0 + +[node name="HBox1" type="HBoxContainer" parent="UI/AccountSettingPanel/VBox1"] +layout_mode = 2 +alignment = 1 + +[node name="HTTPTextureRect" type="TextureRect" parent="UI/AccountSettingPanel/VBox1/HBox1"] +layout_mode = 2 +texture = ExtResource("23_5b81d") +script = ExtResource("24_8kysg") +metadata/_custom_type_script = "uid://0d2j5m6j2ema" + +[node name="Grid" type="GridContainer" parent="UI/AccountSettingPanel/VBox1"] +layout_mode = 2 +columns = 2 + +[node name="User_Name" type="Label" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "账户:" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="User_Name_Input" type="Label" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "74074091740" +vertical_alignment = 1 + +[node name="User_Password" type="Label" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "密码:" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="User_Password_Input" type="LineEdit" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +placeholder_text = "请输入密码" + +[node name="Player_Name" type="Label" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "玩家昵称:" + +[node name="Player_Name_Input" type="LineEdit" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +placeholder_text = "请输入玩家昵称" + +[node name="Farm_Name" type="Label" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "农场名称:" + +[node name="Farm_Name_Input" type="LineEdit" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +placeholder_text = "请输入农场名称" + +[node name="Personal_Profile" type="Label" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "个人简介:" + +[node name="Personal_Profile_Input" type="LineEdit" parent="UI/AccountSettingPanel/VBox1/Grid"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 30 +placeholder_text = "请输入个人简介" + +[node name="HBox2" type="HBoxContainer" parent="UI/AccountSettingPanel/VBox1"] +layout_mode = 2 +alignment = 1 + +[node name="Remove_Account_Btn" type="Button" parent="UI/AccountSettingPanel/VBox1/HBox2"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "删除账号" + +[node name="Confirm_Btn" type="Button" parent="UI/AccountSettingPanel/VBox1/HBox2"] +layout_mode = 2 +theme_override_font_sizes/font_size = 30 +text = "确认修改" + +[node name="LoadProgressPanel" type="Panel" parent="UI"] +visible = false +offset_right = 1402.0 +offset_bottom = 719.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_uhubb") + +[node name="Title" type="Label" parent="UI/LoadProgressPanel"] +layout_mode = 0 +offset_right = 1402.0 +offset_bottom = 550.0 +theme_override_colors/font_color = Color(0.966397, 0.970739, 0.632937, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 5 +theme_override_constants/shadow_offset_y = 5 +theme_override_constants/outline_size = 10 +theme_override_constants/shadow_outline_size = 10 +theme_override_font_sizes/font_size = 40 +text = "正在加载资源中,请稍后..." +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="LoadProgressBar" type="ProgressBar" parent="UI/LoadProgressPanel"] +layout_mode = 0 +offset_left = 8.0 +offset_top = 430.0 +offset_right = 1396.0 +offset_bottom = 489.0 +theme_override_colors/font_color = Color(0, 1, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 7 +theme_override_font_sizes/font_size = 40 + [node name="BackgroundUI" type="CanvasLayer" parent="."] layer = -1 @@ -1080,9 +1662,10 @@ self_modulate = Color(0.5, 0.5, 0.5, 1) [node name="GridContainer" type="GridContainer" parent="."] z_as_relative = false custom_minimum_size = Vector2(100, 100) -offset_top = 3.0 -offset_right = 1400.0 -offset_bottom = 720.0 +offset_left = -2.0 +offset_top = 2.0 +offset_right = 1398.0 +offset_bottom = 722.0 columns = 10 [node name="CopyNodes" type="Node2D" parent="."] @@ -1096,49 +1679,17 @@ offset_top = -161.0 offset_right = -1333.0 offset_bottom = -61.0 -[node name="GreenCrop" parent="CopyNodes" instance=ExtResource("3_o8l48")] -offset_left = 16.0 -offset_top = 143.0 -offset_right = 416.0 -offset_bottom = 543.0 - -[node name="BlackBlueCrop" parent="CopyNodes" instance=ExtResource("5_o8l48")] -offset_left = -24.0 -offset_top = -27.0 -offset_right = 376.0 -offset_bottom = 373.0 - -[node name="OrangeCrop" parent="CopyNodes" instance=ExtResource("6_0v7qb")] -offset_left = 57.0 -offset_top = -184.0 -offset_right = 457.0 -offset_bottom = 216.0 - -[node name="PinkCrop" parent="CopyNodes" instance=ExtResource("7_qtrx8")] -offset_left = -149.0 -offset_top = -185.0 -offset_right = 251.0 -offset_bottom = 215.0 - -[node name="RedCrop" parent="CopyNodes" instance=ExtResource("8_led80")] -offset_left = -311.0 -offset_top = -18.0 -offset_right = 89.0 -offset_bottom = 382.0 - -[node name="WhiteBlueCrop" parent="CopyNodes" instance=ExtResource("9_mi4js")] -offset_left = -212.0 -offset_top = 134.0 -offset_right = 188.0 -offset_bottom = 534.0 +[node name="item_button" parent="CopyNodes" instance=ExtResource("39_cdkxt")] [node name="GameCamera" type="Camera2D" parent="."] anchor_mode = 0 position_smoothing_enabled = true script = ExtResource("10_o8l48") +max_zoom = 1.1 bounds_enabled = true bounds_min = Vector2(-500, -500) bounds_max = Vector2(500, 500) +current_zoom_level = 1.1 [node name="GameManager" type="Node" parent="."] @@ -1148,22 +1699,38 @@ environment = SubResource("Environment_m6fch") [node name="GameBGMPlayer" type="Node" parent="."] script = ExtResource("28_m6fch") play_mode = 1 -music_files_list = Array[String](["res://assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.mp3", "res://assets/音乐/BanAM-Futatabi.mp3", "res://assets/音乐/MCMZebra-AlwaysandManyTimes.mp3", "res://assets/音乐/MicMusicbox-Ashitakasekki.mp3", "res://assets/音乐/Nemuネム-PromiseoftheWorld.mp3", "res://assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].mp3", "res://assets/音乐/久石让-ふたたび.mp3", "res://assets/音乐/广桥真纪子-いのちの名前(生命之名).mp3", "res://assets/音乐/日本群星-PromiseoftheWorld.mp3"]) +music_files_list = Array[String](["res://assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg", "res://assets/音乐/BanAM-Futatabi.ogg", "res://assets/音乐/MCMZebra-AlwaysandManyTimes.ogg", "res://assets/音乐/MicMusicbox-Ashitakasekki.ogg", "res://assets/音乐/Nemuネム-PromiseoftheWorld.ogg", "res://assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg", "res://assets/音乐/久石让-ふたたび.ogg", "res://assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg", "res://assets/音乐/日本群星-PromiseoftheWorld.ogg"]) -[connection signal="pressed" from="UI/GUI/FarmVBox/PlayerBagButton" to="." method="_on_player_bag_button_pressed"] +[connection signal="pressed" from="UI/GUI/FarmVBox/SeedStoreButton" to="." method="_on_open_store_button_pressed"] +[connection signal="pressed" from="UI/GUI/FarmVBox/SeedWarehouseButton" to="." method="_on_seed_warehouse_button_pressed"] +[connection signal="pressed" from="UI/GUI/FarmVBox/CropWarehouseButton" to="." method="_on_crop_warehouse_button_pressed"] +[connection signal="pressed" from="UI/GUI/FarmVBox/ItemStoreButton" to="." method="_on_item_store_button_pressed"] +[connection signal="pressed" from="UI/GUI/FarmVBox/ItemBagButton" to="." method="_on_item_bag_button_pressed"] [connection signal="pressed" from="UI/GUI/FarmVBox/OneClickHarvestButton" to="." method="_on_one_click_harvestbutton_pressed"] [connection signal="pressed" from="UI/GUI/FarmVBox/OneClickPlantButton" to="." method="_on_one_click_plant_button_pressed"] [connection signal="pressed" from="UI/GUI/FarmVBox/AddNewGroundButton" to="." method="_on_add_new_ground_button_pressed"] -[connection signal="pressed" from="UI/GUI/FarmVBox/OpenStoreButton" to="." method="_on_open_store_button_pressed"] [connection signal="pressed" from="UI/GUI/VisitVBox/LikeButton" to="." method="_on_like_button_pressed"] [connection signal="pressed" from="UI/GUI/VisitVBox/ReturnMyFarmButton" to="." method="_on_return_my_farm_button_pressed"] +[connection signal="pressed" from="UI/GUI/OtherVBox/AccountSettingButton" to="." method="_on_account_setting_button_pressed"] +[connection signal="pressed" from="UI/GUI/OtherVBox/OnlineGiftButton" to="." method="_on_online_gift_button_pressed"] [connection signal="pressed" from="UI/GUI/OtherVBox/NewPlayerGiftButton" to="." method="_on_new_player_gift_button_pressed"] -[connection signal="pressed" from="UI/GUI/OtherVBox/SettingButton" to="." method="_on_setting_button_pressed"] +[connection signal="pressed" from="UI/GUI/OtherVBox/OneClickScreenShot" to="." method="_on_one_click_screen_shot_pressed"] [connection signal="pressed" from="UI/GUI/OtherVBox/LuckyDrawButton" to="." method="_on_lucky_draw_button_pressed"] [connection signal="pressed" from="UI/GUI/OtherVBox/PlayerRankingButton" to="." method="_on_player_ranking_button_pressed"] [connection signal="pressed" from="UI/GUI/OtherVBox/DailyCheckInButton" to="." method="_on_daily_check_in_button_pressed"] [connection signal="pressed" from="UI/GUI/OtherVBox/ReturnMainMenuButton" to="." method="_on_return_main_menu_button_pressed"] +[connection signal="pressed" from="UI/GUI/OtherVBox/SmallGameButton" to="." method="_on_online_gift_button_pressed"] +[connection signal="pressed" from="UI/GUI/OtherVBox/SettingButton" to="." method="_on_setting_button_pressed"] +[connection signal="pressed" from="UI/GUI/OtherVBox/WisdomTreeButton" to="." method="_on_setting_button_pressed"] [connection signal="pressed" from="UI/GUI/OtherVBox/MyPetButton" to="." method="_on_my_pet_button_pressed"] [connection signal="pressed" from="UI/GUI/OtherVBox/ScareCrowButton" to="." method="_on_my_pet_button_pressed"] +[connection signal="pressed" from="UI/OnlineGiftPanel/Quit_Button" to="UI/OnlineGiftPanel" method="_on_quit_button_pressed"] [connection signal="pressed" from="UI/OneClickPlantPanel/Quit_Button" to="UI/OneClickPlantPanel" method="_on_quit_button_pressed"] [connection signal="pressed" from="UI/CropStorePanel/QuitButton" to="." method="_on_quit_button_pressed"] +[connection signal="pressed" from="UI/CropStorePanel/RefreshButton" to="UI/CropStorePanel" method="_on_refresh_button_pressed"] +[connection signal="pressed" from="UI/CropWarehousePanel/QuitButton" to="." method="_on_quit_button_pressed"] +[connection signal="pressed" from="UI/CropWarehousePanel/RefreshButton" to="UI/CropWarehousePanel" method="_on_refresh_button_pressed"] +[connection signal="pressed" from="UI/PlayerBagPanel/RefreshButton" to="UI/PlayerBagPanel" method="_on_refresh_button_pressed"] +[connection signal="pressed" from="UI/ItemBagPanel/QuitButton" to="UI/ItemBagPanel" method="_on_quit_button_pressed"] +[connection signal="pressed" from="UI/ItemBagPanel/RefreshButton" to="UI/ItemBagPanel" method="_on_refresh_button_pressed"] +[connection signal="pressed" from="UI/ItemStorePanel/RefreshButton" to="UI/ItemStorePanel" method="_on_refresh_button_pressed"] diff --git a/Network/TCPNetworkManager.gd b/Network/TCPNetworkManager.gd index 1cded53..2f9440f 100644 --- a/Network/TCPNetworkManager.gd +++ b/Network/TCPNetworkManager.gd @@ -17,10 +17,10 @@ var client: TCPClient = TCPClient.new() # 服务器配置 - 支持多个服务器地址 var server_configs = [ - #{"host": "127.0.0.1", "port": 4040, "name": "本地"}, + {"host": "127.0.0.1", "port": 4040, "name": "本地"}, #{"host": "192.168.1.110", "port": 4040, "name": "局域网"}, #{"host": "47.108.90.0", "port": 4040, "name": "成都内网穿透"}#成都内网穿透 - {"host": "47.108.90.0", "port": 6060, "name": "成都公网"}#成都服务器 + #{"host": "47.108.90.0", "port": 6060, "name": "成都公网"}#成都服务器 ] var current_server_index = 0 @@ -39,6 +39,7 @@ var ping_interval = 3.0 # 每3秒ping一次 var ping_timeout = 5.0 # ping超时时间 var is_measuring_ping = false +#=====================================网络连接基本处理========================================= func _ready(): # 创建TCP客户端实例 self.add_child(client) @@ -70,16 +71,16 @@ func _process(delta): if is_trying_to_connect: var elapsed_time = Time.get_unix_time_from_system() - connection_start_time if elapsed_time > connection_timeout: - print("连接超时,尝试下一个服务器") is_trying_to_connect = false client.disconnect_from_server() - if auto_retry and not has_tried_all_servers: - try_next_server() - else: - status_label.text = "服务器连接失败" - status_label.modulate = Color.RED - has_tried_all_servers = false # 重置标志,允许下次重试 + status_label.text = "连接超时" + status_label.modulate = Color.RED + connection_button.text = "连接" + + # 通知主游戏更新在线人数显示 + if main_game and main_game.has_method("_update_online_players_display"): + main_game._update_online_players_display(0, false, false) # 处理延迟测量 if client.is_client_connected(): @@ -92,7 +93,6 @@ func _process(delta): if is_measuring_ping: var ping_elapsed = Time.get_unix_time_from_system() - ping_start_time if ping_elapsed > ping_timeout: - print("Ping超时,重置测量状态") is_measuring_ping = false current_ping = 999 # 显示为高延迟 @@ -109,7 +109,7 @@ func _process(delta): func _on_connected(): print("成功连接到服务器: ", server_configs[current_server_index]["name"]) - status_label.text = "已连接 测量中..." + status_label.text = "已连接 ..." status_label.modulate = Color.GREEN connection_button.text = "断开" is_trying_to_connect = false @@ -127,11 +127,9 @@ func _on_connected(): }) # 连接成功后立即请求作物数据 - print("连接成功,正在请求最新作物数据...") sendGetCropData() # 连接成功后立即请求在线人数 - print("连接成功,正在请求在线人数...") sendGetOnlinePlayers() # 立即开始第一次ping测量 @@ -150,12 +148,8 @@ func _on_connection_failed(): ping_timer = 0.0 # 通知主游戏更新在线人数显示 - if main_game and main_game.has_method("_update_online_players_display"): - main_game._update_online_players_display(0, false, false) + main_game._update_online_players_display(0, false, false) - # 自动尝试下一个服务器 - if auto_retry: - try_next_server() func _on_connection_closed(): print("连接断开: ", server_configs[current_server_index]["name"]) @@ -173,15 +167,11 @@ func _on_connection_closed(): if main_game and main_game.has_method("_update_online_players_display"): main_game._update_online_players_display(0, false, false) - # 自动重连,优先尝试其他服务器 - if auto_retry: - print("连接断开,准备重连...") - var timer = get_tree().create_timer(retry_delay) - await timer.timeout - if not client.is_client_connected(): - # 先尝试下一个服务器,如果所有服务器都失败了再回到当前服务器 - try_next_server() - + # 通知主游戏连接已断开,显示登录面板 + main_game._on_connection_lost() + + +#=========================客户端与服务端通信核心========================================= func _on_data_received(data): # 根据数据类型处理数据 response_label.text = "收到: %s" % JSON.stringify(data) @@ -194,9 +184,6 @@ func _on_data_received(data): match message_type: "ping": #ping是否在线 return - "pong": #服务器回复pong响应 - handle_pong_response() - return "response": #服务器通用响应 return "login_response": #登录响应 @@ -243,9 +230,14 @@ func _on_data_received(data): main_game.level = updated_data["level"] if updated_data.has("体力值"): main_game.stamina = updated_data["体力值"] + if updated_data.has("作物仓库"): + main_game.crop_warehouse = updated_data["作物仓库"] # 更新UI main_game._update_ui() + # 更新作物仓库UI + if main_game.crop_warehouse_panel: + main_game.crop_warehouse_panel.update_crop_warehouse_ui() Toast.show(message, Color.GREEN) else: Toast.show(message, Color.RED) @@ -274,18 +266,75 @@ func _on_data_received(data): Toast.show(message, Color.GREEN) else: Toast.show(message, Color.RED) + "buy_item":#处理购买道具响应 + if success: + # 更新玩家数据 + if updated_data.has("money"): + main_game.money = updated_data["money"] + if updated_data.has("道具背包"): + main_game.item_bag = updated_data["道具背包"] + + # 更新UI + main_game._update_ui() + if main_game.item_bag_panel: + main_game.item_bag_panel.update_item_bag_ui() + Toast.show(message, Color.GREEN) + else: + Toast.show(message, Color.RED) + "use_item":#处理使用道具响应 + print("调试:收到道具使用响应") + print(" - success: ", success) + print(" - message: ", message) + print(" - updated_data: ", updated_data) + + if success: + print("调试:道具使用成功,开始更新数据") + # 更新玩家数据 + if updated_data.has("道具背包"): + main_game.item_bag = updated_data["道具背包"] + print("调试:更新道具背包") + if updated_data.has("farm_lots"): + print("调试:更新地块数据") + main_game.farm_lots = updated_data["farm_lots"] + if updated_data.has("experience"): + main_game.experience = updated_data["experience"] + print("调试:更新经验值: ", main_game.experience) + if updated_data.has("level"): + main_game.level = updated_data["level"] + print("调试:更新等级: ", main_game.level) + + # 更新UI + print("调试:开始更新UI") + main_game._update_ui() + main_game._update_farm_lots_state() + if main_game.item_bag_panel: + main_game.item_bag_panel.update_item_bag_ui() + print("调试:UI更新完成") + Toast.show(message, Color.GREEN) + else: + print("错误:道具使用失败: ", message) + Toast.show(message, Color.RED) "dig_ground":#处理开垦土地 if success: # 更新玩家数据 if updated_data.has("money"): main_game.money = updated_data["money"] + if updated_data.has("experience"): + main_game.experience = updated_data["experience"] + if updated_data.has("level"): + main_game.level = updated_data["level"] if updated_data.has("farm_lots"): main_game.farm_lots = updated_data["farm_lots"] + if updated_data.has("player_bag"): + main_game.player_bag = updated_data["player_bag"] # 更新UI main_game._update_ui() main_game._update_farm_lots_state() - Toast.show(message, Color.GREEN) + # 更新背包UI + if main_game.player_bag_panel: + main_game.player_bag_panel.update_player_bag_ui() + Toast.show(message, Color.GREEN, 3.0, 1.0) else: Toast.show(message, Color.RED) "remove_crop":#处理铲除作物 @@ -309,8 +358,10 @@ func _on_data_received(data): main_game.money = updated_data["money"] if updated_data.has("farm_lots"): main_game.farm_lots = updated_data["farm_lots"] - if updated_data.has("体力值"): - main_game.stamina = updated_data["体力值"] + if updated_data.has("experience"): + main_game.experience = updated_data["experience"] + if updated_data.has("level"): + main_game.level = updated_data["level"] # 更新UI main_game._update_ui() @@ -325,8 +376,10 @@ func _on_data_received(data): main_game.money = updated_data["money"] if updated_data.has("farm_lots"): main_game.farm_lots = updated_data["farm_lots"] - if updated_data.has("体力值"): - main_game.stamina = updated_data["体力值"] + if updated_data.has("experience"): + main_game.experience = updated_data["experience"] + if updated_data.has("level"): + main_game.level = updated_data["level"] # 更新UI main_game._update_ui() @@ -396,15 +449,38 @@ func _on_data_received(data): "new_player_gift_response": #新手大礼包响应 if main_game and main_game.has_method("_handle_new_player_gift_response"): main_game._handle_new_player_gift_response(data) + "online_gift_data_response": #在线礼包数据响应 + if main_game and main_game.has_method("_handle_online_gift_data_response"): + main_game._handle_online_gift_data_response(data) + "claim_online_gift_response": #领取在线礼包响应 + if main_game and main_game.has_method("_handle_claim_online_gift_response"): + main_game._handle_claim_online_gift_response(data) "pong": #延迟检测响应 handle_pong_response(data) + "modify_account_info_response": #修改账号信息响应 + if main_game and main_game.has_method("_handle_account_setting_response"): + main_game._handle_account_setting_response(data) + "delete_account_response": #删除账号响应 + if main_game and main_game.has_method("_handle_account_setting_response"): + main_game._handle_account_setting_response(data) + "refresh_player_info_response": #刷新玩家信息响应 + if main_game and main_game.has_method("_handle_account_setting_response"): + main_game._handle_account_setting_response(data) _: # 显示其他类型的消息 return _: # 处理非JSON数据 return +#=========================客户端与服务端通信核心========================================= +#=====================================网络连接基本处理========================================= + + + + + +#=====================================网络操作处理========================================= func _on_connection_button_pressed(): if client.is_client_connected(): # 断开连接 @@ -431,7 +507,7 @@ func connect_to_current_server(): connection_start_time = Time.get_unix_time_from_system() client.connect_to_server(config["host"], config["port"]) - +#手动发送消息处理 func _on_send_button_pressed(): if not client.is_client_connected(): status_label.text = "未连接,无法发送" @@ -451,7 +527,10 @@ func _on_send_button_pressed(): # 清空输入 message_input.text = "" +#=====================================网络操作处理========================================= + +#=====================================客户端向服务端发送消息处理========================================= #发送登录信息 func sendLoginInfo(username, password): client.send_data({ @@ -535,6 +614,36 @@ func sendBuySeed(crop_name): }) return true +#发送购买道具信息 +func sendBuyItem(item_name, item_cost): + if not client.is_client_connected(): + return false + + client.send_data({ + "type": "buy_item", + "item_name": item_name, + "item_cost": item_cost, + "timestamp": Time.get_unix_time_from_system() + }) + return true + +#发送使用道具信息 +func sendUseItem(lot_index, item_name, use_type, target_username = ""): + + if not client.is_client_connected(): + print("错误:客户端未连接") + return false + var message = { + "type": "use_item", + "lot_index": lot_index, + "item_name": item_name, + "use_type": use_type, + "target_username": target_username, + "timestamp": Time.get_unix_time_from_system() + } + client.send_data(message) + return true + #发送获取游玩时间请求 func sendGetPlayTime(): if not client.is_client_connected(): @@ -556,12 +665,16 @@ func sendUpdatePlayTime(): return true #发送获取玩家排行榜请求 -func sendGetPlayerRankings(): +func sendGetPlayerRankings(sort_by = "level", sort_order = "desc", filter_online = false, search_qq = ""): if not client.is_client_connected(): return false client.send_data({ - "type": "request_player_rankings" + "type": "request_player_rankings", + "sort_by": sort_by, + "sort_order": sort_order, + "filter_online": filter_online, + "search_qq": search_qq }) return true @@ -740,41 +853,42 @@ func sendClaimNewPlayerGift(): }) return true +#发送获取在线礼包数据请求 +func sendGetOnlineGiftData(): + if not client.is_client_connected(): + return false + + client.send_data({ + "type": "get_online_gift_data", + "timestamp": Time.get_unix_time_from_system() + }) + return true + +#发送领取在线礼包请求 +func sendClaimOnlineGift(gift_name: String): + if not client.is_client_connected(): + return false + + client.send_data({ + "type": "claim_online_gift", + "gift_name": gift_name, + "timestamp": Time.get_unix_time_from_system() + }) + return true + #检查是否连接到服务器 func is_connected_to_server(): return client.is_client_connected() -# 尝试连接下一个服务器 -func try_next_server(): - var original_index = current_server_index - current_server_index = (current_server_index + 1) % server_configs.size() - - # 如果回到了原始服务器,说明所有服务器都尝试过了 - if current_server_index == original_index: - if has_tried_all_servers: - print("=== 所有服务器连接失败 ===") - print("已尝试所有 ", server_configs.size(), " 个服务器") - for i in range(server_configs.size()): - print("- ", server_configs[i]["name"], " (", server_configs[i]["host"], ":", server_configs[i]["port"], ")") - status_label.text = "所有服务器连接失败" - status_label.modulate = Color.RED - is_trying_to_connect = false - return - else: - has_tried_all_servers = true - - var config = server_configs[current_server_index] - - print("=== 切换到下一个服务器 ===") - print("从 ", server_configs[original_index]["name"], " 切换到 ", config["name"]) - print("新服务器地址: ", config["host"], ":", config["port"]) - - var timer = get_tree().create_timer(1.0) # 稍微缩短等待时间 - await timer.timeout - +#发送通用消息 +func send_message(message: Dictionary): if not client.is_client_connected(): - connect_to_current_server() - + return false + + client.send_data(message) + return true + + # 手动切换到指定服务器 func switch_to_server(server_index: int): if server_index >= 0 and server_index < server_configs.size(): @@ -815,13 +929,16 @@ func send_ping(): "timestamp": ping_start_time }) +#=====================================客户端向服务端发送消息处理========================================= + + # 处理服务器返回的pong消息 func handle_pong_response(data = null): if is_measuring_ping: var current_time = Time.get_unix_time_from_system() current_ping = int((current_time - ping_start_time) * 1000) # 转换为毫秒 is_measuring_ping = false - print("延迟: ", current_ping, "ms") + #print("延迟: ", current_ping, "ms") # 更新连接状态显示 update_connection_status() @@ -834,13 +951,13 @@ func update_connection_status(): var ping_text = str(current_ping) + "ms" var server_name = server_configs[current_server_index]["name"] - if current_ping < 30: + if current_ping < 100: status_label.text = "✅ " + server_name + " " + ping_text status_label.modulate = Color.GREEN - elif current_ping < 80: + elif current_ping < 150: status_label.text = "🟡 " + server_name + " " + ping_text status_label.modulate = Color.YELLOW - elif current_ping < 150: + elif current_ping < 300: status_label.text = "🟠 " + server_name + " " + ping_text status_label.modulate = Color.ORANGE else: @@ -848,7 +965,7 @@ func update_connection_status(): status_label.modulate = Color.RED else: var server_name = server_configs[current_server_index]["name"] - status_label.text = "🔄 " + server_name + " 测量中..." + status_label.text = "🔄 " + server_name + "..." status_label.modulate = Color.CYAN else: status_label.text = "❌ 未连接" diff --git a/Server/TCPGameServer.py b/Server/TCPGameServer.py index 26e8187..307746c 100644 --- a/Server/TCPGameServer.py +++ b/Server/TCPGameServer.py @@ -6,6 +6,7 @@ import glob import threading import datetime import re +import random """ 萌芽农场TCP游戏服务器 - 代码结构说明 @@ -56,7 +57,8 @@ import re server_host: str = "0.0.0.0" server_port: int = 4040 buffer_size: int = 4096 -server_version: str = "1.0.3" # 记录服务端版本 +server_version: str = "1.0.5" + # ============================================================================ @@ -67,7 +69,7 @@ class TCPGameServer(TCPServer): 萌芽农场TCP游戏服务器 """ - #==========================初始化和生命周期管理========================== +#==========================初始化和生命周期管理========================== #初始化操作 def __init__(self, server_host=server_host, server_port=server_port, buffer_size=buffer_size): """初始化TCP游戏服务器""" @@ -76,6 +78,7 @@ class TCPGameServer(TCPServer): # 基础数据存储 self.user_data = {} # 存储用户相关数据 self.crop_timer = None # 作物生长计时器 + self.weed_timer = None # 杂草生长计时器 # 性能优化相关配置 self._init_performance_settings() @@ -85,6 +88,7 @@ class TCPGameServer(TCPServer): # 启动定时器 self.start_crop_growth_timer() self.start_batch_save_timer() + self.start_weed_growth_timer() #初始化性能操作 def _init_performance_settings(self): @@ -97,6 +101,13 @@ class TCPGameServer(TCPServer): self.slow_update_interval = 10 # 慢速更新间隔(每10秒进行一次完整更新) self.active_players_cache = {} # 活跃玩家缓存 self.cache_expire_time = 300 # 缓存过期时间(5分钟) + + # 杂草生长相关配置 + self.weed_check_interval = 86400 # 杂草检查间隔(24小时) + self.offline_threshold_days = 3 # 离线多少天后开始长杂草 + self.max_weeds_per_check = 3 # 每次检查时最多长多少个杂草 + self.weed_growth_probability = 0.3 # 每个空地长杂草的概率(30%) + self.last_weed_check_time = time.time() # 上次检查杂草的时间 #启动作物生长计时器 def start_crop_growth_timer(self): @@ -125,6 +136,23 @@ class TCPGameServer(TCPServer): batch_timer.daemon = True batch_timer.start() + #启动杂草生长计时器 + def start_weed_growth_timer(self): + """启动杂草生长计时器,每天检查一次""" + try: + current_time = time.time() + # 检查是否到了杂草检查时间 + if current_time - self.last_weed_check_time >= self.weed_check_interval: + self.check_and_grow_weeds() + self.last_weed_check_time = current_time + except Exception as e: + self.log('ERROR', f"杂草生长检查时出错: {str(e)}", 'SERVER') + + # 创建下一个杂草检查计时器(每小时检查一次是否到时间) + self.weed_timer = threading.Timer(3600, self.start_weed_growth_timer) # 每小时检查一次 + self.weed_timer.daemon = True + self.weed_timer.start() + #获取服务器统计信息 def get_server_stats(self): """获取服务器统计信息""" @@ -146,6 +174,12 @@ class TCPGameServer(TCPServer): self.crop_timer = None self.log('INFO', "作物生长计时器已停止", 'SERVER') + # 停止杂草生长计时器 + if hasattr(self, 'weed_timer') and self.weed_timer: + self.weed_timer.cancel() + self.weed_timer = None + self.log('INFO', "杂草生长计时器已停止", 'SERVER') + # 强制保存所有缓存数据 self.log('INFO', "正在保存所有玩家数据...", 'SERVER') saved_count = self.force_save_all_data() @@ -157,8 +191,11 @@ class TCPGameServer(TCPServer): # 调用父类方法完成实际停止 super().stop() - - #==========================客户端连接管理========================== +#==========================初始化和生命周期管理========================== + + + +#==========================客户端连接管理========================== #移除客户端 def _remove_client(self, client_id): """覆盖客户端移除方法,添加用户离开通知和数据保存""" @@ -192,9 +229,12 @@ class TCPGameServer(TCPServer): self.log('INFO', f"用户 {username} 已离开游戏", 'SERVER') super()._remove_client(client_id) - +#==========================客户端连接管理========================== - #==========================验证和检查方法========================== + + + +#==========================验证和检查方法========================== #检查用户是否已登录的通用方法 def _check_user_logged_in(self, client_id, action_name, action_type=None): """检查用户是否已登录的通用方法""" @@ -216,8 +256,11 @@ class TCPGameServer(TCPServer): return True, None +#==========================验证和检查方法========================== - #==========================数据管理方法========================== + + +#=================================数据管理方法==================================== #加载玩家数据 def load_player_data(self, account_id): """从缓存或文件加载玩家数据(优化版本)""" @@ -336,7 +379,18 @@ class TCPGameServer(TCPServer): # 加载和更新玩家数据 player_data = self.load_player_data(username) if player_data: + # 更新总游玩时间 self._update_total_play_time(player_data, play_time_seconds) + + # 更新今日在线礼包累计时间 + current_date = datetime.datetime.now().strftime("%Y-%m-%d") + online_gift_data = player_data.get("online_gift", {}) + + if current_date in online_gift_data: + today_data = online_gift_data[current_date] + today_data["total_online_time"] = today_data.get("total_online_time", 0.0) + play_time_seconds + player_data["online_gift"] = online_gift_data + self.save_player_data(username, player_data) self.log('INFO', f"用户 {username} 本次游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['total_login_time']}", 'SERVER') @@ -360,7 +414,38 @@ class TCPGameServer(TCPServer): # 更新总游玩时间 player_data["total_login_time"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" - #==========================作物系统管理========================== + # 检查玩家是否享受新玩家注册奖励 + def _is_new_player_bonus_active(self, player_data): + """检查玩家是否在新玩家奖励期内(注册后3天内享受10倍生长速度)""" + register_time_str = player_data.get("注册时间", "") + + # 如果没有注册时间或者是默认的老玩家时间,则不享受奖励 + if not register_time_str or register_time_str == "2025年05月21日15时00分00秒": + return False + + try: + # 解析注册时间 + register_time = datetime.datetime.strptime(register_time_str, "%Y年%m月%d日%H时%M分%S秒") + current_time = datetime.datetime.now() + + # 计算注册天数 + time_diff = current_time - register_time + days_since_register = time_diff.total_seconds() / 86400 # 转换为天数 + + # 3天内享受新玩家奖励 + if days_since_register <= 3: + return True + else: + return False + + except ValueError as e: + self.log('WARNING', f"解析注册时间格式错误: {register_time_str}, 错误: {str(e)}", 'SERVER') + return False + +#=================================数据管理方法==================================== + + +#================================作物系统管理========================================= #优化的作物生长更新系统 def update_crops_growth_optimized(self): """优化的作物生长更新系统""" @@ -456,6 +541,10 @@ class TCPGameServer(TCPServer): # 计算生长速度倍数 growth_multiplier = 1.0 + # 新玩家注册奖励:注册后3天内享受10倍生长速度 + if self._is_new_player_bonus_active(player_data): + growth_multiplier *= 10.0 + # 土地等级影响 - 根据不同等级应用不同倍数 land_level = farm_lot.get("土地等级", 0) land_speed_multipliers = { @@ -467,17 +556,30 @@ class TCPGameServer(TCPServer): } growth_multiplier *= land_speed_multipliers.get(land_level, 1.0) - # 施肥影响 + # 施肥影响 - 支持不同类型的道具施肥 if farm_lot.get("已施肥", False) and "施肥时间" in farm_lot: fertilize_time = farm_lot.get("施肥时间", 0) current_time = time.time() - if current_time - fertilize_time <= 600: # 10分钟内 - growth_multiplier *= 2.0 + + # 获取施肥类型和对应的持续时间、倍数 + fertilize_type = farm_lot.get("施肥类型", "普通施肥") + fertilize_duration = farm_lot.get("施肥持续时间", 600) # 默认10分钟 + fertilize_multiplier = farm_lot.get("施肥倍数", 2.0) # 默认2倍速 + + if current_time - fertilize_time <= fertilize_duration: + # 施肥效果仍在有效期内 + growth_multiplier *= fertilize_multiplier else: - # 施肥效果过期 + # 施肥效果过期,清除施肥状态 farm_lot["已施肥"] = False if "施肥时间" in farm_lot: del farm_lot["施肥时间"] + if "施肥类型" in farm_lot: + del farm_lot["施肥类型"] + if "施肥倍数" in farm_lot: + del farm_lot["施肥倍数"] + if "施肥持续时间" in farm_lot: + del farm_lot["施肥持续时间"] # 应用生长速度倍数和时间补偿 growth_increase = int(growth_multiplier * time_multiplier) @@ -538,7 +640,7 @@ class TCPGameServer(TCPServer): "is_visiting": False } self.send_data(client_id, update_message) - +#================================作物系统管理========================================= @@ -570,6 +672,8 @@ class TCPGameServer(TCPServer): return self._handle_plant_crop(client_id, message) elif message_type == "buy_seed":#购买种子 return self._handle_buy_seed(client_id, message) + elif message_type == "buy_item":#购买道具 + return self._handle_buy_item(client_id, message) elif message_type == "dig_ground":#开垦土地 return self._handle_dig_ground(client_id, message) elif message_type == "remove_crop":#铲除作物 @@ -578,6 +682,8 @@ class TCPGameServer(TCPServer): return self._handle_water_crop(client_id, message) elif message_type == "fertilize_crop":#施肥 return self._handle_fertilize_crop(client_id, message) + elif message_type == "use_item":#使用道具 + return self._handle_use_item(client_id, message) elif message_type == "upgrade_land":#升级土地 return self._handle_upgrade_land(client_id, message) elif message_type == "buy_new_ground":#添加新的土地 @@ -591,7 +697,7 @@ class TCPGameServer(TCPServer): elif message_type == "update_play_time":#更新游玩时间 return self._handle_update_play_time(client_id) elif message_type == "request_player_rankings":#请求玩家排行榜 - return self._handle_player_rankings_request(client_id) + return self._handle_player_rankings_request(client_id, message) elif message_type == "request_crop_data":#请求作物数据 return self._handle_crop_data_request(client_id) elif message_type == "visit_player":#拜访其他玩家农场 @@ -606,15 +712,25 @@ class TCPGameServer(TCPServer): return self._handle_lucky_draw_request(client_id, message) elif message_type == "claim_new_player_gift":#领取新手大礼包 return self._handle_new_player_gift_request(client_id, message) + elif message_type == "get_online_gift_data":#获取在线礼包数据 + return self._handle_get_online_gift_data_request(client_id, message) + elif message_type == "claim_online_gift":#领取在线礼包 + return self._handle_claim_online_gift_request(client_id, message) elif message_type == "ping":#客户端ping请求 return self._handle_ping_request(client_id, message) + elif message_type == "modify_account_info":#修改账号信息 + return self._handle_modify_account_info_request(client_id, message) + elif message_type == "delete_account":#删除账号 + return self._handle_delete_account_request(client_id, message) + elif message_type == "refresh_player_info":#刷新玩家信息 + return self._handle_refresh_player_info_request(client_id, message) #--------------------------------------------------------------------------- elif message_type == "message":#处理聊天消息(暂未实现) return self._handle_chat_message(client_id, message) else: return super()._handle_message(client_id, message) -# ======================================================================== +# =======================服务端与客户端通信注册========================================== @@ -684,6 +800,22 @@ class TCPGameServer(TCPServer): if stamina_updated: self.log('INFO', f"玩家 {username} 体力值已更新:{player_data.get('体力值', 20)}", 'SERVER') + # 检查并更新已存在玩家的注册时间 + self._check_and_update_register_time(player_data, username) + + # 初始化今日在线礼包数据 + current_date = datetime.datetime.now().strftime("%Y-%m-%d") + if "online_gift" not in player_data: + player_data["online_gift"] = {} + + online_gift_data = player_data["online_gift"] + if current_date not in online_gift_data: + online_gift_data[current_date] = { + "start_time": time.time(), + "claimed_gifts": {} + } + self.log('INFO', f"玩家 {username} 初始化今日在线礼包数据", 'SERVER') + # 保存用户会话信息 self.user_data[client_id] = { "username": username, @@ -814,6 +946,7 @@ class TCPGameServer(TCPServer): "user_password": password, "farm_name": farm_name or "我的农场", "player_name": player_name or username, + "个人简介": "", # 新增个人简介字段,默认为空 "experience": player_data.get("experience", 0), "level": player_data.get("level", 1), "money": player_data.get("money", 1000) @@ -840,6 +973,9 @@ class TCPGameServer(TCPServer): time_str = current_time.strftime("%Y年%m月%d日%H时%M分%S秒") player_data["last_login_time"] = time_str + # 设置新玩家的注册时间(不同于模板中的默认时间) + player_data["注册时间"] = time_str + if "total_login_time" not in player_data: player_data["total_login_time"] = "0时0分0秒" @@ -848,13 +984,13 @@ class TCPGameServer(TCPServer): with open(file_path, 'w', encoding='utf-8') as file: json.dump(player_data, file, indent=2, ensure_ascii=False) - self.log('INFO', f"用户 {username} 注册成功", 'SERVER') + self.log('INFO', f"用户 {username} 注册成功,注册时间: {time_str},享受3天新玩家10倍生长速度奖励", 'SERVER') # 返回成功响应 return self.send_data(client_id, { "type": "register_response", "status": "success", - "message": "注册成功,请登录游戏" + "message": "注册成功,请登录游戏!新玩家享受3天10倍作物生长速度奖励" }) except Exception as e: @@ -1066,20 +1202,48 @@ class TCPGameServer(TCPServer): # 读取作物配置 crop_data = self._load_crop_data() - # 获取作物收益和经验 + # 获取作物类型和经验 crop_type = lot["crop_type"] + + # 检查是否为杂草类型(杂草不能收获,只能铲除) if crop_type in crop_data: - crop_income = crop_data[crop_type].get("收益", 100) + crop_data[crop_type].get("花费", 0) - crop_exp = crop_data[crop_type].get("经验", 10) + crop_info = crop_data[crop_type] + is_weed = crop_info.get("是否杂草", False) + + if is_weed: + return self._send_action_error(client_id, "harvest_crop", f"{crop_type}不能收获,只能铲除!请使用铲除功能清理杂草。") + + crop_exp = crop_info.get("经验", 10) + + # 额外检查:如果作物收益为负数,也视为杂草 + crop_income = crop_info.get("收益", 100) + crop_info.get("花费", 0) + if crop_income < 0: + return self._send_action_error(client_id, "harvest_crop", f"{crop_type}不能收获,只能铲除!请使用铲除功能清理杂草。") else: - # 默认收益 - crop_income = 100 + # 默认经验 crop_exp = 10 - # 更新玩家数据 - player_data["money"] += crop_income + # 生成成熟物收获(1-5个) + import random + harvest_count = random.randint(1, 5) + crop_harvest = { + "name": crop_type, + "count": harvest_count + } + + # 10%概率获得1-2个该作物的种子 + seed_reward = self._generate_harvest_seed_reward(crop_type) + + # 更新玩家经验(不再直接给钱) player_data["experience"] += crop_exp + # 添加成熟物到作物仓库 + self._add_crop_to_warehouse(player_data, crop_harvest) + + # 添加种子奖励到背包 + if seed_reward: + self._add_seeds_to_bag(player_data, seed_reward) + # 检查升级 level_up_experience = 100 * player_data["level"] if player_data["experience"] >= level_up_experience: @@ -1104,17 +1268,24 @@ class TCPGameServer(TCPServer): # 发送作物更新 self._push_crop_update_to_player(username, player_data) - self.log('INFO', f"玩家 {username} 从地块 {lot_index} 收获了作物,获得 {crop_income} 金钱和 {crop_exp} 经验", 'SERVER') + # 构建消息 + message = f"收获成功,获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验" + if seed_reward: + message += f",额外获得 {seed_reward['name']} 种子 x{seed_reward['count']}" + + self.log('INFO', f"玩家 {username} 从地块 {lot_index} 收获了作物,获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验" + (f",额外获得 {seed_reward['name']} 种子 x{seed_reward['count']}" if seed_reward else ""), 'SERVER') return self.send_data(client_id, { "type": "action_response", "action_type": "harvest_crop", "success": True, - "message": f"收获成功,获得 {crop_income} 金钱和 {crop_exp} 经验", + "message": message, "updated_data": { "money": player_data["money"], "experience": player_data["experience"], - "level": player_data["level"] + "level": player_data["level"], + "player_bag": player_data.get("player_bag", []), + "作物仓库": player_data.get("作物仓库", []) } }) @@ -1134,25 +1305,53 @@ class TCPGameServer(TCPServer): # 读取作物配置 crop_data = self._load_crop_data() - # 获取作物收益和经验(偷菜获得的收益稍微少一些,比如80%) + # 获取作物类型和经验(偷菜获得的经验稍微少一些,比如50%) crop_type = target_lot["crop_type"] + + # 检查是否为杂草类型(杂草不能偷取,只能铲除) if crop_type in crop_data: - crop_income = int((crop_data[crop_type].get("收益", 100) + crop_data[crop_type].get("花费", 0)) * 0.8) # 偷菜获得80%收益 - crop_exp = int(crop_data[crop_type].get("经验", 10) * 0.5) # 偷菜获得50%经验 + crop_info = crop_data[crop_type] + is_weed = crop_info.get("是否杂草", False) + + if is_weed: + return self._send_action_error(client_id, "harvest_crop", f"{crop_type}不能偷取,只能铲除!这是杂草,没有收益价值。") + + crop_exp = int(crop_info.get("经验", 10) * 0.5) # 偷菜获得50%经验 + + # 额外检查:如果作物收益为负数,也视为杂草 + crop_income = crop_info.get("收益", 100) + crop_info.get("花费", 0) + if crop_income < 0: + return self._send_action_error(client_id, "harvest_crop", f"{crop_type}不能偷取,只能铲除!这是杂草,没有收益价值。") else: - # 默认收益 - crop_income = 80 + # 默认经验 crop_exp = 5 + # 生成成熟物收获(偷菜获得较少,1-3个) + import random + harvest_count = random.randint(1, 3) + crop_harvest = { + "name": crop_type, + "count": harvest_count + } + + # 10%概率获得1-2个该作物的种子(偷菜也有机会获得种子) + seed_reward = self._generate_harvest_seed_reward(crop_type) + # 消耗当前玩家的体力值 stamina_success, stamina_message = self._consume_stamina(current_player_data, stamina_cost, "偷菜") if not stamina_success: return self._send_action_error(client_id, "harvest_crop", stamina_message) - # 更新当前玩家数据(获得收益) - current_player_data["money"] += crop_income + # 更新当前玩家数据(获得经验) current_player_data["experience"] += crop_exp + # 添加成熟物到作物仓库 + self._add_crop_to_warehouse(current_player_data, crop_harvest) + + # 添加种子奖励到背包 + if seed_reward: + self._add_seeds_to_bag(current_player_data, seed_reward) + # 检查当前玩家升级 level_up_experience = 100 * current_player_data["level"] if current_player_data["experience"] >= level_up_experience: @@ -1178,24 +1377,255 @@ class TCPGameServer(TCPServer): # 向目标玩家推送作物更新(如果在线) self._push_crop_update_to_player(target_username, target_player_data) - self.log('INFO', f"玩家 {current_username} 偷了玩家 {target_username} 地块 {lot_index} 的作物,获得 {crop_income} 金钱和 {crop_exp} 经验", 'SERVER') + # 构建消息 + message = f"偷菜成功!从 {target_username} 那里获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验,{stamina_message}" + if seed_reward: + message += f",额外获得 {seed_reward['name']} 种子 x{seed_reward['count']}" + + self.log('INFO', f"玩家 {current_username} 偷了玩家 {target_username} 地块 {lot_index} 的作物,获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验" + (f",额外获得 {seed_reward['name']} 种子 x{seed_reward['count']}" if seed_reward else ""), 'SERVER') return self.send_data(client_id, { "type": "action_response", "action_type": "harvest_crop", "success": True, - "message": f"偷菜成功!从 {target_username} 那里获得 {crop_income} 金钱和 {crop_exp} 经验,{stamina_message}", + "message": message, "updated_data": { "money": current_player_data["money"], "experience": current_player_data["experience"], "level": current_player_data["level"], - "体力值": current_player_data["体力值"] + "体力值": current_player_data["体力值"], + "player_bag": current_player_data.get("player_bag", []), + "作物仓库": current_player_data.get("作物仓库", []) } }) + + # 生成收获种子奖励(10%概率获得1-2个种子) + def _generate_harvest_seed_reward(self, crop_type): + """生成收获作物时的种子奖励""" + # 10%概率获得种子 + if random.random() > 0.1: + return None + + # 随机获得1-2个种子 + seed_count = random.randint(1, 2) + + return { + "name": crop_type, + "count": seed_count + } + + # 添加种子到玩家背包 + def _add_seeds_to_bag(self, player_data, seed_reward): + """将种子奖励添加到玩家背包""" + if not seed_reward: + return + + seed_name = seed_reward["name"] + seed_count = seed_reward["count"] + + # 确保背包存在 + if "player_bag" not in player_data: + player_data["player_bag"] = [] + + # 查找背包中是否已有该种子 + seed_found = False + for item in player_data["player_bag"]: + if item.get("name") == seed_name: + item["count"] += seed_count + seed_found = True + break + + # 如果背包中没有该种子,添加新条目 + if not seed_found: + # 从作物数据获取品质信息 + crop_data = self._load_crop_data() + quality = "普通" + if crop_data and seed_name in crop_data: + quality = crop_data[seed_name].get("品质", "普通") + + player_data["player_bag"].append({ + "name": seed_name, + "quality": quality, + "count": seed_count + }) + + def _add_crop_to_warehouse(self, player_data, crop_harvest): + """将成熟物添加到玩家作物仓库""" + if not crop_harvest: + return + + crop_name = crop_harvest["name"] + crop_count = crop_harvest["count"] + + # 确保作物仓库存在 + if "作物仓库" not in player_data: + player_data["作物仓库"] = [] + + # 查找仓库中是否已有该成熟物 + crop_found = False + for item in player_data["作物仓库"]: + if item.get("name") == crop_name: + item["count"] += crop_count + crop_found = True + break + + # 如果仓库中没有该成熟物,添加新条目 + if not crop_found: + # 从作物数据获取品质信息 + crop_data = self._load_crop_data() + quality = "普通" + if crop_data and crop_name in crop_data: + quality = crop_data[crop_name].get("品质", "普通") + + player_data["作物仓库"].append({ + "name": crop_name, + "quality": quality, + "count": crop_count + }) + #==========================收获作物处理========================== +#==========================杂草生长处理========================== + def check_and_grow_weeds(self): + """检查所有玩家的离线时间,并在长时间离线玩家的空地上随机生长杂草""" + try: + self.log('INFO', "开始检查杂草生长...", 'SERVER') + current_time = time.time() + affected_players = 0 + total_weeds_added = 0 + + # 获取所有玩家存档文件 + game_saves_dir = "game_saves" + if not os.path.exists(game_saves_dir): + return + + # 获取作物数据以验证杂草类型 + crop_data = self._load_crop_data() + if not crop_data: + self.log('ERROR', "无法加载作物数据,跳过杂草检查", 'SERVER') + return + + # 可用的杂草类型(从作物数据中筛选标记为杂草的作物) + available_weeds = [] + for crop_name, crop_info in crop_data.items(): + if crop_info.get("是否杂草", False): + available_weeds.append(crop_name) + + if not available_weeds: + self.log('WARNING', "没有找到可用的杂草类型,跳过杂草检查", 'SERVER') + return + + # 遍历所有玩家文件 + for filename in os.listdir(game_saves_dir): + if not filename.endswith('.json'): + continue + + account_id = filename[:-5] # 移除.json后缀 + + try: + # 加载玩家数据 + player_data = self.load_player_data(account_id) + if not player_data: + continue + + # 检查玩家是否长时间离线 + if self._is_player_long_offline(player_data, current_time): + # 为该玩家的空地生长杂草 + weeds_added = self._grow_weeds_for_player(player_data, account_id, available_weeds) + if weeds_added > 0: + affected_players += 1 + total_weeds_added += weeds_added + # 保存玩家数据 + self.save_player_data(account_id, player_data) + + except Exception as e: + self.log('ERROR', f"处理玩家 {account_id} 的杂草生长时出错: {str(e)}", 'SERVER') + continue + + self.log('INFO', f"杂草检查完成,共为 {affected_players} 个玩家的农场添加了 {total_weeds_added} 个杂草", 'SERVER') + + except Exception as e: + self.log('ERROR', f"杂草生长检查过程中出错: {str(e)}", 'SERVER') + + def _is_player_long_offline(self, player_data, current_time): + """检查玩家是否长时间离线""" + # 获取玩家最后登录时间 + last_login_time_str = player_data.get("last_login_time", "") + if not last_login_time_str: + return False + + try: + # 解析最后登录时间戳 + last_login_timestamp = self._parse_login_time_to_timestamp(last_login_time_str) + if last_login_timestamp is None: + return False + + # 计算离线天数 + offline_seconds = current_time - last_login_timestamp + offline_days = offline_seconds / 86400 # 转换为天数 + + return offline_days >= self.offline_threshold_days + + except Exception as e: + self.log('ERROR', f"解析玩家登录时间时出错: {str(e)}", 'SERVER') + return False + + def _grow_weeds_for_player(self, player_data, account_id, available_weeds): + """为指定玩家的空地生长杂草""" + import random + + farm_lots = player_data.get("farm_lots", []) + if not farm_lots: + return 0 + + # 找到所有空的已开垦地块 + empty_lots = [] + for i, lot in enumerate(farm_lots): + if (lot.get("is_diged", False) and + not lot.get("is_planted", False) and + lot.get("crop_type", "") == ""): + empty_lots.append(i) + + if not empty_lots: + return 0 + + # 随机选择要长杂草的地块数量 + max_weeds = min(self.max_weeds_per_check, len(empty_lots)) + weeds_to_add = random.randint(1, max_weeds) + + # 随机选择地块 + selected_lots = random.sample(empty_lots, weeds_to_add) + weeds_added = 0 + + crop_data = self._load_crop_data() + + for lot_index in selected_lots: + # 按概率决定是否在这个地块长杂草 + if random.random() < self.weed_growth_probability: + # 随机选择杂草类型 + weed_type = random.choice(available_weeds) + weed_info = crop_data.get(weed_type, {}) + + # 在地块上种植杂草 + lot = farm_lots[lot_index] + lot["is_planted"] = True + lot["crop_type"] = weed_type + lot["grow_time"] = weed_info.get("生长时间", 5) # 杂草立即成熟 + lot["max_grow_time"] = weed_info.get("生长时间", 5) + lot["已浇水"] = False + lot["已施肥"] = False + + weeds_added += 1 + + if weeds_added > 0: + self.log('INFO', f"为玩家 {account_id} 的农场添加了 {weeds_added} 个杂草", 'SERVER') + + return weeds_added + +#==========================杂草生长处理========================== + #==========================种植作物处理========================== #处理种植作物请求 @@ -1381,6 +1811,101 @@ class TCPGameServer(TCPServer): +#==========================购买道具处理========================== + #处理购买道具请求 + def _handle_buy_item(self, client_id, message): + """处理购买道具请求""" + # 检查用户是否已登录 + logged_in, response = self._check_user_logged_in(client_id, "购买道具", "buy_item") + if not logged_in: + return self.send_data(client_id, response) + + # 获取玩家数据 + player_data, username, response = self._load_player_data_with_check(client_id, "buy_item") + if not player_data: + return self.send_data(client_id, response) + + item_name = message.get("item_name", "") + item_cost = message.get("item_cost", 0) + + # 加载道具配置 + item_config = self._load_item_config() + if not item_config: + return self._send_action_error(client_id, "buy_item", "服务器无法加载道具数据") + + # 检查道具是否存在 + if item_name not in item_config: + return self._send_action_error(client_id, "buy_item", "该道具不存在") + + # 验证价格是否正确 + actual_cost = item_config[item_name].get("花费", 0) + if item_cost != actual_cost: + return self._send_action_error(client_id, "buy_item", f"道具价格验证失败,实际价格为{actual_cost}元") + + # 处理购买 + return self._process_item_purchase(client_id, player_data, username, item_name, item_config[item_name]) + + #处理道具购买逻辑 + def _process_item_purchase(self, client_id, player_data, username, item_name, item_info): + """处理道具购买逻辑""" + item_cost = item_info.get("花费", 0) + + # 检查玩家金钱 + if player_data["money"] < item_cost: + return self._send_action_error(client_id, "buy_item", "金钱不足,无法购买此道具") + + # 扣除金钱 + player_data["money"] -= item_cost + + # 将道具添加到道具背包 + item_found = False + + # 确保道具背包存在 + if "道具背包" not in player_data: + player_data["道具背包"] = [] + + for item in player_data["道具背包"]: + if item.get("name") == item_name: + item["count"] += 1 + item_found = True + break + + if not item_found: + player_data["道具背包"].append({ + "name": item_name, + "count": 1 + }) + + # 保存玩家数据 + self.save_player_data(username, player_data) + + self.log('INFO', f"玩家 {username} 购买了道具 {item_name},花费 {item_cost} 元", 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "buy_item", + "success": True, + "message": f"成功购买 {item_name}", + "updated_data": { + "money": player_data["money"], + "道具背包": player_data["道具背包"] + } + }) + + #加载道具配置数据 + def _load_item_config(self): + """从item_config.json加载道具配置数据""" + try: + with open("config/item_config.json", 'r', encoding='utf-8') as file: + return json.load(file) + except Exception as e: + self.log('ERROR', f"无法加载道具数据: {str(e)}", 'SERVER') + return {} +#==========================购买道具处理========================== + + + + #==========================开垦土地处理========================== #处理开垦土地请求 def _handle_dig_ground(self, client_id, message): @@ -1413,8 +1938,9 @@ class TCPGameServer(TCPServer): #辅助函数-处理土地开垦逻辑 def _process_digging(self, client_id, player_data, username, lot, lot_index): """处理土地开垦逻辑""" + # 计算开垦费用 - 基于已开垦地块数量 - digged_count = sum(1 for l in player_data["farm_lots"] if l.get("is_diged", False)) + digged_count = sum(1 for l in player_data.get("farm_lots", []) if l.get("is_diged", False)) dig_money = digged_count * 1000 # 检查玩家金钱是否足够 @@ -1425,25 +1951,104 @@ class TCPGameServer(TCPServer): player_data["money"] -= dig_money lot["is_diged"] = True + # 生成开垦随机奖励 + rewards = self._generate_dig_rewards() + + # 应用奖励 + player_data["money"] += rewards["money"] + player_data["experience"] += rewards["experience"] + + # 添加种子到背包 + if "player_bag" not in player_data: + player_data["player_bag"] = [] + + for seed_name, quantity in rewards["seeds"].items(): + # 查找是否已有该种子 + found = False + for item in player_data["player_bag"]: + if item.get("name") == seed_name: + item["count"] += quantity + found = True + break + + # 如果没有找到,添加新种子 + if not found: + player_data["player_bag"].append({ + "name": seed_name, + "count": quantity + }) + + # 检查是否升级 + self._check_level_up(player_data) + # 保存玩家数据 self.save_player_data(username, player_data) # 发送作物更新 self._push_crop_update_to_player(username, player_data) - self.log('INFO', f"玩家 {username} 成功开垦地块 {lot_index},花费 {dig_money} 金钱", 'SERVER') + # 构建奖励消息 + reward_message = f"获得 {rewards['money']} 金钱、{rewards['experience']} 经验" + if rewards["seeds"]: + seed_list = [f"{name} x{qty}" for name, qty in rewards["seeds"].items()] + reward_message += f"、种子:{', '.join(seed_list)}" + + self.log('INFO', f"玩家 {username} 成功开垦地块 {lot_index},花费 {dig_money} 金钱,{reward_message}", 'SERVER') return self.send_data(client_id, { "type": "action_response", "action_type": "dig_ground", "success": True, - "message": f"成功开垦地块,花费 {dig_money} 金钱", + "message": f"成功开垦地块,花费 {dig_money} 金钱!{reward_message}", "updated_data": { "money": player_data["money"], - "farm_lots": player_data["farm_lots"] + "experience": player_data["experience"], + "level": player_data["level"], + "farm_lots": player_data["farm_lots"], + "player_bag": player_data["player_bag"] } }) + #辅助函数-生成开垦土地随机奖励 + def _generate_dig_rewards(self): + """生成开垦土地的随机奖励""" + + rewards = { + "money": 0, + "experience": 0, + "seeds": {} + } + + # 随机金钱:200-500元 + rewards["money"] = random.randint(200, 500) + + # 随机经验:300-600经验 + rewards["experience"] = random.randint(300, 600) + + # 随机种子:0-3种种子 + seed_types_count = random.randint(0, 3) + + if seed_types_count > 0: + # 获取作物数据 + crop_data = self._load_crop_data() + if crop_data: + # 获取所有可购买的种子 + all_seeds = [] + for crop_name, crop_info in crop_data.items(): + if crop_info.get("能否购买", False): + all_seeds.append(crop_name) + + if all_seeds: + # 随机选择种子类型 + selected_seeds = random.sample(all_seeds, min(seed_types_count, len(all_seeds))) + + for seed_name in selected_seeds: + # 每种种子1-3个 + quantity = random.randint(1, 3) + rewards["seeds"][seed_name] = quantity + + return rewards + #==========================开垦土地处理========================== @@ -1576,16 +2181,8 @@ class TCPGameServer(TCPServer): #辅助函数-处理浇水逻辑 def _process_watering(self, client_id, player_data, username, lot, lot_index): """处理浇水逻辑""" - # 浇水费用和体力值消耗 + # 浇水费用 water_cost = 50 - stamina_cost = 1 - - # 检查并更新体力值 - self._check_and_update_stamina(player_data) - - # 检查体力值是否足够 - if not self._check_stamina_sufficient(player_data, stamina_cost): - return self._send_action_error(client_id, "water_crop", f"体力值不足,浇水需要 {stamina_cost} 点体力,当前体力:{player_data.get('体力值', 0)}") # 检查玩家金钱是否足够 if player_data["money"] < water_cost: @@ -1613,10 +2210,12 @@ class TCPGameServer(TCPServer): # 执行浇水操作 player_data["money"] -= water_cost - # 消耗体力值 - stamina_success, stamina_message = self._consume_stamina(player_data, stamina_cost, "浇水") - if not stamina_success: - return self._send_action_error(client_id, "water_crop", stamina_message) + # 生成随机经验奖励(100-300) + experience_reward = random.randint(100, 300) + player_data["experience"] += experience_reward + + # 检查是否升级 + self._check_level_up(player_data) # 计算浇水效果:增加1%的生长进度 growth_increase = int(lot["max_grow_time"] * 0.01) # 1%的生长时间 @@ -1641,9 +2240,9 @@ class TCPGameServer(TCPServer): crop_type = lot.get("crop_type", "未知作物") progress = (lot["grow_time"] / lot["max_grow_time"]) * 100 - self.log('INFO', f"玩家 {username} 给地块 {lot_index} 的 {crop_type} 浇水,花费 {water_cost} 金钱,生长进度: {progress:.1f}%", 'SERVER') + self.log('INFO', f"玩家 {username} 给地块 {lot_index} 的 {crop_type} 浇水,花费 {water_cost} 金钱,获得 {experience_reward} 经验,生长进度: {progress:.1f}%", 'SERVER') - message = f"浇水成功!{crop_type} 生长了 {growth_increase} 秒,当前进度: {progress:.1f}%,{stamina_message}" + message = f"浇水成功!{crop_type} 生长了 {growth_increase} 秒,当前进度: {progress:.1f}%,获得 {experience_reward} 经验" if lot["grow_time"] >= lot["max_grow_time"]: message += ",作物已成熟!" @@ -1654,7 +2253,8 @@ class TCPGameServer(TCPServer): "message": message, "updated_data": { "money": player_data["money"], - "体力值": player_data["体力值"], + "experience": player_data["experience"], + "level": player_data["level"], "farm_lots": player_data["farm_lots"] } }) @@ -1662,16 +2262,8 @@ class TCPGameServer(TCPServer): #处理访问模式浇水逻辑 def _process_visiting_watering(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index): """处理访问模式浇水逻辑(花自己的钱,效果作用在目标玩家作物上)""" - # 浇水费用和体力值消耗 + # 浇水费用 water_cost = 50 - stamina_cost = 1 - - # 检查并更新当前玩家的体力值 - self._check_and_update_stamina(current_player_data) - - # 检查体力值是否足够 - if not self._check_stamina_sufficient(current_player_data, stamina_cost): - return self._send_action_error(client_id, "water_crop", f"体力值不足,帮助浇水需要 {stamina_cost} 点体力,当前体力:{current_player_data.get('体力值', 0)}") # 检查当前玩家金钱是否足够 if current_player_data["money"] < water_cost: @@ -1699,10 +2291,12 @@ class TCPGameServer(TCPServer): # 执行浇水操作:扣除当前玩家的钱 current_player_data["money"] -= water_cost - # 消耗当前玩家的体力值 - stamina_success, stamina_message = self._consume_stamina(current_player_data, stamina_cost, "帮助浇水") - if not stamina_success: - return self._send_action_error(client_id, "water_crop", stamina_message) + # 生成随机经验奖励(100-300)给当前玩家 + experience_reward = random.randint(100, 300) + current_player_data["experience"] += experience_reward + + # 检查当前玩家是否升级 + self._check_level_up(current_player_data) # 计算浇水效果:增加目标作物的生长进度 growth_increase = int(target_lot["max_grow_time"] * 0.01) # 1%的生长时间 @@ -1728,9 +2322,9 @@ class TCPGameServer(TCPServer): crop_type = target_lot.get("crop_type", "未知作物") progress = (target_lot["grow_time"] / target_lot["max_grow_time"]) * 100 - self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 给地块 {lot_index} 的 {crop_type} 浇水,花费 {water_cost} 金钱,生长进度: {progress:.1f}%", 'SERVER') + self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 给地块 {lot_index} 的 {crop_type} 浇水,花费 {water_cost} 金钱,获得 {experience_reward} 经验,生长进度: {progress:.1f}%", 'SERVER') - message = f"帮助浇水成功!{target_username} 的 {crop_type} 生长了 {growth_increase} 秒,当前进度: {progress:.1f}%,{stamina_message}" + message = f"帮助浇水成功!{target_username} 的 {crop_type} 生长了 {growth_increase} 秒,当前进度: {progress:.1f}%,获得 {experience_reward} 经验" if target_lot["grow_time"] >= target_lot["max_grow_time"]: message += ",作物已成熟!" @@ -1741,7 +2335,8 @@ class TCPGameServer(TCPServer): "message": message, "updated_data": { "money": current_player_data["money"], - "体力值": current_player_data["体力值"] + "experience": current_player_data["experience"], + "level": current_player_data["level"] } }) @@ -1803,16 +2398,8 @@ class TCPGameServer(TCPServer): #辅助函数-处理访问模式施肥逻辑 def _process_visiting_fertilizing(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index): """处理访问模式施肥逻辑(花自己的钱,效果作用在目标玩家作物上)""" - # 施肥费用和体力值消耗 + # 施肥费用 fertilize_cost = 150 - stamina_cost = 1 - - # 检查并更新当前玩家的体力值 - self._check_and_update_stamina(current_player_data) - - # 检查体力值是否足够 - if not self._check_stamina_sufficient(current_player_data, stamina_cost): - return self._send_action_error(client_id, "fertilize_crop", f"体力值不足,帮助施肥需要 {stamina_cost} 点体力,当前体力:{current_player_data.get('体力值', 0)}") # 检查当前玩家金钱是否足够 if current_player_data["money"] < fertilize_cost: @@ -1833,10 +2420,12 @@ class TCPGameServer(TCPServer): # 执行施肥操作:扣除当前玩家的钱 current_player_data["money"] -= fertilize_cost - # 消耗当前玩家的体力值 - stamina_success, stamina_message = self._consume_stamina(current_player_data, stamina_cost, "帮助施肥") - if not stamina_success: - return self._send_action_error(client_id, "fertilize_crop", stamina_message) + # 生成随机经验奖励(100-300)给当前玩家 + experience_reward = random.randint(100, 300) + current_player_data["experience"] += experience_reward + + # 检查当前玩家是否升级 + self._check_level_up(current_player_data) # 标记目标作物已施肥,施肥效果会在作物生长更新时生效 target_lot["已施肥"] = True @@ -1853,32 +2442,25 @@ class TCPGameServer(TCPServer): crop_type = target_lot.get("crop_type", "未知作物") - self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 给地块 {lot_index} 的 {crop_type} 施肥,花费 {fertilize_cost} 金钱", 'SERVER') + self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 给地块 {lot_index} 的 {crop_type} 施肥,花费 {fertilize_cost} 金钱,获得 {experience_reward} 经验", 'SERVER') return self.send_data(client_id, { "type": "action_response", "action_type": "fertilize_crop", "success": True, - "message": f"帮助施肥成功!{target_username} 的 {crop_type} 将在10分钟内以双倍速度生长,{stamina_message}", + "message": f"帮助施肥成功!{target_username} 的 {crop_type} 将在10分钟内以双倍速度生长,获得 {experience_reward} 经验", "updated_data": { "money": current_player_data["money"], - "体力值": current_player_data["体力值"] + "experience": current_player_data["experience"], + "level": current_player_data["level"] } }) #辅助函数-处理施肥逻辑 def _process_fertilizing(self, client_id, player_data, username, lot, lot_index): """处理施肥逻辑""" - # 施肥费用和体力值消耗 + # 施肥费用 fertilize_cost = 150 - stamina_cost = 1 - - # 检查并更新体力值 - self._check_and_update_stamina(player_data) - - # 检查体力值是否足够 - if not self._check_stamina_sufficient(player_data, stamina_cost): - return self._send_action_error(client_id, "fertilize_crop", f"体力值不足,施肥需要 {stamina_cost} 点体力,当前体力:{player_data.get('体力值', 0)}") # 检查玩家金钱是否足够 if player_data["money"] < fertilize_cost: @@ -1899,10 +2481,12 @@ class TCPGameServer(TCPServer): # 执行施肥操作 player_data["money"] -= fertilize_cost - # 消耗体力值 - stamina_success, stamina_message = self._consume_stamina(player_data, stamina_cost, "施肥") - if not stamina_success: - return self._send_action_error(client_id, "fertilize_crop", stamina_message) + # 生成随机经验奖励(100-300) + experience_reward = random.randint(100, 300) + player_data["experience"] += experience_reward + + # 检查是否升级 + self._check_level_up(player_data) # 标记已施肥,施肥效果会在作物生长更新时生效 lot["已施肥"] = True @@ -1918,16 +2502,17 @@ class TCPGameServer(TCPServer): crop_type = lot.get("crop_type", "未知作物") - self.log('INFO', f"玩家 {username} 给地块 {lot_index} 的 {crop_type} 施肥,花费 {fertilize_cost} 金钱", 'SERVER') + self.log('INFO', f"玩家 {username} 给地块 {lot_index} 的 {crop_type} 施肥,花费 {fertilize_cost} 金钱,获得 {experience_reward} 经验", 'SERVER') return self.send_data(client_id, { "type": "action_response", "action_type": "fertilize_crop", "success": True, - "message": f"施肥成功!{crop_type} 将在10分钟内以双倍速度生长,{stamina_message}", + "message": f"施肥成功!{crop_type} 将在10分钟内以双倍速度生长,获得 {experience_reward} 经验", "updated_data": { "money": player_data["money"], - "体力值": player_data["体力值"], + "experience": player_data["experience"], + "level": player_data["level"], "farm_lots": player_data["farm_lots"] } }) @@ -1937,6 +2522,880 @@ class TCPGameServer(TCPServer): +#==========================道具使用处理========================== + def _handle_use_item(self, client_id, message): + """处理使用道具请求""" + print(f"调试:服务器收到道具使用请求") + print(f" - client_id: {client_id}") + print(f" - message: {message}") + + # 检查用户是否已登录 + logged_in, response = self._check_user_logged_in(client_id, "使用道具", "use_item") + if not logged_in: + print(f"错误:用户未登录") + return self.send_data(client_id, response) + + # 获取玩家数据 + player_data, username, response = self._load_player_data_with_check(client_id, "use_item") + if not player_data: + print(f"错误:无法加载玩家数据") + return self.send_data(client_id, response) + + lot_index = message.get("lot_index", -1) + item_name = message.get("item_name", "") + use_type = message.get("use_type", "") + target_username = message.get("target_username", "") + + print(f"调试:解析参数") + print(f" - username: {username}") + print(f" - lot_index: {lot_index}") + print(f" - item_name: {item_name}") + print(f" - use_type: {use_type}") + print(f" - target_username: {target_username}") + + # 验证参数 + if not item_name: + return self._send_action_error(client_id, "use_item", "道具名称不能为空") + + if not use_type: + return self._send_action_error(client_id, "use_item", "使用类型不能为空") + + # 检查玩家是否拥有该道具 + if not self._has_item_in_inventory(player_data, item_name): + return self._send_action_error(client_id, "use_item", f"您没有 {item_name}") + + # 确定操作目标 + if target_username and target_username != username: + # 访问模式:对别人的作物使用道具 + target_player_data = self.load_player_data(target_username) + if not target_player_data: + return self._send_action_error(client_id, "use_item", f"无法找到玩家 {target_username} 的数据") + + # 验证地块索引 + if lot_index < 0 or lot_index >= len(target_player_data.get("farm_lots", [])): + return self._send_action_error(client_id, "use_item", "无效的地块索引") + + target_lot = target_player_data["farm_lots"][lot_index] + return self._process_item_use_visiting(client_id, player_data, username, target_player_data, target_username, target_lot, lot_index, item_name, use_type) + else: + # 正常模式:对自己的作物使用道具 + if lot_index < 0 or lot_index >= len(player_data.get("farm_lots", [])): + return self._send_action_error(client_id, "use_item", "无效的地块索引") + + lot = player_data["farm_lots"][lot_index] + return self._process_item_use_normal(client_id, player_data, username, lot, lot_index, item_name, use_type) + + def _has_item_in_inventory(self, player_data, item_name): + """检查玩家是否拥有指定道具""" + item_bag = player_data.get("道具背包", []) + for item in item_bag: + if item.get("name", "") == item_name and item.get("count", 0) > 0: + return True + return False + + def _remove_item_from_inventory(self, player_data, item_name, count=1): + """从玩家道具背包中移除指定数量的道具""" + item_bag = player_data.get("道具背包", []) + for i, item in enumerate(item_bag): + if item.get("name", "") == item_name and item.get("count", 0) >= count: + item["count"] -= count + if item["count"] <= 0: + item_bag.pop(i) + return True + return False + + def _process_item_use_normal(self, client_id, player_data, username, lot, lot_index, item_name, use_type): + """处理正常模式下的道具使用""" + # 检查地块状态 + if not lot.get("is_planted", False) or not lot.get("crop_type", ""): + return self._send_action_error(client_id, "use_item", "此地块没有种植作物") + + # 检查作物是否已死亡 + if lot.get("is_dead", False): + return self._send_action_error(client_id, "use_item", "死亡的作物无法使用道具") + + # 根据使用类型和道具名称执行不同逻辑 + if use_type == "fertilize": + # 检查是否已经成熟(施肥道具需要检查) + if lot.get("grow_time", 0) >= lot.get("max_grow_time", 1): + return self._send_action_error(client_id, "use_item", "作物已经成熟,无需施肥") + return self._use_fertilizer_item(client_id, player_data, username, lot, lot_index, item_name) + elif use_type == "water": + # 检查是否已经成熟(浇水道具需要检查) + if lot.get("grow_time", 0) >= lot.get("max_grow_time", 1): + return self._send_action_error(client_id, "use_item", "作物已经成熟,无需浇水") + return self._use_watering_item(client_id, player_data, username, lot, lot_index, item_name) + elif use_type == "remove": + # 铲子可以清除任何作物,包括成熟的 + return self._use_removal_item(client_id, player_data, username, lot, lot_index, item_name) + elif use_type == "weed_killer": + # 除草剂可以清除任何杂草,包括成熟的 + return self._use_weed_killer_item(client_id, player_data, username, lot, lot_index, item_name) + elif use_type == "harvest": + # 采集道具只能对成熟的作物使用 + if lot.get("grow_time", 0) < lot.get("max_grow_time", 1): + return self._send_action_error(client_id, "use_item", "作物还未成熟,无法使用采集道具") + return self._use_harvest_item(client_id, player_data, username, lot, lot_index, item_name) + else: + return self._send_action_error(client_id, "use_item", f"不支持的使用类型: {use_type}") + + def _process_item_use_visiting(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name, use_type): + """处理访问模式下的道具使用""" + # 检查地块状态 + if not target_lot.get("is_planted", False) or not target_lot.get("crop_type", ""): + return self._send_action_error(client_id, "use_item", "此地块没有种植作物") + + # 检查作物是否已死亡 + if target_lot.get("is_dead", False): + return self._send_action_error(client_id, "use_item", "死亡的作物无法使用道具") + + # 根据使用类型和道具名称执行不同逻辑 + if use_type == "fertilize": + # 检查是否已经成熟(施肥道具需要检查) + if target_lot.get("grow_time", 0) >= target_lot.get("max_grow_time", 1): + return self._send_action_error(client_id, "use_item", "作物已经成熟,无需施肥") + return self._use_fertilizer_item_visiting(client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name) + elif use_type == "water": + # 检查是否已经成熟(浇水道具需要检查) + if target_lot.get("grow_time", 0) >= target_lot.get("max_grow_time", 1): + return self._send_action_error(client_id, "use_item", "作物已经成熟,无需浇水") + return self._use_watering_item_visiting(client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name) + elif use_type == "remove": + # 铲子可以清除任何作物,包括成熟的 + return self._use_removal_item_visiting(client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name) + elif use_type == "weed_killer": + # 除草剂可以清除任何杂草,包括成熟的 + return self._use_weed_killer_item_visiting(client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name) + elif use_type == "harvest": + # 采集道具只能对成熟的作物使用 + if target_lot.get("grow_time", 0) < target_lot.get("max_grow_time", 1): + return self._send_action_error(client_id, "use_item", "作物还未成熟,无法使用采集道具") + return self._use_harvest_item_visiting(client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name) + else: + return self._send_action_error(client_id, "use_item", f"不支持的使用类型: {use_type}") + + def _use_fertilizer_item(self, client_id, player_data, username, lot, lot_index, item_name): + """使用施肥类道具""" + # 检查是否已经施过肥 + if lot.get("已施肥", False): + return self._send_action_error(client_id, "use_item", "此作物已经施过肥了") + + # 移除道具 + if not self._remove_item_from_inventory(player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励 + experience_reward = random.randint(50, 150) + player_data["experience"] += experience_reward + + # 检查是否升级 + self._check_level_up(player_data) + + # 根据道具类型设置不同的施肥效果 + current_time = time.time() + + if item_name == "农家肥": + # 30分钟内2倍速生长 + lot["已施肥"] = True + lot["施肥时间"] = current_time + lot["施肥类型"] = "农家肥" + lot["施肥倍数"] = 2.0 + lot["施肥持续时间"] = 1800 # 30分钟 + message = f"使用 {item_name} 成功!作物将在30分钟内以2倍速度生长" + elif item_name == "金坷垃": + # 5分钟内5倍速生长 + lot["已施肥"] = True + lot["施肥时间"] = current_time + lot["施肥类型"] = "金坷垃" + lot["施肥倍数"] = 5.0 + lot["施肥持续时间"] = 300 # 5分钟 + message = f"使用 {item_name} 成功!作物将在5分钟内以5倍速度生长" + elif item_name == "生长素": + # 10分钟内3倍速生长 + lot["已施肥"] = True + lot["施肥时间"] = current_time + lot["施肥类型"] = "生长素" + lot["施肥倍数"] = 3.0 + lot["施肥持续时间"] = 600 # 10分钟 + message = f"使用 {item_name} 成功!作物将在10分钟内以3倍速度生长" + else: + return self._send_action_error(client_id, "use_item", f"不支持的施肥道具: {item_name}") + + # 保存玩家数据 + self.save_player_data(username, player_data) + + # 发送作物更新 + self._push_crop_update_to_player(username, player_data) + + crop_type = lot.get("crop_type", "未知作物") + self.log('INFO', f"玩家 {username} 对地块 {lot_index} 的 {crop_type} 使用了 {item_name},获得 {experience_reward} 经验", 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": f"{message},获得 {experience_reward} 经验", + "updated_data": { + "experience": player_data["experience"], + "level": player_data["level"], + "farm_lots": player_data["farm_lots"], + "道具背包": player_data["道具背包"] + } + }) + + def _use_watering_item(self, client_id, player_data, username, lot, lot_index, item_name): + """使用浇水类道具""" + # 移除道具 + if not self._remove_item_from_inventory(player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励 + experience_reward = random.randint(30, 100) + player_data["experience"] += experience_reward + + # 检查是否升级 + self._check_level_up(player_data) + + # 根据道具类型计算浇水效果 + if item_name == "水壶": + # 增加1%的生长进度 + growth_increase = int(lot["max_grow_time"] * 0.01) + message = f"使用 {item_name} 成功!作物生长进度增加了1%" + elif item_name == "水桶": + # 增加2%的生长进度 + growth_increase = int(lot["max_grow_time"] * 0.02) + message = f"使用 {item_name} 成功!作物生长进度增加了2%" + else: + return self._send_action_error(client_id, "use_item", f"不支持的浇水道具: {item_name}") + + if growth_increase < 1: + growth_increase = 1 # 至少增加1秒 + + lot["grow_time"] += growth_increase + + # 确保不超过最大生长时间 + if lot["grow_time"] > lot["max_grow_time"]: + lot["grow_time"] = lot["max_grow_time"] + + # 记录浇水时间戳 + lot["浇水时间"] = time.time() + + # 保存玩家数据 + self.save_player_data(username, player_data) + + # 发送作物更新 + self._push_crop_update_to_player(username, player_data) + + crop_type = lot.get("crop_type", "未知作物") + progress = (lot["grow_time"] / lot["max_grow_time"]) * 100 + + self.log('INFO', f"玩家 {username} 对地块 {lot_index} 的 {crop_type} 使用了 {item_name},生长进度: {progress:.1f}%,获得 {experience_reward} 经验", 'SERVER') + + final_message = f"{message},当前进度: {progress:.1f}%,获得 {experience_reward} 经验" + if lot["grow_time"] >= lot["max_grow_time"]: + final_message += ",作物已成熟!" + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": final_message, + "updated_data": { + "experience": player_data["experience"], + "level": player_data["level"], + "farm_lots": player_data["farm_lots"], + "道具背包": player_data["道具背包"] + } + }) + + def _use_fertilizer_item_visiting(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name): + """访问模式下使用施肥类道具""" + # 检查是否已经施过肥 + if target_lot.get("已施肥", False): + return self._send_action_error(client_id, "use_item", "此作物已经施过肥了") + + # 移除当前玩家的道具 + if not self._remove_item_from_inventory(current_player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励给当前玩家 + experience_reward = random.randint(50, 150) + current_player_data["experience"] += experience_reward + + # 检查当前玩家是否升级 + self._check_level_up(current_player_data) + + # 根据道具类型设置不同的施肥效果 + current_time = time.time() + + if item_name == "农家肥": + # 30分钟内2倍速生长 + target_lot["已施肥"] = True + target_lot["施肥时间"] = current_time + target_lot["施肥类型"] = "农家肥" + target_lot["施肥倍数"] = 2.0 + target_lot["施肥持续时间"] = 1800 # 30分钟 + message = f"帮助施肥成功!{target_username} 的作物将在30分钟内以2倍速度生长" + elif item_name == "金坷垃": + # 5分钟内5倍速生长 + target_lot["已施肥"] = True + target_lot["施肥时间"] = current_time + target_lot["施肥类型"] = "金坷垃" + target_lot["施肥倍数"] = 5.0 + target_lot["施肥持续时间"] = 300 # 5分钟 + message = f"帮助施肥成功!{target_username} 的作物将在5分钟内以5倍速度生长" + elif item_name == "生长素": + # 10分钟内3倍速生长 + target_lot["已施肥"] = True + target_lot["施肥时间"] = current_time + target_lot["施肥类型"] = "生长素" + target_lot["施肥倍数"] = 3.0 + target_lot["施肥持续时间"] = 600 # 10分钟 + message = f"帮助施肥成功!{target_username} 的作物将在10分钟内以3倍速度生长" + else: + return self._send_action_error(client_id, "use_item", f"不支持的施肥道具: {item_name}") + + # 保存两个玩家的数据 + self.save_player_data(current_username, current_player_data) + self.save_player_data(target_username, target_player_data) + + # 向目标玩家推送作物更新 + self._push_crop_update_to_player(target_username, target_player_data) + + crop_type = target_lot.get("crop_type", "未知作物") + self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 对地块 {lot_index} 的 {crop_type} 使用了 {item_name},获得 {experience_reward} 经验", 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": f"{message},获得 {experience_reward} 经验", + "updated_data": { + "experience": current_player_data["experience"], + "level": current_player_data["level"], + "道具背包": current_player_data["道具背包"] + } + }) + + def _use_watering_item_visiting(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name): + """访问模式下使用浇水类道具""" + # 移除当前玩家的道具 + if not self._remove_item_from_inventory(current_player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励给当前玩家 + experience_reward = random.randint(30, 100) + current_player_data["experience"] += experience_reward + + # 检查当前玩家是否升级 + self._check_level_up(current_player_data) + + # 根据道具类型计算浇水效果 + if item_name == "水壶": + # 增加1%的生长进度 + growth_increase = int(target_lot["max_grow_time"] * 0.01) + message = f"帮助浇水成功!{target_username} 的作物生长进度增加了1%" + elif item_name == "水桶": + # 增加2%的生长进度 + growth_increase = int(target_lot["max_grow_time"] * 0.02) + message = f"帮助浇水成功!{target_username} 的作物生长进度增加了2%" + else: + return self._send_action_error(client_id, "use_item", f"不支持的浇水道具: {item_name}") + + if growth_increase < 1: + growth_increase = 1 # 至少增加1秒 + + target_lot["grow_time"] += growth_increase + + # 确保不超过最大生长时间 + if target_lot["grow_time"] > target_lot["max_grow_time"]: + target_lot["grow_time"] = target_lot["max_grow_time"] + + # 记录浇水时间戳 + target_lot["浇水时间"] = time.time() + + # 保存两个玩家的数据 + self.save_player_data(current_username, current_player_data) + self.save_player_data(target_username, target_player_data) + + # 向目标玩家推送作物更新 + self._push_crop_update_to_player(target_username, target_player_data) + + crop_type = target_lot.get("crop_type", "未知作物") + progress = (target_lot["grow_time"] / target_lot["max_grow_time"]) * 100 + + self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 对地块 {lot_index} 的 {crop_type} 使用了 {item_name},生长进度: {progress:.1f}%,获得 {experience_reward} 经验", 'SERVER') + + final_message = f"{message},当前进度: {progress:.1f}%,获得 {experience_reward} 经验" + if target_lot["grow_time"] >= target_lot["max_grow_time"]: + final_message += ",作物已成熟!" + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": final_message, + "updated_data": { + "experience": current_player_data["experience"], + "level": current_player_data["level"], + "道具背包": current_player_data["道具背包"] + } + }) + + def _use_removal_item(self, client_id, player_data, username, lot, lot_index, item_name): + """使用铲除类道具(铲子)""" + # 检查玩家是否有这个道具 + if not self._has_item_in_inventory(player_data, item_name): + return self._send_action_error(client_id, "use_item", f"您没有 {item_name}") + + # 移除道具 + if not self._remove_item_from_inventory(player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励 + experience_reward = random.randint(20, 60) + player_data["experience"] += experience_reward + + # 检查是否升级 + self._check_level_up(player_data) + + # 获取作物名称用于日志 + crop_type = lot.get("crop_type", "未知作物") + + # 执行铲除操作 + lot["is_planted"] = False + lot["crop_type"] = "" + lot["grow_time"] = 0 + lot["is_dead"] = False # 重置死亡状态 + lot["已浇水"] = False # 重置浇水状态 + lot["已施肥"] = False # 重置施肥状态 + + # 保存玩家数据 + self.save_player_data(username, player_data) + + # 发送作物更新 + self._push_crop_update_to_player(username, player_data) + + self.log('INFO', f"玩家 {username} 使用 {item_name} 铲除了地块 {lot_index} 的作物 {crop_type},获得 {experience_reward} 经验", 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": f"使用 {item_name} 成功铲除作物 {crop_type},获得 {experience_reward} 经验", + "updated_data": { + "experience": player_data["experience"], + "level": player_data["level"], + "farm_lots": player_data["farm_lots"], + "道具背包": player_data["道具背包"] + } + }) + + def _use_weed_killer_item(self, client_id, player_data, username, lot, lot_index, item_name): + """使用除草剂""" + # 检查是否为杂草 + crop_type = lot.get("crop_type", "") + crop_data = self._load_crop_data() + + if not crop_data or crop_type not in crop_data: + return self._send_action_error(client_id, "use_item", f"未知的作物类型: {crop_type}") + + is_weed = crop_data[crop_type].get("是否杂草", False) + if not is_weed: + return self._send_action_error(client_id, "use_item", "除草剂只能用于清除杂草,此作物不是杂草") + + # 检查玩家是否有这个道具 + if not self._has_item_in_inventory(player_data, item_name): + return self._send_action_error(client_id, "use_item", f"您没有 {item_name}") + + # 移除道具 + if not self._remove_item_from_inventory(player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励 + experience_reward = random.randint(15, 50) + player_data["experience"] += experience_reward + + # 检查是否升级 + self._check_level_up(player_data) + + # 执行除草操作 + lot["is_planted"] = False + lot["crop_type"] = "" + lot["grow_time"] = 0 + lot["is_dead"] = False # 重置死亡状态 + lot["已浇水"] = False # 重置浇水状态 + lot["已施肥"] = False # 重置施肥状态 + + # 保存玩家数据 + self.save_player_data(username, player_data) + + # 发送作物更新 + self._push_crop_update_to_player(username, player_data) + + self.log('INFO', f"玩家 {username} 使用 {item_name} 清除了地块 {lot_index} 的杂草 {crop_type},获得 {experience_reward} 经验", 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": f"使用 {item_name} 成功清除杂草 {crop_type},获得 {experience_reward} 经验", + "updated_data": { + "experience": player_data["experience"], + "level": player_data["level"], + "farm_lots": player_data["farm_lots"], + "道具背包": player_data["道具背包"] + } + }) + + def _use_removal_item_visiting(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name): + """访问模式下使用铲除道具""" + # 检查当前玩家是否有这个道具 + if not self._has_item_in_inventory(current_player_data, item_name): + return self._send_action_error(client_id, "use_item", f"您没有 {item_name}") + + # 移除当前玩家的道具 + if not self._remove_item_from_inventory(current_player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励给当前玩家 + experience_reward = random.randint(20, 60) + current_player_data["experience"] += experience_reward + + # 检查当前玩家是否升级 + self._check_level_up(current_player_data) + + # 获取作物名称用于日志 + crop_type = target_lot.get("crop_type", "未知作物") + + # 执行铲除操作 + target_lot["is_planted"] = False + target_lot["crop_type"] = "" + target_lot["grow_time"] = 0 + target_lot["is_dead"] = False # 重置死亡状态 + target_lot["已浇水"] = False # 重置浇水状态 + target_lot["已施肥"] = False # 重置施肥状态 + + # 保存两个玩家的数据 + self.save_player_data(current_username, current_player_data) + self.save_player_data(target_username, target_player_data) + + # 向目标玩家推送作物更新 + self._push_crop_update_to_player(target_username, target_player_data) + + self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 使用 {item_name} 铲除了地块 {lot_index} 的作物 {crop_type},获得 {experience_reward} 经验", 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": f"帮助 {target_username} 铲除作物 {crop_type} 成功,获得 {experience_reward} 经验", + "updated_data": { + "experience": current_player_data["experience"], + "level": current_player_data["level"], + "道具背包": current_player_data["道具背包"] + } + }) + + def _use_weed_killer_item_visiting(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name): + """访问模式下使用除草剂""" + # 检查是否为杂草 + crop_type = target_lot.get("crop_type", "") + crop_data = self._load_crop_data() + + if not crop_data or crop_type not in crop_data: + return self._send_action_error(client_id, "use_item", f"未知的作物类型: {crop_type}") + + is_weed = crop_data[crop_type].get("是否杂草", False) + if not is_weed: + return self._send_action_error(client_id, "use_item", "除草剂只能用于清除杂草,此作物不是杂草") + + # 检查当前玩家是否有这个道具 + if not self._has_item_in_inventory(current_player_data, item_name): + return self._send_action_error(client_id, "use_item", f"您没有 {item_name}") + + # 移除当前玩家的道具 + if not self._remove_item_from_inventory(current_player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 生成随机经验奖励给当前玩家 + experience_reward = random.randint(15, 50) + current_player_data["experience"] += experience_reward + + # 检查当前玩家是否升级 + self._check_level_up(current_player_data) + + # 执行除草操作 + target_lot["is_planted"] = False + target_lot["crop_type"] = "" + target_lot["grow_time"] = 0 + target_lot["is_dead"] = False # 重置死亡状态 + target_lot["已浇水"] = False # 重置浇水状态 + target_lot["已施肥"] = False # 重置施肥状态 + + # 保存两个玩家的数据 + self.save_player_data(current_username, current_player_data) + self.save_player_data(target_username, target_player_data) + + # 向目标玩家推送作物更新 + self._push_crop_update_to_player(target_username, target_player_data) + + self.log('INFO', f"玩家 {current_username} 帮助玩家 {target_username} 使用 {item_name} 清除了地块 {lot_index} 的杂草 {crop_type},获得 {experience_reward} 经验", 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": f"帮助 {target_username} 清除杂草 {crop_type} 成功,获得 {experience_reward} 经验", + "updated_data": { + "experience": current_player_data["experience"], + "level": current_player_data["level"], + "道具背包": current_player_data["道具背包"] + } + }) + + def _use_harvest_item(self, client_id, player_data, username, lot, lot_index, item_name): + """使用采集道具(精准采集锄、时运锄)""" + # 移除道具 + if not self._remove_item_from_inventory(player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 读取作物配置 + crop_data = self._load_crop_data() + + # 获取作物类型 + crop_type = lot["crop_type"] + + # 检查是否为杂草类型(杂草不能用采集道具收获) + if crop_type in crop_data: + crop_info = crop_data[crop_type] + is_weed = crop_info.get("是否杂草", False) + + if is_weed: + return self._send_action_error(client_id, "use_item", f"{crop_type}不能使用采集道具收获,只能铲除!") + + crop_exp = crop_info.get("经验", 10) + + # 额外检查:如果作物收益为负数,也视为杂草 + crop_income = crop_info.get("收益", 100) + crop_info.get("花费", 0) + if crop_income < 0: + return self._send_action_error(client_id, "use_item", f"{crop_type}不能使用采集道具收获,只能铲除!") + else: + # 默认经验 + crop_exp = 10 + + # 道具特殊效果 + import random + + if item_name == "精准采集锄": + # 精准采集锄:收获数量正常(1-5个),但必定掉落种子 + harvest_count = random.randint(1, 5) + # 100%概率获得2-4个该作物的种子 + seed_reward = { + "name": crop_type + "种子", + "count": random.randint(2, 4) + } + message_suffix = ",精准采集锄确保了种子的获得" + + elif item_name == "时运锄": + # 时运锄:收获数量更多(3-8个),种子掉落率正常 + harvest_count = random.randint(3, 8) + # 15%概率获得1-3个该作物的种子(稍微提高) + seed_reward = None + if random.random() < 0.15: + seed_reward = { + "name": crop_type + "种子", + "count": random.randint(1, 3) + } + message_suffix = ",时运锄增加了收获数量" + + else: + return self._send_action_error(client_id, "use_item", f"不支持的采集道具: {item_name}") + + # 生成采集奖励经验 + experience_reward = random.randint(30, 80) + crop_exp += experience_reward + + # 创建收获物 + crop_harvest = { + "name": crop_type, + "count": harvest_count + } + + # 更新玩家经验 + player_data["experience"] += crop_exp + + # 检查是否升级 + self._check_level_up(player_data) + + # 添加成熟物到作物仓库 + self._add_crop_to_warehouse(player_data, crop_harvest) + + # 添加种子奖励到背包 + if seed_reward: + self._add_seeds_to_bag(player_data, seed_reward) + + # 清理地块 + lot["is_planted"] = False + lot["crop_type"] = "" + lot["grow_time"] = 0 + lot["已浇水"] = False + lot["已施肥"] = False + + # 清除施肥时间戳 + if "施肥时间" in lot: + del lot["施肥时间"] + + # 保存玩家数据 + self.save_player_data(username, player_data) + + # 发送作物更新 + self._push_crop_update_to_player(username, player_data) + + # 构建消息 + message = f"使用 {item_name} 收获成功,获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验{message_suffix}" + if seed_reward: + message += f",额外获得 {seed_reward['name']} x{seed_reward['count']}" + + self.log('INFO', f"玩家 {username} 使用 {item_name} 从地块 {lot_index} 收获了作物,获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验" + (f",额外获得 {seed_reward['name']} x{seed_reward['count']}" if seed_reward else ""), 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": message, + "updated_data": { + "experience": player_data["experience"], + "level": player_data["level"], + "player_bag": player_data.get("player_bag", []), + "作物仓库": player_data.get("作物仓库", []), + "道具背包": player_data.get("道具背包", []) + } + }) + + def _use_harvest_item_visiting(self, client_id, current_player_data, current_username, target_player_data, target_username, target_lot, lot_index, item_name): + """访问模式下使用采集道具""" + # 移除当前玩家的道具 + if not self._remove_item_from_inventory(current_player_data, item_name, 1): + return self._send_action_error(client_id, "use_item", f"移除道具 {item_name} 失败") + + # 读取作物配置 + crop_data = self._load_crop_data() + + # 获取作物类型 + crop_type = target_lot["crop_type"] + + # 检查是否为杂草类型(杂草不能用采集道具收获) + if crop_type in crop_data: + crop_info = crop_data[crop_type] + is_weed = crop_info.get("是否杂草", False) + + if is_weed: + return self._send_action_error(client_id, "use_item", f"{crop_type}不能使用采集道具收获,只能铲除!") + + crop_exp = int(crop_info.get("经验", 10) * 0.7) # 访问模式获得70%经验 + + # 额外检查:如果作物收益为负数,也视为杂草 + crop_income = crop_info.get("收益", 100) + crop_info.get("花费", 0) + if crop_income < 0: + return self._send_action_error(client_id, "use_item", f"{crop_type}不能使用采集道具收获,只能铲除!") + else: + # 默认经验 + crop_exp = 7 + + # 道具特殊效果(访问模式稍微降低效果) + import random + + if item_name == "精准采集锄": + # 精准采集锄:收获数量稍少(1-4个),但必定掉落种子 + harvest_count = random.randint(1, 4) + # 100%概率获得1-3个该作物的种子 + seed_reward = { + "name": crop_type + "种子", + "count": random.randint(1, 3) + } + message_suffix = ",精准采集锄确保了种子的获得" + + elif item_name == "时运锄": + # 时运锄:收获数量较多(2-6个),种子掉落率正常 + harvest_count = random.randint(2, 6) + # 10%概率获得1-2个该作物的种子 + seed_reward = None + if random.random() < 0.10: + seed_reward = { + "name": crop_type + "种子", + "count": random.randint(1, 2) + } + message_suffix = ",时运锄增加了收获数量" + + else: + return self._send_action_error(client_id, "use_item", f"不支持的采集道具: {item_name}") + + # 生成帮助采集奖励经验 + experience_reward = random.randint(20, 60) + crop_exp += experience_reward + + # 创建收获物 + crop_harvest = { + "name": crop_type, + "count": harvest_count + } + + # 更新当前玩家经验 + current_player_data["experience"] += crop_exp + + # 检查当前玩家是否升级 + self._check_level_up(current_player_data) + + # 收获物给当前玩家 + self._add_crop_to_warehouse(current_player_data, crop_harvest) + + # 种子奖励给当前玩家 + if seed_reward: + self._add_seeds_to_bag(current_player_data, seed_reward) + + # 清理目标玩家的地块 + target_lot["is_planted"] = False + target_lot["crop_type"] = "" + target_lot["grow_time"] = 0 + target_lot["已浇水"] = False + target_lot["已施肥"] = False + + # 清除施肥时间戳 + if "施肥时间" in target_lot: + del target_lot["施肥时间"] + + # 保存两个玩家的数据 + self.save_player_data(current_username, current_player_data) + self.save_player_data(target_username, target_player_data) + + # 向目标玩家推送作物更新(如果在线) + self._push_crop_update_to_player(target_username, target_player_data) + + # 构建消息 + message = f"使用 {item_name} 帮助收获成功!从 {target_username} 那里获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验{message_suffix}" + if seed_reward: + message += f",额外获得 {seed_reward['name']} x{seed_reward['count']}" + + self.log('INFO', f"玩家 {current_username} 使用 {item_name} 帮助玩家 {target_username} 收获地块 {lot_index} 的作物,获得 {crop_type} x{harvest_count} 和 {crop_exp} 经验" + (f",额外获得 {seed_reward['name']} x{seed_reward['count']}" if seed_reward else ""), 'SERVER') + + return self.send_data(client_id, { + "type": "action_response", + "action_type": "use_item", + "success": True, + "message": message, + "updated_data": { + "experience": current_player_data["experience"], + "level": current_player_data["level"], + "player_bag": current_player_data.get("player_bag", []), + "作物仓库": current_player_data.get("作物仓库", []), + "道具背包": current_player_data.get("道具背包", []) + } + }) +#==========================道具使用处理========================== + + + #==========================升级土地处理========================== #处理升级土地请求 def _handle_upgrade_land(self, client_id, message): @@ -2261,6 +3720,16 @@ class TCPGameServer(TCPServer): current_stamina = player_data.get("体力值", 20) return current_stamina >= amount + def _check_and_update_register_time(self, player_data, username): + """检查并更新已存在玩家的注册时间""" + default_register_time = "2025年05月21日15时00分00秒" + + # 如果玩家没有注册时间字段,设为默认值(老玩家) + if "注册时间" not in player_data: + player_data["注册时间"] = default_register_time + self.save_player_data(username, player_data) + self.log('INFO', f"为已存在玩家 {username} 设置默认注册时间", 'SERVER') + #==========================玩家体力值处理========================== @@ -2365,13 +3834,19 @@ class TCPGameServer(TCPServer): #==========================玩家排行榜处理========================== #处理获取玩家排行榜请求 - def _handle_player_rankings_request(self, client_id): + def _handle_player_rankings_request(self, client_id, message): """处理获取玩家排行榜的请求""" # 检查用户是否已登录 logged_in, response = self._check_user_logged_in(client_id, "获取玩家排行榜", "player_rankings") if not logged_in: return self.send_data(client_id, response) + # 获取排序和筛选参数 + sort_by = message.get("sort_by", "level") # 排序字段:seed_count, level, online_time, login_time, like_num, money + sort_order = message.get("sort_order", "desc") # 排序顺序:asc, desc + filter_online = message.get("filter_online", False) # 是否只显示在线玩家 + search_qq = message.get("search_qq", "") # 搜索的QQ号 + # 获取所有玩家存档文件 save_files = glob.glob(os.path.join("game_saves", "*.json")) players_data = [] @@ -2384,6 +3859,10 @@ class TCPGameServer(TCPServer): # 从文件名提取账号ID account_id = os.path.basename(save_file).split('.')[0] + # 如果有搜索条件,先检查是否匹配 + if search_qq and search_qq not in account_id: + continue + # 加载玩家数据 with open(save_file, 'r', encoding='utf-8') as file: player_data = json.load(file) @@ -2398,6 +3877,18 @@ class TCPGameServer(TCPServer): for user_info in self.user_data.values() ) + # 如果筛选在线玩家,跳过离线玩家 + if filter_online and not is_online: + continue + + # 解析总游玩时间为秒数(用于排序) + total_time_str = player_data.get("total_login_time", "0时0分0秒") + total_time_seconds = self._parse_time_to_seconds(total_time_str) + + # 解析最后登录时间为时间戳(用于排序) + last_login_str = player_data.get("last_login_time", "未知") + last_login_timestamp = self._parse_login_time_to_timestamp(last_login_str) + # 获取所需的玩家信息 player_info = { "user_name": player_data.get("user_name", account_id), @@ -2408,8 +3899,11 @@ class TCPGameServer(TCPServer): "experience": player_data.get("experience", 0), "体力值": player_data.get("体力值", 20), "seed_count": seed_count, - "last_login_time": player_data.get("last_login_time", "未知"), - "total_login_time": player_data.get("total_login_time", "0时0分0秒"), + "last_login_time": last_login_str, + "last_login_timestamp": last_login_timestamp, + "total_login_time": total_time_str, + "total_time_seconds": total_time_seconds, + "like_num": player_data.get("total_likes", 0), "is_online": is_online } @@ -2417,21 +3911,76 @@ class TCPGameServer(TCPServer): except Exception as e: self.log('ERROR', f"读取玩家 {account_id} 的数据时出错: {str(e)}", 'SERVER') - # 按等级降序排序 - players_data.sort(key=lambda x: x["level"], reverse=True) + # 根据排序参数进行排序 + reverse_order = (sort_order == "desc") + + if sort_by == "seed_count": + players_data.sort(key=lambda x: x["seed_count"], reverse=reverse_order) + elif sort_by == "level": + players_data.sort(key=lambda x: x["level"], reverse=reverse_order) + elif sort_by == "online_time": + players_data.sort(key=lambda x: x["total_time_seconds"], reverse=reverse_order) + elif sort_by == "login_time": + players_data.sort(key=lambda x: x["last_login_timestamp"], reverse=reverse_order) + elif sort_by == "like_num": + players_data.sort(key=lambda x: x["like_num"], reverse=reverse_order) + elif sort_by == "money": + players_data.sort(key=lambda x: x["money"], reverse=reverse_order) + else: + # 默认按等级排序 + players_data.sort(key=lambda x: x["level"], reverse=True) # 统计在线玩家数量 online_count = sum(1 for player in players_data if player.get("is_online", False)) - self.log('INFO', f"玩家 {self.user_data[client_id].get('username')} 请求玩家排行榜,返回 {len(players_data)} 个玩家数据,注册总人数:{total_registered_players},在线人数:{online_count}", 'SERVER') + # 记录日志 + search_info = f",搜索QQ:{search_qq}" if search_qq else "" + filter_info = ",仅在线玩家" if filter_online else "" + sort_info = f",按{sort_by}{'降序' if reverse_order else '升序'}排序" + + self.log('INFO', f"玩家 {self.user_data[client_id].get('username')} 请求玩家排行榜{search_info}{filter_info}{sort_info},返回 {len(players_data)} 个玩家数据,注册总人数:{total_registered_players},在线人数:{online_count}", 'SERVER') # 返回排行榜数据(包含注册总人数) return self.send_data(client_id, { "type": "player_rankings_response", "success": True, "players": players_data, - "total_registered_players": total_registered_players + "total_registered_players": total_registered_players, + "sort_by": sort_by, + "sort_order": sort_order, + "filter_online": filter_online, + "search_qq": search_qq }) + + # 辅助函数:将时间字符串转换为秒数 + def _parse_time_to_seconds(self, time_str): + """将时间字符串(如'1时30分45秒')转换为总秒数""" + try: + import re + # 使用正则表达式提取时、分、秒 + pattern = r'(\d+)时(\d+)分(\d+)秒' + match = re.match(pattern, time_str) + if match: + hours = int(match.group(1)) + minutes = int(match.group(2)) + seconds = int(match.group(3)) + return hours * 3600 + minutes * 60 + seconds + return 0 + except: + return 0 + + # 辅助函数:将登录时间字符串转换为时间戳 + def _parse_login_time_to_timestamp(self, login_time_str): + """将登录时间字符串转换为时间戳用于排序""" + try: + if login_time_str == "未知": + return 0 + # 解析格式:2024年01月01日12时30分45秒 + import datetime + dt = datetime.datetime.strptime(login_time_str, "%Y年%m月%d日%H时%M分%S秒") + return dt.timestamp() + except: + return 0 #==========================玩家排行榜处理========================== @@ -2498,6 +4047,8 @@ class TCPGameServer(TCPServer): "体力值": target_player_data.get("体力值", 20), "farm_lots": target_player_data.get("farm_lots", []), "player_bag": target_player_data.get("player_bag", []), + "作物仓库": target_player_data.get("作物仓库", []), + "道具背包": target_player_data.get("道具背包", []), "last_login_time": target_player_data.get("last_login_time", "未知"), "total_login_time": target_player_data.get("total_login_time", "0时0分0秒"), "total_likes": target_player_data.get("total_likes", 0) @@ -2566,6 +4117,340 @@ class TCPGameServer(TCPServer): +#==========================在线礼包处理========================== + #处理获取在线礼包数据请求 + def _handle_get_online_gift_data_request(self, client_id, message): + """处理获取在线礼包数据请求""" + # 检查用户是否已登录 + logged_in, response = self._check_user_logged_in(client_id, "获取在线礼包数据", "get_online_gift_data") + if not logged_in: + return self.send_data(client_id, response) + + # 获取玩家数据 + player_data, username, response = self._load_player_data_with_check(client_id, "get_online_gift_data") + if not player_data: + return self.send_data(client_id, response) + + # 获取今日在线礼包数据 + current_date = datetime.datetime.now().strftime("%Y-%m-%d") + online_gift_data = player_data.get("online_gift", {}) + + # 检查是否是新的一天,如果是则重置领取状态和在线时间 + if current_date not in online_gift_data: + online_gift_data[current_date] = { + "total_online_time": 0.0, # 累计在线时间(秒) + "last_login_time": time.time(), # 最后登录时间 + "claimed_gifts": {} + } + player_data["online_gift"] = online_gift_data + self.save_player_data(username, player_data) + + today_data = online_gift_data[current_date] + + # 更新在线时间 - 只有当前用户在线时才累加时间 + current_time = time.time() + if client_id in self.user_data and self.user_data[client_id].get("logged_in", False): + # 计算本次登录的在线时间并累加 + login_time = self.user_data[client_id].get("login_timestamp", current_time) + session_online_time = current_time - login_time + # 更新最后登录时间为当前时间,以便下次计算 + today_data["last_login_time"] = current_time + else: + session_online_time = 0 + + # 获取总在线时长 + online_duration = today_data.get("total_online_time", 0.0) + session_online_time + + return self.send_data(client_id, { + "type": "online_gift_data_response", + "success": True, + "online_start_time": today_data.get("last_login_time", current_time), + "current_online_duration": online_duration, + "claimed_gifts": today_data.get("claimed_gifts", {}) + }) + + #处理领取在线礼包请求 + def _handle_claim_online_gift_request(self, client_id, message): + """处理领取在线礼包请求""" + # 检查用户是否已登录 + logged_in, response = self._check_user_logged_in(client_id, "领取在线礼包", "claim_online_gift") + if not logged_in: + return self.send_data(client_id, response) + + # 获取玩家数据 + player_data, username, response = self._load_player_data_with_check(client_id, "claim_online_gift") + if not player_data: + return self.send_data(client_id, response) + + gift_name = message.get("gift_name", "") + if not gift_name: + return self.send_data(client_id, { + "type": "claim_online_gift_response", + "success": False, + "message": "礼包名称不能为空" + }) + + # 定义在线礼包配置 + online_gift_config = { + "1分钟": { + "time_seconds": 60, + "rewards": { + "money": 100, + "experience": 50, + "seeds": [{"name": "小麦", "count": 5}, {"name": "胡萝卜", "count": 3}] + } + }, + "3分钟": { + "time_seconds": 180, + "rewards": { + "money": 250, + "experience": 150, + "seeds": [{"name": "胡萝卜", "count": 5}, {"name": "玉米", "count": 3}] + } + }, + "5分钟": { + "time_seconds": 300, + "rewards": { + "money": 500, + "experience": 250, + "seeds": [{"name": "玉米", "count": 3}, {"name": "番茄", "count": 2}] + } + }, + "10分钟": { + "time_seconds": 600, + "rewards": { + "money": 500, + "experience": 200, + "seeds": [{"name": "玉米", "count": 3}, {"name": "番茄", "count": 2}] + } + }, + "30分钟": { + "time_seconds": 1800, + "rewards": { + "money": 1200, + "experience": 500, + "seeds": [{"name": "草莓", "count": 2}, {"name": "花椰菜", "count": 1}] + } + }, + "1小时": { + "time_seconds": 3600, + "rewards": { + "money": 2500, + "experience": 1000, + "seeds": [{"name": "葡萄", "count": 1}, {"name": "南瓜", "count": 1}, {"name": "咖啡豆", "count": 1}] + } + }, + "3小时": { + "time_seconds": 10800, + "rewards": { + "money": 6000, + "experience": 2500, + "seeds": [{"name": "人参", "count": 1}, {"name": "藏红花", "count": 1}] + } + }, + "5小时": { + "time_seconds": 18000, + "rewards": { + "money": 12000, + "experience": 5000, + "seeds": [{"name": "龙果", "count": 1}, {"name": "松露", "count": 1}, {"name": "月光草", "count": 1}] + } + } + } + + if gift_name not in online_gift_config: + return self.send_data(client_id, { + "type": "claim_online_gift_response", + "success": False, + "message": "无效的礼包名称" + }) + + # 获取今日在线礼包数据 + current_date = datetime.datetime.now().strftime("%Y-%m-%d") + online_gift_data = player_data.get("online_gift", {}) + + if current_date not in online_gift_data: + return self.send_data(client_id, { + "type": "claim_online_gift_response", + "success": False, + "message": "在线礼包数据异常,请重新登录" + }) + + today_data = online_gift_data[current_date] + + # 检查是否已领取 + if gift_name in today_data.get("claimed_gifts", {}): + return self.send_data(client_id, { + "type": "claim_online_gift_response", + "success": False, + "message": "该礼包今日已领取" + }) + + # 更新当前在线时间并检查是否满足条件 + current_time = time.time() + + # 计算本次登录的在线时间 + if client_id in self.user_data and self.user_data[client_id].get("logged_in", False): + login_time = self.user_data[client_id].get("login_timestamp", current_time) + session_online_time = current_time - login_time + # 更新累计在线时间 + today_data["total_online_time"] = today_data.get("total_online_time", 0.0) + session_online_time + # 重置登录时间 + self.user_data[client_id]["login_timestamp"] = current_time + + online_duration = today_data.get("total_online_time", 0.0) + required_time = online_gift_config[gift_name]["time_seconds"] + + if online_duration < required_time: + return self.send_data(client_id, { + "type": "claim_online_gift_response", + "success": False, + "message": f"在线时间不足,还需要 {self._format_time(required_time - online_duration)}" + }) + + # 发放奖励 + rewards = online_gift_config[gift_name]["rewards"] + self._apply_online_gift_rewards(player_data, rewards) + + # 记录领取状态 + if "claimed_gifts" not in today_data: + today_data["claimed_gifts"] = {} + today_data["claimed_gifts"][gift_name] = time.time() + + # 保存数据 + self.save_player_data(username, player_data) + + self.log('INFO', f"玩家 {username} 领取在线礼包 {gift_name},获得奖励: {rewards}", 'SERVER') + + return self.send_data(client_id, { + "type": "claim_online_gift_response", + "success": True, + "message": f"成功领取{gift_name}在线礼包!", + "gift_name": gift_name, + "rewards": rewards, + "updated_data": { + "money": player_data["money"], + "experience": player_data["experience"], + "level": player_data["level"], + "player_bag": player_data.get("player_bag", []) + } + }) + + #发放在线礼包奖励 + def _apply_online_gift_rewards(self, player_data, rewards): + """发放在线礼包奖励""" + # 发放金币 + if "money" in rewards: + player_data["money"] = player_data.get("money", 0) + rewards["money"] + + # 发放经验 + if "experience" in rewards: + old_experience = player_data.get("experience", 0) + player_data["experience"] = old_experience + rewards["experience"] + + # 检查是否升级 + self._check_level_up(player_data) + + # 发放种子 + if "seeds" in rewards: + player_bag = player_data.get("player_bag", []) + crop_data = self._load_crop_data() + + for seed_info in rewards["seeds"]: + seed_name = seed_info["name"] + seed_count = seed_info["count"] + + # 从作物数据中获取品质信息 + quality = "普通" # 默认品质 + if crop_data and seed_name in crop_data: + quality = crop_data[seed_name].get("品质", "普通") + + # 查找是否已有该种子 + found = False + for item in player_bag: + if item["name"] == seed_name: + item["count"] += seed_count + found = True + break + + # 如果没有找到,添加新物品 + if not found: + player_bag.append({ + "name": seed_name, + "count": seed_count, + "type": "seed", + "quality": quality + }) + + player_data["player_bag"] = player_bag + + #检查玩家是否升级 + def _check_level_up(self, player_data): + """检查玩家是否升级""" + current_level = player_data.get("level", 1) + current_experience = player_data.get("experience", 0) + + # 计算升级所需经验 (每级需要的经验递增) + experience_needed = current_level * 100 + + # 检查是否可以升级 + while current_experience >= experience_needed: + current_level += 1 + current_experience -= experience_needed + experience_needed = current_level * 100 + + player_data["level"] = current_level + player_data["experience"] = current_experience + + #更新玩家今日在线时间 + def _update_daily_online_time(self, client_id, player_data): + """更新玩家今日在线时间""" + if client_id not in self.user_data or not self.user_data[client_id].get("logged_in", False): + return + + current_date = datetime.datetime.now().strftime("%Y-%m-%d") + online_gift_data = player_data.get("online_gift", {}) + + # 确保今日数据存在 + if current_date not in online_gift_data: + online_gift_data[current_date] = { + "total_online_time": 0.0, + "last_login_time": time.time(), + "claimed_gifts": {} + } + player_data["online_gift"] = online_gift_data + + today_data = online_gift_data[current_date] + current_time = time.time() + login_time = self.user_data[client_id].get("login_timestamp", current_time) + session_online_time = current_time - login_time + + # 更新累计在线时间 + today_data["total_online_time"] = today_data.get("total_online_time", 0.0) + session_online_time + today_data["last_login_time"] = current_time + + # 重置用户登录时间戳 + self.user_data[client_id]["login_timestamp"] = current_time + + return today_data["total_online_time"] + + #格式化时间显示 + def _format_time(self, seconds): + """格式化时间显示""" + hours = int(seconds // 3600) + minutes = int((seconds % 3600) // 60) + secs = int(seconds % 60) + + if hours > 0: + return f"{hours}小时{minutes}分钟{secs}秒" + elif minutes > 0: + return f"{minutes}分钟{secs}秒" + else: + return f"{secs}秒" + +#==========================在线礼包处理========================== + + #==========================PING延迟检测处理========================== #处理ping请求 def _handle_ping_request(self, client_id, message): @@ -3637,6 +5522,203 @@ class TCPGameServer(TCPServer): #==========================缓存数据处理========================== + +# ================================账户设置处理方法================================ + def _handle_modify_account_info_request(self, client_id, message): + """处理修改账号信息请求""" + # 检查用户是否已登录 + is_logged_in, error_response = self._check_user_logged_in(client_id, "修改账号信息") + if not is_logged_in: + return self._send_modify_account_error(client_id, error_response["message"]) + + # 加载玩家数据 + player_data, username, error_response = self._load_player_data_with_check(client_id, "modify_account_info") + if not player_data: + return self.send_data(client_id, error_response) + + # 获取新的信息 + new_password = message.get("new_password", "").strip() + new_player_name = message.get("new_player_name", "").strip() + new_farm_name = message.get("new_farm_name", "").strip() + new_personal_profile = message.get("new_personal_profile", "").strip() + + # 验证输入 + if not new_password: + return self._send_modify_account_error(client_id, "密码不能为空") + + if not new_player_name: + return self._send_modify_account_error(client_id, "玩家昵称不能为空") + + if not new_farm_name: + return self._send_modify_account_error(client_id, "农场名称不能为空") + + if len(new_password) < 6: + return self._send_modify_account_error(client_id, "密码长度至少6个字符") + + if len(new_player_name) > 20: + return self._send_modify_account_error(client_id, "玩家昵称不能超过20个字符") + + if len(new_farm_name) > 20: + return self._send_modify_account_error(client_id, "农场名称不能超过20个字符") + + if len(new_personal_profile) > 100: + return self._send_modify_account_error(client_id, "个人简介不能超过100个字符") + + try: + # 更新玩家数据 + player_data["user_password"] = new_password + player_data["player_name"] = new_player_name + player_data["farm_name"] = new_farm_name + player_data["个人简介"] = new_personal_profile + + # 保存到缓存和文件 + self.player_cache[username] = player_data + self.dirty_players.add(username) + + # 立即保存重要的账户信息 + self.save_player_data_immediate(username) + + # 发送成功响应 + self.send_data(client_id, { + "type": "modify_account_info_response", + "success": True, + "message": "账号信息修改成功", + "updated_data": { + "user_password": new_password, + "player_name": new_player_name, + "farm_name": new_farm_name, + "个人简介": new_personal_profile + } + }) + + self.log('INFO', f"用户 {username} 修改账号信息成功", 'ACCOUNT') + + except Exception as e: + self.log('ERROR', f"修改账号信息时出错: {str(e)}", 'ACCOUNT') + return self._send_modify_account_error(client_id, "修改账号信息失败,请稍后重试") + + def _handle_delete_account_request(self, client_id, message): + """处理删除账号请求""" + # 检查用户是否已登录 + is_logged_in, error_response = self._check_user_logged_in(client_id, "删除账号") + if not is_logged_in: + return self._send_delete_account_error(client_id, error_response["message"]) + + # 获取用户名 + username = self.user_data[client_id]["username"] + + try: + # 删除玩家文件 + file_path = os.path.join("game_saves", f"{username}.json") + if os.path.exists(file_path): + os.remove(file_path) + self.log('INFO', f"已删除玩家文件: {file_path}", 'ACCOUNT') + + # 从缓存中删除 + if username in self.player_cache: + del self.player_cache[username] + + if username in self.dirty_players: + self.dirty_players.discard(username) + + if username in self.active_players_cache: + del self.active_players_cache[username] + + # 清理用户数据 + if client_id in self.user_data: + del self.user_data[client_id] + + # 发送成功响应 + self.send_data(client_id, { + "type": "delete_account_response", + "success": True, + "message": "账号删除成功,即将返回主菜单" + }) + + self.log('INFO', f"用户 {username} 账号删除成功", 'ACCOUNT') + + # 稍后断开连接 + import threading + def delayed_disconnect(): + import time + time.sleep(2) + self._remove_client(client_id) + + disconnect_thread = threading.Thread(target=delayed_disconnect) + disconnect_thread.daemon = True + disconnect_thread.start() + + except Exception as e: + self.log('ERROR', f"删除账号时出错: {str(e)}", 'ACCOUNT') + return self._send_delete_account_error(client_id, "删除账号失败,请稍后重试") + + def _handle_refresh_player_info_request(self, client_id, message): + """处理刷新玩家信息请求""" + # 检查用户是否已登录 + is_logged_in, error_response = self._check_user_logged_in(client_id, "刷新玩家信息") + if not is_logged_in: + return self._send_refresh_info_error(client_id, error_response["message"]) + + # 获取用户名 + username = self.user_data[client_id]["username"] + + try: + # 强制从文件重新加载最新数据 + player_data = self._load_player_data_from_file(username) + if not player_data: + return self._send_refresh_info_error(client_id, "无法加载玩家数据") + + # 只发送账户相关信息,不发送农场数据等 + account_info = { + "user_name": player_data.get("user_name", ""), + "user_password": player_data.get("user_password", ""), + "player_name": player_data.get("player_name", ""), + "farm_name": player_data.get("farm_name", ""), + "个人简介": player_data.get("个人简介", ""), + "level": player_data.get("level", 1), + "experience": player_data.get("experience", 0), + "money": player_data.get("money", 0) + } + + # 发送刷新后的账户信息 + self.send_data(client_id, { + "type": "refresh_player_info_response", + "success": True, + "message": "玩家信息已刷新", + "account_info": account_info + }) + + self.log('INFO', f"用户 {username} 刷新玩家信息成功", 'ACCOUNT') + + except Exception as e: + self.log('ERROR', f"刷新玩家信息时出错: {str(e)}", 'ACCOUNT') + return self._send_refresh_info_error(client_id, "刷新玩家信息失败,请稍后重试") + + def _send_modify_account_error(self, client_id, message): + """发送修改账号信息错误响应""" + self.send_data(client_id, { + "type": "modify_account_info_response", + "success": False, + "message": message + }) + + def _send_delete_account_error(self, client_id, message): + """发送删除账号错误响应""" + self.send_data(client_id, { + "type": "delete_account_response", + "success": False, + "message": message + }) + + def _send_refresh_info_error(self, client_id, message): + """发送刷新信息错误响应""" + self.send_data(client_id, { + "type": "refresh_player_info_response", + "success": False, + "message": message + }) +# ================================账户设置处理方法================================ + # 主程序启动入口 if __name__ == "__main__": import sys diff --git a/Server/config/crop_data.json b/Server/config/crop_data.json index feed37a..d940d9d 100644 --- a/Server/config/crop_data.json +++ b/Server/config/crop_data.json @@ -1,19 +1,35 @@ { "测试作物": {"花费": 1, "生长时间": 5, "收益": 10000, "品质": "普通", "描述": "仅供测试使用的特殊作物", "耐候性": 10, "等级": 1, "经验": 999, "能否购买": false}, - + "野草1": {"花费": 0, "生长时间": 5, "收益": -110, "品质": "普通", "描述": "野草", "耐候性": 99, "等级": 1, "经验": 0, "能否购买": true,"是否杂草":true}, + "野草2": {"花费": 0, "生长时间": 5, "收益": -200, "品质": "普通", "描述": "野草", "耐候性": 99, "等级": 1, "经验": 0, "能否购买": true,"是否杂草":true}, + "杂草1": {"花费": 0, "生长时间": 5, "收益": -150, "品质": "普通", "描述": "杂草", "耐候性": 99, "等级": 1, "经验": 0, "能否购买": true,"是否杂草":true}, + "杂草2": {"花费": 0, "生长时间": 5, "收益": -90, "品质": "普通", "描述": "野草", "耐候性": 99, "等级": 1, "经验": 0, "能否购买": true,"是否杂草":true}, "小麦": {"花费": 50, "生长时间": 300, "收益": 75, "品质": "普通", "描述": "最基础的粮食作物,生长快速,适合新手练习", "耐候性": 8, "等级": 1, "经验": 8, "能否购买": true}, "胡萝卜": {"花费": 40, "生长时间": 240, "收益": 65, "品质": "普通", "描述": "营养丰富的根茎类蔬菜,容易种植", "耐候性": 9, "等级": 1, "经验": 7, "能否购买": true}, "土豆": {"花费": 60, "生长时间": 480, "收益": 95, "品质": "普通", "描述": "耐寒的块茎作物,产量稳定", "耐候性": 12, "等级": 1, "经验": 10, "能否购买": true}, "稻谷": {"花费": 70, "生长时间": 600, "收益": 110, "品质": "普通", "描述": "重要的主粮作物,需要充足水分", "耐候性": 7, "等级": 1, "经验": 12, "能否购买": true}, + "大蒜": {"花费": 50, "生长时间": 550, "收益": 100, "品质": "普通", "描述": "常用调味作物,具有抗菌功效,种植门槛低", "耐候性": 10, "等级": 1, "经验": 8, "能否购买": true}, + "生菜": {"花费": 45, "生长时间": 650, "收益": 120, "品质": "普通", "描述": "速生叶菜,适合沙拉生食,需保持土壤湿润", "耐候性": 17, "等级": 1, "经验": 9, "能否购买": true}, + "石榴": {"花费": 45, "生长时间": 650, "收益": 120, "品质": "普通", "描述": "速生叶菜,适合沙拉生食,需保持土壤湿润", "耐候性": 17, "等级": 1, "经验": 9, "能否购买": true}, + "辣椒": {"花费": 45, "生长时间": 650, "收益": 120, "品质": "普通", "描述": "速生叶菜,适合沙拉生食,需保持土壤湿润", "耐候性": 17, "等级": 1, "经验": 9, "能否购买": true}, "玉米": {"花费": 80, "生长时间": 900, "收益": 130, "品质": "优良", "描述": "高产的谷物作物,营养价值高", "耐候性": 10, "等级": 2, "经验": 15, "能否购买": true}, "番茄": {"花费": 90, "生长时间": 720, "收益": 140, "品质": "优良", "描述": "多汁的果实,市场需求大", "耐候性": 8, "等级": 2, "经验": 16, "能否购买": true}, "洋葱": {"花费": 75, "生长时间": 840, "收益": 125, "品质": "优良", "描述": "调味蔬菜,储存时间长", "耐候性": 11, "等级": 2, "经验": 14, "能否购买": true}, + "葫芦": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "柠檬": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "枇杷": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "牵牛花": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "山楂": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "仙人掌": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "杨桃": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "椰子": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, "大豆": {"花费": 85, "生长时间": 1080, "收益": 145, "品质": "优良", "描述": "富含蛋白质的豆类作物", "耐候性": 9, "等级": 2, "经验": 18, "能否购买": true}, + "迷迭香": {"花费": 100, "生长时间": 1680, "收益": 210, "品质": "稀有", "描述": "芳香型草本植物,可用于烹饪和精油提取,耐旱易存活", "耐候性": 12, "等级": 3, "经验": 22, "能否购买": true}, "草莓": {"花费": 120, "生长时间": 1440, "收益": 200, "品质": "稀有", "描述": "甜美的浆果,深受喜爱", "耐候性": 6, "等级": 3, "经验": 22, "能否购买": true}, "花椰菜": {"花费": 110, "生长时间": 1320, "收益": 185, "品质": "稀有", "描述": "营养丰富的十字花科蔬菜", "耐候性": 8, "等级": 3, "经验": 20, "能否购买": true}, "柿子": {"花费": 140, "生长时间": 1800, "收益": 230, "品质": "稀有", "描述": "秋季成熟的甜美果实", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, @@ -21,21 +37,25 @@ "栀子花": {"花费": 180, "生长时间": 2400, "收益": 300, "品质": "稀有", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, "玫瑰花": {"花费": 190, "生长时间": 2520, "收益": 310, "品质": "稀有", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, "菠萝": {"花费": 200, "生长时间": 2700, "收益": 340, "品质": "稀有", "描述": "热带水果之王", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, - "梨树": {"花费": 210, "生长时间": 2820, "收益": 350, "品质": "稀有", "描述": "春季开花的落叶果树", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, - "桃树": {"花费": 220, "生长时间": 2940, "收益": 360, "品质": "稀有", "描述": "粉色花海中的果实树种", "耐候性": 9, "等级": 3, "经验": 25, "能否购买": true}, + "梨子": {"花费": 210, "生长时间": 2820, "收益": 350, "品质": "稀有", "描述": "春季开花的落叶果树", "耐候性": 10, "等级": 3, "经验": 25, "能否购买": true}, + "桃子": {"花费": 220, "生长时间": 2940, "收益": 360, "品质": "稀有", "描述": "粉色花海中的果实树种", "耐候性": 9, "等级": 3, "经验": 25, "能否购买": true}, "荔枝": {"花费": 230, "生长时间": 3060, "收益": 380, "品质": "稀有", "描述": "亚热带珍稀水果,果肉如凝脂", "耐候性": 8, "等级": 3, "经验": 26, "能否购买": true}, - "芒果树": {"花费": 240, "生长时间": 3180, "收益": 400, "品质": "稀有", "描述": "热带阳光孕育的香甜果实", "耐候性": 10, "等级": 3, "经验": 27, "能否购买": true}, + "芒果": {"花费": 240, "生长时间": 3180, "收益": 400, "品质": "稀有", "描述": "热带阳光孕育的香甜果实", "耐候性": 10, "等级": 3, "经验": 27, "能否购买": true}, "糖果树": {"花费": 250, "生长时间": 3300, "收益": 420, "品质": "稀有", "描述": "传说中结出彩色糖果的魔法树", "耐候性": 7, "等级": 3, "经验": 25, "能否购买": true}, "面包树": {"花费": 260, "生长时间": 3420, "收益": 440, "品质": "稀有", "描述": "热带地区的淀粉质主食树种", "耐候性": 9, "等级": 3, "经验": 25, "能否购买": true}, "幸运草": {"花费": 150, "生长时间": 1560, "收益": 220, "品质": "稀有", "描述": "四片叶子的幸运象征植物", "耐候性": 6, "等级": 3, "经验": 20, "能否购买": true}, "幸运花": {"花费": 170, "生长时间": 1680, "收益": 240, "品质": "稀有", "描述": "绽放时带来好运的神秘花卉", "耐候性": 7, "等级": 3, "经验": 22, "能否购买": true}, "摇钱树": {"花费": 300, "生长时间": 3600, "收益": 500, "品质": "稀有", "描述": "传说中能结出金币的神树", "耐候性": 10, "等级": 3, "经验": 30, "能否购买": true}, + + "葡萄": {"花费": 200, "生长时间": 2700, "收益": 340, "品质": "史诗", "描述": "用于酿酒的珍贵果实", "耐候性": 9, "等级": 4, "经验": 35, "能否购买": true}, "南瓜": {"花费": 180, "生长时间": 3600, "收益": 320, "品质": "史诗", "描述": "大型瓜果,节庆装饰的首选", "耐候性": 12, "等级": 4, "经验": 38, "能否购买": true}, "芦笋": {"花费": 220, "生长时间": 3000, "收益": 370, "品质": "史诗", "描述": "高档蔬菜,营养价值极高", "耐候性": 8, "等级": 4, "经验": 40, "能否购买": true}, "茄子": {"花费": 190, "生长时间": 2400, "收益": 310, "品质": "史诗", "描述": "紫色的营养蔬菜", "耐候性": 10, "等级": 4, "经验": 32, "能否购买": true}, - + "咖啡豆": {"花费": 200, "生长时间": 2500, "收益": 340, "品质": "史诗", "描述": "热带经济作物,果实经烘焙后可制成饮品,需温暖气候", "耐候性": 8, "等级": 4, "经验": 35, "能否购买": true}, + "可可豆": {"花费": 200, "生长时间": 2500, "收益": 340, "品质": "史诗", "描述": "制作巧克力的原料,需高温高湿环境,经济价值较高", "耐候性": 10, "等级": 4, "经验": 36, "能否购买": true}, + "西瓜": {"花费": 250, "生长时间": 4800, "收益": 450, "品质": "优良", "描述": "夏日消暑的大型水果", "耐候性": 6, "等级": 5, "经验": 50, "能否购买": true}, "甘蔗": {"花费": 280, "生长时间": 5400, "收益": 500, "品质": "优良", "描述": "制糖的重要原料", "耐候性": 5, "等级": 5, "经验": 55, "能否购买": true}, @@ -44,18 +64,20 @@ "百合花": {"花费": 260, "生长时间": 4800, "收益": 480, "品质": "优良", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 5, "经验": 50, "能否购买": true}, "康乃馨": {"花费": 270, "生长时间": 5100, "收益": 510, "品质": "优良", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 5, "经验": 50, "能否购买": true}, "郁金香": {"花费": 280, "生长时间": 5100, "收益": 510, "品质": "优良", "描述": "美丽的观赏植物", "耐候性": 10, "等级": 5, "经验": 50, "能否购买": true}, + "藏羚羊草": {"花费": 80, "生长时间": 200, "收益": 200, "品质": "优良", "描述": "高原珍稀草种,用于生态修复,对土壤要求苛刻但市场需求大", "耐候性": 15, "等级": 5, "经验": 20, "能否购买": true}, "人参": {"花费": 400, "生长时间": 7200, "收益": 720, "品质": "传奇", "描述": "珍贵的药用植物,需要耐心培养", "耐候性": 15, "等级": 6, "经验": 80, "能否购买": true}, "富贵竹": {"花费": 350, "生长时间": 6600, "收益": 650, "品质": "传奇", "描述": "寓意吉祥的观赏植物", "耐候性": 12, "等级": 6, "经验": 75, "能否购买": true}, "芦荟": {"花费": 320, "生长时间": 6000, "收益": 600, "品质": "传奇", "描述": "具有药用价值的多肉植物", "耐候性": 18, "等级": 6, "经验": 70, "能否购买": true}, "哈密瓜": {"花费": 380, "生长时间": 7800, "收益": 700, "品质": "传奇", "描述": "甘甜的高级水果", "耐候性": 8, "等级": 6, "经验": 85, "能否购买": true}, + "藏红花": {"花费": 400, "生长时间": 7000, "收益": 710, "品质": "传奇", "描述": "世界上最昂贵的香料之一,需精心照料,花朵可提取柱头", "耐候性": 9, "等级": 6, "经验": 80, "能否购买": true}, "金橘": {"花费": 500, "生长时间": 10800, "收益": 900, "品质": "传奇", "描述": "金黄色的珍贵柑橘", "耐候性": 10, "等级": 7, "经验": 120, "能否购买": true}, - "苹果树": {"花费": 450, "生长时间": 9600, "收益": 820, "品质": "传奇", "描述": "结果丰富的果树", "耐候性": 14, "等级": 7, "经验": 110, "能否购买": true}, - "橘子树": {"花费": 480, "生长时间": 10200, "收益": 850, "品质": "传奇", "描述": "维生素C丰富的果树", "耐候性": 12, "等级": 7, "经验": 115, "能否购买": true}, - "香蕉树": {"花费": 420, "生长时间": 8400, "收益": 780, "品质": "传奇", "描述": "热带水果之王", "耐候性": 5, "等级": 7, "经验": 100, "能否购买": true}, + "苹果": {"花费": 450, "生长时间": 9600, "收益": 820, "品质": "传奇", "描述": "结果丰富的果树", "耐候性": 14, "等级": 7, "经验": 110, "能否购买": true}, + "橘子": {"花费": 480, "生长时间": 10200, "收益": 850, "品质": "传奇", "描述": "维生素C丰富的果树", "耐候性": 12, "等级": 7, "经验": 115, "能否购买": true}, + "香蕉": {"花费": 420, "生长时间": 8400, "收益": 780, "品质": "传奇", "描述": "热带水果之王", "耐候性": 5, "等级": 7, "经验": 100, "能否购买": true}, "向日葵": {"花费": 160, "生长时间": 3600, "收益": 280, "品质": "史诗", "描述": "向阳而生的美丽花朵", "耐候性": 13, "等级": 4, "经验": 35, "能否购买": true}, @@ -71,8 +93,10 @@ "冬虫夏草": {"花费": 600, "生长时间": 12000, "收益": 1200, "品质": "传奇", "描述": "稀世珍宝,药王之称", "耐候性": 30, "等级": 7, "经验": 180, "能否购买": true}, "山葵": {"花费": 500, "生长时间": 10800, "收益": 1000, "品质": "优良", "描述": "日式料理的珍贵调料", "耐候性": 22, "等级": 7, "经验": 150, "能否购买": true}, "鱼腥草": {"花费": 300, "生长时间": 7200, "收益": 600, "品质": "稀有", "描述": "具有特殊药用价值的野菜", "耐候性": 18, "等级": 6, "经验": 90, "能否购买": true}, + "月光草": {"花费": 700, "生长时间": 14500, "收益": 1500, "品质": "传奇", "描述": "夜间开花的神秘植物,花瓣在月光下散发荧光,传说具有许愿功效", "耐候性": 20, "等级": 8, "经验": 200, "能否购买": true}, + "凤凰木": {"花费": 650, "生长时间": 12600, "收益": 1400, "品质": "传奇", "描述": "传说中凤凰栖息的神树,开花时如火焰般绚烂,木材可驱邪避灾", "耐候性": 25, "等级": 8, "经验": 210, "能否购买": true}, - "杂交树1": {"花费": 1200, "生长时间": 21600, "收益": 2500, "品质": "传奇", "描述": "初中生物书最后的想象", "耐候性": 35, "等级": 9, "经验": 300, "能否购买": true}, + "杂交树1": {"花费": 1200, "生长时间": 21600, "收益": 2500, "品质": "传奇", "描述": "初中生物书最后的幻想", "耐候性": 35, "等级": 9, "经验": 300, "能否购买": true}, "杂交树2": {"花费": 1500, "生长时间": 25200, "收益": 3000, "品质": "传奇", "描述": "初中生物书最后的想象", "耐候性": 40, "等级": 10, "经验": 400, "能否购买": true} } \ No newline at end of file diff --git a/Server/config/initial_player_data_template.json b/Server/config/initial_player_data_template.json index 5e21eb0..e78562a 100644 --- a/Server/config/initial_player_data_template.json +++ b/Server/config/initial_player_data_template.json @@ -1,7 +1,7 @@ { "experience": 0, "level": 1, - "money": 1000, + "money": 4000, "体力值": 20, "体力上次刷新时间": "", "体力上次恢复时间": 0, @@ -11,30 +11,29 @@ "user_password": "0123456789", "last_login_time": "2025年12时09分35秒", "total_login_time": "0时0分0秒", + "personal_profile": "个人简介", + "注册时间": "2025年05月21日15时00分00秒", "farm_lots": [ {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, - {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, + {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":true,"is_planted":false,"max_grow_time":3,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, @@ -63,5 +62,28 @@ {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0}, {"crop_type":"","grow_time":0,"is_dead":false,"is_diged":false,"is_planted":false,"max_grow_time":5,"已浇水":false,"已施肥":false,"土地等级":0} ], - "player_bag": [] + "player_bag": [], + "作物仓库": [], + "道具背包": [ + { + "name": "精准采集锄", + "count": 1 + }, + { + "name": "农家肥", + "count": 3 + } + ], + "last_water_reset_date": "", + "daily_likes": {}, + "seeds": {}, + "last_check_in_date": "", + "check_in_count": 0, + "daily_check_in": {}, + "lucky_draw_history": [], + "total_likes": 0, + "new_player_gift_claimed": false, + "new_player_gift_time": "", + "session_start_time": 0, + "online_gift": {} } \ No newline at end of file diff --git a/Server/config/item_config.json b/Server/config/item_config.json new file mode 100644 index 0000000..6bfd9f9 --- /dev/null +++ b/Server/config/item_config.json @@ -0,0 +1,12 @@ +{ + "精准采集-镰刀": {"花费":100,"描述":"可以在收获作物时必定掉落该作物的种子","类型":"作物道具","道具图片":"res://assets/道具图片/紫水晶镰刀.webp"}, + "时运-镰刀": {"花费":100,"描述":"可以在收获作物时掉落更多的作物的收获物","类型":"作物道具","道具图片":"res://assets/道具图片/红宝石镰刀.webp"}, + "农家肥": {"花费":100,"描述":"(施肥道具)可以在30分钟内2倍速作物生长","类型":"作物道具","道具图片":"res://assets/道具图片/农家肥.webp"}, + "金坷垃": {"花费":100,"描述":"(施肥道具)可以在5分钟内5倍速作物的生长","类型":"作物道具","道具图片":"res://assets/道具图片/金坷垃2.webp"}, + "水壶": {"花费":100,"描述":"(浇水道具)直接让作物生长进度+1%","类型":"作物道具","道具图片":"res://assets/道具图片/铁质洒水壶.webp"}, + "水桶": {"花费":100,"描述":"(浇水道具)让作物生长进度+2%","类型":"作物道具","道具图片":"res://assets/道具图片/木质水桶2.webp"}, + "杀虫剂": {"花费":100,"描述":"杀虫,暂时没什么用","类型":"作物道具","道具图片":"res://assets/道具图片/杀虫剂.webp"}, + "除草剂": {"花费":100,"描述":"除草","类型":"作物道具","道具图片":"res://assets/道具图片/除草剂.webp"}, + "生长素": {"花费":100,"描述":"时运可以10分钟内3倍速作物生长,而且作物生长速度+3%","类型":"作物道具","道具图片":"res://assets/道具图片/生长素.webp"}, + "铲子": {"花费":100,"描述":"铲除作物","类型":"作物道具","道具图片":"res://assets/道具图片/附魔铁铲.webp"} +} \ No newline at end of file diff --git a/Server/help.txt b/Server/help.txt new file mode 100644 index 0000000..5effd7c --- /dev/null +++ b/Server/help.txt @@ -0,0 +1 @@ +/etc/systemd/system/mengyafarm.service \ No newline at end of file diff --git a/Server/mengyafarmserver.service b/Server/mengyafarmserver.service new file mode 100644 index 0000000..9a82a18 --- /dev/null +++ b/Server/mengyafarmserver.service @@ -0,0 +1,15 @@ +[Unit] +Description=MengyaFarmServer +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/shumengya/mengyafarmserver +ExecStart=/usr/bin/pip install -r requirements.txt && /usr/bin/python TCPGameServer.py +Restart=always +RestartSec=5 +Environment=PYTHONUNBUFFERED=1 + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/Server/update_existing_players.py b/Server/update_existing_players.py new file mode 100644 index 0000000..b5a1064 --- /dev/null +++ b/Server/update_existing_players.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +更新已存在玩家的注册时间为默认值的脚本 +用于确保所有已存在的玩家都有默认的注册时间,不会享受新玩家奖励 +""" + +import os +import json +import datetime + +def update_existing_players_register_time(): + """更新所有已存在玩家的注册时间为默认值""" + default_register_time = "2025年05月21日15时00分00秒" + game_saves_dir = "game_saves" + + if not os.path.exists(game_saves_dir): + print("游戏存档目录不存在:", game_saves_dir) + return + + updated_count = 0 + error_count = 0 + total_files = 0 + + # 获取所有玩家存档文件 + for filename in os.listdir(game_saves_dir): + if filename.endswith('.json'): + total_files += 1 + file_path = os.path.join(game_saves_dir, filename) + + try: + # 读取玩家数据 + with open(file_path, 'r', encoding='utf-8') as file: + player_data = json.load(file) + + # 检查是否需要更新注册时间 + current_register_time = player_data.get("注册时间", "") + + # 如果没有注册时间字段,或者不是默认值,则设置为默认值 + if not current_register_time: + player_data["注册时间"] = default_register_time + print(f"为玩家 {filename} 添加注册时间字段") + updated_count += 1 + elif current_register_time != default_register_time: + # 如果注册时间不是默认值,说明是新注册的玩家,保持不变 + print(f"玩家 {filename} 注册时间: {current_register_time} (保持不变)") + continue + else: + # 注册时间已经是默认值,无需更新 + print(f"玩家 {filename} 注册时间已是默认值") + continue + + # 保存更新后的数据 + with open(file_path, 'w', encoding='utf-8') as file: + json.dump(player_data, file, indent=2, ensure_ascii=False) + + except Exception as e: + print(f"处理文件 {filename} 时出错: {str(e)}") + error_count += 1 + + print(f"\n更新完成!") + print(f"总文件数: {total_files}") + print(f"已更新: {updated_count}") + print(f"错误: {error_count}") + print(f"默认注册时间: {default_register_time}") + +if __name__ == "__main__": + print("开始更新已存在玩家的注册时间...") + update_existing_players_register_time() + print("脚本执行完成!") \ No newline at end of file diff --git a/Shader/PlantSwayShader.gdshader b/Shader/PlantSwayShader.gdshader new file mode 100644 index 0000000..cfee63c --- /dev/null +++ b/Shader/PlantSwayShader.gdshader @@ -0,0 +1,54 @@ +shader_type canvas_item; + +// 摆动参数 +uniform float sway_strength : hint_range(0.0, 0.05) = 0.02; // 摆动强度 +uniform float sway_speed : hint_range(0.1, 5.0) = 1.0; // 摆动速度 +uniform float wind_direction : hint_range(-1.0, 1.0) = 0.0; // 风向偏移 +uniform float sway_variation : hint_range(0.0, 2.0) = 0.5; // 摆动变化 + +// 高度影响参数 +uniform float sway_start_height : hint_range(0.0, 1.0) = 0.3; // 开始摆动的高度比例 +uniform float height_curve : hint_range(1.0, 4.0) = 2.0; // 高度影响曲线 + +void fragment() { + vec2 uv = UV; + + // 计算摆动强度(只有上半部分摆动) + float height_factor = 0.0; + if (uv.y < sway_start_height) { + // 计算从底部到摆动开始位置的渐变 + height_factor = pow((sway_start_height - uv.y) / sway_start_height, height_curve); + } + + // 创建多层摆动效果 + float time_offset = TIME * sway_speed; + + // 主摆动波 + float main_sway = sin(time_offset + uv.y * 3.14159) * sway_strength; + + // 次级摆动波(频率更高,幅度更小) + float secondary_sway = sin(time_offset * 2.3 + uv.y * 6.28318) * sway_strength * 0.3; + + // 第三层摆动(更细微的抖动) + float micro_sway = sin(time_offset * 4.7 + uv.y * 12.56636) * sway_strength * 0.1; + + // 结合所有摆动 + float total_sway = (main_sway + secondary_sway + micro_sway) * height_factor; + + // 添加风向偏移 + total_sway += wind_direction * sway_strength * height_factor * 0.5; + + // 添加摆动变化(随机性) + float variation = sin(time_offset * 0.37 + uv.x * 6.28318) * sway_variation * 0.01; + total_sway += variation * height_factor; + + // 应用摆动到UV坐标 + uv.x += total_sway; + + // 边界检查,防止UV超出范围 + if (uv.x < 0.0 || uv.x > 1.0) { + COLOR = vec4(0.0, 0.0, 0.0, 0.0); // 透明 + } else { + COLOR = texture(TEXTURE, uv); + } +} \ No newline at end of file diff --git a/Shader/PlantSwayShader.gdshader.uid b/Shader/PlantSwayShader.gdshader.uid new file mode 100644 index 0000000..5778fd1 --- /dev/null +++ b/Shader/PlantSwayShader.gdshader.uid @@ -0,0 +1 @@ +uid://ccqhg1n3d7sw8 \ No newline at end of file diff --git a/assets/作物/人参/0.webp.import b/assets/作物/人参/0.webp.import new file mode 100644 index 0000000..1bc9ead --- /dev/null +++ b/assets/作物/人参/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duosec7bf82ms" +path="res://.godot/imported/0.webp-9339f1eb71d8e2d2c9d6eff2a61109e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/人参/0.webp" +dest_files=["res://.godot/imported/0.webp-9339f1eb71d8e2d2c9d6eff2a61109e8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/人参/1.webp.import b/assets/作物/人参/1.webp.import new file mode 100644 index 0000000..e3ac18d --- /dev/null +++ b/assets/作物/人参/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpybayv2tun01" +path="res://.godot/imported/1.webp-2e06968df5ac60cc2e9cb266075518b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/人参/1.webp" +dest_files=["res://.godot/imported/1.webp-2e06968df5ac60cc2e9cb266075518b2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/人参/成熟.webp b/assets/作物/人参/成熟.webp new file mode 100644 index 0000000..7d73a52 Binary files /dev/null and b/assets/作物/人参/成熟.webp differ diff --git a/assets/作物/人参/成熟.webp.import b/assets/作物/人参/成熟.webp.import new file mode 100644 index 0000000..2dcaf9a --- /dev/null +++ b/assets/作物/人参/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clyirnutul7bq" +path="res://.godot/imported/成熟.webp-ce9130a3e06cf6589c044054168410f9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/人参/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-ce9130a3e06cf6589c044054168410f9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/人参/收获物.webp b/assets/作物/人参/收获物.webp new file mode 100644 index 0000000..cad572f Binary files /dev/null and b/assets/作物/人参/收获物.webp differ diff --git a/assets/作物/人参/收获物.webp.import b/assets/作物/人参/收获物.webp.import new file mode 100644 index 0000000..8b4f9c2 --- /dev/null +++ b/assets/作物/人参/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq6lojk4o7874" +path="res://.godot/imported/收获物.webp-9ccbfd744d9be33e545ca51778406d54.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/人参/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-9ccbfd744d9be33e545ca51778406d54.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/仙人掌/0.webp b/assets/作物/仙人掌/0.webp new file mode 100644 index 0000000..91e06bd Binary files /dev/null and b/assets/作物/仙人掌/0.webp differ diff --git a/assets/作物/仙人掌/0.webp.import b/assets/作物/仙人掌/0.webp.import new file mode 100644 index 0000000..d1756a7 --- /dev/null +++ b/assets/作物/仙人掌/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nqjf05tbfwna" +path="res://.godot/imported/0.webp-a498150286b3ef11bcaf7062fb7c4c72.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/仙人掌/0.webp" +dest_files=["res://.godot/imported/0.webp-a498150286b3ef11bcaf7062fb7c4c72.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/仙人掌/1.webp b/assets/作物/仙人掌/1.webp new file mode 100644 index 0000000..fea4143 Binary files /dev/null and b/assets/作物/仙人掌/1.webp differ diff --git a/assets/作物/仙人掌/1.webp.import b/assets/作物/仙人掌/1.webp.import new file mode 100644 index 0000000..15e522b --- /dev/null +++ b/assets/作物/仙人掌/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blo41i0nan4tb" +path="res://.godot/imported/1.webp-eac2af28e41e5166de4e45fa1d9b023c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/仙人掌/1.webp" +dest_files=["res://.godot/imported/1.webp-eac2af28e41e5166de4e45fa1d9b023c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/仙人掌/成熟.webp b/assets/作物/仙人掌/成熟.webp new file mode 100644 index 0000000..e413079 Binary files /dev/null and b/assets/作物/仙人掌/成熟.webp differ diff --git a/assets/作物/仙人掌/成熟.webp.import b/assets/作物/仙人掌/成熟.webp.import new file mode 100644 index 0000000..ff62241 --- /dev/null +++ b/assets/作物/仙人掌/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bw6hipgwyv3k1" +path="res://.godot/imported/成熟.webp-571b96d5740a8d9b84111df363e5ed74.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/仙人掌/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-571b96d5740a8d9b84111df363e5ed74.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/仙人掌/收获物.webp b/assets/作物/仙人掌/收获物.webp new file mode 100644 index 0000000..89f752f Binary files /dev/null and b/assets/作物/仙人掌/收获物.webp differ diff --git a/assets/作物/仙人掌/收获物.webp.import b/assets/作物/仙人掌/收获物.webp.import new file mode 100644 index 0000000..a73a152 --- /dev/null +++ b/assets/作物/仙人掌/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b35jvbxii87uc" +path="res://.godot/imported/收获物.webp-f5a0a563d7339ccd3c7a0634e5c0a5e2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/仙人掌/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-f5a0a563d7339ccd3c7a0634e5c0a5e2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/冬虫夏草/0.webp.import b/assets/作物/冬虫夏草/0.webp.import new file mode 100644 index 0000000..af2fc45 --- /dev/null +++ b/assets/作物/冬虫夏草/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pj3tv3cc2mlg" +path="res://.godot/imported/0.webp-8e6372f99a77669bfdae2b147d801863.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/冬虫夏草/0.webp" +dest_files=["res://.godot/imported/0.webp-8e6372f99a77669bfdae2b147d801863.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/冬虫夏草/1.webp.import b/assets/作物/冬虫夏草/1.webp.import new file mode 100644 index 0000000..ddeca6c --- /dev/null +++ b/assets/作物/冬虫夏草/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvai23ne4ale2" +path="res://.godot/imported/1.webp-1c762135840fee82b6f1524cf7b93c28.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/冬虫夏草/1.webp" +dest_files=["res://.godot/imported/1.webp-1c762135840fee82b6f1524cf7b93c28.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/冬虫夏草/2.webp.import b/assets/作物/冬虫夏草/2.webp.import new file mode 100644 index 0000000..7b22014 --- /dev/null +++ b/assets/作物/冬虫夏草/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8w2qoa8bt2cg" +path="res://.godot/imported/2.webp-62669dec635d4d6139cbede94abc0c42.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/冬虫夏草/2.webp" +dest_files=["res://.godot/imported/2.webp-62669dec635d4d6139cbede94abc0c42.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/冬虫夏草/3.webp.import b/assets/作物/冬虫夏草/3.webp.import new file mode 100644 index 0000000..14eb737 --- /dev/null +++ b/assets/作物/冬虫夏草/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwmf68nddnxty" +path="res://.godot/imported/3.webp-ff0e46a5058a853b92c7d843b7523733.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/冬虫夏草/3.webp" +dest_files=["res://.godot/imported/3.webp-ff0e46a5058a853b92c7d843b7523733.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/冬虫夏草/成熟.webp b/assets/作物/冬虫夏草/成熟.webp new file mode 100644 index 0000000..5f1b5e7 Binary files /dev/null and b/assets/作物/冬虫夏草/成熟.webp differ diff --git a/assets/作物/冬虫夏草/成熟.webp.import b/assets/作物/冬虫夏草/成熟.webp.import new file mode 100644 index 0000000..af8355c --- /dev/null +++ b/assets/作物/冬虫夏草/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pep35cbpo2ln" +path="res://.godot/imported/成熟.webp-5d9ed55294fc7780a9ccd1061a8db9e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/冬虫夏草/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-5d9ed55294fc7780a9ccd1061a8db9e8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/凤凰木/0.webp b/assets/作物/凤凰木/0.webp new file mode 100644 index 0000000..b57539f Binary files /dev/null and b/assets/作物/凤凰木/0.webp differ diff --git a/assets/作物/凤凰木/0.webp.import b/assets/作物/凤凰木/0.webp.import new file mode 100644 index 0000000..d82f3d8 --- /dev/null +++ b/assets/作物/凤凰木/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj46vssd21mc7" +path="res://.godot/imported/0.webp-47e115ab20922ebd97f4e5e7e5ca9983.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/凤凰木/0.webp" +dest_files=["res://.godot/imported/0.webp-47e115ab20922ebd97f4e5e7e5ca9983.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/凤凰木/1.webp b/assets/作物/凤凰木/1.webp new file mode 100644 index 0000000..51c1fd8 Binary files /dev/null and b/assets/作物/凤凰木/1.webp differ diff --git a/assets/作物/凤凰木/1.webp.import b/assets/作物/凤凰木/1.webp.import new file mode 100644 index 0000000..d497c7a --- /dev/null +++ b/assets/作物/凤凰木/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dn6ta7j43luw2" +path="res://.godot/imported/1.webp-70a0c6dc2f51cf788ff580d54c9c392f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/凤凰木/1.webp" +dest_files=["res://.godot/imported/1.webp-70a0c6dc2f51cf788ff580d54c9c392f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/凤凰木/成熟.webp b/assets/作物/凤凰木/成熟.webp new file mode 100644 index 0000000..912e123 Binary files /dev/null and b/assets/作物/凤凰木/成熟.webp differ diff --git a/assets/作物/凤凰木/成熟.webp.import b/assets/作物/凤凰木/成熟.webp.import new file mode 100644 index 0000000..0b93dca --- /dev/null +++ b/assets/作物/凤凰木/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6amw1gdbfn5o" +path="res://.godot/imported/成熟.webp-704239800c91eeb80ba72e09c3239472.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/凤凰木/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-704239800c91eeb80ba72e09c3239472.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/凤凰木/收获物.webp b/assets/作物/凤凰木/收获物.webp new file mode 100644 index 0000000..a6e3de1 Binary files /dev/null and b/assets/作物/凤凰木/收获物.webp differ diff --git a/assets/作物/凤凰木/收获物.webp.import b/assets/作物/凤凰木/收获物.webp.import new file mode 100644 index 0000000..606a58f --- /dev/null +++ b/assets/作物/凤凰木/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dee7f12h1hw2y" +path="res://.godot/imported/收获物.webp-e2fb798df4b68e31b5b9d36d256e4537.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/凤凰木/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-e2fb798df4b68e31b5b9d36d256e4537.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/南瓜/0.webp.import b/assets/作物/南瓜/0.webp.import new file mode 100644 index 0000000..0d4ffb2 --- /dev/null +++ b/assets/作物/南瓜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cda0yv72tjvv0" +path="res://.godot/imported/0.webp-d98890577b76bfa710d6a00e6916c0c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/南瓜/0.webp" +dest_files=["res://.godot/imported/0.webp-d98890577b76bfa710d6a00e6916c0c7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/南瓜/1.webp.import b/assets/作物/南瓜/1.webp.import new file mode 100644 index 0000000..3324822 --- /dev/null +++ b/assets/作物/南瓜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvfhamkdqwok7" +path="res://.godot/imported/1.webp-113308ca15b586eaeb0bbd809b6997c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/南瓜/1.webp" +dest_files=["res://.godot/imported/1.webp-113308ca15b586eaeb0bbd809b6997c6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/南瓜/2.webp.import b/assets/作物/南瓜/2.webp.import new file mode 100644 index 0000000..20ae414 --- /dev/null +++ b/assets/作物/南瓜/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b12ny7my36aiw" +path="res://.godot/imported/2.webp-c7dbb06c083db947520775472c40c124.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/南瓜/2.webp" +dest_files=["res://.godot/imported/2.webp-c7dbb06c083db947520775472c40c124.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/南瓜/3.webp.import b/assets/作物/南瓜/3.webp.import new file mode 100644 index 0000000..d5cee49 --- /dev/null +++ b/assets/作物/南瓜/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuj5k8xwr8wg8" +path="res://.godot/imported/3.webp-7bbb31894686faa8c9080a58b509200d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/南瓜/3.webp" +dest_files=["res://.godot/imported/3.webp-7bbb31894686faa8c9080a58b509200d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/南瓜/4.webp.import b/assets/作物/南瓜/4.webp.import new file mode 100644 index 0000000..f4ce265 --- /dev/null +++ b/assets/作物/南瓜/4.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgq22s3jbjuyp" +path="res://.godot/imported/4.webp-2ff3e9a99295417c9228dd9680a1f6b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/南瓜/4.webp" +dest_files=["res://.godot/imported/4.webp-2ff3e9a99295417c9228dd9680a1f6b7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/南瓜/成熟.webp b/assets/作物/南瓜/成熟.webp new file mode 100644 index 0000000..50bb2ab Binary files /dev/null and b/assets/作物/南瓜/成熟.webp differ diff --git a/assets/作物/南瓜/成熟.webp.import b/assets/作物/南瓜/成熟.webp.import new file mode 100644 index 0000000..d5db358 --- /dev/null +++ b/assets/作物/南瓜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qctp46fg84pn" +path="res://.godot/imported/成熟.webp-80dd126437727579d2acaf9b13ad6530.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/南瓜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-80dd126437727579d2acaf9b13ad6530.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/南瓜/收获物.webp b/assets/作物/南瓜/收获物.webp new file mode 100644 index 0000000..1333c45 Binary files /dev/null and b/assets/作物/南瓜/收获物.webp differ diff --git a/assets/作物/南瓜/收获物.webp.import b/assets/作物/南瓜/收获物.webp.import new file mode 100644 index 0000000..c33b8d0 --- /dev/null +++ b/assets/作物/南瓜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c64al2w8qob3e" +path="res://.godot/imported/收获物.webp-760c7f62b2ac9aa0c8fa8513815e1afb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/南瓜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-760c7f62b2ac9aa0c8fa8513815e1afb.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/可可豆/0.webp b/assets/作物/可可豆/0.webp new file mode 100644 index 0000000..c54f595 Binary files /dev/null and b/assets/作物/可可豆/0.webp differ diff --git a/assets/作物/可可豆/0.webp.import b/assets/作物/可可豆/0.webp.import new file mode 100644 index 0000000..973f31d --- /dev/null +++ b/assets/作物/可可豆/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq5sp4mhfgran" +path="res://.godot/imported/0.webp-821822db21f66aa9245299fab7cf906e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/可可豆/0.webp" +dest_files=["res://.godot/imported/0.webp-821822db21f66aa9245299fab7cf906e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/可可豆/成熟.webp b/assets/作物/可可豆/成熟.webp new file mode 100644 index 0000000..7407011 Binary files /dev/null and b/assets/作物/可可豆/成熟.webp differ diff --git a/assets/作物/可可豆/成熟.webp.import b/assets/作物/可可豆/成熟.webp.import new file mode 100644 index 0000000..8c1d8d9 --- /dev/null +++ b/assets/作物/可可豆/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bandxaiut18do" +path="res://.godot/imported/成熟.webp-dad83f16e98754910ae39f797f4bc104.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/可可豆/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-dad83f16e98754910ae39f797f4bc104.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/可可豆/收获物.webp b/assets/作物/可可豆/收获物.webp new file mode 100644 index 0000000..7b52cea Binary files /dev/null and b/assets/作物/可可豆/收获物.webp differ diff --git a/assets/作物/可可豆/收获物.webp.import b/assets/作物/可可豆/收获物.webp.import new file mode 100644 index 0000000..84d835f --- /dev/null +++ b/assets/作物/可可豆/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bopkaofm75ixu" +path="res://.godot/imported/收获物.webp-1abafc803996a04adbbd19db5cfa824b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/可可豆/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-1abafc803996a04adbbd19db5cfa824b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/向日葵/0.webp b/assets/作物/向日葵/0.webp index 0ffff0a..ae62212 100644 Binary files a/assets/作物/向日葵/0.webp and b/assets/作物/向日葵/0.webp differ diff --git a/assets/作物/向日葵/0.webp.import b/assets/作物/向日葵/0.webp.import new file mode 100644 index 0000000..26dd7af --- /dev/null +++ b/assets/作物/向日葵/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://buexi5vwacjau" +path="res://.godot/imported/0.webp-e38fa2090339e41d8e2bc2f4382d5f43.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/向日葵/0.webp" +dest_files=["res://.godot/imported/0.webp-e38fa2090339e41d8e2bc2f4382d5f43.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/向日葵/1.webp b/assets/作物/向日葵/1.webp index ae62212..1398510 100644 Binary files a/assets/作物/向日葵/1.webp and b/assets/作物/向日葵/1.webp differ diff --git a/assets/作物/向日葵/1.webp.import b/assets/作物/向日葵/1.webp.import new file mode 100644 index 0000000..a21110e --- /dev/null +++ b/assets/作物/向日葵/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnpp8bfkxwae1" +path="res://.godot/imported/1.webp-39c5186218d6a70b3b214094d5602b76.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/向日葵/1.webp" +dest_files=["res://.godot/imported/1.webp-39c5186218d6a70b3b214094d5602b76.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/向日葵/2.webp b/assets/作物/向日葵/2.webp index 1398510..abf29a5 100644 Binary files a/assets/作物/向日葵/2.webp and b/assets/作物/向日葵/2.webp differ diff --git a/assets/作物/向日葵/2.webp.import b/assets/作物/向日葵/2.webp.import new file mode 100644 index 0000000..dacba74 --- /dev/null +++ b/assets/作物/向日葵/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db4acrecie1gi" +path="res://.godot/imported/2.webp-a4ac518035e8dc36ed57f415183fccf4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/向日葵/2.webp" +dest_files=["res://.godot/imported/2.webp-a4ac518035e8dc36ed57f415183fccf4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/向日葵/成熟.webp b/assets/作物/向日葵/成熟.webp new file mode 100644 index 0000000..4ceefab Binary files /dev/null and b/assets/作物/向日葵/成熟.webp differ diff --git a/assets/作物/向日葵/成熟.webp.import b/assets/作物/向日葵/成熟.webp.import new file mode 100644 index 0000000..32892e8 --- /dev/null +++ b/assets/作物/向日葵/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ba4657sg362wu" +path="res://.godot/imported/成熟.webp-d4b1f446d73b20501f7f77a5c4d5375e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/向日葵/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-d4b1f446d73b20501f7f77a5c4d5375e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/向日葵/收获物.webp b/assets/作物/向日葵/收获物.webp new file mode 100644 index 0000000..9b21f0d Binary files /dev/null and b/assets/作物/向日葵/收获物.webp differ diff --git a/assets/作物/向日葵/收获物.webp.import b/assets/作物/向日葵/收获物.webp.import new file mode 100644 index 0000000..f897172 --- /dev/null +++ b/assets/作物/向日葵/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://citw56cysvdq2" +path="res://.godot/imported/收获物.webp-8cfd537f5f7c79fc414a45032a819160.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/向日葵/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-8cfd537f5f7c79fc414a45032a819160.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/咖啡豆/0.webp b/assets/作物/咖啡豆/0.webp new file mode 100644 index 0000000..cde5031 Binary files /dev/null and b/assets/作物/咖啡豆/0.webp differ diff --git a/assets/作物/咖啡豆/0.webp.import b/assets/作物/咖啡豆/0.webp.import new file mode 100644 index 0000000..cdbb397 --- /dev/null +++ b/assets/作物/咖啡豆/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqqskov8ldme2" +path="res://.godot/imported/0.webp-6d779ef7b648b1e546e4ba9e87048adb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/咖啡豆/0.webp" +dest_files=["res://.godot/imported/0.webp-6d779ef7b648b1e546e4ba9e87048adb.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/咖啡豆/1750005805792.webp b/assets/作物/咖啡豆/1750005805792.webp new file mode 100644 index 0000000..f72200e Binary files /dev/null and b/assets/作物/咖啡豆/1750005805792.webp differ diff --git a/assets/作物/咖啡豆/1750005805792.webp.import b/assets/作物/咖啡豆/1750005805792.webp.import new file mode 100644 index 0000000..77fa4b5 --- /dev/null +++ b/assets/作物/咖啡豆/1750005805792.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://s3umptyhkirx" +path="res://.godot/imported/1750005805792.webp-0fbddd6ffbcf5dbd0a339c41005bb0a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/咖啡豆/1750005805792.webp" +dest_files=["res://.godot/imported/1750005805792.webp-0fbddd6ffbcf5dbd0a339c41005bb0a8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/咖啡豆/成熟.webp b/assets/作物/咖啡豆/成熟.webp new file mode 100644 index 0000000..cde5031 Binary files /dev/null and b/assets/作物/咖啡豆/成熟.webp differ diff --git a/assets/作物/咖啡豆/成熟.webp.import b/assets/作物/咖啡豆/成熟.webp.import new file mode 100644 index 0000000..9f24108 --- /dev/null +++ b/assets/作物/咖啡豆/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ek7v7b0c5pbh" +path="res://.godot/imported/成熟.webp-0c20db991bcb8be24c9e185760a3880d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/咖啡豆/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-0c20db991bcb8be24c9e185760a3880d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/咖啡豆/收获物.webp b/assets/作物/咖啡豆/收获物.webp new file mode 100644 index 0000000..a98d938 Binary files /dev/null and b/assets/作物/咖啡豆/收获物.webp differ diff --git a/assets/作物/咖啡豆/收获物.webp.import b/assets/作物/咖啡豆/收获物.webp.import new file mode 100644 index 0000000..6b1ca8a --- /dev/null +++ b/assets/作物/咖啡豆/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvju4h4kjojkf" +path="res://.godot/imported/收获物.webp-1846986b6230d04c92965c0dc6c8ec90.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/咖啡豆/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-1846986b6230d04c92965c0dc6c8ec90.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/哈密瓜/0.webp.import b/assets/作物/哈密瓜/0.webp.import new file mode 100644 index 0000000..983ed75 --- /dev/null +++ b/assets/作物/哈密瓜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kyd3p1ot5bg5" +path="res://.godot/imported/0.webp-44b93bb80f1aa61722d002b9c7673b92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/哈密瓜/0.webp" +dest_files=["res://.godot/imported/0.webp-44b93bb80f1aa61722d002b9c7673b92.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/哈密瓜/1.webp.import b/assets/作物/哈密瓜/1.webp.import new file mode 100644 index 0000000..5f774ef --- /dev/null +++ b/assets/作物/哈密瓜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cesyv1rxe4eid" +path="res://.godot/imported/1.webp-1f85d6df04e3014f721dc62f7c60a301.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/哈密瓜/1.webp" +dest_files=["res://.godot/imported/1.webp-1f85d6df04e3014f721dc62f7c60a301.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/哈密瓜/2.webp b/assets/作物/哈密瓜/2.webp index 6f12379..aa84c26 100644 Binary files a/assets/作物/哈密瓜/2.webp and b/assets/作物/哈密瓜/2.webp differ diff --git a/assets/作物/哈密瓜/2.webp.import b/assets/作物/哈密瓜/2.webp.import new file mode 100644 index 0000000..c8a7033 --- /dev/null +++ b/assets/作物/哈密瓜/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmsb1ovv1yxsd" +path="res://.godot/imported/2.webp-241c30c524225cf14a34f44113ad84e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/哈密瓜/2.webp" +dest_files=["res://.godot/imported/2.webp-241c30c524225cf14a34f44113ad84e5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/哈密瓜/成熟.webp b/assets/作物/哈密瓜/成熟.webp new file mode 100644 index 0000000..a414781 Binary files /dev/null and b/assets/作物/哈密瓜/成熟.webp differ diff --git a/assets/作物/哈密瓜/成熟.webp.import b/assets/作物/哈密瓜/成熟.webp.import new file mode 100644 index 0000000..908a8b0 --- /dev/null +++ b/assets/作物/哈密瓜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ciihm31bswfh4" +path="res://.godot/imported/成熟.webp-c95fcc34af7dbd435772d6ceb97dea27.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/哈密瓜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-c95fcc34af7dbd435772d6ceb97dea27.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/哈密瓜/收获物.webp b/assets/作物/哈密瓜/收获物.webp new file mode 100644 index 0000000..6bd6bc4 Binary files /dev/null and b/assets/作物/哈密瓜/收获物.webp differ diff --git a/assets/作物/哈密瓜/收获物.webp.import b/assets/作物/哈密瓜/收获物.webp.import new file mode 100644 index 0000000..13a3c5d --- /dev/null +++ b/assets/作物/哈密瓜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1u0535c7w3jh" +path="res://.godot/imported/收获物.webp-fdd55074641d43e62ba6a38133edf730.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/哈密瓜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-fdd55074641d43e62ba6a38133edf730.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/土豆/0.webp.import b/assets/作物/土豆/0.webp.import new file mode 100644 index 0000000..436ff60 --- /dev/null +++ b/assets/作物/土豆/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bc3r2j6k4o6vs" +path="res://.godot/imported/0.webp-7c561674e7465fe1b7ab139e2d86374d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/土豆/0.webp" +dest_files=["res://.godot/imported/0.webp-7c561674e7465fe1b7ab139e2d86374d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/土豆/1.webp.import b/assets/作物/土豆/1.webp.import new file mode 100644 index 0000000..45fc7e6 --- /dev/null +++ b/assets/作物/土豆/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cacjbgt1kxikt" +path="res://.godot/imported/1.webp-f108974cb62a8d6c198d2e6263bb15ff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/土豆/1.webp" +dest_files=["res://.godot/imported/1.webp-f108974cb62a8d6c198d2e6263bb15ff.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/土豆/2.webp.import b/assets/作物/土豆/2.webp.import new file mode 100644 index 0000000..4f93b66 --- /dev/null +++ b/assets/作物/土豆/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn1i07yhcsvst" +path="res://.godot/imported/2.webp-b2dbe3a142652718e988b49bbb0c0744.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/土豆/2.webp" +dest_files=["res://.godot/imported/2.webp-b2dbe3a142652718e988b49bbb0c0744.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/土豆/成熟.webp b/assets/作物/土豆/成熟.webp new file mode 100644 index 0000000..33d9517 Binary files /dev/null and b/assets/作物/土豆/成熟.webp differ diff --git a/assets/作物/土豆/成熟.webp.import b/assets/作物/土豆/成熟.webp.import new file mode 100644 index 0000000..03f9318 --- /dev/null +++ b/assets/作物/土豆/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://but2sac7ib1e8" +path="res://.godot/imported/成熟.webp-04f5ad36f7593742d6264077c5aacfca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/土豆/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-04f5ad36f7593742d6264077c5aacfca.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/土豆/收获物.webp b/assets/作物/土豆/收获物.webp new file mode 100644 index 0000000..29f2ba0 Binary files /dev/null and b/assets/作物/土豆/收获物.webp differ diff --git a/assets/作物/土豆/收获物.webp.import b/assets/作物/土豆/收获物.webp.import new file mode 100644 index 0000000..d4f4a6d --- /dev/null +++ b/assets/作物/土豆/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nl40o5us8eni" +path="res://.godot/imported/收获物.webp-abc502854f35441eac80f7bd75678904.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/土豆/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-abc502854f35441eac80f7bd75678904.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大白菜/0.webp.import b/assets/作物/大白菜/0.webp.import new file mode 100644 index 0000000..d59d89b --- /dev/null +++ b/assets/作物/大白菜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk2lmfjphjtyh" +path="res://.godot/imported/0.webp-95fd204d42c46a44e3c4313652f5ffce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大白菜/0.webp" +dest_files=["res://.godot/imported/0.webp-95fd204d42c46a44e3c4313652f5ffce.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大白菜/1.webp b/assets/作物/大白菜/1.webp index 5125506..19ab9d3 100644 Binary files a/assets/作物/大白菜/1.webp and b/assets/作物/大白菜/1.webp differ diff --git a/assets/作物/大白菜/1.webp.import b/assets/作物/大白菜/1.webp.import new file mode 100644 index 0000000..39314fb --- /dev/null +++ b/assets/作物/大白菜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brjbg8ag2jf3o" +path="res://.godot/imported/1.webp-8e159514a2d5265435603e4f8abadb12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大白菜/1.webp" +dest_files=["res://.godot/imported/1.webp-8e159514a2d5265435603e4f8abadb12.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大白菜/1750050864343.webp b/assets/作物/大白菜/1750050864343.webp new file mode 100644 index 0000000..8b8d459 Binary files /dev/null and b/assets/作物/大白菜/1750050864343.webp differ diff --git a/assets/作物/大白菜/1750050864343.webp.import b/assets/作物/大白菜/1750050864343.webp.import new file mode 100644 index 0000000..4475b19 --- /dev/null +++ b/assets/作物/大白菜/1750050864343.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwty2j3qgfowb" +path="res://.godot/imported/1750050864343.webp-ac1da7418f30a5ffa29164ea2171da4e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大白菜/1750050864343.webp" +dest_files=["res://.godot/imported/1750050864343.webp-ac1da7418f30a5ffa29164ea2171da4e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大白菜/成熟.webp b/assets/作物/大白菜/成熟.webp new file mode 100644 index 0000000..8a3f34b Binary files /dev/null and b/assets/作物/大白菜/成熟.webp differ diff --git a/assets/作物/大白菜/成熟.webp.import b/assets/作物/大白菜/成熟.webp.import new file mode 100644 index 0000000..b56ad52 --- /dev/null +++ b/assets/作物/大白菜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuvuepumw7lii" +path="res://.godot/imported/成熟.webp-42078b8aae8fa96f1e93a0b3e8da7df3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大白菜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-42078b8aae8fa96f1e93a0b3e8da7df3.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大白菜/收获物.webp b/assets/作物/大白菜/收获物.webp new file mode 100644 index 0000000..be95506 Binary files /dev/null and b/assets/作物/大白菜/收获物.webp differ diff --git a/assets/作物/大白菜/收获物.webp.import b/assets/作物/大白菜/收获物.webp.import new file mode 100644 index 0000000..9f414bf --- /dev/null +++ b/assets/作物/大白菜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://df1ds3tx0m0bv" +path="res://.godot/imported/收获物.webp-56c315f71b209c18cc5ddb8d85017075.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大白菜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-56c315f71b209c18cc5ddb8d85017075.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大蒜/0.webp b/assets/作物/大蒜/0.webp new file mode 100644 index 0000000..041af1d Binary files /dev/null and b/assets/作物/大蒜/0.webp differ diff --git a/assets/作物/大蒜/0.webp.import b/assets/作物/大蒜/0.webp.import new file mode 100644 index 0000000..d2fea5c --- /dev/null +++ b/assets/作物/大蒜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chynyasge8grq" +path="res://.godot/imported/0.webp-667c2ea589e0f98450ef6af17a7a5f5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大蒜/0.webp" +dest_files=["res://.godot/imported/0.webp-667c2ea589e0f98450ef6af17a7a5f5b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大蒜/成熟.webp b/assets/作物/大蒜/成熟.webp new file mode 100644 index 0000000..dcb028f Binary files /dev/null and b/assets/作物/大蒜/成熟.webp differ diff --git a/assets/作物/大蒜/成熟.webp.import b/assets/作物/大蒜/成熟.webp.import new file mode 100644 index 0000000..2542175 --- /dev/null +++ b/assets/作物/大蒜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://doenu6e7j7aju" +path="res://.godot/imported/成熟.webp-2f446eb21f1d03acc83ecc3ebfa285b5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大蒜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-2f446eb21f1d03acc83ecc3ebfa285b5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大蒜/收获物.webp b/assets/作物/大蒜/收获物.webp new file mode 100644 index 0000000..e2d4766 Binary files /dev/null and b/assets/作物/大蒜/收获物.webp differ diff --git a/assets/作物/大蒜/收获物.webp.import b/assets/作物/大蒜/收获物.webp.import new file mode 100644 index 0000000..88e462c --- /dev/null +++ b/assets/作物/大蒜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxe1awtkp0ht7" +path="res://.godot/imported/收获物.webp-bce0014dcd1bc09ca05bb8894f727e05.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大蒜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-bce0014dcd1bc09ca05bb8894f727e05.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大豆/0.webp.import b/assets/作物/大豆/0.webp.import new file mode 100644 index 0000000..b56417f --- /dev/null +++ b/assets/作物/大豆/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://uj7k2n7n6vr3" +path="res://.godot/imported/0.webp-d2cef997bf4d87930aa951d63b7c2706.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大豆/0.webp" +dest_files=["res://.godot/imported/0.webp-d2cef997bf4d87930aa951d63b7c2706.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大豆/1.webp b/assets/作物/大豆/1.webp index 1204ad6..38a0a9a 100644 Binary files a/assets/作物/大豆/1.webp and b/assets/作物/大豆/1.webp differ diff --git a/assets/作物/大豆/1.webp.import b/assets/作物/大豆/1.webp.import new file mode 100644 index 0000000..ac951fd --- /dev/null +++ b/assets/作物/大豆/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2mjg7nfh8dsy" +path="res://.godot/imported/1.webp-902de037c7b6f80519e6d76f562055ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大豆/1.webp" +dest_files=["res://.godot/imported/1.webp-902de037c7b6f80519e6d76f562055ed.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大豆/成熟.webp b/assets/作物/大豆/成熟.webp new file mode 100644 index 0000000..18f0f1d Binary files /dev/null and b/assets/作物/大豆/成熟.webp differ diff --git a/assets/作物/大豆/成熟.webp.import b/assets/作物/大豆/成熟.webp.import new file mode 100644 index 0000000..85b6368 --- /dev/null +++ b/assets/作物/大豆/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://21df1mguvrpd" +path="res://.godot/imported/成熟.webp-ea051ce1ea151b39cf80b541e4a5df77.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大豆/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-ea051ce1ea151b39cf80b541e4a5df77.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/大豆/收获物.webp b/assets/作物/大豆/收获物.webp new file mode 100644 index 0000000..455322e Binary files /dev/null and b/assets/作物/大豆/收获物.webp differ diff --git a/assets/作物/大豆/收获物.webp.import b/assets/作物/大豆/收获物.webp.import new file mode 100644 index 0000000..5e63da0 --- /dev/null +++ b/assets/作物/大豆/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cas423gh315f6" +path="res://.godot/imported/收获物.webp-910e3f288716e2d0559e97c7f6eda87f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/大豆/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-910e3f288716e2d0559e97c7f6eda87f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/富贵竹/0.webp.import b/assets/作物/富贵竹/0.webp.import new file mode 100644 index 0000000..65f0d2a --- /dev/null +++ b/assets/作物/富贵竹/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuyfl3se8ooaq" +path="res://.godot/imported/0.webp-a726644bf3d2533e1a0c1dab78519549.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/富贵竹/0.webp" +dest_files=["res://.godot/imported/0.webp-a726644bf3d2533e1a0c1dab78519549.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/富贵竹/1.webp b/assets/作物/富贵竹/1.webp index 1e37a73..b2fd09b 100644 Binary files a/assets/作物/富贵竹/1.webp and b/assets/作物/富贵竹/1.webp differ diff --git a/assets/作物/富贵竹/1.webp.import b/assets/作物/富贵竹/1.webp.import new file mode 100644 index 0000000..13b5829 --- /dev/null +++ b/assets/作物/富贵竹/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tjygvuu5ulbs" +path="res://.godot/imported/1.webp-e919d49ea2e08a7abff7233ed4b5039a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/富贵竹/1.webp" +dest_files=["res://.godot/imported/1.webp-e919d49ea2e08a7abff7233ed4b5039a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/富贵竹/成熟.webp b/assets/作物/富贵竹/成熟.webp new file mode 100644 index 0000000..a70a669 Binary files /dev/null and b/assets/作物/富贵竹/成熟.webp differ diff --git a/assets/作物/富贵竹/成熟.webp.import b/assets/作物/富贵竹/成熟.webp.import new file mode 100644 index 0000000..661c085 --- /dev/null +++ b/assets/作物/富贵竹/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fyn27purtib4" +path="res://.godot/imported/成熟.webp-50c06acb6b9e4335c344c3321fda6c5d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/富贵竹/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-50c06acb6b9e4335c344c3321fda6c5d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/富贵竹/收获物.webp b/assets/作物/富贵竹/收获物.webp new file mode 100644 index 0000000..0d1c17e Binary files /dev/null and b/assets/作物/富贵竹/收获物.webp differ diff --git a/assets/作物/富贵竹/收获物.webp.import b/assets/作物/富贵竹/收获物.webp.import new file mode 100644 index 0000000..d980665 --- /dev/null +++ b/assets/作物/富贵竹/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bej21lk1sp78l" +path="res://.godot/imported/收获物.webp-c5c64661272ea5dc2c5854f082f75971.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/富贵竹/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-c5c64661272ea5dc2c5854f082f75971.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/小麦/0.webp b/assets/作物/小麦/0.webp index a3e1776..99dc1b8 100644 Binary files a/assets/作物/小麦/0.webp and b/assets/作物/小麦/0.webp differ diff --git a/assets/作物/小麦/0.webp.import b/assets/作物/小麦/0.webp.import new file mode 100644 index 0000000..c111878 --- /dev/null +++ b/assets/作物/小麦/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgelr6ccbt6j4" +path="res://.godot/imported/0.webp-01976b7393f4108b4278b5fddaf5c9f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/小麦/0.webp" +dest_files=["res://.godot/imported/0.webp-01976b7393f4108b4278b5fddaf5c9f1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/小麦/1.webp b/assets/作物/小麦/1.webp index a3e1776..9f61f0f 100644 Binary files a/assets/作物/小麦/1.webp and b/assets/作物/小麦/1.webp differ diff --git a/assets/作物/小麦/1.webp.import b/assets/作物/小麦/1.webp.import new file mode 100644 index 0000000..529e592 --- /dev/null +++ b/assets/作物/小麦/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vtexwnsmf0oi" +path="res://.godot/imported/1.webp-aecdb4ce7bebcc6234fa8729e020c125.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/小麦/1.webp" +dest_files=["res://.godot/imported/1.webp-aecdb4ce7bebcc6234fa8729e020c125.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/小麦/1750003605876.webp b/assets/作物/小麦/1750003605876.webp new file mode 100644 index 0000000..608783f Binary files /dev/null and b/assets/作物/小麦/1750003605876.webp differ diff --git a/assets/作物/小麦/1750003605876.webp.import b/assets/作物/小麦/1750003605876.webp.import new file mode 100644 index 0000000..2518344 --- /dev/null +++ b/assets/作物/小麦/1750003605876.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hbpd3hpfdpgf" +path="res://.godot/imported/1750003605876.webp-0f0377d90260327e2169b52f723f20e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/小麦/1750003605876.webp" +dest_files=["res://.godot/imported/1750003605876.webp-0f0377d90260327e2169b52f723f20e8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/小麦/2.webp b/assets/作物/小麦/2.webp index 9f61f0f..3ba2c46 100644 Binary files a/assets/作物/小麦/2.webp and b/assets/作物/小麦/2.webp differ diff --git a/assets/作物/小麦/2.webp.import b/assets/作物/小麦/2.webp.import new file mode 100644 index 0000000..496621c --- /dev/null +++ b/assets/作物/小麦/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cps503tcg7h1g" +path="res://.godot/imported/2.webp-944f6e4f9f746fb1e8751aa4709965cf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/小麦/2.webp" +dest_files=["res://.godot/imported/2.webp-944f6e4f9f746fb1e8751aa4709965cf.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/小麦/成熟.webp b/assets/作物/小麦/成熟.webp new file mode 100644 index 0000000..b99a4a5 Binary files /dev/null and b/assets/作物/小麦/成熟.webp differ diff --git a/assets/作物/小麦/成熟.webp.import b/assets/作物/小麦/成熟.webp.import new file mode 100644 index 0000000..7403d61 --- /dev/null +++ b/assets/作物/小麦/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2p5dg5wkoi7a" +path="res://.godot/imported/成熟.webp-870b665c96876c854b26d3d57458eb26.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/小麦/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-870b665c96876c854b26d3d57458eb26.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/小麦/收获物.webp b/assets/作物/小麦/收获物.webp new file mode 100644 index 0000000..1a9330d Binary files /dev/null and b/assets/作物/小麦/收获物.webp differ diff --git a/assets/作物/小麦/收获物.webp.import b/assets/作物/小麦/收获物.webp.import new file mode 100644 index 0000000..f47bbda --- /dev/null +++ b/assets/作物/小麦/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbjlj1ody3kf0" +path="res://.godot/imported/收获物.webp-8bbb4c8347e09da3595ecd84c0f10098.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/小麦/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-8bbb4c8347e09da3595ecd84c0f10098.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山楂/0.webp b/assets/作物/山楂/0.webp new file mode 100644 index 0000000..d9f1e8e Binary files /dev/null and b/assets/作物/山楂/0.webp differ diff --git a/assets/作物/山楂/0.webp.import b/assets/作物/山楂/0.webp.import new file mode 100644 index 0000000..357c02f --- /dev/null +++ b/assets/作物/山楂/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bssucauvjrktr" +path="res://.godot/imported/0.webp-9ef5f54aba5e5ec96a14a0d1b8959df9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山楂/0.webp" +dest_files=["res://.godot/imported/0.webp-9ef5f54aba5e5ec96a14a0d1b8959df9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山楂/1.webp b/assets/作物/山楂/1.webp new file mode 100644 index 0000000..e5223b1 Binary files /dev/null and b/assets/作物/山楂/1.webp differ diff --git a/assets/作物/山楂/1.webp.import b/assets/作物/山楂/1.webp.import new file mode 100644 index 0000000..55b833a --- /dev/null +++ b/assets/作物/山楂/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b252vfko720np" +path="res://.godot/imported/1.webp-eba8966203fa8cf5920fba4d9b55297e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山楂/1.webp" +dest_files=["res://.godot/imported/1.webp-eba8966203fa8cf5920fba4d9b55297e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山楂/成熟.webp b/assets/作物/山楂/成熟.webp new file mode 100644 index 0000000..c815bb1 Binary files /dev/null and b/assets/作物/山楂/成熟.webp differ diff --git a/assets/作物/山楂/成熟.webp.import b/assets/作物/山楂/成熟.webp.import new file mode 100644 index 0000000..adc2e83 --- /dev/null +++ b/assets/作物/山楂/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bo2autlfr1e7x" +path="res://.godot/imported/成熟.webp-27fe422cdf47094b5fcbdb9ab03f5193.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山楂/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-27fe422cdf47094b5fcbdb9ab03f5193.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山楂/收获物.webp b/assets/作物/山楂/收获物.webp new file mode 100644 index 0000000..dab0743 Binary files /dev/null and b/assets/作物/山楂/收获物.webp differ diff --git a/assets/作物/山楂/收获物.webp.import b/assets/作物/山楂/收获物.webp.import new file mode 100644 index 0000000..509edaa --- /dev/null +++ b/assets/作物/山楂/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3it6niv74m7c" +path="res://.godot/imported/收获物.webp-72b51e5f772d35f32139c456531888c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山楂/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-72b51e5f772d35f32139c456531888c7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山葵/0.webp.import b/assets/作物/山葵/0.webp.import new file mode 100644 index 0000000..7536349 --- /dev/null +++ b/assets/作物/山葵/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rct4rjtodrp8" +path="res://.godot/imported/0.webp-5095949f85b9761fa79d4662591ee8de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山葵/0.webp" +dest_files=["res://.godot/imported/0.webp-5095949f85b9761fa79d4662591ee8de.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山葵/1.webp.import b/assets/作物/山葵/1.webp.import new file mode 100644 index 0000000..beca64a --- /dev/null +++ b/assets/作物/山葵/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fkkupwumgkcw" +path="res://.godot/imported/1.webp-23308b73f9bc075e7369d063d94aaaa0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山葵/1.webp" +dest_files=["res://.godot/imported/1.webp-23308b73f9bc075e7369d063d94aaaa0.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山葵/2.webp.import b/assets/作物/山葵/2.webp.import new file mode 100644 index 0000000..477f44b --- /dev/null +++ b/assets/作物/山葵/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3owvplbeixld" +path="res://.godot/imported/2.webp-6131342f071ac1243132a2b1781db3f0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山葵/2.webp" +dest_files=["res://.godot/imported/2.webp-6131342f071ac1243132a2b1781db3f0.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山葵/成熟.webp b/assets/作物/山葵/成熟.webp new file mode 100644 index 0000000..d52acd6 Binary files /dev/null and b/assets/作物/山葵/成熟.webp differ diff --git a/assets/作物/山葵/成熟.webp.import b/assets/作物/山葵/成熟.webp.import new file mode 100644 index 0000000..62420f6 --- /dev/null +++ b/assets/作物/山葵/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qnqbk5b25d1h" +path="res://.godot/imported/成熟.webp-b26d87f0f7a6133026204738014ba8b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山葵/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-b26d87f0f7a6133026204738014ba8b1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/山葵/收获物.webp b/assets/作物/山葵/收获物.webp new file mode 100644 index 0000000..1eb538d Binary files /dev/null and b/assets/作物/山葵/收获物.webp differ diff --git a/assets/作物/山葵/收获物.webp.import b/assets/作物/山葵/收获物.webp.import new file mode 100644 index 0000000..3f643e6 --- /dev/null +++ b/assets/作物/山葵/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cla47x3syqk15" +path="res://.godot/imported/收获物.webp-fe4b4d85426ae07947ee7f03298f90f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/山葵/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-fe4b4d85426ae07947ee7f03298f90f1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运花/0.webp b/assets/作物/幸运花/0.webp new file mode 100644 index 0000000..056c9c7 Binary files /dev/null and b/assets/作物/幸运花/0.webp differ diff --git a/assets/作物/幸运花/0.webp.import b/assets/作物/幸运花/0.webp.import new file mode 100644 index 0000000..b48d9e2 --- /dev/null +++ b/assets/作物/幸运花/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnj120dgxnwuj" +path="res://.godot/imported/0.webp-32ba8e3cbbf96b988e75c5661f58292f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运花/0.webp" +dest_files=["res://.godot/imported/0.webp-32ba8e3cbbf96b988e75c5661f58292f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运花/1.webp b/assets/作物/幸运花/1.webp new file mode 100644 index 0000000..271733b Binary files /dev/null and b/assets/作物/幸运花/1.webp differ diff --git a/assets/作物/幸运花/1.webp.import b/assets/作物/幸运花/1.webp.import new file mode 100644 index 0000000..94e118b --- /dev/null +++ b/assets/作物/幸运花/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxkfpmw6bxsjs" +path="res://.godot/imported/1.webp-124a6589aa718299f93b83271b5dc458.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运花/1.webp" +dest_files=["res://.godot/imported/1.webp-124a6589aa718299f93b83271b5dc458.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运花/1750005489475.webp b/assets/作物/幸运花/1750005489475.webp new file mode 100644 index 0000000..97ae2ab Binary files /dev/null and b/assets/作物/幸运花/1750005489475.webp differ diff --git a/assets/作物/幸运花/1750005489475.webp.import b/assets/作物/幸运花/1750005489475.webp.import new file mode 100644 index 0000000..71240f8 --- /dev/null +++ b/assets/作物/幸运花/1750005489475.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qtekwburbu7y" +path="res://.godot/imported/1750005489475.webp-00d2e041bdeb636cb7bdf1fd546974a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运花/1750005489475.webp" +dest_files=["res://.godot/imported/1750005489475.webp-00d2e041bdeb636cb7bdf1fd546974a7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运花/1750005490896.webp b/assets/作物/幸运花/1750005490896.webp new file mode 100644 index 0000000..bb23f7c Binary files /dev/null and b/assets/作物/幸运花/1750005490896.webp differ diff --git a/assets/作物/幸运花/1750005490896.webp.import b/assets/作物/幸运花/1750005490896.webp.import new file mode 100644 index 0000000..365baa4 --- /dev/null +++ b/assets/作物/幸运花/1750005490896.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://meqb468k6xbg" +path="res://.godot/imported/1750005490896.webp-deb71ee468b167c7081c545a38b3935d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运花/1750005490896.webp" +dest_files=["res://.godot/imported/1750005490896.webp-deb71ee468b167c7081c545a38b3935d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运花/2.webp b/assets/作物/幸运花/2.webp new file mode 100644 index 0000000..fd58edf Binary files /dev/null and b/assets/作物/幸运花/2.webp differ diff --git a/assets/作物/幸运花/2.webp.import b/assets/作物/幸运花/2.webp.import new file mode 100644 index 0000000..e85d38a --- /dev/null +++ b/assets/作物/幸运花/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1s3rfq1tmliw" +path="res://.godot/imported/2.webp-1724b2953eba7cf2a6e73a90710f103a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运花/2.webp" +dest_files=["res://.godot/imported/2.webp-1724b2953eba7cf2a6e73a90710f103a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运花/成熟.webp b/assets/作物/幸运花/成熟.webp new file mode 100644 index 0000000..935ee8c Binary files /dev/null and b/assets/作物/幸运花/成熟.webp differ diff --git a/assets/作物/幸运花/成熟.webp.import b/assets/作物/幸运花/成熟.webp.import new file mode 100644 index 0000000..d39aea0 --- /dev/null +++ b/assets/作物/幸运花/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b53a8j6u0p2mp" +path="res://.godot/imported/成熟.webp-2a3c2d454b606b14bbe607d67ef6f981.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运花/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-2a3c2d454b606b14bbe607d67ef6f981.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运花/收获物.webp b/assets/作物/幸运花/收获物.webp new file mode 100644 index 0000000..05bce4f Binary files /dev/null and b/assets/作物/幸运花/收获物.webp differ diff --git a/assets/作物/幸运花/收获物.webp.import b/assets/作物/幸运花/收获物.webp.import new file mode 100644 index 0000000..0e06fd6 --- /dev/null +++ b/assets/作物/幸运花/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bth4yixpwpf8f" +path="res://.godot/imported/收获物.webp-e824706c96273c7a9ad349dc44cd34e9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运花/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-e824706c96273c7a9ad349dc44cd34e9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运草/0.webp b/assets/作物/幸运草/0.webp new file mode 100644 index 0000000..45eb991 Binary files /dev/null and b/assets/作物/幸运草/0.webp differ diff --git a/assets/作物/幸运草/0.webp.import b/assets/作物/幸运草/0.webp.import new file mode 100644 index 0000000..3f69d5b --- /dev/null +++ b/assets/作物/幸运草/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nch4jnl6uru5" +path="res://.godot/imported/0.webp-9a854b52d758d8efc831a9b8ecc2748d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运草/0.webp" +dest_files=["res://.godot/imported/0.webp-9a854b52d758d8efc831a9b8ecc2748d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运草/1.webp b/assets/作物/幸运草/1.webp new file mode 100644 index 0000000..0e092ef Binary files /dev/null and b/assets/作物/幸运草/1.webp differ diff --git a/assets/作物/幸运草/1.webp.import b/assets/作物/幸运草/1.webp.import new file mode 100644 index 0000000..a7650d6 --- /dev/null +++ b/assets/作物/幸运草/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkqnxl762kro1" +path="res://.godot/imported/1.webp-3800ff20ef5a451d887aa3c1f0cd945b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运草/1.webp" +dest_files=["res://.godot/imported/1.webp-3800ff20ef5a451d887aa3c1f0cd945b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运草/1750005459768.webp b/assets/作物/幸运草/1750005459768.webp new file mode 100644 index 0000000..f845b84 Binary files /dev/null and b/assets/作物/幸运草/1750005459768.webp differ diff --git a/assets/作物/幸运草/1750005459768.webp.import b/assets/作物/幸运草/1750005459768.webp.import new file mode 100644 index 0000000..76c8b72 --- /dev/null +++ b/assets/作物/幸运草/1750005459768.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crinkuhe4pniq" +path="res://.godot/imported/1750005459768.webp-7323f27a2480f01720ea573a80ca06fe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运草/1750005459768.webp" +dest_files=["res://.godot/imported/1750005459768.webp-7323f27a2480f01720ea573a80ca06fe.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运草/2.webp b/assets/作物/幸运草/2.webp new file mode 100644 index 0000000..a9dec5f Binary files /dev/null and b/assets/作物/幸运草/2.webp differ diff --git a/assets/作物/幸运草/2.webp.import b/assets/作物/幸运草/2.webp.import new file mode 100644 index 0000000..8c9a62b --- /dev/null +++ b/assets/作物/幸运草/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d47fc2p7wfqf" +path="res://.godot/imported/2.webp-993c27458c797aceb035f48addfabb3a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运草/2.webp" +dest_files=["res://.godot/imported/2.webp-993c27458c797aceb035f48addfabb3a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运草/成熟.webp b/assets/作物/幸运草/成熟.webp new file mode 100644 index 0000000..8f6e7c5 Binary files /dev/null and b/assets/作物/幸运草/成熟.webp differ diff --git a/assets/作物/幸运草/成熟.webp.import b/assets/作物/幸运草/成熟.webp.import new file mode 100644 index 0000000..af4473c --- /dev/null +++ b/assets/作物/幸运草/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cv6a666etjy74" +path="res://.godot/imported/成熟.webp-fddfb49e7e60369d7dc4767cd5a0d284.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运草/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-fddfb49e7e60369d7dc4767cd5a0d284.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/幸运草/收获物.webp b/assets/作物/幸运草/收获物.webp new file mode 100644 index 0000000..30c7ab8 Binary files /dev/null and b/assets/作物/幸运草/收获物.webp differ diff --git a/assets/作物/幸运草/收获物.webp.import b/assets/作物/幸运草/收获物.webp.import new file mode 100644 index 0000000..1ce2838 --- /dev/null +++ b/assets/作物/幸运草/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdaequ3geqp7i" +path="res://.godot/imported/收获物.webp-6d6a4269b340b5f7b84f97c5db73be58.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/幸运草/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-6d6a4269b340b5f7b84f97c5db73be58.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/康乃馨/0.webp b/assets/作物/康乃馨/0.webp new file mode 100644 index 0000000..5911206 Binary files /dev/null and b/assets/作物/康乃馨/0.webp differ diff --git a/assets/作物/康乃馨/0.webp.import b/assets/作物/康乃馨/0.webp.import new file mode 100644 index 0000000..6298173 --- /dev/null +++ b/assets/作物/康乃馨/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duvjh3pyy563r" +path="res://.godot/imported/0.webp-0dcefca5e8cb212b0edd07e190d9f42c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/康乃馨/0.webp" +dest_files=["res://.godot/imported/0.webp-0dcefca5e8cb212b0edd07e190d9f42c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/康乃馨/1.webp b/assets/作物/康乃馨/1.webp new file mode 100644 index 0000000..11b7746 Binary files /dev/null and b/assets/作物/康乃馨/1.webp differ diff --git a/assets/作物/康乃馨/1.webp.import b/assets/作物/康乃馨/1.webp.import new file mode 100644 index 0000000..dbd41fb --- /dev/null +++ b/assets/作物/康乃馨/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djyle3128sens" +path="res://.godot/imported/1.webp-be07198dc831af4082185ad9355a9724.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/康乃馨/1.webp" +dest_files=["res://.godot/imported/1.webp-be07198dc831af4082185ad9355a9724.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/康乃馨/1750049844733.webp b/assets/作物/康乃馨/1750049844733.webp new file mode 100644 index 0000000..6924b47 Binary files /dev/null and b/assets/作物/康乃馨/1750049844733.webp differ diff --git a/assets/作物/康乃馨/1750049844733.webp.import b/assets/作物/康乃馨/1750049844733.webp.import new file mode 100644 index 0000000..4b75567 --- /dev/null +++ b/assets/作物/康乃馨/1750049844733.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djoaojav2pd0" +path="res://.godot/imported/1750049844733.webp-2105343ec6352d43a6d86245693420c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/康乃馨/1750049844733.webp" +dest_files=["res://.godot/imported/1750049844733.webp-2105343ec6352d43a6d86245693420c6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/康乃馨/2.webp b/assets/作物/康乃馨/2.webp new file mode 100644 index 0000000..48a4534 Binary files /dev/null and b/assets/作物/康乃馨/2.webp differ diff --git a/assets/作物/康乃馨/2.webp.import b/assets/作物/康乃馨/2.webp.import new file mode 100644 index 0000000..d7e1f8b --- /dev/null +++ b/assets/作物/康乃馨/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://o4tf2vsbajyc" +path="res://.godot/imported/2.webp-2e5b03c6392f4ab3a1ed8f78c18bdc20.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/康乃馨/2.webp" +dest_files=["res://.godot/imported/2.webp-2e5b03c6392f4ab3a1ed8f78c18bdc20.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/康乃馨/3.webp b/assets/作物/康乃馨/3.webp new file mode 100644 index 0000000..21ee1a3 Binary files /dev/null and b/assets/作物/康乃馨/3.webp differ diff --git a/assets/作物/康乃馨/3.webp.import b/assets/作物/康乃馨/3.webp.import new file mode 100644 index 0000000..6aad71b --- /dev/null +++ b/assets/作物/康乃馨/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rv4c33ekcy07" +path="res://.godot/imported/3.webp-c28c891b89617b5fd53ade19b7e37f4c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/康乃馨/3.webp" +dest_files=["res://.godot/imported/3.webp-c28c891b89617b5fd53ade19b7e37f4c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/康乃馨/成熟.webp b/assets/作物/康乃馨/成熟.webp new file mode 100644 index 0000000..21ee1a3 Binary files /dev/null and b/assets/作物/康乃馨/成熟.webp differ diff --git a/assets/作物/康乃馨/成熟.webp.import b/assets/作物/康乃馨/成熟.webp.import new file mode 100644 index 0000000..8eb5fad --- /dev/null +++ b/assets/作物/康乃馨/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cl8irth31hkh0" +path="res://.godot/imported/成熟.webp-deed9a1ae7b86403775795670a552b5d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/康乃馨/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-deed9a1ae7b86403775795670a552b5d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/康乃馨/收获物.webp b/assets/作物/康乃馨/收获物.webp new file mode 100644 index 0000000..64b3cd5 Binary files /dev/null and b/assets/作物/康乃馨/收获物.webp differ diff --git a/assets/作物/康乃馨/收获物.webp.import b/assets/作物/康乃馨/收获物.webp.import new file mode 100644 index 0000000..bca8243 --- /dev/null +++ b/assets/作物/康乃馨/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfr5sc2fq30iq" +path="res://.godot/imported/收获物.webp-a3075daedf23505ce9c53fd93791d3ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/康乃馨/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-a3075daedf23505ce9c53fd93791d3ce.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/摇钱树/0.webp b/assets/作物/摇钱树/0.webp new file mode 100644 index 0000000..221a465 Binary files /dev/null and b/assets/作物/摇钱树/0.webp differ diff --git a/assets/作物/摇钱树/0.webp.import b/assets/作物/摇钱树/0.webp.import new file mode 100644 index 0000000..86ac8fe --- /dev/null +++ b/assets/作物/摇钱树/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bx1bslv1dmo6h" +path="res://.godot/imported/0.webp-b91d280651136fd5f255dac87d5e309e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/摇钱树/0.webp" +dest_files=["res://.godot/imported/0.webp-b91d280651136fd5f255dac87d5e309e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/摇钱树/1.webp b/assets/作物/摇钱树/1.webp new file mode 100644 index 0000000..c1daa8d Binary files /dev/null and b/assets/作物/摇钱树/1.webp differ diff --git a/assets/作物/摇钱树/1.webp.import b/assets/作物/摇钱树/1.webp.import new file mode 100644 index 0000000..4298a31 --- /dev/null +++ b/assets/作物/摇钱树/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b028c31dq1hsj" +path="res://.godot/imported/1.webp-db2f4aba6f4f61ef42a825a786838de9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/摇钱树/1.webp" +dest_files=["res://.godot/imported/1.webp-db2f4aba6f4f61ef42a825a786838de9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/摇钱树/2.webp b/assets/作物/摇钱树/2.webp new file mode 100644 index 0000000..d04898d Binary files /dev/null and b/assets/作物/摇钱树/2.webp differ diff --git a/assets/作物/摇钱树/2.webp.import b/assets/作物/摇钱树/2.webp.import new file mode 100644 index 0000000..b22d3ea --- /dev/null +++ b/assets/作物/摇钱树/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cu5nxdc7c5re2" +path="res://.godot/imported/2.webp-1dfe33d0a7ac97921bb14420b15492de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/摇钱树/2.webp" +dest_files=["res://.godot/imported/2.webp-1dfe33d0a7ac97921bb14420b15492de.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/摇钱树/成熟.webp b/assets/作物/摇钱树/成熟.webp new file mode 100644 index 0000000..9e0d0f8 Binary files /dev/null and b/assets/作物/摇钱树/成熟.webp differ diff --git a/assets/作物/摇钱树/成熟.webp.import b/assets/作物/摇钱树/成熟.webp.import new file mode 100644 index 0000000..e643e60 --- /dev/null +++ b/assets/作物/摇钱树/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3vg53soh2vsf" +path="res://.godot/imported/成熟.webp-317b0ac3b89998d3893b8f1bc2fc2f22.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/摇钱树/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-317b0ac3b89998d3893b8f1bc2fc2f22.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/摇钱树/收获物.webp b/assets/作物/摇钱树/收获物.webp new file mode 100644 index 0000000..710f8c3 Binary files /dev/null and b/assets/作物/摇钱树/收获物.webp differ diff --git a/assets/作物/摇钱树/收获物.webp.import b/assets/作物/摇钱树/收获物.webp.import new file mode 100644 index 0000000..522a5c8 --- /dev/null +++ b/assets/作物/摇钱树/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgy08xmxhqb2s" +path="res://.godot/imported/收获物.webp-54bf1cbe9a2c55b3306abdb00993d71f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/摇钱树/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-54bf1cbe9a2c55b3306abdb00993d71f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/星芒草/0.webp b/assets/作物/星芒草/0.webp new file mode 100644 index 0000000..575fe2b Binary files /dev/null and b/assets/作物/星芒草/0.webp differ diff --git a/assets/作物/星芒草/0.webp.import b/assets/作物/星芒草/0.webp.import new file mode 100644 index 0000000..2991f95 --- /dev/null +++ b/assets/作物/星芒草/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dweo8v6cnx2qy" +path="res://.godot/imported/0.webp-dc14adbdd9cd7135bc2234591039c4d6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/星芒草/0.webp" +dest_files=["res://.godot/imported/0.webp-dc14adbdd9cd7135bc2234591039c4d6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/星芒草/成熟.webp b/assets/作物/星芒草/成熟.webp new file mode 100644 index 0000000..d96b9a8 Binary files /dev/null and b/assets/作物/星芒草/成熟.webp differ diff --git a/assets/作物/星芒草/成熟.webp.import b/assets/作物/星芒草/成熟.webp.import new file mode 100644 index 0000000..80e5e0e --- /dev/null +++ b/assets/作物/星芒草/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vo2y0ec727b" +path="res://.godot/imported/成熟.webp-01eb164be1dfd5f01a8a1a17e229e68a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/星芒草/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-01eb164be1dfd5f01a8a1a17e229e68a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/月光草/0.webp b/assets/作物/月光草/0.webp new file mode 100644 index 0000000..adcd08f Binary files /dev/null and b/assets/作物/月光草/0.webp differ diff --git a/assets/作物/月光草/0.webp.import b/assets/作物/月光草/0.webp.import new file mode 100644 index 0000000..1f9dc18 --- /dev/null +++ b/assets/作物/月光草/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr3s13hya6bfe" +path="res://.godot/imported/0.webp-e711a766ce835c4b088263e550163ae1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/月光草/0.webp" +dest_files=["res://.godot/imported/0.webp-e711a766ce835c4b088263e550163ae1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/月光草/1.webp b/assets/作物/月光草/1.webp new file mode 100644 index 0000000..856d3bf Binary files /dev/null and b/assets/作物/月光草/1.webp differ diff --git a/assets/作物/月光草/1.webp.import b/assets/作物/月光草/1.webp.import new file mode 100644 index 0000000..49482b6 --- /dev/null +++ b/assets/作物/月光草/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c127o6wx0vipt" +path="res://.godot/imported/1.webp-b88c0f1f74a4dd7361e4e36124bf5c63.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/月光草/1.webp" +dest_files=["res://.godot/imported/1.webp-b88c0f1f74a4dd7361e4e36124bf5c63.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/月光草/成熟.webp b/assets/作物/月光草/成熟.webp new file mode 100644 index 0000000..68a5b09 Binary files /dev/null and b/assets/作物/月光草/成熟.webp differ diff --git a/assets/作物/月光草/成熟.webp.import b/assets/作物/月光草/成熟.webp.import new file mode 100644 index 0000000..cc8ff63 --- /dev/null +++ b/assets/作物/月光草/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ina63kjtboai" +path="res://.godot/imported/成熟.webp-3dc1ef1881010be2236a0f4cdf3f8287.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/月光草/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-3dc1ef1881010be2236a0f4cdf3f8287.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/月光草/收获物.webp b/assets/作物/月光草/收获物.webp new file mode 100644 index 0000000..b257e8a Binary files /dev/null and b/assets/作物/月光草/收获物.webp differ diff --git a/assets/作物/月光草/收获物.webp.import b/assets/作物/月光草/收获物.webp.import new file mode 100644 index 0000000..69f6b76 --- /dev/null +++ b/assets/作物/月光草/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ciu7yhhvqyjxt" +path="res://.godot/imported/收获物.webp-f206bb2544e56a972a63de3bfd1fcf12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/月光草/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-f206bb2544e56a972a63de3bfd1fcf12.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树1/0.webp.import b/assets/作物/杂交树1/0.webp.import new file mode 100644 index 0000000..e3b4d02 --- /dev/null +++ b/assets/作物/杂交树1/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c602bkh2h3x1g" +path="res://.godot/imported/0.webp-e15825b68a498274a6eb4abfb3dbb9c8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树1/0.webp" +dest_files=["res://.godot/imported/0.webp-e15825b68a498274a6eb4abfb3dbb9c8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树1/1.webp.import b/assets/作物/杂交树1/1.webp.import new file mode 100644 index 0000000..1c11eef --- /dev/null +++ b/assets/作物/杂交树1/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjcfpbt5bsoqe" +path="res://.godot/imported/1.webp-974c8fea63184162d964d03c91ae9421.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树1/1.webp" +dest_files=["res://.godot/imported/1.webp-974c8fea63184162d964d03c91ae9421.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树1/2.webp b/assets/作物/杂交树1/2.webp index 579a9e5..7b3bfdb 100644 Binary files a/assets/作物/杂交树1/2.webp and b/assets/作物/杂交树1/2.webp differ diff --git a/assets/作物/杂交树1/2.webp.import b/assets/作物/杂交树1/2.webp.import new file mode 100644 index 0000000..82b0ab4 --- /dev/null +++ b/assets/作物/杂交树1/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dq4uvuixjw1lx" +path="res://.godot/imported/2.webp-81f19eefc31014bba152f0e1565a4b0e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树1/2.webp" +dest_files=["res://.godot/imported/2.webp-81f19eefc31014bba152f0e1565a4b0e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树1/成熟.webp b/assets/作物/杂交树1/成熟.webp new file mode 100644 index 0000000..bab3ec3 Binary files /dev/null and b/assets/作物/杂交树1/成熟.webp differ diff --git a/assets/作物/杂交树1/成熟.webp.import b/assets/作物/杂交树1/成熟.webp.import new file mode 100644 index 0000000..238741f --- /dev/null +++ b/assets/作物/杂交树1/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clgednmy5yrs7" +path="res://.godot/imported/成熟.webp-8d945c67123f0d2b691168b7dd457414.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树1/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-8d945c67123f0d2b691168b7dd457414.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树2/0.webp.import b/assets/作物/杂交树2/0.webp.import new file mode 100644 index 0000000..72d7bf9 --- /dev/null +++ b/assets/作物/杂交树2/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpu28pre7eklu" +path="res://.godot/imported/0.webp-ffeffa33d8cd754f4f84b0ce7f530ae4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树2/0.webp" +dest_files=["res://.godot/imported/0.webp-ffeffa33d8cd754f4f84b0ce7f530ae4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树2/1.webp.import b/assets/作物/杂交树2/1.webp.import new file mode 100644 index 0000000..3d6ea31 --- /dev/null +++ b/assets/作物/杂交树2/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p77ktpbl3i64" +path="res://.godot/imported/1.webp-6fa286b5dfc88dedbeb4025f64505f7c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树2/1.webp" +dest_files=["res://.godot/imported/1.webp-6fa286b5dfc88dedbeb4025f64505f7c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树2/2.webp b/assets/作物/杂交树2/2.webp index fac9219..7d48a37 100644 Binary files a/assets/作物/杂交树2/2.webp and b/assets/作物/杂交树2/2.webp differ diff --git a/assets/作物/杂交树2/2.webp.import b/assets/作物/杂交树2/2.webp.import new file mode 100644 index 0000000..8d303c9 --- /dev/null +++ b/assets/作物/杂交树2/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnbqnclg4dxcc" +path="res://.godot/imported/2.webp-3517c9248a86d2227e92dc056df13816.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树2/2.webp" +dest_files=["res://.godot/imported/2.webp-3517c9248a86d2227e92dc056df13816.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂交树2/成熟.webp b/assets/作物/杂交树2/成熟.webp new file mode 100644 index 0000000..8a419be Binary files /dev/null and b/assets/作物/杂交树2/成熟.webp differ diff --git a/assets/作物/杂交树2/成熟.webp.import b/assets/作物/杂交树2/成熟.webp.import new file mode 100644 index 0000000..52e557e --- /dev/null +++ b/assets/作物/杂交树2/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn4jb6b2kn6rc" +path="res://.godot/imported/成熟.webp-2918402781a4f09d37f5052bbcfad098.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂交树2/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-2918402781a4f09d37f5052bbcfad098.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂草1/0.webp b/assets/作物/杂草1/0.webp new file mode 100644 index 0000000..ce3887a Binary files /dev/null and b/assets/作物/杂草1/0.webp differ diff --git a/assets/作物/杂草1/0.webp.import b/assets/作物/杂草1/0.webp.import new file mode 100644 index 0000000..74acf6b --- /dev/null +++ b/assets/作物/杂草1/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4gtwsglyt2ge" +path="res://.godot/imported/0.webp-4ec57e0e4e102c2ba9d1ba4cccb9a4ec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂草1/0.webp" +dest_files=["res://.godot/imported/0.webp-4ec57e0e4e102c2ba9d1ba4cccb9a4ec.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂草1/成熟.webp b/assets/作物/杂草1/成熟.webp new file mode 100644 index 0000000..ce3887a Binary files /dev/null and b/assets/作物/杂草1/成熟.webp differ diff --git a/assets/作物/杂草1/成熟.webp.import b/assets/作物/杂草1/成熟.webp.import new file mode 100644 index 0000000..1b3d2cd --- /dev/null +++ b/assets/作物/杂草1/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dytcjf0fafd6j" +path="res://.godot/imported/成熟.webp-454a90590be396048120c4007ecb7874.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂草1/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-454a90590be396048120c4007ecb7874.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂草2/0.webp b/assets/作物/杂草2/0.webp new file mode 100644 index 0000000..29d61ec Binary files /dev/null and b/assets/作物/杂草2/0.webp differ diff --git a/assets/作物/杂草2/0.webp.import b/assets/作物/杂草2/0.webp.import new file mode 100644 index 0000000..b6940cb --- /dev/null +++ b/assets/作物/杂草2/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3buyavqt86hv" +path="res://.godot/imported/0.webp-6f712d78cb4dddd3783a3c6b2f6f844c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂草2/0.webp" +dest_files=["res://.godot/imported/0.webp-6f712d78cb4dddd3783a3c6b2f6f844c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杂草2/成熟.webp b/assets/作物/杂草2/成熟.webp new file mode 100644 index 0000000..29d61ec Binary files /dev/null and b/assets/作物/杂草2/成熟.webp differ diff --git a/assets/作物/杂草2/成熟.webp.import b/assets/作物/杂草2/成熟.webp.import new file mode 100644 index 0000000..58308ad --- /dev/null +++ b/assets/作物/杂草2/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bci2k31jsoiyb" +path="res://.godot/imported/成熟.webp-c290fd6c02d79fa3ab40276329a8c476.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杂草2/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-c290fd6c02d79fa3ab40276329a8c476.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杨桃/0.webp b/assets/作物/杨桃/0.webp new file mode 100644 index 0000000..734e57f Binary files /dev/null and b/assets/作物/杨桃/0.webp differ diff --git a/assets/作物/杨桃/0.webp.import b/assets/作物/杨桃/0.webp.import new file mode 100644 index 0000000..93fac45 --- /dev/null +++ b/assets/作物/杨桃/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ba6h1kfjerfew" +path="res://.godot/imported/0.webp-d81abe90c10e79b8f100ee3517f4ab19.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杨桃/0.webp" +dest_files=["res://.godot/imported/0.webp-d81abe90c10e79b8f100ee3517f4ab19.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杨桃/1.webp b/assets/作物/杨桃/1.webp new file mode 100644 index 0000000..ea4f0b8 Binary files /dev/null and b/assets/作物/杨桃/1.webp differ diff --git a/assets/作物/杨桃/1.webp.import b/assets/作物/杨桃/1.webp.import new file mode 100644 index 0000000..9f00a0f --- /dev/null +++ b/assets/作物/杨桃/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cieokjucaeoly" +path="res://.godot/imported/1.webp-d5d7bd69d85ab5e8f853e94286f5440f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杨桃/1.webp" +dest_files=["res://.godot/imported/1.webp-d5d7bd69d85ab5e8f853e94286f5440f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杨桃/2.webp b/assets/作物/杨桃/2.webp new file mode 100644 index 0000000..cabf61e Binary files /dev/null and b/assets/作物/杨桃/2.webp differ diff --git a/assets/作物/杨桃/2.webp.import b/assets/作物/杨桃/2.webp.import new file mode 100644 index 0000000..5f9b14e --- /dev/null +++ b/assets/作物/杨桃/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6cxri43d7pdt" +path="res://.godot/imported/2.webp-35b21c048c7a3d46011c31bdddebbc38.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杨桃/2.webp" +dest_files=["res://.godot/imported/2.webp-35b21c048c7a3d46011c31bdddebbc38.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杨桃/成熟.webp b/assets/作物/杨桃/成熟.webp new file mode 100644 index 0000000..a57c166 Binary files /dev/null and b/assets/作物/杨桃/成熟.webp differ diff --git a/assets/作物/杨桃/成熟.webp.import b/assets/作物/杨桃/成熟.webp.import new file mode 100644 index 0000000..2e24acc --- /dev/null +++ b/assets/作物/杨桃/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hqv8j2l6ivk5" +path="res://.godot/imported/成熟.webp-67f06cd4436bc5e52edb9e492bd06064.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杨桃/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-67f06cd4436bc5e52edb9e492bd06064.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/杨桃/收获物.webp b/assets/作物/杨桃/收获物.webp new file mode 100644 index 0000000..0d7a4c9 Binary files /dev/null and b/assets/作物/杨桃/收获物.webp differ diff --git a/assets/作物/杨桃/收获物.webp.import b/assets/作物/杨桃/收获物.webp.import new file mode 100644 index 0000000..e72f8a7 --- /dev/null +++ b/assets/作物/杨桃/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cc4mftapysqdh" +path="res://.godot/imported/收获物.webp-257fd2c9e0b6fe5e87fb8180ec47bbf1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/杨桃/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-257fd2c9e0b6fe5e87fb8180ec47bbf1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/松露/0.webp.import b/assets/作物/松露/0.webp.import new file mode 100644 index 0000000..7fd9e5d --- /dev/null +++ b/assets/作物/松露/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d32gu4siid8hf" +path="res://.godot/imported/0.webp-1360dffb714c29c1b2a8f0f919f55973.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/松露/0.webp" +dest_files=["res://.godot/imported/0.webp-1360dffb714c29c1b2a8f0f919f55973.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/松露/1.webp.import b/assets/作物/松露/1.webp.import new file mode 100644 index 0000000..ca0d675 --- /dev/null +++ b/assets/作物/松露/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://din8p5wgqv4yd" +path="res://.godot/imported/1.webp-70f705f9b2f22a8d108efb117d32a027.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/松露/1.webp" +dest_files=["res://.godot/imported/1.webp-70f705f9b2f22a8d108efb117d32a027.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/松露/2.webp.import b/assets/作物/松露/2.webp.import new file mode 100644 index 0000000..df9e0dd --- /dev/null +++ b/assets/作物/松露/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mj5r1fd8gtfk" +path="res://.godot/imported/2.webp-2f9dc0f9185201a3bfeb916148599662.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/松露/2.webp" +dest_files=["res://.godot/imported/2.webp-2f9dc0f9185201a3bfeb916148599662.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/松露/成熟.webp b/assets/作物/松露/成熟.webp new file mode 100644 index 0000000..c8268ee Binary files /dev/null and b/assets/作物/松露/成熟.webp differ diff --git a/assets/作物/松露/成熟.webp.import b/assets/作物/松露/成熟.webp.import new file mode 100644 index 0000000..eb45ee2 --- /dev/null +++ b/assets/作物/松露/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bex3a1263s6de" +path="res://.godot/imported/成熟.webp-c1c290a3dfee79f10e89a80dafacd49e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/松露/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-c1c290a3dfee79f10e89a80dafacd49e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/松露/收获物.webp b/assets/作物/松露/收获物.webp new file mode 100644 index 0000000..d92b175 Binary files /dev/null and b/assets/作物/松露/收获物.webp differ diff --git a/assets/作物/松露/收获物.webp.import b/assets/作物/松露/收获物.webp.import new file mode 100644 index 0000000..9ab8b80 --- /dev/null +++ b/assets/作物/松露/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkjiug6e6q4dv" +path="res://.godot/imported/收获物.webp-9ac94b178fc8cc3de20c6365a985cace.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/松露/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-9ac94b178fc8cc3de20c6365a985cace.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/枇杷/0.webp b/assets/作物/枇杷/0.webp new file mode 100644 index 0000000..50a6194 Binary files /dev/null and b/assets/作物/枇杷/0.webp differ diff --git a/assets/作物/枇杷/0.webp.import b/assets/作物/枇杷/0.webp.import new file mode 100644 index 0000000..06a6e6e --- /dev/null +++ b/assets/作物/枇杷/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnn5tfm3uxkwb" +path="res://.godot/imported/0.webp-7b54b272bb11636cd811338f911e71f4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/枇杷/0.webp" +dest_files=["res://.godot/imported/0.webp-7b54b272bb11636cd811338f911e71f4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/枇杷/1.webp b/assets/作物/枇杷/1.webp new file mode 100644 index 0000000..19f1e4a Binary files /dev/null and b/assets/作物/枇杷/1.webp differ diff --git a/assets/作物/枇杷/1.webp.import b/assets/作物/枇杷/1.webp.import new file mode 100644 index 0000000..163c0b8 --- /dev/null +++ b/assets/作物/枇杷/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4knp1iiriftv" +path="res://.godot/imported/1.webp-03fba7d136e2ace834d7e5153270bf86.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/枇杷/1.webp" +dest_files=["res://.godot/imported/1.webp-03fba7d136e2ace834d7e5153270bf86.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/枇杷/2.webp b/assets/作物/枇杷/2.webp new file mode 100644 index 0000000..54d7f92 Binary files /dev/null and b/assets/作物/枇杷/2.webp differ diff --git a/assets/作物/枇杷/2.webp.import b/assets/作物/枇杷/2.webp.import new file mode 100644 index 0000000..47e0b13 --- /dev/null +++ b/assets/作物/枇杷/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk6g88irmp2i1" +path="res://.godot/imported/2.webp-8a8c4488e27172ac6c2ada47e2b395ef.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/枇杷/2.webp" +dest_files=["res://.godot/imported/2.webp-8a8c4488e27172ac6c2ada47e2b395ef.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/枇杷/成熟.webp b/assets/作物/枇杷/成熟.webp new file mode 100644 index 0000000..d691ea0 Binary files /dev/null and b/assets/作物/枇杷/成熟.webp differ diff --git a/assets/作物/枇杷/成熟.webp.import b/assets/作物/枇杷/成熟.webp.import new file mode 100644 index 0000000..a82fba3 --- /dev/null +++ b/assets/作物/枇杷/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h8lfle2ftota" +path="res://.godot/imported/成熟.webp-4373d6a119fcc8dff8537919f22366de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/枇杷/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-4373d6a119fcc8dff8537919f22366de.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/枇杷/收获物.webp b/assets/作物/枇杷/收获物.webp new file mode 100644 index 0000000..7f6da61 Binary files /dev/null and b/assets/作物/枇杷/收获物.webp differ diff --git a/assets/作物/枇杷/收获物.webp.import b/assets/作物/枇杷/收获物.webp.import new file mode 100644 index 0000000..601f184 --- /dev/null +++ b/assets/作物/枇杷/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqn1hsobwhcfc" +path="res://.godot/imported/收获物.webp-34d9ff239e31f724fef1bc0bb1a82e4a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/枇杷/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-34d9ff239e31f724fef1bc0bb1a82e4a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柠檬/0.webp b/assets/作物/柠檬/0.webp new file mode 100644 index 0000000..f0019d2 Binary files /dev/null and b/assets/作物/柠檬/0.webp differ diff --git a/assets/作物/柠檬/0.webp.import b/assets/作物/柠檬/0.webp.import new file mode 100644 index 0000000..94961c8 --- /dev/null +++ b/assets/作物/柠檬/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqj48q3bx0xh4" +path="res://.godot/imported/0.webp-c1b646292ad71c841f7ee854fa39ae1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柠檬/0.webp" +dest_files=["res://.godot/imported/0.webp-c1b646292ad71c841f7ee854fa39ae1b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柠檬/1.webp b/assets/作物/柠檬/1.webp new file mode 100644 index 0000000..52a1ff0 Binary files /dev/null and b/assets/作物/柠檬/1.webp differ diff --git a/assets/作物/柠檬/1.webp.import b/assets/作物/柠檬/1.webp.import new file mode 100644 index 0000000..376efbd --- /dev/null +++ b/assets/作物/柠檬/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwtuyla02wjsc" +path="res://.godot/imported/1.webp-00d5beb8e9f7b2dab90c1bd008f8f88e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柠檬/1.webp" +dest_files=["res://.godot/imported/1.webp-00d5beb8e9f7b2dab90c1bd008f8f88e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柠檬/成熟.webp b/assets/作物/柠檬/成熟.webp new file mode 100644 index 0000000..8c290cc Binary files /dev/null and b/assets/作物/柠檬/成熟.webp differ diff --git a/assets/作物/柠檬/成熟.webp.import b/assets/作物/柠檬/成熟.webp.import new file mode 100644 index 0000000..17d0f1d --- /dev/null +++ b/assets/作物/柠檬/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgw4yrrdd0j08" +path="res://.godot/imported/成熟.webp-b4266fce35d84d57c27cde4b4991928a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柠檬/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-b4266fce35d84d57c27cde4b4991928a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柠檬/收获物.webp b/assets/作物/柠檬/收获物.webp new file mode 100644 index 0000000..7cbc29e Binary files /dev/null and b/assets/作物/柠檬/收获物.webp differ diff --git a/assets/作物/柠檬/收获物.webp.import b/assets/作物/柠檬/收获物.webp.import new file mode 100644 index 0000000..9f1eab4 --- /dev/null +++ b/assets/作物/柠檬/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcrbw6xd4kcf" +path="res://.godot/imported/收获物.webp-2efd168d69e22e9557be444206270bf5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柠檬/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-2efd168d69e22e9557be444206270bf5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柿子/0.webp.import b/assets/作物/柿子/0.webp.import new file mode 100644 index 0000000..f2cc9af --- /dev/null +++ b/assets/作物/柿子/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2bxp805g16y4" +path="res://.godot/imported/0.webp-8a0a70c0f1e1e5c162114c81c4cf46c2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柿子/0.webp" +dest_files=["res://.godot/imported/0.webp-8a0a70c0f1e1e5c162114c81c4cf46c2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柿子/1.webp b/assets/作物/柿子/1.webp index c24ff72..76aeb46 100644 Binary files a/assets/作物/柿子/1.webp and b/assets/作物/柿子/1.webp differ diff --git a/assets/作物/柿子/1.webp.import b/assets/作物/柿子/1.webp.import new file mode 100644 index 0000000..b4f6fcf --- /dev/null +++ b/assets/作物/柿子/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c30xq6u32aob3" +path="res://.godot/imported/1.webp-05d5501e5cdc299a0f487da9a2e3aaa4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柿子/1.webp" +dest_files=["res://.godot/imported/1.webp-05d5501e5cdc299a0f487da9a2e3aaa4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柿子/1750004710072.webp b/assets/作物/柿子/1750004710072.webp new file mode 100644 index 0000000..cd5430e Binary files /dev/null and b/assets/作物/柿子/1750004710072.webp differ diff --git a/assets/作物/柿子/1750004710072.webp.import b/assets/作物/柿子/1750004710072.webp.import new file mode 100644 index 0000000..5a62c2c --- /dev/null +++ b/assets/作物/柿子/1750004710072.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b21w6gp85xy8h" +path="res://.godot/imported/1750004710072.webp-c213b6dc1cf1b0c1cf3cd84881c6d978.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柿子/1750004710072.webp" +dest_files=["res://.godot/imported/1750004710072.webp-c213b6dc1cf1b0c1cf3cd84881c6d978.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柿子/成熟.webp b/assets/作物/柿子/成熟.webp new file mode 100644 index 0000000..d333fae Binary files /dev/null and b/assets/作物/柿子/成熟.webp differ diff --git a/assets/作物/柿子/成熟.webp.import b/assets/作物/柿子/成熟.webp.import new file mode 100644 index 0000000..b8bcd5f --- /dev/null +++ b/assets/作物/柿子/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgprqj4lw7r2w" +path="res://.godot/imported/成熟.webp-d1812130a0f5c27d8860c0dc7f3d773b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柿子/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-d1812130a0f5c27d8860c0dc7f3d773b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/柿子/收获物.webp b/assets/作物/柿子/收获物.webp new file mode 100644 index 0000000..85d99b5 Binary files /dev/null and b/assets/作物/柿子/收获物.webp differ diff --git a/assets/作物/柿子/收获物.webp.import b/assets/作物/柿子/收获物.webp.import new file mode 100644 index 0000000..61b589a --- /dev/null +++ b/assets/作物/柿子/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4qrdcksubavy" +path="res://.godot/imported/收获物.webp-28ee868cbead655946a2018e4f6bae07.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/柿子/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-28ee868cbead655946a2018e4f6bae07.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/栀子花/0.webp.import b/assets/作物/栀子花/0.webp.import new file mode 100644 index 0000000..f21fc0a --- /dev/null +++ b/assets/作物/栀子花/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bq4s5brdkxyw1" +path="res://.godot/imported/0.webp-99541cf8688ff87e9eed7b3a6cf7f425.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/栀子花/0.webp" +dest_files=["res://.godot/imported/0.webp-99541cf8688ff87e9eed7b3a6cf7f425.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/栀子花/1.webp.import b/assets/作物/栀子花/1.webp.import new file mode 100644 index 0000000..ca3526b --- /dev/null +++ b/assets/作物/栀子花/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pypcccskpi7e" +path="res://.godot/imported/1.webp-56c14ea8fa9706943a1773dd577d58a6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/栀子花/1.webp" +dest_files=["res://.godot/imported/1.webp-56c14ea8fa9706943a1773dd577d58a6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/栀子花/1750004909635.webp b/assets/作物/栀子花/1750004909635.webp new file mode 100644 index 0000000..5540665 Binary files /dev/null and b/assets/作物/栀子花/1750004909635.webp differ diff --git a/assets/作物/栀子花/1750004909635.webp.import b/assets/作物/栀子花/1750004909635.webp.import new file mode 100644 index 0000000..cd20c6b --- /dev/null +++ b/assets/作物/栀子花/1750004909635.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7you8yws1ie8" +path="res://.godot/imported/1750004909635.webp-231412e9e58e46beb159e729d8b24ed6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/栀子花/1750004909635.webp" +dest_files=["res://.godot/imported/1750004909635.webp-231412e9e58e46beb159e729d8b24ed6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/栀子花/2.webp.import b/assets/作物/栀子花/2.webp.import new file mode 100644 index 0000000..50d1f05 --- /dev/null +++ b/assets/作物/栀子花/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfktr7jqg6bec" +path="res://.godot/imported/2.webp-aa004172cf913d3d1c89fe4994899c05.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/栀子花/2.webp" +dest_files=["res://.godot/imported/2.webp-aa004172cf913d3d1c89fe4994899c05.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/栀子花/成熟.webp b/assets/作物/栀子花/成熟.webp new file mode 100644 index 0000000..7fd97b7 Binary files /dev/null and b/assets/作物/栀子花/成熟.webp differ diff --git a/assets/作物/栀子花/成熟.webp.import b/assets/作物/栀子花/成熟.webp.import new file mode 100644 index 0000000..27f0258 --- /dev/null +++ b/assets/作物/栀子花/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbn8tvae88cwe" +path="res://.godot/imported/成熟.webp-39bc6a5bf2a2da5826b597cc1014aaab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/栀子花/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-39bc6a5bf2a2da5826b597cc1014aaab.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/栀子花/收获物.webp b/assets/作物/栀子花/收获物.webp new file mode 100644 index 0000000..cda3df7 Binary files /dev/null and b/assets/作物/栀子花/收获物.webp differ diff --git a/assets/作物/栀子花/收获物.webp.import b/assets/作物/栀子花/收获物.webp.import new file mode 100644 index 0000000..43d4585 --- /dev/null +++ b/assets/作物/栀子花/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://o16sdirkog2m" +path="res://.godot/imported/收获物.webp-e3f0e569dbee953351da3d66d1699909.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/栀子花/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-e3f0e569dbee953351da3d66d1699909.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/树莓/0.webp.import b/assets/作物/树莓/0.webp.import new file mode 100644 index 0000000..b839058 --- /dev/null +++ b/assets/作物/树莓/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvspiscawp266" +path="res://.godot/imported/0.webp-9a9a2b4e8bde6d75390c069094649183.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/树莓/0.webp" +dest_files=["res://.godot/imported/0.webp-9a9a2b4e8bde6d75390c069094649183.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/树莓/1.webp.import b/assets/作物/树莓/1.webp.import new file mode 100644 index 0000000..0d1ceec --- /dev/null +++ b/assets/作物/树莓/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnpgm1arps7fs" +path="res://.godot/imported/1.webp-9eb0772d0fc5fe811a15b97d827091dd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/树莓/1.webp" +dest_files=["res://.godot/imported/1.webp-9eb0772d0fc5fe811a15b97d827091dd.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/树莓/2.webp.import b/assets/作物/树莓/2.webp.import new file mode 100644 index 0000000..d89bff6 --- /dev/null +++ b/assets/作物/树莓/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkvarwbs7nwcw" +path="res://.godot/imported/2.webp-59fa83f60faaff025f6a025c78e7a3d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/树莓/2.webp" +dest_files=["res://.godot/imported/2.webp-59fa83f60faaff025f6a025c78e7a3d5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/树莓/3.webp b/assets/作物/树莓/3.webp index 6e976c4..d748f71 100644 Binary files a/assets/作物/树莓/3.webp and b/assets/作物/树莓/3.webp differ diff --git a/assets/作物/树莓/3.webp.import b/assets/作物/树莓/3.webp.import new file mode 100644 index 0000000..d739f21 --- /dev/null +++ b/assets/作物/树莓/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8bwfg38agx4b" +path="res://.godot/imported/3.webp-b256f828e598d0ca771574b1c55d662d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/树莓/3.webp" +dest_files=["res://.godot/imported/3.webp-b256f828e598d0ca771574b1c55d662d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/树莓/成熟.webp b/assets/作物/树莓/成熟.webp new file mode 100644 index 0000000..7430939 Binary files /dev/null and b/assets/作物/树莓/成熟.webp differ diff --git a/assets/作物/树莓/成熟.webp.import b/assets/作物/树莓/成熟.webp.import new file mode 100644 index 0000000..47b4c70 --- /dev/null +++ b/assets/作物/树莓/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0hrhd76ynkt3" +path="res://.godot/imported/成熟.webp-0d5ecc04a26b78c67ce355fa2a0b6a87.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/树莓/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-0d5ecc04a26b78c67ce355fa2a0b6a87.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/树莓/收获物.webp b/assets/作物/树莓/收获物.webp new file mode 100644 index 0000000..397b05e Binary files /dev/null and b/assets/作物/树莓/收获物.webp differ diff --git a/assets/作物/树莓/收获物.webp.import b/assets/作物/树莓/收获物.webp.import new file mode 100644 index 0000000..3b774e8 --- /dev/null +++ b/assets/作物/树莓/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdek703rcje" +path="res://.godot/imported/收获物.webp-e269f46e777f7b47c3aad5adfef6d96a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/树莓/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-e269f46e777f7b47c3aad5adfef6d96a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/桃子/0.webp b/assets/作物/桃子/0.webp new file mode 100644 index 0000000..220f1f5 Binary files /dev/null and b/assets/作物/桃子/0.webp differ diff --git a/assets/作物/桃子/0.webp.import b/assets/作物/桃子/0.webp.import new file mode 100644 index 0000000..f688537 --- /dev/null +++ b/assets/作物/桃子/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://baq6o5qd7ul2q" +path="res://.godot/imported/0.webp-bb81276e238024b61da70598d95824e6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/桃子/0.webp" +dest_files=["res://.godot/imported/0.webp-bb81276e238024b61da70598d95824e6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/桃子/1.webp b/assets/作物/桃子/1.webp new file mode 100644 index 0000000..68ffb34 Binary files /dev/null and b/assets/作物/桃子/1.webp differ diff --git a/assets/作物/桃子/1.webp.import b/assets/作物/桃子/1.webp.import new file mode 100644 index 0000000..b560d70 --- /dev/null +++ b/assets/作物/桃子/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://q4cxp00f51tg" +path="res://.godot/imported/1.webp-cc4ecc14ad485c7412fa6851f9132552.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/桃子/1.webp" +dest_files=["res://.godot/imported/1.webp-cc4ecc14ad485c7412fa6851f9132552.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/桃子/2.webp b/assets/作物/桃子/2.webp new file mode 100644 index 0000000..d101682 Binary files /dev/null and b/assets/作物/桃子/2.webp differ diff --git a/assets/作物/桃子/2.webp.import b/assets/作物/桃子/2.webp.import new file mode 100644 index 0000000..1d2c867 --- /dev/null +++ b/assets/作物/桃子/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p0rcyexpxwn8" +path="res://.godot/imported/2.webp-3110b7812d8dee2a309f5845e41cffda.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/桃子/2.webp" +dest_files=["res://.godot/imported/2.webp-3110b7812d8dee2a309f5845e41cffda.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/桃子/3.webp b/assets/作物/桃子/3.webp new file mode 100644 index 0000000..cc1a25e Binary files /dev/null and b/assets/作物/桃子/3.webp differ diff --git a/assets/作物/桃子/3.webp.import b/assets/作物/桃子/3.webp.import new file mode 100644 index 0000000..1759490 --- /dev/null +++ b/assets/作物/桃子/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://s8ytmiyai0gx" +path="res://.godot/imported/3.webp-21945bf1cd7e881b4be1aac707ebcace.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/桃子/3.webp" +dest_files=["res://.godot/imported/3.webp-21945bf1cd7e881b4be1aac707ebcace.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/桃子/成熟.webp b/assets/作物/桃子/成熟.webp new file mode 100644 index 0000000..a7dbc43 Binary files /dev/null and b/assets/作物/桃子/成熟.webp differ diff --git a/assets/作物/桃子/成熟.webp.import b/assets/作物/桃子/成熟.webp.import new file mode 100644 index 0000000..996cb6a --- /dev/null +++ b/assets/作物/桃子/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8gt1lutfswf" +path="res://.godot/imported/成熟.webp-4bd0cd504c853f5fe59a2c218de92b76.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/桃子/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-4bd0cd504c853f5fe59a2c218de92b76.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/桃子/收获物.webp b/assets/作物/桃子/收获物.webp new file mode 100644 index 0000000..d894dc1 Binary files /dev/null and b/assets/作物/桃子/收获物.webp differ diff --git a/assets/作物/桃子/收获物.webp.import b/assets/作物/桃子/收获物.webp.import new file mode 100644 index 0000000..0690229 --- /dev/null +++ b/assets/作物/桃子/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://navo2kkhgu2f" +path="res://.godot/imported/收获物.webp-fde755b9000a64e3df83ebf53bb0f8cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/桃子/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-fde755b9000a64e3df83ebf53bb0f8cb.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/梨子/0.webp b/assets/作物/梨子/0.webp new file mode 100644 index 0000000..da97fea Binary files /dev/null and b/assets/作物/梨子/0.webp differ diff --git a/assets/作物/梨子/0.webp.import b/assets/作物/梨子/0.webp.import new file mode 100644 index 0000000..0df5c08 --- /dev/null +++ b/assets/作物/梨子/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ku8fyp4q4rbh" +path="res://.godot/imported/0.webp-ccb8aae9251bd6e96e14632254fff961.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/梨子/0.webp" +dest_files=["res://.godot/imported/0.webp-ccb8aae9251bd6e96e14632254fff961.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/梨子/1.webp b/assets/作物/梨子/1.webp new file mode 100644 index 0000000..3bca9ad Binary files /dev/null and b/assets/作物/梨子/1.webp differ diff --git a/assets/作物/梨子/1.webp.import b/assets/作物/梨子/1.webp.import new file mode 100644 index 0000000..1af1bce --- /dev/null +++ b/assets/作物/梨子/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmguf3dkj432d" +path="res://.godot/imported/1.webp-b3972b134ec7b22a6ffc32c88c330135.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/梨子/1.webp" +dest_files=["res://.godot/imported/1.webp-b3972b134ec7b22a6ffc32c88c330135.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/梨子/2.webp b/assets/作物/梨子/2.webp new file mode 100644 index 0000000..3fd6fde Binary files /dev/null and b/assets/作物/梨子/2.webp differ diff --git a/assets/作物/梨子/2.webp.import b/assets/作物/梨子/2.webp.import new file mode 100644 index 0000000..ccbc8b5 --- /dev/null +++ b/assets/作物/梨子/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqodufljni6nq" +path="res://.godot/imported/2.webp-a6710926780f989857c427ac26d89520.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/梨子/2.webp" +dest_files=["res://.godot/imported/2.webp-a6710926780f989857c427ac26d89520.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/梨子/成熟.webp b/assets/作物/梨子/成熟.webp new file mode 100644 index 0000000..f371418 Binary files /dev/null and b/assets/作物/梨子/成熟.webp differ diff --git a/assets/作物/梨子/成熟.webp.import b/assets/作物/梨子/成熟.webp.import new file mode 100644 index 0000000..7c87b9a --- /dev/null +++ b/assets/作物/梨子/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://orovode2aaw" +path="res://.godot/imported/成熟.webp-1a083dbc9f37bb0b9aa3aeba77a15532.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/梨子/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-1a083dbc9f37bb0b9aa3aeba77a15532.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/梨子/收获物.webp b/assets/作物/梨子/收获物.webp new file mode 100644 index 0000000..2f856d0 Binary files /dev/null and b/assets/作物/梨子/收获物.webp differ diff --git a/assets/作物/梨子/收获物.webp.import b/assets/作物/梨子/收获物.webp.import new file mode 100644 index 0000000..700048c --- /dev/null +++ b/assets/作物/梨子/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jme00htn37vk" +path="res://.godot/imported/收获物.webp-1d7858e4a2e0d48ba8d3e12e308e8653.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/梨子/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-1d7858e4a2e0d48ba8d3e12e308e8653.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/椰子/0.webp b/assets/作物/椰子/0.webp new file mode 100644 index 0000000..2f8d71f Binary files /dev/null and b/assets/作物/椰子/0.webp differ diff --git a/assets/作物/椰子/0.webp.import b/assets/作物/椰子/0.webp.import new file mode 100644 index 0000000..777bd05 --- /dev/null +++ b/assets/作物/椰子/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csaof2bqpvdks" +path="res://.godot/imported/0.webp-0de958632f8d972b2737ad5cb29afe88.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/椰子/0.webp" +dest_files=["res://.godot/imported/0.webp-0de958632f8d972b2737ad5cb29afe88.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/椰子/1.webp b/assets/作物/椰子/1.webp new file mode 100644 index 0000000..02caa6e Binary files /dev/null and b/assets/作物/椰子/1.webp differ diff --git a/assets/作物/椰子/1.webp.import b/assets/作物/椰子/1.webp.import new file mode 100644 index 0000000..82747aa --- /dev/null +++ b/assets/作物/椰子/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7djbjmj3ry4y" +path="res://.godot/imported/1.webp-0a6191774f180dff3c671bbc0b7b6b7d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/椰子/1.webp" +dest_files=["res://.godot/imported/1.webp-0a6191774f180dff3c671bbc0b7b6b7d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/椰子/2.webp b/assets/作物/椰子/2.webp new file mode 100644 index 0000000..915a667 Binary files /dev/null and b/assets/作物/椰子/2.webp differ diff --git a/assets/作物/椰子/2.webp.import b/assets/作物/椰子/2.webp.import new file mode 100644 index 0000000..1d63bda --- /dev/null +++ b/assets/作物/椰子/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkhm7c6nqgurr" +path="res://.godot/imported/2.webp-0225bbb739e6a9c2c69fa66053dafe52.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/椰子/2.webp" +dest_files=["res://.godot/imported/2.webp-0225bbb739e6a9c2c69fa66053dafe52.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/椰子/awa.webp b/assets/作物/椰子/awa.webp new file mode 100644 index 0000000..ab85e54 Binary files /dev/null and b/assets/作物/椰子/awa.webp differ diff --git a/assets/作物/椰子/awa.webp.import b/assets/作物/椰子/awa.webp.import new file mode 100644 index 0000000..084920f --- /dev/null +++ b/assets/作物/椰子/awa.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://der37xqefjb5p" +path="res://.godot/imported/awa.webp-baf091d20cbc4b6dbf21a7610bb1c3c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/椰子/awa.webp" +dest_files=["res://.godot/imported/awa.webp-baf091d20cbc4b6dbf21a7610bb1c3c3.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/椰子/成熟.webp b/assets/作物/椰子/成熟.webp new file mode 100644 index 0000000..342fb77 Binary files /dev/null and b/assets/作物/椰子/成熟.webp differ diff --git a/assets/作物/椰子/成熟.webp.import b/assets/作物/椰子/成熟.webp.import new file mode 100644 index 0000000..0bd8c58 --- /dev/null +++ b/assets/作物/椰子/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dug1coeus45b2" +path="res://.godot/imported/成熟.webp-3f4d8ab327f76f6538de3f439367218a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/椰子/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-3f4d8ab327f76f6538de3f439367218a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/椰子/收获物.webp b/assets/作物/椰子/收获物.webp new file mode 100644 index 0000000..e4d333c Binary files /dev/null and b/assets/作物/椰子/收获物.webp differ diff --git a/assets/作物/椰子/收获物.webp.import b/assets/作物/椰子/收获物.webp.import new file mode 100644 index 0000000..9c9dedf --- /dev/null +++ b/assets/作物/椰子/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bahby6xyb3en" +path="res://.godot/imported/收获物.webp-c37a06bc8b0ffdfecda2be5284dc0fdb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/椰子/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-c37a06bc8b0ffdfecda2be5284dc0fdb.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/0.webp b/assets/作物/橘子/0.webp new file mode 100644 index 0000000..cb2800f Binary files /dev/null and b/assets/作物/橘子/0.webp differ diff --git a/assets/作物/橘子/0.webp.import b/assets/作物/橘子/0.webp.import new file mode 100644 index 0000000..f34f46b --- /dev/null +++ b/assets/作物/橘子/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://by3c8ge2x0t6n" +path="res://.godot/imported/0.webp-4602f72df58dc6779e2fde2619c9c56c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/0.webp" +dest_files=["res://.godot/imported/0.webp-4602f72df58dc6779e2fde2619c9c56c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/1.webp b/assets/作物/橘子/1.webp new file mode 100644 index 0000000..674cfb0 Binary files /dev/null and b/assets/作物/橘子/1.webp differ diff --git a/assets/作物/橘子/1.webp.import b/assets/作物/橘子/1.webp.import new file mode 100644 index 0000000..cc1ad7f --- /dev/null +++ b/assets/作物/橘子/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blup84i21a33g" +path="res://.godot/imported/1.webp-87913d16c0d30d55d7d9388468f58c1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/1.webp" +dest_files=["res://.godot/imported/1.webp-87913d16c0d30d55d7d9388468f58c1e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/1750050535127.webp b/assets/作物/橘子/1750050535127.webp new file mode 100644 index 0000000..cc3fedb Binary files /dev/null and b/assets/作物/橘子/1750050535127.webp differ diff --git a/assets/作物/橘子/1750050535127.webp.import b/assets/作物/橘子/1750050535127.webp.import new file mode 100644 index 0000000..96732cf --- /dev/null +++ b/assets/作物/橘子/1750050535127.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dc6an0hnovb07" +path="res://.godot/imported/1750050535127.webp-096643e1292801d2eb6ceda523086c77.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/1750050535127.webp" +dest_files=["res://.godot/imported/1750050535127.webp-096643e1292801d2eb6ceda523086c77.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/2.webp b/assets/作物/橘子/2.webp new file mode 100644 index 0000000..23d2821 Binary files /dev/null and b/assets/作物/橘子/2.webp differ diff --git a/assets/作物/橘子/2.webp.import b/assets/作物/橘子/2.webp.import new file mode 100644 index 0000000..05c1744 --- /dev/null +++ b/assets/作物/橘子/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsoayoul3ktkj" +path="res://.godot/imported/2.webp-ffc11a7f5ab69480866edec3a0a79f77.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/2.webp" +dest_files=["res://.godot/imported/2.webp-ffc11a7f5ab69480866edec3a0a79f77.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/3.webp b/assets/作物/橘子/3.webp new file mode 100644 index 0000000..2ad0b57 Binary files /dev/null and b/assets/作物/橘子/3.webp differ diff --git a/assets/作物/橘子/3.webp.import b/assets/作物/橘子/3.webp.import new file mode 100644 index 0000000..f688517 --- /dev/null +++ b/assets/作物/橘子/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vbojrqjpj4xg" +path="res://.godot/imported/3.webp-e912eb2f6fda1be3264eee4d1dbed81b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/3.webp" +dest_files=["res://.godot/imported/3.webp-e912eb2f6fda1be3264eee4d1dbed81b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/4.webp b/assets/作物/橘子/4.webp new file mode 100644 index 0000000..7365a57 Binary files /dev/null and b/assets/作物/橘子/4.webp differ diff --git a/assets/作物/橘子/4.webp.import b/assets/作物/橘子/4.webp.import new file mode 100644 index 0000000..4eb7327 --- /dev/null +++ b/assets/作物/橘子/4.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dekcrdykbb00g" +path="res://.godot/imported/4.webp-76062ea2620026cabd0e650151dba0b0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/4.webp" +dest_files=["res://.godot/imported/4.webp-76062ea2620026cabd0e650151dba0b0.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/5.webp b/assets/作物/橘子/5.webp new file mode 100644 index 0000000..de1ae0a Binary files /dev/null and b/assets/作物/橘子/5.webp differ diff --git a/assets/作物/橘子/5.webp.import b/assets/作物/橘子/5.webp.import new file mode 100644 index 0000000..f8d1476 --- /dev/null +++ b/assets/作物/橘子/5.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c44p7rk2n8gnh" +path="res://.godot/imported/5.webp-8481bdd17a58a1d3b48ace33b0abcdef.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/5.webp" +dest_files=["res://.godot/imported/5.webp-8481bdd17a58a1d3b48ace33b0abcdef.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/成熟.webp b/assets/作物/橘子/成熟.webp new file mode 100644 index 0000000..de1ae0a Binary files /dev/null and b/assets/作物/橘子/成熟.webp differ diff --git a/assets/作物/橘子/成熟.webp.import b/assets/作物/橘子/成熟.webp.import new file mode 100644 index 0000000..017484d --- /dev/null +++ b/assets/作物/橘子/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cg6eqscier73i" +path="res://.godot/imported/成熟.webp-abbe481ca93282f3ded695abb951674c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-abbe481ca93282f3ded695abb951674c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/橘子/收获物.webp b/assets/作物/橘子/收获物.webp new file mode 100644 index 0000000..86044c5 Binary files /dev/null and b/assets/作物/橘子/收获物.webp differ diff --git a/assets/作物/橘子/收获物.webp.import b/assets/作物/橘子/收获物.webp.import new file mode 100644 index 0000000..3b06d5f --- /dev/null +++ b/assets/作物/橘子/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjjbbi4xv8ci8" +path="res://.godot/imported/收获物.webp-6111157524434336f69bb1de5fed45f8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/橘子/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-6111157524434336f69bb1de5fed45f8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/洋葱/0.webp.import b/assets/作物/洋葱/0.webp.import new file mode 100644 index 0000000..fcee6c0 --- /dev/null +++ b/assets/作物/洋葱/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db6syq7m4irra" +path="res://.godot/imported/0.webp-2b5af44ddaca9e824745606f267f979d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/洋葱/0.webp" +dest_files=["res://.godot/imported/0.webp-2b5af44ddaca9e824745606f267f979d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/洋葱/1.webp.import b/assets/作物/洋葱/1.webp.import new file mode 100644 index 0000000..7cc4779 --- /dev/null +++ b/assets/作物/洋葱/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dp0tvchm16mx5" +path="res://.godot/imported/1.webp-bc0d9a7fe46b2ec927f76756715338da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/洋葱/1.webp" +dest_files=["res://.godot/imported/1.webp-bc0d9a7fe46b2ec927f76756715338da.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/洋葱/2.webp.import b/assets/作物/洋葱/2.webp.import new file mode 100644 index 0000000..1c306ad --- /dev/null +++ b/assets/作物/洋葱/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://elmjqxrawsho" +path="res://.godot/imported/2.webp-93546c741a09d825147af979aedcf613.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/洋葱/2.webp" +dest_files=["res://.godot/imported/2.webp-93546c741a09d825147af979aedcf613.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/洋葱/3.webp.import b/assets/作物/洋葱/3.webp.import new file mode 100644 index 0000000..09b74a3 --- /dev/null +++ b/assets/作物/洋葱/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d03npvwa8bhdj" +path="res://.godot/imported/3.webp-0e3ee3bb25d4d8fbec1cb7ea7ee36230.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/洋葱/3.webp" +dest_files=["res://.godot/imported/3.webp-0e3ee3bb25d4d8fbec1cb7ea7ee36230.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/洋葱/成熟.webp b/assets/作物/洋葱/成熟.webp new file mode 100644 index 0000000..43b4611 Binary files /dev/null and b/assets/作物/洋葱/成熟.webp differ diff --git a/assets/作物/洋葱/成熟.webp.import b/assets/作物/洋葱/成熟.webp.import new file mode 100644 index 0000000..26390c8 --- /dev/null +++ b/assets/作物/洋葱/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4i7unltnhgd7" +path="res://.godot/imported/成熟.webp-0d78aa94de8ee9c0e326312a8581712e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/洋葱/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-0d78aa94de8ee9c0e326312a8581712e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/洋葱/收获物.webp b/assets/作物/洋葱/收获物.webp new file mode 100644 index 0000000..312fec0 Binary files /dev/null and b/assets/作物/洋葱/收获物.webp differ diff --git a/assets/作物/洋葱/收获物.webp.import b/assets/作物/洋葱/收获物.webp.import new file mode 100644 index 0000000..661ed77 --- /dev/null +++ b/assets/作物/洋葱/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr635jdpro70k" +path="res://.godot/imported/收获物.webp-d69a05746a86491ee44f5ff5b9dcdcba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/洋葱/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-d69a05746a86491ee44f5ff5b9dcdcba.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/牵牛花/0.webp b/assets/作物/牵牛花/0.webp new file mode 100644 index 0000000..c8b084a Binary files /dev/null and b/assets/作物/牵牛花/0.webp differ diff --git a/assets/作物/牵牛花/0.webp.import b/assets/作物/牵牛花/0.webp.import new file mode 100644 index 0000000..1766c69 --- /dev/null +++ b/assets/作物/牵牛花/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcr5t4htwei6b" +path="res://.godot/imported/0.webp-e4897e418051d2866186b1a21ea09757.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/牵牛花/0.webp" +dest_files=["res://.godot/imported/0.webp-e4897e418051d2866186b1a21ea09757.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/牵牛花/1.webp b/assets/作物/牵牛花/1.webp new file mode 100644 index 0000000..9bbbe3d Binary files /dev/null and b/assets/作物/牵牛花/1.webp differ diff --git a/assets/作物/牵牛花/1.webp.import b/assets/作物/牵牛花/1.webp.import new file mode 100644 index 0000000..bfa2a8d --- /dev/null +++ b/assets/作物/牵牛花/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1qcg5w88r06y" +path="res://.godot/imported/1.webp-3d8fbeef22eb0d2d3a9274e935a2208e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/牵牛花/1.webp" +dest_files=["res://.godot/imported/1.webp-3d8fbeef22eb0d2d3a9274e935a2208e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/牵牛花/1750004251410.webp b/assets/作物/牵牛花/1750004251410.webp new file mode 100644 index 0000000..305c7cc Binary files /dev/null and b/assets/作物/牵牛花/1750004251410.webp differ diff --git a/assets/作物/牵牛花/1750004251410.webp.import b/assets/作物/牵牛花/1750004251410.webp.import new file mode 100644 index 0000000..e423816 --- /dev/null +++ b/assets/作物/牵牛花/1750004251410.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dp32p7kb580go" +path="res://.godot/imported/1750004251410.webp-3f450bc318c05413918f2dd03b6bb342.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/牵牛花/1750004251410.webp" +dest_files=["res://.godot/imported/1750004251410.webp-3f450bc318c05413918f2dd03b6bb342.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/牵牛花/2.webp b/assets/作物/牵牛花/2.webp new file mode 100644 index 0000000..0466b29 Binary files /dev/null and b/assets/作物/牵牛花/2.webp differ diff --git a/assets/作物/牵牛花/2.webp.import b/assets/作物/牵牛花/2.webp.import new file mode 100644 index 0000000..dde2704 --- /dev/null +++ b/assets/作物/牵牛花/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fnmnxqqb7pk2" +path="res://.godot/imported/2.webp-f9119b60d2ba5c4f4ef0583c525df44b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/牵牛花/2.webp" +dest_files=["res://.godot/imported/2.webp-f9119b60d2ba5c4f4ef0583c525df44b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/牵牛花/成熟.webp b/assets/作物/牵牛花/成熟.webp new file mode 100644 index 0000000..81fd060 Binary files /dev/null and b/assets/作物/牵牛花/成熟.webp differ diff --git a/assets/作物/牵牛花/成熟.webp.import b/assets/作物/牵牛花/成熟.webp.import new file mode 100644 index 0000000..699758e --- /dev/null +++ b/assets/作物/牵牛花/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cenklmes868ik" +path="res://.godot/imported/成熟.webp-31a61c5e8f557487b7aa9c63bfde5983.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/牵牛花/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-31a61c5e8f557487b7aa9c63bfde5983.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/牵牛花/收获物.webp b/assets/作物/牵牛花/收获物.webp new file mode 100644 index 0000000..2d59974 Binary files /dev/null and b/assets/作物/牵牛花/收获物.webp differ diff --git a/assets/作物/牵牛花/收获物.webp.import b/assets/作物/牵牛花/收获物.webp.import new file mode 100644 index 0000000..3d300c7 --- /dev/null +++ b/assets/作物/牵牛花/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpphpx1t5mkdr" +path="res://.godot/imported/收获物.webp-9d3d13d582718c1838f9bf6c8f8873cd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/牵牛花/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-9d3d13d582718c1838f9bf6c8f8873cd.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玉米/0.webp.import b/assets/作物/玉米/0.webp.import new file mode 100644 index 0000000..c6e28ee --- /dev/null +++ b/assets/作物/玉米/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3cxh54wsgnm6" +path="res://.godot/imported/0.webp-4558d84b3b6f770f4edba4abbe03ff14.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玉米/0.webp" +dest_files=["res://.godot/imported/0.webp-4558d84b3b6f770f4edba4abbe03ff14.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玉米/成熟.webp b/assets/作物/玉米/成熟.webp new file mode 100644 index 0000000..6498cb3 Binary files /dev/null and b/assets/作物/玉米/成熟.webp differ diff --git a/assets/作物/玉米/成熟.webp.import b/assets/作物/玉米/成熟.webp.import new file mode 100644 index 0000000..13ea429 --- /dev/null +++ b/assets/作物/玉米/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfhmqvd25lcc0" +path="res://.godot/imported/成熟.webp-d7bfc53cc49880f3bdef0e17f8338492.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玉米/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-d7bfc53cc49880f3bdef0e17f8338492.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玉米/收获物.webp b/assets/作物/玉米/收获物.webp new file mode 100644 index 0000000..f08714d Binary files /dev/null and b/assets/作物/玉米/收获物.webp differ diff --git a/assets/作物/玉米/收获物.webp.import b/assets/作物/玉米/收获物.webp.import new file mode 100644 index 0000000..2c1d4ae --- /dev/null +++ b/assets/作物/玉米/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://i1coaewv3fif" +path="res://.godot/imported/收获物.webp-b0b85d49c3873fcd42d2926b5703e042.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玉米/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-b0b85d49c3873fcd42d2926b5703e042.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玫瑰花/0.webp.import b/assets/作物/玫瑰花/0.webp.import new file mode 100644 index 0000000..456505c --- /dev/null +++ b/assets/作物/玫瑰花/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://findkgt8fg36" +path="res://.godot/imported/0.webp-9146328db4bf2abfc01b5903d40f309d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玫瑰花/0.webp" +dest_files=["res://.godot/imported/0.webp-9146328db4bf2abfc01b5903d40f309d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玫瑰花/1.webp.import b/assets/作物/玫瑰花/1.webp.import new file mode 100644 index 0000000..81d47b9 --- /dev/null +++ b/assets/作物/玫瑰花/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbnyopcdn2j2t" +path="res://.godot/imported/1.webp-e4bfbbb43ac4a6ee9a723049edbb6964.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玫瑰花/1.webp" +dest_files=["res://.godot/imported/1.webp-e4bfbbb43ac4a6ee9a723049edbb6964.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玫瑰花/2.webp.import b/assets/作物/玫瑰花/2.webp.import new file mode 100644 index 0000000..16a31ad --- /dev/null +++ b/assets/作物/玫瑰花/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpgtst6dacqha" +path="res://.godot/imported/2.webp-78bcd3da9887ba59db8481f36d881190.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玫瑰花/2.webp" +dest_files=["res://.godot/imported/2.webp-78bcd3da9887ba59db8481f36d881190.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玫瑰花/成熟.webp b/assets/作物/玫瑰花/成熟.webp new file mode 100644 index 0000000..ae9578a Binary files /dev/null and b/assets/作物/玫瑰花/成熟.webp differ diff --git a/assets/作物/玫瑰花/成熟.webp.import b/assets/作物/玫瑰花/成熟.webp.import new file mode 100644 index 0000000..3ac71eb --- /dev/null +++ b/assets/作物/玫瑰花/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyywu0nr1jwoi" +path="res://.godot/imported/成熟.webp-a51f43e2109d09258a2e41552926ccc3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玫瑰花/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-a51f43e2109d09258a2e41552926ccc3.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/玫瑰花/收获物.webp b/assets/作物/玫瑰花/收获物.webp new file mode 100644 index 0000000..8b018fa Binary files /dev/null and b/assets/作物/玫瑰花/收获物.webp differ diff --git a/assets/作物/玫瑰花/收获物.webp.import b/assets/作物/玫瑰花/收获物.webp.import new file mode 100644 index 0000000..2f61401 --- /dev/null +++ b/assets/作物/玫瑰花/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmq2tilcws4dy" +path="res://.godot/imported/收获物.webp-32f2572f859f73c89c3d8ae90044d6bd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/玫瑰花/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-32f2572f859f73c89c3d8ae90044d6bd.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甘蔗/0.webp b/assets/作物/甘蔗/0.webp index 8e39127..ebb4fd6 100644 Binary files a/assets/作物/甘蔗/0.webp and b/assets/作物/甘蔗/0.webp differ diff --git a/assets/作物/甘蔗/0.webp.import b/assets/作物/甘蔗/0.webp.import new file mode 100644 index 0000000..91c9c6b --- /dev/null +++ b/assets/作物/甘蔗/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqv7tgjy0pt3v" +path="res://.godot/imported/0.webp-bb090f9706c09c5217ad8c639d77c0ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甘蔗/0.webp" +dest_files=["res://.godot/imported/0.webp-bb090f9706c09c5217ad8c639d77c0ca.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甘蔗/1.webp b/assets/作物/甘蔗/1.webp index ebb4fd6..3480d71 100644 Binary files a/assets/作物/甘蔗/1.webp and b/assets/作物/甘蔗/1.webp differ diff --git a/assets/作物/甘蔗/1.webp.import b/assets/作物/甘蔗/1.webp.import new file mode 100644 index 0000000..7a5abe1 --- /dev/null +++ b/assets/作物/甘蔗/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vgtoy52pfism" +path="res://.godot/imported/1.webp-937ee2d9ca0f3be7b150008a270b7730.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甘蔗/1.webp" +dest_files=["res://.godot/imported/1.webp-937ee2d9ca0f3be7b150008a270b7730.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甘蔗/2.webp b/assets/作物/甘蔗/2.webp index 3480d71..5318a96 100644 Binary files a/assets/作物/甘蔗/2.webp and b/assets/作物/甘蔗/2.webp differ diff --git a/assets/作物/甘蔗/2.webp.import b/assets/作物/甘蔗/2.webp.import new file mode 100644 index 0000000..e99293b --- /dev/null +++ b/assets/作物/甘蔗/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn28uqfjpa7a7" +path="res://.godot/imported/2.webp-d6456156f7fcb74c8912978411c49cfd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甘蔗/2.webp" +dest_files=["res://.godot/imported/2.webp-d6456156f7fcb74c8912978411c49cfd.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甘蔗/3.webp b/assets/作物/甘蔗/3.webp index 5318a96..ad8b5c8 100644 Binary files a/assets/作物/甘蔗/3.webp and b/assets/作物/甘蔗/3.webp differ diff --git a/assets/作物/甘蔗/3.webp.import b/assets/作物/甘蔗/3.webp.import new file mode 100644 index 0000000..3b48d85 --- /dev/null +++ b/assets/作物/甘蔗/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ceq3x6xr6qf6e" +path="res://.godot/imported/3.webp-9e551ead97eec2220c7168814a734c3b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甘蔗/3.webp" +dest_files=["res://.godot/imported/3.webp-9e551ead97eec2220c7168814a734c3b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甘蔗/4.webp b/assets/作物/甘蔗/4.webp index ad8b5c8..3ae74c5 100644 Binary files a/assets/作物/甘蔗/4.webp and b/assets/作物/甘蔗/4.webp differ diff --git a/assets/作物/甘蔗/4.webp.import b/assets/作物/甘蔗/4.webp.import new file mode 100644 index 0000000..6361a00 --- /dev/null +++ b/assets/作物/甘蔗/4.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rhtkgoxfv3p8" +path="res://.godot/imported/4.webp-589128e0792fe0c9413a2a6ca2eb6708.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甘蔗/4.webp" +dest_files=["res://.godot/imported/4.webp-589128e0792fe0c9413a2a6ca2eb6708.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甘蔗/成熟.webp b/assets/作物/甘蔗/成熟.webp new file mode 100644 index 0000000..d5fde5d Binary files /dev/null and b/assets/作物/甘蔗/成熟.webp differ diff --git a/assets/作物/甘蔗/成熟.webp.import b/assets/作物/甘蔗/成熟.webp.import new file mode 100644 index 0000000..ff44342 --- /dev/null +++ b/assets/作物/甘蔗/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdnwvyk82il0l" +path="res://.godot/imported/成熟.webp-b1893247f209421ff1f247d81ba33930.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甘蔗/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-b1893247f209421ff1f247d81ba33930.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甜菜/0.webp.import b/assets/作物/甜菜/0.webp.import new file mode 100644 index 0000000..d21e7e0 --- /dev/null +++ b/assets/作物/甜菜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk5jg67jhp3t2" +path="res://.godot/imported/0.webp-4e7e7dd28be200e40598e67b7b235d5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甜菜/0.webp" +dest_files=["res://.godot/imported/0.webp-4e7e7dd28be200e40598e67b7b235d5b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甜菜/1.webp.import b/assets/作物/甜菜/1.webp.import new file mode 100644 index 0000000..1539c3e --- /dev/null +++ b/assets/作物/甜菜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c24w6im8ckrlj" +path="res://.godot/imported/1.webp-ade6ebf19a17cf591b70b0b613cf702d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甜菜/1.webp" +dest_files=["res://.godot/imported/1.webp-ade6ebf19a17cf591b70b0b613cf702d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甜菜/成熟.webp b/assets/作物/甜菜/成熟.webp new file mode 100644 index 0000000..0629d5f Binary files /dev/null and b/assets/作物/甜菜/成熟.webp differ diff --git a/assets/作物/甜菜/成熟.webp.import b/assets/作物/甜菜/成熟.webp.import new file mode 100644 index 0000000..d66166c --- /dev/null +++ b/assets/作物/甜菜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yrlx7xt3j0sj" +path="res://.godot/imported/成熟.webp-76e06ae608df0bfac1fe414394a873ee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甜菜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-76e06ae608df0bfac1fe414394a873ee.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/甜菜/收获物.webp b/assets/作物/甜菜/收获物.webp new file mode 100644 index 0000000..05921fd Binary files /dev/null and b/assets/作物/甜菜/收获物.webp differ diff --git a/assets/作物/甜菜/收获物.webp.import b/assets/作物/甜菜/收获物.webp.import new file mode 100644 index 0000000..5017694 --- /dev/null +++ b/assets/作物/甜菜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6kl0lh8vuceo" +path="res://.godot/imported/收获物.webp-fe52475879731a1b9e9089c1dfc20f15.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/甜菜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-fe52475879731a1b9e9089c1dfc20f15.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/生菜/0.webp b/assets/作物/生菜/0.webp new file mode 100644 index 0000000..d8b6d1b Binary files /dev/null and b/assets/作物/生菜/0.webp differ diff --git a/assets/作物/生菜/0.webp.import b/assets/作物/生菜/0.webp.import new file mode 100644 index 0000000..1301be1 --- /dev/null +++ b/assets/作物/生菜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxkd11qmikegi" +path="res://.godot/imported/0.webp-b5c18e1edb786aec8b8d2b96ced600e9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/生菜/0.webp" +dest_files=["res://.godot/imported/0.webp-b5c18e1edb786aec8b8d2b96ced600e9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/生菜/成熟.webp b/assets/作物/生菜/成熟.webp new file mode 100644 index 0000000..bb82779 Binary files /dev/null and b/assets/作物/生菜/成熟.webp differ diff --git a/assets/作物/生菜/成熟.webp.import b/assets/作物/生菜/成熟.webp.import new file mode 100644 index 0000000..87c64b4 --- /dev/null +++ b/assets/作物/生菜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://be623pv00qm33" +path="res://.godot/imported/成熟.webp-9c9826c22a68a0b2c4b5106dbc47cde2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/生菜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-9c9826c22a68a0b2c4b5106dbc47cde2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/生菜/收获物.webp b/assets/作物/生菜/收获物.webp new file mode 100644 index 0000000..1951b21 Binary files /dev/null and b/assets/作物/生菜/收获物.webp differ diff --git a/assets/作物/生菜/收获物.webp.import b/assets/作物/生菜/收获物.webp.import new file mode 100644 index 0000000..65fad93 --- /dev/null +++ b/assets/作物/生菜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7wyd475ktf0i" +path="res://.godot/imported/收获物.webp-3463d042ce74c9dc4100ab1eaa7c0a1d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/生菜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-3463d042ce74c9dc4100ab1eaa7c0a1d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/番茄/0.webp b/assets/作物/番茄/0.webp new file mode 100644 index 0000000..7cdd97b Binary files /dev/null and b/assets/作物/番茄/0.webp differ diff --git a/assets/作物/番茄/0.webp.import b/assets/作物/番茄/0.webp.import new file mode 100644 index 0000000..96d82d3 --- /dev/null +++ b/assets/作物/番茄/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyf334xni707" +path="res://.godot/imported/0.webp-6b1176da7e94e966fccbc4975abf5d94.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/番茄/0.webp" +dest_files=["res://.godot/imported/0.webp-6b1176da7e94e966fccbc4975abf5d94.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/番茄/1.webp b/assets/作物/番茄/1.webp new file mode 100644 index 0000000..a7df930 Binary files /dev/null and b/assets/作物/番茄/1.webp differ diff --git a/assets/作物/番茄/1.webp.import b/assets/作物/番茄/1.webp.import new file mode 100644 index 0000000..c2b0bbd --- /dev/null +++ b/assets/作物/番茄/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpetg6cih0lau" +path="res://.godot/imported/1.webp-86a07d9c089645b3f9764f6fe6443d52.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/番茄/1.webp" +dest_files=["res://.godot/imported/1.webp-86a07d9c089645b3f9764f6fe6443d52.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/番茄/成熟.webp b/assets/作物/番茄/成熟.webp new file mode 100644 index 0000000..e5493a9 Binary files /dev/null and b/assets/作物/番茄/成熟.webp differ diff --git a/assets/作物/番茄/成熟.webp.import b/assets/作物/番茄/成熟.webp.import new file mode 100644 index 0000000..c8a8d3e --- /dev/null +++ b/assets/作物/番茄/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cea5eikll54bm" +path="res://.godot/imported/成熟.webp-ea7abc19b7275bd3070f8aa1297f9a19.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/番茄/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-ea7abc19b7275bd3070f8aa1297f9a19.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/番茄/收获物.webp b/assets/作物/番茄/收获物.webp new file mode 100644 index 0000000..a984ff9 Binary files /dev/null and b/assets/作物/番茄/收获物.webp differ diff --git a/assets/作物/番茄/收获物.webp.import b/assets/作物/番茄/收获物.webp.import new file mode 100644 index 0000000..b76c59e --- /dev/null +++ b/assets/作物/番茄/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ic2puj0angyb" +path="res://.godot/imported/收获物.webp-d3d9ff8f4a58f41c19fa3f2be39ba995.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/番茄/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-d3d9ff8f4a58f41c19fa3f2be39ba995.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/百合花/0.webp b/assets/作物/百合花/0.webp new file mode 100644 index 0000000..ea4cb8a Binary files /dev/null and b/assets/作物/百合花/0.webp differ diff --git a/assets/作物/百合花/0.webp.import b/assets/作物/百合花/0.webp.import new file mode 100644 index 0000000..b7fa61f --- /dev/null +++ b/assets/作物/百合花/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c412dn7xijvl4" +path="res://.godot/imported/0.webp-b3100f18503e3f5b15b591223facbeed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/百合花/0.webp" +dest_files=["res://.godot/imported/0.webp-b3100f18503e3f5b15b591223facbeed.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/百合花/1.webp b/assets/作物/百合花/1.webp new file mode 100644 index 0000000..e802b37 Binary files /dev/null and b/assets/作物/百合花/1.webp differ diff --git a/assets/作物/百合花/1.webp.import b/assets/作物/百合花/1.webp.import new file mode 100644 index 0000000..7330450 --- /dev/null +++ b/assets/作物/百合花/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7m2g0d7a27p1" +path="res://.godot/imported/1.webp-19713b3dc7b634a11b1cce07937b316a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/百合花/1.webp" +dest_files=["res://.godot/imported/1.webp-19713b3dc7b634a11b1cce07937b316a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/百合花/1750049771834.webp b/assets/作物/百合花/1750049771834.webp new file mode 100644 index 0000000..ccba27b Binary files /dev/null and b/assets/作物/百合花/1750049771834.webp differ diff --git a/assets/作物/百合花/1750049771834.webp.import b/assets/作物/百合花/1750049771834.webp.import new file mode 100644 index 0000000..1cff2d2 --- /dev/null +++ b/assets/作物/百合花/1750049771834.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://53785tfeyi77" +path="res://.godot/imported/1750049771834.webp-cb837959f7a5e09e5944ec436f218afa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/百合花/1750049771834.webp" +dest_files=["res://.godot/imported/1750049771834.webp-cb837959f7a5e09e5944ec436f218afa.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/百合花/1750049775912.webp b/assets/作物/百合花/1750049775912.webp new file mode 100644 index 0000000..d046fcf Binary files /dev/null and b/assets/作物/百合花/1750049775912.webp differ diff --git a/assets/作物/百合花/1750049775912.webp.import b/assets/作物/百合花/1750049775912.webp.import new file mode 100644 index 0000000..e6bb786 --- /dev/null +++ b/assets/作物/百合花/1750049775912.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1dvnux7ms02b" +path="res://.godot/imported/1750049775912.webp-e82dab32238cadf58117cab6b07322f6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/百合花/1750049775912.webp" +dest_files=["res://.godot/imported/1750049775912.webp-e82dab32238cadf58117cab6b07322f6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/百合花/3.webp b/assets/作物/百合花/3.webp new file mode 100644 index 0000000..11db4d4 Binary files /dev/null and b/assets/作物/百合花/3.webp differ diff --git a/assets/作物/百合花/3.webp.import b/assets/作物/百合花/3.webp.import new file mode 100644 index 0000000..154c1fe --- /dev/null +++ b/assets/作物/百合花/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckitx32mw121u" +path="res://.godot/imported/3.webp-24898650b774df62dca6c0c28e4b7f74.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/百合花/3.webp" +dest_files=["res://.godot/imported/3.webp-24898650b774df62dca6c0c28e4b7f74.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/百合花/成熟.webp b/assets/作物/百合花/成熟.webp new file mode 100644 index 0000000..418cf14 Binary files /dev/null and b/assets/作物/百合花/成熟.webp differ diff --git a/assets/作物/百合花/成熟.webp.import b/assets/作物/百合花/成熟.webp.import new file mode 100644 index 0000000..5e2c4bb --- /dev/null +++ b/assets/作物/百合花/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chuwwatayftjy" +path="res://.godot/imported/成熟.webp-5cd7fab8115a418f67771035e1127474.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/百合花/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-5cd7fab8115a418f67771035e1127474.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/百合花/收获物.webp b/assets/作物/百合花/收获物.webp new file mode 100644 index 0000000..08e9cd2 Binary files /dev/null and b/assets/作物/百合花/收获物.webp differ diff --git a/assets/作物/百合花/收获物.webp.import b/assets/作物/百合花/收获物.webp.import new file mode 100644 index 0000000..51b8301 --- /dev/null +++ b/assets/作物/百合花/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cd6dphoxackan" +path="res://.godot/imported/收获物.webp-81c14485274a89b8a6becd6fbc028988.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/百合花/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-81c14485274a89b8a6becd6fbc028988.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/石榴/0.webp b/assets/作物/石榴/0.webp new file mode 100644 index 0000000..4aefbeb Binary files /dev/null and b/assets/作物/石榴/0.webp differ diff --git a/assets/作物/石榴/0.webp.import b/assets/作物/石榴/0.webp.import new file mode 100644 index 0000000..7cb5bb5 --- /dev/null +++ b/assets/作物/石榴/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjofuqt16qmme" +path="res://.godot/imported/0.webp-341d33470a40d95d3149d54f2b6ff9a4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/石榴/0.webp" +dest_files=["res://.godot/imported/0.webp-341d33470a40d95d3149d54f2b6ff9a4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/石榴/成熟.webp b/assets/作物/石榴/成熟.webp new file mode 100644 index 0000000..8e1d7ab Binary files /dev/null and b/assets/作物/石榴/成熟.webp differ diff --git a/assets/作物/石榴/成熟.webp.import b/assets/作物/石榴/成熟.webp.import new file mode 100644 index 0000000..f9b88e0 --- /dev/null +++ b/assets/作物/石榴/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c62j6b5ieimjd" +path="res://.godot/imported/成熟.webp-0c11d94ede22e223fa82d230223f558b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/石榴/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-0c11d94ede22e223fa82d230223f558b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/石榴/收获物.webp b/assets/作物/石榴/收获物.webp new file mode 100644 index 0000000..cbf76dc Binary files /dev/null and b/assets/作物/石榴/收获物.webp differ diff --git a/assets/作物/石榴/收获物.webp.import b/assets/作物/石榴/收获物.webp.import new file mode 100644 index 0000000..4a89e6f --- /dev/null +++ b/assets/作物/石榴/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcnf8hb352o8j" +path="res://.godot/imported/收获物.webp-d4ed5af31733db0e6c30102836b986a5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/石榴/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-d4ed5af31733db0e6c30102836b986a5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/稻谷/0.webp.import b/assets/作物/稻谷/0.webp.import new file mode 100644 index 0000000..b9af065 --- /dev/null +++ b/assets/作物/稻谷/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dw3i7fr0vvx6r" +path="res://.godot/imported/0.webp-d76fb0c9f24bd7929793b8e40b8d0d9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/稻谷/0.webp" +dest_files=["res://.godot/imported/0.webp-d76fb0c9f24bd7929793b8e40b8d0d9f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/稻谷/1.webp b/assets/作物/稻谷/1.webp index 993fe72..997e8ec 100644 Binary files a/assets/作物/稻谷/1.webp and b/assets/作物/稻谷/1.webp differ diff --git a/assets/作物/稻谷/1.webp.import b/assets/作物/稻谷/1.webp.import new file mode 100644 index 0000000..6c40ae8 --- /dev/null +++ b/assets/作物/稻谷/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://be6qv33wrr6np" +path="res://.godot/imported/1.webp-2e24e8c5192cfe4c944d3fc61317cbe6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/稻谷/1.webp" +dest_files=["res://.godot/imported/1.webp-2e24e8c5192cfe4c944d3fc61317cbe6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/稻谷/2.webp b/assets/作物/稻谷/2.webp index 9b484ef..449e774 100644 Binary files a/assets/作物/稻谷/2.webp and b/assets/作物/稻谷/2.webp differ diff --git a/assets/作物/稻谷/2.webp.import b/assets/作物/稻谷/2.webp.import new file mode 100644 index 0000000..a31c82e --- /dev/null +++ b/assets/作物/稻谷/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bu8l0kdw7s1td" +path="res://.godot/imported/2.webp-8f99bba8674366bac9cfdc7f456b93f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/稻谷/2.webp" +dest_files=["res://.godot/imported/2.webp-8f99bba8674366bac9cfdc7f456b93f1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/稻谷/成熟.webp b/assets/作物/稻谷/成熟.webp new file mode 100644 index 0000000..d2be892 Binary files /dev/null and b/assets/作物/稻谷/成熟.webp differ diff --git a/assets/作物/稻谷/成熟.webp.import b/assets/作物/稻谷/成熟.webp.import new file mode 100644 index 0000000..6bc7084 --- /dev/null +++ b/assets/作物/稻谷/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ceg23k8qbisc8" +path="res://.godot/imported/成熟.webp-6edcb0276297d77560c1bebee9062e4c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/稻谷/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-6edcb0276297d77560c1bebee9062e4c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/稻谷/收获物.webp b/assets/作物/稻谷/收获物.webp new file mode 100644 index 0000000..9feadad Binary files /dev/null and b/assets/作物/稻谷/收获物.webp differ diff --git a/assets/作物/稻谷/收获物.webp.import b/assets/作物/稻谷/收获物.webp.import new file mode 100644 index 0000000..d39862b --- /dev/null +++ b/assets/作物/稻谷/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgmt773qry36h" +path="res://.godot/imported/收获物.webp-c3bdb8d21a9bfd1d3be88588f3b8c2d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/稻谷/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-c3bdb8d21a9bfd1d3be88588f3b8c2d9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/糖果树/0.webp b/assets/作物/糖果树/0.webp new file mode 100644 index 0000000..1974259 Binary files /dev/null and b/assets/作物/糖果树/0.webp differ diff --git a/assets/作物/糖果树/0.webp.import b/assets/作物/糖果树/0.webp.import new file mode 100644 index 0000000..65ca3c6 --- /dev/null +++ b/assets/作物/糖果树/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnj00km32v4my" +path="res://.godot/imported/0.webp-ade8ba0955a7452163dbfb0ab8d4e7b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/糖果树/0.webp" +dest_files=["res://.godot/imported/0.webp-ade8ba0955a7452163dbfb0ab8d4e7b9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/糖果树/1.webp b/assets/作物/糖果树/1.webp new file mode 100644 index 0000000..a9938fd Binary files /dev/null and b/assets/作物/糖果树/1.webp differ diff --git a/assets/作物/糖果树/1.webp.import b/assets/作物/糖果树/1.webp.import new file mode 100644 index 0000000..4ed2649 --- /dev/null +++ b/assets/作物/糖果树/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3e6ejew7aybu" +path="res://.godot/imported/1.webp-3f47b43e31104bd1240d2457650aa5f8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/糖果树/1.webp" +dest_files=["res://.godot/imported/1.webp-3f47b43e31104bd1240d2457650aa5f8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/糖果树/成熟.webp b/assets/作物/糖果树/成熟.webp new file mode 100644 index 0000000..a2dfd75 Binary files /dev/null and b/assets/作物/糖果树/成熟.webp differ diff --git a/assets/作物/糖果树/成熟.webp.import b/assets/作物/糖果树/成熟.webp.import new file mode 100644 index 0000000..6e1b647 --- /dev/null +++ b/assets/作物/糖果树/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpfq115u2nkjt" +path="res://.godot/imported/成熟.webp-939d3957e05cb029b7050f233a4af43b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/糖果树/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-939d3957e05cb029b7050f233a4af43b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/糖果树/收获物.webp b/assets/作物/糖果树/收获物.webp new file mode 100644 index 0000000..dc402fb Binary files /dev/null and b/assets/作物/糖果树/收获物.webp differ diff --git a/assets/作物/糖果树/收获物.webp.import b/assets/作物/糖果树/收获物.webp.import new file mode 100644 index 0000000..a31a04c --- /dev/null +++ b/assets/作物/糖果树/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://boyvuhjwgs5ix" +path="res://.godot/imported/收获物.webp-01d49092e78586d8ee56c5262fb36bb5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/糖果树/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-01d49092e78586d8ee56c5262fb36bb5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/胡萝卜/0.webp.import b/assets/作物/胡萝卜/0.webp.import new file mode 100644 index 0000000..6442fbc --- /dev/null +++ b/assets/作物/胡萝卜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://taqb4oft0s45" +path="res://.godot/imported/0.webp-e778c66fc0978d298fa0becc7b2e0045.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/胡萝卜/0.webp" +dest_files=["res://.godot/imported/0.webp-e778c66fc0978d298fa0becc7b2e0045.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/胡萝卜/1.webp.import b/assets/作物/胡萝卜/1.webp.import new file mode 100644 index 0000000..70686fd --- /dev/null +++ b/assets/作物/胡萝卜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0065eolpj1i6" +path="res://.godot/imported/1.webp-53d6ab309a544f03ad8ed1bbc7ded587.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/胡萝卜/1.webp" +dest_files=["res://.godot/imported/1.webp-53d6ab309a544f03ad8ed1bbc7ded587.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/胡萝卜/成熟.webp b/assets/作物/胡萝卜/成熟.webp new file mode 100644 index 0000000..127dc26 Binary files /dev/null and b/assets/作物/胡萝卜/成熟.webp differ diff --git a/assets/作物/胡萝卜/成熟.webp.import b/assets/作物/胡萝卜/成熟.webp.import new file mode 100644 index 0000000..43c62c9 --- /dev/null +++ b/assets/作物/胡萝卜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://driafccs0niv6" +path="res://.godot/imported/成熟.webp-c4608f82e95cc809f4f91ba689de6d1d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/胡萝卜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-c4608f82e95cc809f4f91ba689de6d1d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/胡萝卜/收获物.webp b/assets/作物/胡萝卜/收获物.webp new file mode 100644 index 0000000..90a06c5 Binary files /dev/null and b/assets/作物/胡萝卜/收获物.webp differ diff --git a/assets/作物/胡萝卜/收获物.webp.import b/assets/作物/胡萝卜/收获物.webp.import new file mode 100644 index 0000000..c57a51f --- /dev/null +++ b/assets/作物/胡萝卜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjd0gnw6v1f1q" +path="res://.godot/imported/收获物.webp-f893f830806c01f43ad56aaebb3df50c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/胡萝卜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-f893f830806c01f43ad56aaebb3df50c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芒果/0.webp b/assets/作物/芒果/0.webp new file mode 100644 index 0000000..6e75ecc Binary files /dev/null and b/assets/作物/芒果/0.webp differ diff --git a/assets/作物/芒果/0.webp.import b/assets/作物/芒果/0.webp.import new file mode 100644 index 0000000..d50baa3 --- /dev/null +++ b/assets/作物/芒果/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d38hqnyy07dby" +path="res://.godot/imported/0.webp-bdeae062a4585f0a2f1263bd1617a2de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芒果/0.webp" +dest_files=["res://.godot/imported/0.webp-bdeae062a4585f0a2f1263bd1617a2de.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芒果/1.webp b/assets/作物/芒果/1.webp new file mode 100644 index 0000000..3718d63 Binary files /dev/null and b/assets/作物/芒果/1.webp differ diff --git a/assets/作物/芒果/1.webp.import b/assets/作物/芒果/1.webp.import new file mode 100644 index 0000000..a4c652e --- /dev/null +++ b/assets/作物/芒果/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ca4kbccd7buwl" +path="res://.godot/imported/1.webp-184a4b55ce69e3403349093d62bc6954.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芒果/1.webp" +dest_files=["res://.godot/imported/1.webp-184a4b55ce69e3403349093d62bc6954.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芒果/2.webp b/assets/作物/芒果/2.webp new file mode 100644 index 0000000..3d78a5b Binary files /dev/null and b/assets/作物/芒果/2.webp differ diff --git a/assets/作物/芒果/2.webp.import b/assets/作物/芒果/2.webp.import new file mode 100644 index 0000000..085e97a --- /dev/null +++ b/assets/作物/芒果/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7jh7ltbwid15" +path="res://.godot/imported/2.webp-5e054fcaefac103af9e2976b4c5b6cca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芒果/2.webp" +dest_files=["res://.godot/imported/2.webp-5e054fcaefac103af9e2976b4c5b6cca.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芒果/成熟.webp b/assets/作物/芒果/成熟.webp new file mode 100644 index 0000000..8cda6ae Binary files /dev/null and b/assets/作物/芒果/成熟.webp differ diff --git a/assets/作物/芒果/成熟.webp.import b/assets/作物/芒果/成熟.webp.import new file mode 100644 index 0000000..ecf9c71 --- /dev/null +++ b/assets/作物/芒果/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3wljjvceuwrv" +path="res://.godot/imported/成熟.webp-b22b55fa326fbfe18bbfbe6dbf7888c2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芒果/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-b22b55fa326fbfe18bbfbe6dbf7888c2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芒果/收获物.webp b/assets/作物/芒果/收获物.webp new file mode 100644 index 0000000..e966b4e Binary files /dev/null and b/assets/作物/芒果/收获物.webp differ diff --git a/assets/作物/芒果/收获物.webp.import b/assets/作物/芒果/收获物.webp.import new file mode 100644 index 0000000..8d076d4 --- /dev/null +++ b/assets/作物/芒果/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tbvtnaneqm8y" +path="res://.godot/imported/收获物.webp-28658a5b2582a7db2955d027c8228caf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芒果/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-28658a5b2582a7db2955d027c8228caf.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦笋/0.webp.import b/assets/作物/芦笋/0.webp.import new file mode 100644 index 0000000..d48950a --- /dev/null +++ b/assets/作物/芦笋/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnouysh0qo04i" +path="res://.godot/imported/0.webp-19c8c0c1226647b661390ca74a4e306b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦笋/0.webp" +dest_files=["res://.godot/imported/0.webp-19c8c0c1226647b661390ca74a4e306b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦笋/1.webp.import b/assets/作物/芦笋/1.webp.import new file mode 100644 index 0000000..3c58fd1 --- /dev/null +++ b/assets/作物/芦笋/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eim1liyvuo3p" +path="res://.godot/imported/1.webp-cd20c14c441396e722757d2ff8b71e08.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦笋/1.webp" +dest_files=["res://.godot/imported/1.webp-cd20c14c441396e722757d2ff8b71e08.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦笋/2.webp.import b/assets/作物/芦笋/2.webp.import new file mode 100644 index 0000000..5fde448 --- /dev/null +++ b/assets/作物/芦笋/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ds6u0f3gcbyve" +path="res://.godot/imported/2.webp-53b8684bd57b194403c6adf0e4bf6846.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦笋/2.webp" +dest_files=["res://.godot/imported/2.webp-53b8684bd57b194403c6adf0e4bf6846.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦笋/成熟.webp b/assets/作物/芦笋/成熟.webp new file mode 100644 index 0000000..1892201 Binary files /dev/null and b/assets/作物/芦笋/成熟.webp differ diff --git a/assets/作物/芦笋/成熟.webp.import b/assets/作物/芦笋/成熟.webp.import new file mode 100644 index 0000000..3d3ce22 --- /dev/null +++ b/assets/作物/芦笋/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cv6h3t4gy40d5" +path="res://.godot/imported/成熟.webp-bd5ab276ffc3e19c40a6f4024b28d34d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦笋/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-bd5ab276ffc3e19c40a6f4024b28d34d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦笋/收获物.webp b/assets/作物/芦笋/收获物.webp new file mode 100644 index 0000000..026eb14 Binary files /dev/null and b/assets/作物/芦笋/收获物.webp differ diff --git a/assets/作物/芦笋/收获物.webp.import b/assets/作物/芦笋/收获物.webp.import new file mode 100644 index 0000000..1690373 --- /dev/null +++ b/assets/作物/芦笋/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3vvtsk20m8ur" +path="res://.godot/imported/收获物.webp-2841f5a4a7ba55dae28e3ce3176d3e61.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦笋/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-2841f5a4a7ba55dae28e3ce3176d3e61.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦荟/0.webp.import b/assets/作物/芦荟/0.webp.import new file mode 100644 index 0000000..2a1f070 --- /dev/null +++ b/assets/作物/芦荟/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdkdwjggvmid0" +path="res://.godot/imported/0.webp-7e5448d1c3e769e3091f7109b26652b5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦荟/0.webp" +dest_files=["res://.godot/imported/0.webp-7e5448d1c3e769e3091f7109b26652b5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦荟/1.webp.import b/assets/作物/芦荟/1.webp.import new file mode 100644 index 0000000..2c6f79d --- /dev/null +++ b/assets/作物/芦荟/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b61btv1k3d3io" +path="res://.godot/imported/1.webp-6c09f3faa19eb9537990f1acfcadbf0f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦荟/1.webp" +dest_files=["res://.godot/imported/1.webp-6c09f3faa19eb9537990f1acfcadbf0f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦荟/1750050335091.webp b/assets/作物/芦荟/1750050335091.webp new file mode 100644 index 0000000..e63c5cc Binary files /dev/null and b/assets/作物/芦荟/1750050335091.webp differ diff --git a/assets/作物/芦荟/1750050335091.webp.import b/assets/作物/芦荟/1750050335091.webp.import new file mode 100644 index 0000000..a13e65a --- /dev/null +++ b/assets/作物/芦荟/1750050335091.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cegtruhkcp7u" +path="res://.godot/imported/1750050335091.webp-a4fc7d9bac9633bf84be9fc8ed3b6515.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦荟/1750050335091.webp" +dest_files=["res://.godot/imported/1750050335091.webp-a4fc7d9bac9633bf84be9fc8ed3b6515.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦荟/2.webp b/assets/作物/芦荟/2.webp index c7fddca..10b63ab 100644 Binary files a/assets/作物/芦荟/2.webp and b/assets/作物/芦荟/2.webp differ diff --git a/assets/作物/芦荟/2.webp.import b/assets/作物/芦荟/2.webp.import new file mode 100644 index 0000000..1699ced --- /dev/null +++ b/assets/作物/芦荟/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://t2sorw3i0ajv" +path="res://.godot/imported/2.webp-d94a5b437c7c14e81d131c132c8fcb59.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦荟/2.webp" +dest_files=["res://.godot/imported/2.webp-d94a5b437c7c14e81d131c132c8fcb59.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦荟/3.webp b/assets/作物/芦荟/3.webp index 10b63ab..a8e7938 100644 Binary files a/assets/作物/芦荟/3.webp and b/assets/作物/芦荟/3.webp differ diff --git a/assets/作物/芦荟/3.webp.import b/assets/作物/芦荟/3.webp.import new file mode 100644 index 0000000..ee5d082 --- /dev/null +++ b/assets/作物/芦荟/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvh43e2td8dcf" +path="res://.godot/imported/3.webp-3a04265cf4c8bdb0173e3cd97aadf17e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦荟/3.webp" +dest_files=["res://.godot/imported/3.webp-3a04265cf4c8bdb0173e3cd97aadf17e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦荟/成熟.webp b/assets/作物/芦荟/成熟.webp new file mode 100644 index 0000000..630497e Binary files /dev/null and b/assets/作物/芦荟/成熟.webp differ diff --git a/assets/作物/芦荟/成熟.webp.import b/assets/作物/芦荟/成熟.webp.import new file mode 100644 index 0000000..e4e973d --- /dev/null +++ b/assets/作物/芦荟/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dv8qgw56ht8vw" +path="res://.godot/imported/成熟.webp-85886a6e46ee05c1de6d6787d30df5f5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦荟/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-85886a6e46ee05c1de6d6787d30df5f5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/芦荟/收获物.webp b/assets/作物/芦荟/收获物.webp new file mode 100644 index 0000000..8dfbf44 Binary files /dev/null and b/assets/作物/芦荟/收获物.webp differ diff --git a/assets/作物/芦荟/收获物.webp.import b/assets/作物/芦荟/收获物.webp.import new file mode 100644 index 0000000..8eb3caa --- /dev/null +++ b/assets/作物/芦荟/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfj6wglyqfric" +path="res://.godot/imported/收获物.webp-8726f531ad107a9b5a8509accf8e4c9c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/芦荟/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-8726f531ad107a9b5a8509accf8e4c9c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/花椰菜/0.webp.import b/assets/作物/花椰菜/0.webp.import new file mode 100644 index 0000000..6672e3a --- /dev/null +++ b/assets/作物/花椰菜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtpsieqkqfioh" +path="res://.godot/imported/0.webp-bace96f1ce9c5bce5fca380d8b6b218f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/花椰菜/0.webp" +dest_files=["res://.godot/imported/0.webp-bace96f1ce9c5bce5fca380d8b6b218f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/花椰菜/1.webp.import b/assets/作物/花椰菜/1.webp.import new file mode 100644 index 0000000..e3b84b2 --- /dev/null +++ b/assets/作物/花椰菜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b40qiia7ca7tb" +path="res://.godot/imported/1.webp-7ede0e5c229923250bd2a78b5b7b73d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/花椰菜/1.webp" +dest_files=["res://.godot/imported/1.webp-7ede0e5c229923250bd2a78b5b7b73d1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/花椰菜/1750004675872.webp b/assets/作物/花椰菜/1750004675872.webp new file mode 100644 index 0000000..d97f5c8 Binary files /dev/null and b/assets/作物/花椰菜/1750004675872.webp differ diff --git a/assets/作物/花椰菜/1750004675872.webp.import b/assets/作物/花椰菜/1750004675872.webp.import new file mode 100644 index 0000000..b4139e3 --- /dev/null +++ b/assets/作物/花椰菜/1750004675872.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c48nnk0mn7p0x" +path="res://.godot/imported/1750004675872.webp-e70c6e27bf296e7cdf4a4161a0b2d877.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/花椰菜/1750004675872.webp" +dest_files=["res://.godot/imported/1750004675872.webp-e70c6e27bf296e7cdf4a4161a0b2d877.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/花椰菜/2.webp b/assets/作物/花椰菜/2.webp index de4fd56..d9946fd 100644 Binary files a/assets/作物/花椰菜/2.webp and b/assets/作物/花椰菜/2.webp differ diff --git a/assets/作物/花椰菜/2.webp.import b/assets/作物/花椰菜/2.webp.import new file mode 100644 index 0000000..5f018e6 --- /dev/null +++ b/assets/作物/花椰菜/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blt8htis8hxfg" +path="res://.godot/imported/2.webp-19aa766c1bd2806c0483d39111510c98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/花椰菜/2.webp" +dest_files=["res://.godot/imported/2.webp-19aa766c1bd2806c0483d39111510c98.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/花椰菜/成熟.webp b/assets/作物/花椰菜/成熟.webp new file mode 100644 index 0000000..0b5a40d Binary files /dev/null and b/assets/作物/花椰菜/成熟.webp differ diff --git a/assets/作物/花椰菜/成熟.webp.import b/assets/作物/花椰菜/成熟.webp.import new file mode 100644 index 0000000..f22e936 --- /dev/null +++ b/assets/作物/花椰菜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbejmv0pg7idv" +path="res://.godot/imported/成熟.webp-545cb41e76099876a0b238dacf2dceff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/花椰菜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-545cb41e76099876a0b238dacf2dceff.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/花椰菜/收获物.webp b/assets/作物/花椰菜/收获物.webp new file mode 100644 index 0000000..c949403 Binary files /dev/null and b/assets/作物/花椰菜/收获物.webp differ diff --git a/assets/作物/花椰菜/收获物.webp.import b/assets/作物/花椰菜/收获物.webp.import new file mode 100644 index 0000000..c6a8741 --- /dev/null +++ b/assets/作物/花椰菜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwnbybaeepsnp" +path="res://.godot/imported/收获物.webp-4262ac29eb424341e8d07ddab4b33471.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/花椰菜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-4262ac29eb424341e8d07ddab4b33471.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/苹果/0.webp b/assets/作物/苹果/0.webp new file mode 100644 index 0000000..0d23702 Binary files /dev/null and b/assets/作物/苹果/0.webp differ diff --git a/assets/作物/苹果/0.webp.import b/assets/作物/苹果/0.webp.import new file mode 100644 index 0000000..15ea267 --- /dev/null +++ b/assets/作物/苹果/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dea8ooi1as5ck" +path="res://.godot/imported/0.webp-705d0839222f56dc87ea4df84b957d0f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/苹果/0.webp" +dest_files=["res://.godot/imported/0.webp-705d0839222f56dc87ea4df84b957d0f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/苹果/1.webp b/assets/作物/苹果/1.webp new file mode 100644 index 0000000..0b45e01 Binary files /dev/null and b/assets/作物/苹果/1.webp differ diff --git a/assets/作物/苹果/1.webp.import b/assets/作物/苹果/1.webp.import new file mode 100644 index 0000000..8cd4cb2 --- /dev/null +++ b/assets/作物/苹果/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y87ssb3y807c" +path="res://.godot/imported/1.webp-9ccb64090158d3909bd1c15f5e21d912.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/苹果/1.webp" +dest_files=["res://.godot/imported/1.webp-9ccb64090158d3909bd1c15f5e21d912.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/苹果/1750050494569.webp b/assets/作物/苹果/1750050494569.webp new file mode 100644 index 0000000..7d85e87 Binary files /dev/null and b/assets/作物/苹果/1750050494569.webp differ diff --git a/assets/作物/苹果/1750050494569.webp.import b/assets/作物/苹果/1750050494569.webp.import new file mode 100644 index 0000000..b7e8019 --- /dev/null +++ b/assets/作物/苹果/1750050494569.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbemtj3cmlapr" +path="res://.godot/imported/1750050494569.webp-641149f9303701ad3f026b004dd086a9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/苹果/1750050494569.webp" +dest_files=["res://.godot/imported/1750050494569.webp-641149f9303701ad3f026b004dd086a9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/苹果/2.webp b/assets/作物/苹果/2.webp new file mode 100644 index 0000000..47130a6 Binary files /dev/null and b/assets/作物/苹果/2.webp differ diff --git a/assets/作物/苹果/2.webp.import b/assets/作物/苹果/2.webp.import new file mode 100644 index 0000000..e30c267 --- /dev/null +++ b/assets/作物/苹果/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ltehnepmw4bg" +path="res://.godot/imported/2.webp-602d6cdfcd48be44813e31cca5680e10.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/苹果/2.webp" +dest_files=["res://.godot/imported/2.webp-602d6cdfcd48be44813e31cca5680e10.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/苹果/成熟.webp b/assets/作物/苹果/成熟.webp new file mode 100644 index 0000000..0041bf6 Binary files /dev/null and b/assets/作物/苹果/成熟.webp differ diff --git a/assets/作物/苹果/成熟.webp.import b/assets/作物/苹果/成熟.webp.import new file mode 100644 index 0000000..fe9461d --- /dev/null +++ b/assets/作物/苹果/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4bua25lngvgb" +path="res://.godot/imported/成熟.webp-24456495d76e70d8ea61dc621801bd4f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/苹果/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-24456495d76e70d8ea61dc621801bd4f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/苹果/收获物.webp b/assets/作物/苹果/收获物.webp new file mode 100644 index 0000000..84fc0ea Binary files /dev/null and b/assets/作物/苹果/收获物.webp differ diff --git a/assets/作物/苹果/收获物.webp.import b/assets/作物/苹果/收获物.webp.import new file mode 100644 index 0000000..e96d0d2 --- /dev/null +++ b/assets/作物/苹果/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cstjadgs2m4vh" +path="res://.godot/imported/收获物.webp-41a75e1a20ab47db1fc18887771b8fe8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/苹果/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-41a75e1a20ab47db1fc18887771b8fe8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/茄子/0.webp.import b/assets/作物/茄子/0.webp.import new file mode 100644 index 0000000..a56e99e --- /dev/null +++ b/assets/作物/茄子/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2relmokao4gn" +path="res://.godot/imported/0.webp-36d34750f4bd00e7c1eb666e96647ee9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/茄子/0.webp" +dest_files=["res://.godot/imported/0.webp-36d34750f4bd00e7c1eb666e96647ee9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/茄子/1.webp.import b/assets/作物/茄子/1.webp.import new file mode 100644 index 0000000..e1091a8 --- /dev/null +++ b/assets/作物/茄子/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmh7i7q40yokn" +path="res://.godot/imported/1.webp-ce34854663611340cf0edc545aa47206.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/茄子/1.webp" +dest_files=["res://.godot/imported/1.webp-ce34854663611340cf0edc545aa47206.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/茄子/2.webp.import b/assets/作物/茄子/2.webp.import new file mode 100644 index 0000000..a24be74 --- /dev/null +++ b/assets/作物/茄子/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bymqt66jq44ek" +path="res://.godot/imported/2.webp-db36e15a75cfaced06e0c257580cd9f6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/茄子/2.webp" +dest_files=["res://.godot/imported/2.webp-db36e15a75cfaced06e0c257580cd9f6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/茄子/成熟.webp b/assets/作物/茄子/成熟.webp new file mode 100644 index 0000000..235555d Binary files /dev/null and b/assets/作物/茄子/成熟.webp differ diff --git a/assets/作物/茄子/成熟.webp.import b/assets/作物/茄子/成熟.webp.import new file mode 100644 index 0000000..8cd6c60 --- /dev/null +++ b/assets/作物/茄子/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ds3mw2sar6rg" +path="res://.godot/imported/成熟.webp-99b0d2f02d68cd656f209d4d520aea24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/茄子/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-99b0d2f02d68cd656f209d4d520aea24.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/茄子/收获物.webp b/assets/作物/茄子/收获物.webp new file mode 100644 index 0000000..b6f3ba6 Binary files /dev/null and b/assets/作物/茄子/收获物.webp differ diff --git a/assets/作物/茄子/收获物.webp.import b/assets/作物/茄子/收获物.webp.import new file mode 100644 index 0000000..e0b5b15 --- /dev/null +++ b/assets/作物/茄子/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cirvoh0q2nbu4" +path="res://.godot/imported/收获物.webp-66e9e0cd9a165dc3904f7d1567d59151.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/茄子/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-66e9e0cd9a165dc3904f7d1567d59151.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/草莓/0.webp.import b/assets/作物/草莓/0.webp.import new file mode 100644 index 0000000..8da830e --- /dev/null +++ b/assets/作物/草莓/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj6wx3hn723ea" +path="res://.godot/imported/0.webp-2ab061363d6616d0c555b531c06426bf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/草莓/0.webp" +dest_files=["res://.godot/imported/0.webp-2ab061363d6616d0c555b531c06426bf.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/草莓/1.webp.import b/assets/作物/草莓/1.webp.import new file mode 100644 index 0000000..2b623cb --- /dev/null +++ b/assets/作物/草莓/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blkk6dkvj7te1" +path="res://.godot/imported/1.webp-3841782e0390c135f87798553adbf2a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/草莓/1.webp" +dest_files=["res://.godot/imported/1.webp-3841782e0390c135f87798553adbf2a7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/草莓/2.webp.import b/assets/作物/草莓/2.webp.import new file mode 100644 index 0000000..1678f75 --- /dev/null +++ b/assets/作物/草莓/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3tvtfs8cfeg" +path="res://.godot/imported/2.webp-edeff81cf968d57361c5d65d8d2dfef7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/草莓/2.webp" +dest_files=["res://.godot/imported/2.webp-edeff81cf968d57361c5d65d8d2dfef7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/草莓/成熟.webp b/assets/作物/草莓/成熟.webp new file mode 100644 index 0000000..12c5c9f Binary files /dev/null and b/assets/作物/草莓/成熟.webp differ diff --git a/assets/作物/草莓/成熟.webp.import b/assets/作物/草莓/成熟.webp.import new file mode 100644 index 0000000..493dbfc --- /dev/null +++ b/assets/作物/草莓/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dggnbps356561" +path="res://.godot/imported/成熟.webp-a1fa3e0bd7e747b90e1d64cd3aae8a74.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/草莓/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-a1fa3e0bd7e747b90e1d64cd3aae8a74.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/草莓/收获物.webp b/assets/作物/草莓/收获物.webp new file mode 100644 index 0000000..cef5531 Binary files /dev/null and b/assets/作物/草莓/收获物.webp differ diff --git a/assets/作物/草莓/收获物.webp.import b/assets/作物/草莓/收获物.webp.import new file mode 100644 index 0000000..4e5cd7d --- /dev/null +++ b/assets/作物/草莓/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bybid0nspx6dg" +path="res://.godot/imported/收获物.webp-2b0d5677085dcc9d7249f9524bd2dc9a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/草莓/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-2b0d5677085dcc9d7249f9524bd2dc9a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/荔枝/0.webp b/assets/作物/荔枝/0.webp new file mode 100644 index 0000000..2a91097 Binary files /dev/null and b/assets/作物/荔枝/0.webp differ diff --git a/assets/作物/荔枝/0.webp.import b/assets/作物/荔枝/0.webp.import new file mode 100644 index 0000000..4e43766 --- /dev/null +++ b/assets/作物/荔枝/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dma1wlef2013r" +path="res://.godot/imported/0.webp-770fb6b369f54aa81b53d11cab998f4d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/荔枝/0.webp" +dest_files=["res://.godot/imported/0.webp-770fb6b369f54aa81b53d11cab998f4d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/荔枝/1.webp b/assets/作物/荔枝/1.webp new file mode 100644 index 0000000..9ce9f19 Binary files /dev/null and b/assets/作物/荔枝/1.webp differ diff --git a/assets/作物/荔枝/1.webp.import b/assets/作物/荔枝/1.webp.import new file mode 100644 index 0000000..536d206 --- /dev/null +++ b/assets/作物/荔枝/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nped2w3ftax7" +path="res://.godot/imported/1.webp-7c2f85d246b6375d34c7aaa8efb5e282.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/荔枝/1.webp" +dest_files=["res://.godot/imported/1.webp-7c2f85d246b6375d34c7aaa8efb5e282.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/荔枝/2.webp b/assets/作物/荔枝/2.webp new file mode 100644 index 0000000..db010ea Binary files /dev/null and b/assets/作物/荔枝/2.webp differ diff --git a/assets/作物/荔枝/2.webp.import b/assets/作物/荔枝/2.webp.import new file mode 100644 index 0000000..196491a --- /dev/null +++ b/assets/作物/荔枝/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3gvq8uwhcoqn" +path="res://.godot/imported/2.webp-b49b7261b4da765f0342d7c46df33b1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/荔枝/2.webp" +dest_files=["res://.godot/imported/2.webp-b49b7261b4da765f0342d7c46df33b1b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/荔枝/成熟.webp b/assets/作物/荔枝/成熟.webp new file mode 100644 index 0000000..d8bda8f Binary files /dev/null and b/assets/作物/荔枝/成熟.webp differ diff --git a/assets/作物/荔枝/成熟.webp.import b/assets/作物/荔枝/成熟.webp.import new file mode 100644 index 0000000..872c1c7 --- /dev/null +++ b/assets/作物/荔枝/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://52hymsrygc85" +path="res://.godot/imported/成熟.webp-c8db769eb816f5406c525ab38d2cbc8b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/荔枝/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-c8db769eb816f5406c525ab38d2cbc8b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/荔枝/收获物.webp b/assets/作物/荔枝/收获物.webp new file mode 100644 index 0000000..f9d6eb7 Binary files /dev/null and b/assets/作物/荔枝/收获物.webp differ diff --git a/assets/作物/荔枝/收获物.webp.import b/assets/作物/荔枝/收获物.webp.import new file mode 100644 index 0000000..27d7eda --- /dev/null +++ b/assets/作物/荔枝/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdl58gg13q8mn" +path="res://.godot/imported/收获物.webp-ac36a27fa2a6d48275cef7847832e137.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/荔枝/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-ac36a27fa2a6d48275cef7847832e137.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菊花/0.webp.import b/assets/作物/菊花/0.webp.import new file mode 100644 index 0000000..6e4ff79 --- /dev/null +++ b/assets/作物/菊花/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjj1gryqflt1t" +path="res://.godot/imported/0.webp-9d9949bb6a1386fbed7e4c51c136688c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菊花/0.webp" +dest_files=["res://.godot/imported/0.webp-9d9949bb6a1386fbed7e4c51c136688c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菊花/1.webp.import b/assets/作物/菊花/1.webp.import new file mode 100644 index 0000000..6f2573e --- /dev/null +++ b/assets/作物/菊花/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxjhwb7f28frn" +path="res://.godot/imported/1.webp-311d17dc428367d12e5e639e54b56fa8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菊花/1.webp" +dest_files=["res://.godot/imported/1.webp-311d17dc428367d12e5e639e54b56fa8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菊花/2.webp.import b/assets/作物/菊花/2.webp.import new file mode 100644 index 0000000..ad04953 --- /dev/null +++ b/assets/作物/菊花/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://boxnriycoc8b0" +path="res://.godot/imported/2.webp-0660b3ea02238e200a721f00ca5f8f45.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菊花/2.webp" +dest_files=["res://.godot/imported/2.webp-0660b3ea02238e200a721f00ca5f8f45.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菊花/3.webp.import b/assets/作物/菊花/3.webp.import new file mode 100644 index 0000000..291cfce --- /dev/null +++ b/assets/作物/菊花/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjiqvauycunm1" +path="res://.godot/imported/3.webp-97a151b252f82cf3a8891484324554ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菊花/3.webp" +dest_files=["res://.godot/imported/3.webp-97a151b252f82cf3a8891484324554ce.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菊花/成熟.webp b/assets/作物/菊花/成熟.webp new file mode 100644 index 0000000..d1b6161 Binary files /dev/null and b/assets/作物/菊花/成熟.webp differ diff --git a/assets/作物/菊花/成熟.webp.import b/assets/作物/菊花/成熟.webp.import new file mode 100644 index 0000000..740504c --- /dev/null +++ b/assets/作物/菊花/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4yvrbxj3upwu" +path="res://.godot/imported/成熟.webp-e1b94c4a5f439ebea85a414249d70fa2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菊花/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-e1b94c4a5f439ebea85a414249d70fa2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菠萝/0.webp.import b/assets/作物/菠萝/0.webp.import new file mode 100644 index 0000000..414ed96 --- /dev/null +++ b/assets/作物/菠萝/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxqmqjlvywmyg" +path="res://.godot/imported/0.webp-c840204e008d018d3954d9555c60757e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菠萝/0.webp" +dest_files=["res://.godot/imported/0.webp-c840204e008d018d3954d9555c60757e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菠萝/1.webp.import b/assets/作物/菠萝/1.webp.import new file mode 100644 index 0000000..04a4eb1 --- /dev/null +++ b/assets/作物/菠萝/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bec6d0r6ado03" +path="res://.godot/imported/1.webp-fc30a5c90656d31f264e297cbe8f6bb3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菠萝/1.webp" +dest_files=["res://.godot/imported/1.webp-fc30a5c90656d31f264e297cbe8f6bb3.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菠萝/2.webp.import b/assets/作物/菠萝/2.webp.import new file mode 100644 index 0000000..7974f43 --- /dev/null +++ b/assets/作物/菠萝/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cebdhsb2t5wn8" +path="res://.godot/imported/2.webp-5f261c884935746ca210270a4f317508.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菠萝/2.webp" +dest_files=["res://.godot/imported/2.webp-5f261c884935746ca210270a4f317508.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菠萝/成熟.webp b/assets/作物/菠萝/成熟.webp new file mode 100644 index 0000000..e75c2fa Binary files /dev/null and b/assets/作物/菠萝/成熟.webp differ diff --git a/assets/作物/菠萝/成熟.webp.import b/assets/作物/菠萝/成熟.webp.import new file mode 100644 index 0000000..f0351ac --- /dev/null +++ b/assets/作物/菠萝/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsd7bberyri87" +path="res://.godot/imported/成熟.webp-57a9abd3fb40af0439f6e7cd481919ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菠萝/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-57a9abd3fb40af0439f6e7cd481919ca.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/菠萝/收获物.webp b/assets/作物/菠萝/收获物.webp new file mode 100644 index 0000000..1721ef6 Binary files /dev/null and b/assets/作物/菠萝/收获物.webp differ diff --git a/assets/作物/菠萝/收获物.webp.import b/assets/作物/菠萝/收获物.webp.import new file mode 100644 index 0000000..2a5e23a --- /dev/null +++ b/assets/作物/菠萝/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm7d5rwoewjrf" +path="res://.godot/imported/收获物.webp-873f650c89d3aadacd989e6d568391cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/菠萝/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-873f650c89d3aadacd989e6d568391cb.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葡萄/0.webp.import b/assets/作物/葡萄/0.webp.import new file mode 100644 index 0000000..9a85d55 --- /dev/null +++ b/assets/作物/葡萄/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5j2063er1fbb" +path="res://.godot/imported/0.webp-3c9bc5458ac4d1d20150adeef631f948.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葡萄/0.webp" +dest_files=["res://.godot/imported/0.webp-3c9bc5458ac4d1d20150adeef631f948.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葡萄/1.webp.import b/assets/作物/葡萄/1.webp.import new file mode 100644 index 0000000..9c7af15 --- /dev/null +++ b/assets/作物/葡萄/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://donutph7otau0" +path="res://.godot/imported/1.webp-410948cfea3c9bbb1955b2c355f49775.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葡萄/1.webp" +dest_files=["res://.godot/imported/1.webp-410948cfea3c9bbb1955b2c355f49775.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葡萄/2.webp.import b/assets/作物/葡萄/2.webp.import new file mode 100644 index 0000000..16c12b2 --- /dev/null +++ b/assets/作物/葡萄/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwicdoljgj62x" +path="res://.godot/imported/2.webp-1222362b594d2572386b39af49332040.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葡萄/2.webp" +dest_files=["res://.godot/imported/2.webp-1222362b594d2572386b39af49332040.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葡萄/3.webp.import b/assets/作物/葡萄/3.webp.import new file mode 100644 index 0000000..4e022cb --- /dev/null +++ b/assets/作物/葡萄/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://66mxqo1fblq7" +path="res://.godot/imported/3.webp-ed6144ae010f6fe0cda41a3ef2908e68.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葡萄/3.webp" +dest_files=["res://.godot/imported/3.webp-ed6144ae010f6fe0cda41a3ef2908e68.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葡萄/4.webp.import b/assets/作物/葡萄/4.webp.import new file mode 100644 index 0000000..79ef0a6 --- /dev/null +++ b/assets/作物/葡萄/4.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qdi8o0e2ea0q" +path="res://.godot/imported/4.webp-9e93d493b62513b4d4ec39cfbd403c42.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葡萄/4.webp" +dest_files=["res://.godot/imported/4.webp-9e93d493b62513b4d4ec39cfbd403c42.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葡萄/成熟.webp b/assets/作物/葡萄/成熟.webp new file mode 100644 index 0000000..d20369b Binary files /dev/null and b/assets/作物/葡萄/成熟.webp differ diff --git a/assets/作物/葡萄/成熟.webp.import b/assets/作物/葡萄/成熟.webp.import new file mode 100644 index 0000000..c1ff57e --- /dev/null +++ b/assets/作物/葡萄/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://sp2kntpkq5rp" +path="res://.godot/imported/成熟.webp-c774df9f6934339efee397dc1caf6f98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葡萄/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-c774df9f6934339efee397dc1caf6f98.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葡萄/收获物.webp b/assets/作物/葡萄/收获物.webp new file mode 100644 index 0000000..69a1bb2 Binary files /dev/null and b/assets/作物/葡萄/收获物.webp differ diff --git a/assets/作物/葡萄/收获物.webp.import b/assets/作物/葡萄/收获物.webp.import new file mode 100644 index 0000000..bb3cf60 --- /dev/null +++ b/assets/作物/葡萄/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjdysmiirpegr" +path="res://.godot/imported/收获物.webp-8bada96b659a3aeaf29b5bf3c5fae270.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葡萄/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-8bada96b659a3aeaf29b5bf3c5fae270.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葫芦/0.webp b/assets/作物/葫芦/0.webp new file mode 100644 index 0000000..132db61 Binary files /dev/null and b/assets/作物/葫芦/0.webp differ diff --git a/assets/作物/葫芦/0.webp.import b/assets/作物/葫芦/0.webp.import new file mode 100644 index 0000000..9629cc7 --- /dev/null +++ b/assets/作物/葫芦/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ytcxefskv8a7" +path="res://.godot/imported/0.webp-3cde573a16bf0bea7109d657e0254dfc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葫芦/0.webp" +dest_files=["res://.godot/imported/0.webp-3cde573a16bf0bea7109d657e0254dfc.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葫芦/1.webp b/assets/作物/葫芦/1.webp new file mode 100644 index 0000000..0888b01 Binary files /dev/null and b/assets/作物/葫芦/1.webp differ diff --git a/assets/作物/葫芦/1.webp.import b/assets/作物/葫芦/1.webp.import new file mode 100644 index 0000000..4704248 --- /dev/null +++ b/assets/作物/葫芦/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bq6nratogyibo" +path="res://.godot/imported/1.webp-b0ca89ce5b2c2ab32d525acaaf2e4c58.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葫芦/1.webp" +dest_files=["res://.godot/imported/1.webp-b0ca89ce5b2c2ab32d525acaaf2e4c58.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葫芦/成熟.webp b/assets/作物/葫芦/成熟.webp new file mode 100644 index 0000000..4fb66df Binary files /dev/null and b/assets/作物/葫芦/成熟.webp differ diff --git a/assets/作物/葫芦/成熟.webp.import b/assets/作物/葫芦/成熟.webp.import new file mode 100644 index 0000000..3ad871f --- /dev/null +++ b/assets/作物/葫芦/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyrcmyqgtu6e2" +path="res://.godot/imported/成熟.webp-77431286f535b35107aa25e66d3ec8d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葫芦/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-77431286f535b35107aa25e66d3ec8d9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/葫芦/收获物.webp b/assets/作物/葫芦/收获物.webp new file mode 100644 index 0000000..91056c7 Binary files /dev/null and b/assets/作物/葫芦/收获物.webp differ diff --git a/assets/作物/葫芦/收获物.webp.import b/assets/作物/葫芦/收获物.webp.import new file mode 100644 index 0000000..22d7ff0 --- /dev/null +++ b/assets/作物/葫芦/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0sy3kyjxybsy" +path="res://.godot/imported/收获物.webp-52b69427c09dc9f1cc4189ff5640645f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/葫芦/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-52b69427c09dc9f1cc4189ff5640645f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蓝莓/0.webp.import b/assets/作物/蓝莓/0.webp.import new file mode 100644 index 0000000..c1d94c3 --- /dev/null +++ b/assets/作物/蓝莓/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4vbeal5jbahh" +path="res://.godot/imported/0.webp-6ab7697ce999322ab1f8c0d17a59198d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蓝莓/0.webp" +dest_files=["res://.godot/imported/0.webp-6ab7697ce999322ab1f8c0d17a59198d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蓝莓/1.webp.import b/assets/作物/蓝莓/1.webp.import new file mode 100644 index 0000000..41a8ee6 --- /dev/null +++ b/assets/作物/蓝莓/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://datuj5nfcu2hu" +path="res://.godot/imported/1.webp-86db52bb86484b3a2384a48a3f5bebb6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蓝莓/1.webp" +dest_files=["res://.godot/imported/1.webp-86db52bb86484b3a2384a48a3f5bebb6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蓝莓/2.webp.import b/assets/作物/蓝莓/2.webp.import new file mode 100644 index 0000000..8519417 --- /dev/null +++ b/assets/作物/蓝莓/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgo21735u4nth" +path="res://.godot/imported/2.webp-20e6ef4c29159dcc89bf05a46e169c43.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蓝莓/2.webp" +dest_files=["res://.godot/imported/2.webp-20e6ef4c29159dcc89bf05a46e169c43.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蓝莓/3.webp.import b/assets/作物/蓝莓/3.webp.import new file mode 100644 index 0000000..0caad2d --- /dev/null +++ b/assets/作物/蓝莓/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwrn27u53n7n5" +path="res://.godot/imported/3.webp-f4e371c63d187da595a4f246ed31f926.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蓝莓/3.webp" +dest_files=["res://.godot/imported/3.webp-f4e371c63d187da595a4f246ed31f926.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蓝莓/成熟.webp b/assets/作物/蓝莓/成熟.webp new file mode 100644 index 0000000..b5024b6 Binary files /dev/null and b/assets/作物/蓝莓/成熟.webp differ diff --git a/assets/作物/蓝莓/成熟.webp.import b/assets/作物/蓝莓/成熟.webp.import new file mode 100644 index 0000000..39f3cf7 --- /dev/null +++ b/assets/作物/蓝莓/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dq0anyfceqotd" +path="res://.godot/imported/成熟.webp-62b6c62f5e297489d1925b192a2b4408.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蓝莓/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-62b6c62f5e297489d1925b192a2b4408.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蓝莓/收获物.webp b/assets/作物/蓝莓/收获物.webp new file mode 100644 index 0000000..29e159a Binary files /dev/null and b/assets/作物/蓝莓/收获物.webp differ diff --git a/assets/作物/蓝莓/收获物.webp.import b/assets/作物/蓝莓/收获物.webp.import new file mode 100644 index 0000000..30c3712 --- /dev/null +++ b/assets/作物/蓝莓/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7niy4k2judsf" +path="res://.godot/imported/收获物.webp-9e9acd43bfc39f2e17959b0bf72265b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蓝莓/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-9e9acd43bfc39f2e17959b0bf72265b2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蕨菜/0.webp.import b/assets/作物/蕨菜/0.webp.import new file mode 100644 index 0000000..222981f --- /dev/null +++ b/assets/作物/蕨菜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm5kxxlw0v5xj" +path="res://.godot/imported/0.webp-4f606d99cec42a68e5a7d760eecfb51c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蕨菜/0.webp" +dest_files=["res://.godot/imported/0.webp-4f606d99cec42a68e5a7d760eecfb51c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蕨菜/1.webp b/assets/作物/蕨菜/1.webp index 629cb58..87ae745 100644 Binary files a/assets/作物/蕨菜/1.webp and b/assets/作物/蕨菜/1.webp differ diff --git a/assets/作物/蕨菜/1.webp.import b/assets/作物/蕨菜/1.webp.import new file mode 100644 index 0000000..11d0573 --- /dev/null +++ b/assets/作物/蕨菜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxk3gvj0noyi6" +path="res://.godot/imported/1.webp-396e258bcb8ce62798e63718e7c2b85b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蕨菜/1.webp" +dest_files=["res://.godot/imported/1.webp-396e258bcb8ce62798e63718e7c2b85b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蕨菜/2.webp b/assets/作物/蕨菜/2.webp index e94c138..fee7a3b 100644 Binary files a/assets/作物/蕨菜/2.webp and b/assets/作物/蕨菜/2.webp differ diff --git a/assets/作物/蕨菜/2.webp.import b/assets/作物/蕨菜/2.webp.import new file mode 100644 index 0000000..48c9d43 --- /dev/null +++ b/assets/作物/蕨菜/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cat2xh54d638t" +path="res://.godot/imported/2.webp-faca4bb9b9a81828f3324b15522b1f78.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蕨菜/2.webp" +dest_files=["res://.godot/imported/2.webp-faca4bb9b9a81828f3324b15522b1f78.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蕨菜/3.webp b/assets/作物/蕨菜/3.webp index 87ae745..7455be1 100644 Binary files a/assets/作物/蕨菜/3.webp and b/assets/作物/蕨菜/3.webp differ diff --git a/assets/作物/蕨菜/3.webp.import b/assets/作物/蕨菜/3.webp.import new file mode 100644 index 0000000..3eb4cad --- /dev/null +++ b/assets/作物/蕨菜/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pyj0olxh6fsj" +path="res://.godot/imported/3.webp-9c5b49c5921861c3e404042fa7fb04b0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蕨菜/3.webp" +dest_files=["res://.godot/imported/3.webp-9c5b49c5921861c3e404042fa7fb04b0.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蕨菜/成熟.webp b/assets/作物/蕨菜/成熟.webp new file mode 100644 index 0000000..8b9f2f7 Binary files /dev/null and b/assets/作物/蕨菜/成熟.webp differ diff --git a/assets/作物/蕨菜/成熟.webp.import b/assets/作物/蕨菜/成熟.webp.import new file mode 100644 index 0000000..05acb08 --- /dev/null +++ b/assets/作物/蕨菜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgqf6hnwtbv5p" +path="res://.godot/imported/成熟.webp-7e1a73c4092744c33ad10905a9c7b2b5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蕨菜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-7e1a73c4092744c33ad10905a9c7b2b5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/蕨菜/收获物.webp b/assets/作物/蕨菜/收获物.webp new file mode 100644 index 0000000..eb586ee Binary files /dev/null and b/assets/作物/蕨菜/收获物.webp differ diff --git a/assets/作物/蕨菜/收获物.webp.import b/assets/作物/蕨菜/收获物.webp.import new file mode 100644 index 0000000..4513ee5 --- /dev/null +++ b/assets/作物/蕨菜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://be02m3e5vgsr" +path="res://.godot/imported/收获物.webp-86b8eb1992aef221a3732939efb4aa98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/蕨菜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-86b8eb1992aef221a3732939efb4aa98.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/藏红花/0.webp b/assets/作物/藏红花/0.webp new file mode 100644 index 0000000..2ceba51 Binary files /dev/null and b/assets/作物/藏红花/0.webp differ diff --git a/assets/作物/藏红花/0.webp.import b/assets/作物/藏红花/0.webp.import new file mode 100644 index 0000000..6f18bac --- /dev/null +++ b/assets/作物/藏红花/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d28hutbdwtx6v" +path="res://.godot/imported/0.webp-290812172f0e7d4ec555e1942dc8b271.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/藏红花/0.webp" +dest_files=["res://.godot/imported/0.webp-290812172f0e7d4ec555e1942dc8b271.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/藏红花/1750049578133.webp b/assets/作物/藏红花/1750049578133.webp new file mode 100644 index 0000000..771d2cb Binary files /dev/null and b/assets/作物/藏红花/1750049578133.webp differ diff --git a/assets/作物/藏红花/1750049578133.webp.import b/assets/作物/藏红花/1750049578133.webp.import new file mode 100644 index 0000000..068a29f --- /dev/null +++ b/assets/作物/藏红花/1750049578133.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://v6rlqxcpory" +path="res://.godot/imported/1750049578133.webp-23f4b9b90577ca12afecaba5c0eade1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/藏红花/1750049578133.webp" +dest_files=["res://.godot/imported/1750049578133.webp-23f4b9b90577ca12afecaba5c0eade1e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/藏红花/成熟.webp b/assets/作物/藏红花/成熟.webp new file mode 100644 index 0000000..846dd3e Binary files /dev/null and b/assets/作物/藏红花/成熟.webp differ diff --git a/assets/作物/藏红花/成熟.webp.import b/assets/作物/藏红花/成熟.webp.import new file mode 100644 index 0000000..de41e2b --- /dev/null +++ b/assets/作物/藏红花/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cipadjmlds5i7" +path="res://.godot/imported/成熟.webp-d70cdf151d86d7cf01038e88e74d98b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/藏红花/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-d70cdf151d86d7cf01038e88e74d98b2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/藏红花/收获物.webp b/assets/作物/藏红花/收获物.webp new file mode 100644 index 0000000..bac9a0c Binary files /dev/null and b/assets/作物/藏红花/收获物.webp differ diff --git a/assets/作物/藏红花/收获物.webp.import b/assets/作物/藏红花/收获物.webp.import new file mode 100644 index 0000000..6d13625 --- /dev/null +++ b/assets/作物/藏红花/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmdiv2t5v8wlw" +path="res://.godot/imported/收获物.webp-cae209a93ed17140f7d8960a9dd401b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/藏红花/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-cae209a93ed17140f7d8960a9dd401b7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/藏羚羊草/0.webp b/assets/作物/藏羚羊草/0.webp new file mode 100644 index 0000000..1f50da9 Binary files /dev/null and b/assets/作物/藏羚羊草/0.webp differ diff --git a/assets/作物/藏羚羊草/0.webp.import b/assets/作物/藏羚羊草/0.webp.import new file mode 100644 index 0000000..ad9ea0f --- /dev/null +++ b/assets/作物/藏羚羊草/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8poukeb3nwvk" +path="res://.godot/imported/0.webp-a0e4963bed6a18c904ac17a6620df9e9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/藏羚羊草/0.webp" +dest_files=["res://.godot/imported/0.webp-a0e4963bed6a18c904ac17a6620df9e9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/藏羚羊草/成熟.webp b/assets/作物/藏羚羊草/成熟.webp new file mode 100644 index 0000000..673f3d8 Binary files /dev/null and b/assets/作物/藏羚羊草/成熟.webp differ diff --git a/assets/作物/藏羚羊草/成熟.webp.import b/assets/作物/藏羚羊草/成熟.webp.import new file mode 100644 index 0000000..36bf1dd --- /dev/null +++ b/assets/作物/藏羚羊草/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://iide3w3yj0x0" +path="res://.godot/imported/成熟.webp-9c3621b35f23eea3ce309f3cac028a4e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/藏羚羊草/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-9c3621b35f23eea3ce309f3cac028a4e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/藏羚羊草/收获物.webp b/assets/作物/藏羚羊草/收获物.webp new file mode 100644 index 0000000..7cad161 Binary files /dev/null and b/assets/作物/藏羚羊草/收获物.webp differ diff --git a/assets/作物/藏羚羊草/收获物.webp.import b/assets/作物/藏羚羊草/收获物.webp.import new file mode 100644 index 0000000..6f2c39b --- /dev/null +++ b/assets/作物/藏羚羊草/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h8njh0gy4f36" +path="res://.godot/imported/收获物.webp-7a37577638bd60fec539d06ff5f990af.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/藏羚羊草/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-7a37577638bd60fec539d06ff5f990af.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/西瓜/0.webp.import b/assets/作物/西瓜/0.webp.import new file mode 100644 index 0000000..5322185 --- /dev/null +++ b/assets/作物/西瓜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://s6svrmxvtgib" +path="res://.godot/imported/0.webp-bff9fa6d46f9a13fb83160cc8f1d336f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/西瓜/0.webp" +dest_files=["res://.godot/imported/0.webp-bff9fa6d46f9a13fb83160cc8f1d336f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/西瓜/1.webp.import b/assets/作物/西瓜/1.webp.import new file mode 100644 index 0000000..8dcfaf8 --- /dev/null +++ b/assets/作物/西瓜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djbq5kyngcfar" +path="res://.godot/imported/1.webp-98d0df050ac30abe9c9e8746d5ff33a9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/西瓜/1.webp" +dest_files=["res://.godot/imported/1.webp-98d0df050ac30abe9c9e8746d5ff33a9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/西瓜/2.webp.import b/assets/作物/西瓜/2.webp.import new file mode 100644 index 0000000..ed88e88 --- /dev/null +++ b/assets/作物/西瓜/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqu0gitvockaw" +path="res://.godot/imported/2.webp-7031d08f5d91a018cdbbd35445ad80d4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/西瓜/2.webp" +dest_files=["res://.godot/imported/2.webp-7031d08f5d91a018cdbbd35445ad80d4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/西瓜/3.webp b/assets/作物/西瓜/3.webp index 4f4d241..d9b0acf 100644 Binary files a/assets/作物/西瓜/3.webp and b/assets/作物/西瓜/3.webp differ diff --git a/assets/作物/西瓜/3.webp.import b/assets/作物/西瓜/3.webp.import new file mode 100644 index 0000000..9551319 --- /dev/null +++ b/assets/作物/西瓜/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn5xr6s2tar4l" +path="res://.godot/imported/3.webp-b4eb24719e162ffac02b9e777d005b30.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/西瓜/3.webp" +dest_files=["res://.godot/imported/3.webp-b4eb24719e162ffac02b9e777d005b30.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/西瓜/成熟.webp b/assets/作物/西瓜/成熟.webp new file mode 100644 index 0000000..47c22b6 Binary files /dev/null and b/assets/作物/西瓜/成熟.webp differ diff --git a/assets/作物/西瓜/成熟.webp.import b/assets/作物/西瓜/成熟.webp.import new file mode 100644 index 0000000..93263ee --- /dev/null +++ b/assets/作物/西瓜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0sh7g32l48fg" +path="res://.godot/imported/成熟.webp-0c6ddbac91be36190c0addcc9d3505c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/西瓜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-0c6ddbac91be36190c0addcc9d3505c6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/西瓜/收获物.webp b/assets/作物/西瓜/收获物.webp new file mode 100644 index 0000000..8046ea2 Binary files /dev/null and b/assets/作物/西瓜/收获物.webp differ diff --git a/assets/作物/西瓜/收获物.webp.import b/assets/作物/西瓜/收获物.webp.import new file mode 100644 index 0000000..27f4747 --- /dev/null +++ b/assets/作物/西瓜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5sbwv30qwsms" +path="res://.godot/imported/收获物.webp-d46ddd47eed64b4b33df2946e49f17eb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/西瓜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-d46ddd47eed64b4b33df2946e49f17eb.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/豌豆/0.webp.import b/assets/作物/豌豆/0.webp.import new file mode 100644 index 0000000..2d8b250 --- /dev/null +++ b/assets/作物/豌豆/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br4wibhkr1ygk" +path="res://.godot/imported/0.webp-d97af923ba518c626db0d948a95551e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/豌豆/0.webp" +dest_files=["res://.godot/imported/0.webp-d97af923ba518c626db0d948a95551e5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/豌豆/1.webp.import b/assets/作物/豌豆/1.webp.import new file mode 100644 index 0000000..dae9709 --- /dev/null +++ b/assets/作物/豌豆/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0dl87v36jfqx" +path="res://.godot/imported/1.webp-37cf91566b65b06fff08b3584d593329.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/豌豆/1.webp" +dest_files=["res://.godot/imported/1.webp-37cf91566b65b06fff08b3584d593329.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/豌豆/1750050678452.webp b/assets/作物/豌豆/1750050678452.webp new file mode 100644 index 0000000..23cd24b Binary files /dev/null and b/assets/作物/豌豆/1750050678452.webp differ diff --git a/assets/作物/豌豆/1750050678452.webp.import b/assets/作物/豌豆/1750050678452.webp.import new file mode 100644 index 0000000..33719b1 --- /dev/null +++ b/assets/作物/豌豆/1750050678452.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpm81uai150wp" +path="res://.godot/imported/1750050678452.webp-4ab24f4ce0098a1668f8979d72e482c2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/豌豆/1750050678452.webp" +dest_files=["res://.godot/imported/1750050678452.webp-4ab24f4ce0098a1668f8979d72e482c2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/豌豆/2.webp.import b/assets/作物/豌豆/2.webp.import new file mode 100644 index 0000000..d540546 --- /dev/null +++ b/assets/作物/豌豆/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ys68heiby4wb" +path="res://.godot/imported/2.webp-a7d990f2ba2a85322c96c776efa939db.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/豌豆/2.webp" +dest_files=["res://.godot/imported/2.webp-a7d990f2ba2a85322c96c776efa939db.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/豌豆/3.webp.import b/assets/作物/豌豆/3.webp.import new file mode 100644 index 0000000..5b3677f --- /dev/null +++ b/assets/作物/豌豆/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djfoyftrvrgei" +path="res://.godot/imported/3.webp-0202e02201cbbc0c2a9c9c04e71d639e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/豌豆/3.webp" +dest_files=["res://.godot/imported/3.webp-0202e02201cbbc0c2a9c9c04e71d639e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/豌豆/成熟.webp b/assets/作物/豌豆/成熟.webp new file mode 100644 index 0000000..6c3c658 Binary files /dev/null and b/assets/作物/豌豆/成熟.webp differ diff --git a/assets/作物/豌豆/成熟.webp.import b/assets/作物/豌豆/成熟.webp.import new file mode 100644 index 0000000..30b8d7e --- /dev/null +++ b/assets/作物/豌豆/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3k14ayir1kar" +path="res://.godot/imported/成熟.webp-5cd64de202453643cf26b763ff6537de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/豌豆/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-5cd64de202453643cf26b763ff6537de.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/豌豆/收获物.webp b/assets/作物/豌豆/收获物.webp new file mode 100644 index 0000000..c335008 Binary files /dev/null and b/assets/作物/豌豆/收获物.webp differ diff --git a/assets/作物/豌豆/收获物.webp.import b/assets/作物/豌豆/收获物.webp.import new file mode 100644 index 0000000..55b59b6 --- /dev/null +++ b/assets/作物/豌豆/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkrs3dieah6li" +path="res://.godot/imported/收获物.webp-3033edc95387436ffd65fdcfb858fa37.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/豌豆/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-3033edc95387436ffd65fdcfb858fa37.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/辣椒/0.webp.import b/assets/作物/辣椒/0.webp.import new file mode 100644 index 0000000..434ea1d --- /dev/null +++ b/assets/作物/辣椒/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb5wabhpibj21" +path="res://.godot/imported/0.webp-cdde946a87de815fd2fb81ab0bc58084.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/辣椒/0.webp" +dest_files=["res://.godot/imported/0.webp-cdde946a87de815fd2fb81ab0bc58084.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/辣椒/1.webp.import b/assets/作物/辣椒/1.webp.import new file mode 100644 index 0000000..bb933bc --- /dev/null +++ b/assets/作物/辣椒/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgimc1glr3oa4" +path="res://.godot/imported/1.webp-b9f36eef7356d58b59879abe678f482a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/辣椒/1.webp" +dest_files=["res://.godot/imported/1.webp-b9f36eef7356d58b59879abe678f482a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/辣椒/2.webp.import b/assets/作物/辣椒/2.webp.import new file mode 100644 index 0000000..647b200 --- /dev/null +++ b/assets/作物/辣椒/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd8yc8tklh2lp" +path="res://.godot/imported/2.webp-9499d58b4196aaca28f6aaf3b4a18238.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/辣椒/2.webp" +dest_files=["res://.godot/imported/2.webp-9499d58b4196aaca28f6aaf3b4a18238.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/辣椒/3.webp b/assets/作物/辣椒/3.webp index 39d4da2..1cbf807 100644 Binary files a/assets/作物/辣椒/3.webp and b/assets/作物/辣椒/3.webp differ diff --git a/assets/作物/辣椒/3.webp.import b/assets/作物/辣椒/3.webp.import new file mode 100644 index 0000000..9e04b55 --- /dev/null +++ b/assets/作物/辣椒/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dn0e7mr0pq27n" +path="res://.godot/imported/3.webp-47eb94a8cdb640770ddc9e0017b4057b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/辣椒/3.webp" +dest_files=["res://.godot/imported/3.webp-47eb94a8cdb640770ddc9e0017b4057b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/辣椒/成熟.webp b/assets/作物/辣椒/成熟.webp new file mode 100644 index 0000000..8d3c341 Binary files /dev/null and b/assets/作物/辣椒/成熟.webp differ diff --git a/assets/作物/辣椒/成熟.webp.import b/assets/作物/辣椒/成熟.webp.import new file mode 100644 index 0000000..8e6b1b6 --- /dev/null +++ b/assets/作物/辣椒/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpe7mn03q850w" +path="res://.godot/imported/成熟.webp-0b7fe7e2c8f8f9a0c4e82a442f54c162.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/辣椒/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-0b7fe7e2c8f8f9a0c4e82a442f54c162.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/迷迭香/0.webp b/assets/作物/迷迭香/0.webp new file mode 100644 index 0000000..ab8e01a Binary files /dev/null and b/assets/作物/迷迭香/0.webp differ diff --git a/assets/作物/迷迭香/0.webp.import b/assets/作物/迷迭香/0.webp.import new file mode 100644 index 0000000..e508895 --- /dev/null +++ b/assets/作物/迷迭香/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kexu5x30kquu" +path="res://.godot/imported/0.webp-34dd1f9ed497fa55ae64cfb1e28ba481.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/迷迭香/0.webp" +dest_files=["res://.godot/imported/0.webp-34dd1f9ed497fa55ae64cfb1e28ba481.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/迷迭香/成熟.webp b/assets/作物/迷迭香/成熟.webp new file mode 100644 index 0000000..3c8b4a4 Binary files /dev/null and b/assets/作物/迷迭香/成熟.webp differ diff --git a/assets/作物/迷迭香/成熟.webp.import b/assets/作物/迷迭香/成熟.webp.import new file mode 100644 index 0000000..0f9b5bf --- /dev/null +++ b/assets/作物/迷迭香/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3pnxr5fshwv1" +path="res://.godot/imported/成熟.webp-564abc382153fb1f76a2f557a9403063.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/迷迭香/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-564abc382153fb1f76a2f557a9403063.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/迷迭香/收获物.webp b/assets/作物/迷迭香/收获物.webp new file mode 100644 index 0000000..b563845 Binary files /dev/null and b/assets/作物/迷迭香/收获物.webp differ diff --git a/assets/作物/迷迭香/收获物.webp.import b/assets/作物/迷迭香/收获物.webp.import new file mode 100644 index 0000000..ddd6720 --- /dev/null +++ b/assets/作物/迷迭香/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs48a5074gush" +path="res://.godot/imported/收获物.webp-d2aec544e56cf3ed9d5e450612f3e454.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/迷迭香/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-d2aec544e56cf3ed9d5e450612f3e454.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/郁金香/0.webp b/assets/作物/郁金香/0.webp new file mode 100644 index 0000000..0912e79 Binary files /dev/null and b/assets/作物/郁金香/0.webp differ diff --git a/assets/作物/郁金香/0.webp.import b/assets/作物/郁金香/0.webp.import new file mode 100644 index 0000000..b063095 --- /dev/null +++ b/assets/作物/郁金香/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2soq7pxuv46t" +path="res://.godot/imported/0.webp-bf34bac11a02821661281cf42dfa9220.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/郁金香/0.webp" +dest_files=["res://.godot/imported/0.webp-bf34bac11a02821661281cf42dfa9220.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/郁金香/1.webp b/assets/作物/郁金香/1.webp new file mode 100644 index 0000000..edc3d2e Binary files /dev/null and b/assets/作物/郁金香/1.webp differ diff --git a/assets/作物/郁金香/1.webp.import b/assets/作物/郁金香/1.webp.import new file mode 100644 index 0000000..617a008 --- /dev/null +++ b/assets/作物/郁金香/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dw5rptsckwdef" +path="res://.godot/imported/1.webp-4ca893f839e036ce11591e8e64f567a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/郁金香/1.webp" +dest_files=["res://.godot/imported/1.webp-4ca893f839e036ce11591e8e64f567a7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/郁金香/2.webp b/assets/作物/郁金香/2.webp new file mode 100644 index 0000000..6bec074 Binary files /dev/null and b/assets/作物/郁金香/2.webp differ diff --git a/assets/作物/郁金香/2.webp.import b/assets/作物/郁金香/2.webp.import new file mode 100644 index 0000000..ee3d07f --- /dev/null +++ b/assets/作物/郁金香/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://m2xqwb1nds8" +path="res://.godot/imported/2.webp-0238b2b1f32f91172095d281a7e6f211.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/郁金香/2.webp" +dest_files=["res://.godot/imported/2.webp-0238b2b1f32f91172095d281a7e6f211.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/郁金香/成熟.webp b/assets/作物/郁金香/成熟.webp new file mode 100644 index 0000000..9625b0c Binary files /dev/null and b/assets/作物/郁金香/成熟.webp differ diff --git a/assets/作物/郁金香/成熟.webp.import b/assets/作物/郁金香/成熟.webp.import new file mode 100644 index 0000000..918cb9b --- /dev/null +++ b/assets/作物/郁金香/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy1aakc765ypp" +path="res://.godot/imported/成熟.webp-b92c4ee0d7a892c8bfcc72b361d3a9b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/郁金香/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-b92c4ee0d7a892c8bfcc72b361d3a9b1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/郁金香/收获物.webp b/assets/作物/郁金香/收获物.webp new file mode 100644 index 0000000..4b05e3b Binary files /dev/null and b/assets/作物/郁金香/收获物.webp differ diff --git a/assets/作物/郁金香/收获物.webp.import b/assets/作物/郁金香/收获物.webp.import new file mode 100644 index 0000000..2edec92 --- /dev/null +++ b/assets/作物/郁金香/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lhc4ri0y0adm" +path="res://.godot/imported/收获物.webp-24669d29e12968bdc1ba158d6626f896.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/郁金香/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-24669d29e12968bdc1ba158d6626f896.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/野草1/0.webp b/assets/作物/野草1/0.webp new file mode 100644 index 0000000..11bfdce Binary files /dev/null and b/assets/作物/野草1/0.webp differ diff --git a/assets/作物/野草1/0.webp.import b/assets/作物/野草1/0.webp.import new file mode 100644 index 0000000..12a13f7 --- /dev/null +++ b/assets/作物/野草1/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://umqoakibicy3" +path="res://.godot/imported/0.webp-22c272854d6c67420163f47fad039793.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/野草1/0.webp" +dest_files=["res://.godot/imported/0.webp-22c272854d6c67420163f47fad039793.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/野草1/成熟.webp b/assets/作物/野草1/成熟.webp new file mode 100644 index 0000000..11bfdce Binary files /dev/null and b/assets/作物/野草1/成熟.webp differ diff --git a/assets/作物/野草1/成熟.webp.import b/assets/作物/野草1/成熟.webp.import new file mode 100644 index 0000000..a5f18ba --- /dev/null +++ b/assets/作物/野草1/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hxx8p7bnpc4c" +path="res://.godot/imported/成熟.webp-2f981607e8e2abcba333b1d220b71de2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/野草1/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-2f981607e8e2abcba333b1d220b71de2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/野草2/0.webp b/assets/作物/野草2/0.webp new file mode 100644 index 0000000..de642dd Binary files /dev/null and b/assets/作物/野草2/0.webp differ diff --git a/assets/作物/野草2/0.webp.import b/assets/作物/野草2/0.webp.import new file mode 100644 index 0000000..ce1544d --- /dev/null +++ b/assets/作物/野草2/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw567k5n2wpvb" +path="res://.godot/imported/0.webp-ea1b3feda932d4edefd298fd98132085.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/野草2/0.webp" +dest_files=["res://.godot/imported/0.webp-ea1b3feda932d4edefd298fd98132085.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/野草2/成熟.webp b/assets/作物/野草2/成熟.webp new file mode 100644 index 0000000..de642dd Binary files /dev/null and b/assets/作物/野草2/成熟.webp differ diff --git a/assets/作物/野草2/成熟.webp.import b/assets/作物/野草2/成熟.webp.import new file mode 100644 index 0000000..a7d11cd --- /dev/null +++ b/assets/作物/野草2/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brd2g8iwgi7xy" +path="res://.godot/imported/成熟.webp-a31dd2b44eaf9ed0c4664624c7b3f138.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/野草2/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-a31dd2b44eaf9ed0c4664624c7b3f138.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/金橘/0.webp.import b/assets/作物/金橘/0.webp.import new file mode 100644 index 0000000..cd6e4ad --- /dev/null +++ b/assets/作物/金橘/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5y843jrxuy5g" +path="res://.godot/imported/0.webp-4fba096597bccb63294374982e34fdba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/金橘/0.webp" +dest_files=["res://.godot/imported/0.webp-4fba096597bccb63294374982e34fdba.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/金橘/1.webp.import b/assets/作物/金橘/1.webp.import new file mode 100644 index 0000000..d66e86d --- /dev/null +++ b/assets/作物/金橘/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjl6q61o7yrb3" +path="res://.godot/imported/1.webp-77717525600de5be53d1a2237a00310d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/金橘/1.webp" +dest_files=["res://.godot/imported/1.webp-77717525600de5be53d1a2237a00310d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/金橘/2.webp.import b/assets/作物/金橘/2.webp.import new file mode 100644 index 0000000..1f0c400 --- /dev/null +++ b/assets/作物/金橘/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ocdwf8gp134b" +path="res://.godot/imported/2.webp-4b31387816aa95bf278bc2aa4a9f50b8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/金橘/2.webp" +dest_files=["res://.godot/imported/2.webp-4b31387816aa95bf278bc2aa4a9f50b8.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/金橘/3.webp.import b/assets/作物/金橘/3.webp.import new file mode 100644 index 0000000..a97452a --- /dev/null +++ b/assets/作物/金橘/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcnid02pfg2rw" +path="res://.godot/imported/3.webp-4f4b7d01c9a99e68ffacd33dc805ac7f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/金橘/3.webp" +dest_files=["res://.godot/imported/3.webp-4f4b7d01c9a99e68ffacd33dc805ac7f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/金橘/4.webp.import b/assets/作物/金橘/4.webp.import new file mode 100644 index 0000000..8325978 --- /dev/null +++ b/assets/作物/金橘/4.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxocxakgxsr4k" +path="res://.godot/imported/4.webp-3358193d602eee14eddfddcab78a6276.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/金橘/4.webp" +dest_files=["res://.godot/imported/4.webp-3358193d602eee14eddfddcab78a6276.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/金橘/成熟.webp b/assets/作物/金橘/成熟.webp new file mode 100644 index 0000000..55aefa9 Binary files /dev/null and b/assets/作物/金橘/成熟.webp differ diff --git a/assets/作物/金橘/成熟.webp.import b/assets/作物/金橘/成熟.webp.import new file mode 100644 index 0000000..4dae3e0 --- /dev/null +++ b/assets/作物/金橘/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfdx6s2q25wva" +path="res://.godot/imported/成熟.webp-e3c283fa137bc07cacbddf96dd20cf92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/金橘/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-e3c283fa137bc07cacbddf96dd20cf92.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/金橘/收获物.webp b/assets/作物/金橘/收获物.webp new file mode 100644 index 0000000..cea3225 Binary files /dev/null and b/assets/作物/金橘/收获物.webp differ diff --git a/assets/作物/金橘/收获物.webp.import b/assets/作物/金橘/收获物.webp.import new file mode 100644 index 0000000..d472271 --- /dev/null +++ b/assets/作物/金橘/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://607uj8hsiicg" +path="res://.godot/imported/收获物.webp-d9a0f2ceb4c923af27c244387826c7a4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/金橘/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-d9a0f2ceb4c923af27c244387826c7a4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/面包树/0.webp b/assets/作物/面包树/0.webp new file mode 100644 index 0000000..c07d7e0 Binary files /dev/null and b/assets/作物/面包树/0.webp differ diff --git a/assets/作物/面包树/0.webp.import b/assets/作物/面包树/0.webp.import new file mode 100644 index 0000000..618c464 --- /dev/null +++ b/assets/作物/面包树/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://epxdsofbaea5" +path="res://.godot/imported/0.webp-0028f2b251da37c92e19b793a2484504.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/面包树/0.webp" +dest_files=["res://.godot/imported/0.webp-0028f2b251da37c92e19b793a2484504.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/面包树/1.webp b/assets/作物/面包树/1.webp new file mode 100644 index 0000000..e204ec3 Binary files /dev/null and b/assets/作物/面包树/1.webp differ diff --git a/assets/作物/面包树/1.webp.import b/assets/作物/面包树/1.webp.import new file mode 100644 index 0000000..f2fb881 --- /dev/null +++ b/assets/作物/面包树/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlafxr2bfdi4m" +path="res://.godot/imported/1.webp-e717a8981e862bbea967fbb16f5bb9dd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/面包树/1.webp" +dest_files=["res://.godot/imported/1.webp-e717a8981e862bbea967fbb16f5bb9dd.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/面包树/2.webp b/assets/作物/面包树/2.webp new file mode 100644 index 0000000..6803053 Binary files /dev/null and b/assets/作物/面包树/2.webp differ diff --git a/assets/作物/面包树/2.webp.import b/assets/作物/面包树/2.webp.import new file mode 100644 index 0000000..75a075e --- /dev/null +++ b/assets/作物/面包树/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ch4g6tqiw2k5y" +path="res://.godot/imported/2.webp-a58b3c890aa5282170eba8fa37594700.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/面包树/2.webp" +dest_files=["res://.godot/imported/2.webp-a58b3c890aa5282170eba8fa37594700.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/面包树/成熟.webp b/assets/作物/面包树/成熟.webp new file mode 100644 index 0000000..e8b4bcc Binary files /dev/null and b/assets/作物/面包树/成熟.webp differ diff --git a/assets/作物/面包树/成熟.webp.import b/assets/作物/面包树/成熟.webp.import new file mode 100644 index 0000000..d5ecdc0 --- /dev/null +++ b/assets/作物/面包树/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ce3rcwl7vitjf" +path="res://.godot/imported/成熟.webp-bdd5e46e00121f0304c4d1e3610fb163.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/面包树/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-bdd5e46e00121f0304c4d1e3610fb163.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/面包树/收获物.webp b/assets/作物/面包树/收获物.webp new file mode 100644 index 0000000..b70c48d Binary files /dev/null and b/assets/作物/面包树/收获物.webp differ diff --git a/assets/作物/面包树/收获物.webp.import b/assets/作物/面包树/收获物.webp.import new file mode 100644 index 0000000..5c75a5c --- /dev/null +++ b/assets/作物/面包树/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://26nsnoyp553" +path="res://.godot/imported/收获物.webp-9a2031f3e27f03049a0d5d963cdec35e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/面包树/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-9a2031f3e27f03049a0d5d963cdec35e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香草/0.webp.import b/assets/作物/香草/0.webp.import new file mode 100644 index 0000000..db7c78e --- /dev/null +++ b/assets/作物/香草/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bacwb84hg1vc1" +path="res://.godot/imported/0.webp-a2c2065cbbf4055759fddaf59fee8e80.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香草/0.webp" +dest_files=["res://.godot/imported/0.webp-a2c2065cbbf4055759fddaf59fee8e80.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香草/1.webp.import b/assets/作物/香草/1.webp.import new file mode 100644 index 0000000..b228065 --- /dev/null +++ b/assets/作物/香草/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br17m2glicuk2" +path="res://.godot/imported/1.webp-ba0df3c4e6892988e3335d48781be5a9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香草/1.webp" +dest_files=["res://.godot/imported/1.webp-ba0df3c4e6892988e3335d48781be5a9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香草/2.webp.import b/assets/作物/香草/2.webp.import new file mode 100644 index 0000000..340dc6e --- /dev/null +++ b/assets/作物/香草/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr1bkps21rhpf" +path="res://.godot/imported/2.webp-08dd39e889e74eabfa717eb3bbb4c65b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香草/2.webp" +dest_files=["res://.godot/imported/2.webp-08dd39e889e74eabfa717eb3bbb4c65b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香草/成熟.webp b/assets/作物/香草/成熟.webp new file mode 100644 index 0000000..7cd688b Binary files /dev/null and b/assets/作物/香草/成熟.webp differ diff --git a/assets/作物/香草/成熟.webp.import b/assets/作物/香草/成熟.webp.import new file mode 100644 index 0000000..98a7f73 --- /dev/null +++ b/assets/作物/香草/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b11oc45dtyie1" +path="res://.godot/imported/成熟.webp-329686c50bd052759ebf61297b0d1777.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香草/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-329686c50bd052759ebf61297b0d1777.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香蕉/0.webp b/assets/作物/香蕉/0.webp new file mode 100644 index 0000000..5fd5304 Binary files /dev/null and b/assets/作物/香蕉/0.webp differ diff --git a/assets/作物/香蕉/0.webp.import b/assets/作物/香蕉/0.webp.import new file mode 100644 index 0000000..63b5afb --- /dev/null +++ b/assets/作物/香蕉/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dybnap1unbyco" +path="res://.godot/imported/0.webp-a26b7db511da0be1b5851627826b19ea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香蕉/0.webp" +dest_files=["res://.godot/imported/0.webp-a26b7db511da0be1b5851627826b19ea.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香蕉/1.webp b/assets/作物/香蕉/1.webp new file mode 100644 index 0000000..fcda389 Binary files /dev/null and b/assets/作物/香蕉/1.webp differ diff --git a/assets/作物/香蕉/1.webp.import b/assets/作物/香蕉/1.webp.import new file mode 100644 index 0000000..747dd4d --- /dev/null +++ b/assets/作物/香蕉/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://r1hwr7mp6kop" +path="res://.godot/imported/1.webp-2d1172d84969108807260f177be70770.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香蕉/1.webp" +dest_files=["res://.godot/imported/1.webp-2d1172d84969108807260f177be70770.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香蕉/2.webp b/assets/作物/香蕉/2.webp new file mode 100644 index 0000000..870fa95 Binary files /dev/null and b/assets/作物/香蕉/2.webp differ diff --git a/assets/作物/香蕉/2.webp.import b/assets/作物/香蕉/2.webp.import new file mode 100644 index 0000000..ed99725 --- /dev/null +++ b/assets/作物/香蕉/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brjayf2aobhdf" +path="res://.godot/imported/2.webp-09890272cda4c2a6241bf6895fcfbaee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香蕉/2.webp" +dest_files=["res://.godot/imported/2.webp-09890272cda4c2a6241bf6895fcfbaee.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香蕉/成熟.webp b/assets/作物/香蕉/成熟.webp new file mode 100644 index 0000000..25b07fe Binary files /dev/null and b/assets/作物/香蕉/成熟.webp differ diff --git a/assets/作物/香蕉/成熟.webp.import b/assets/作物/香蕉/成熟.webp.import new file mode 100644 index 0000000..8c43082 --- /dev/null +++ b/assets/作物/香蕉/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvjwf557g2gtv" +path="res://.godot/imported/成熟.webp-c8bf40bf7eb9b7678da05c0f1d1ab395.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香蕉/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-c8bf40bf7eb9b7678da05c0f1d1ab395.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/香蕉/收获物.webp b/assets/作物/香蕉/收获物.webp new file mode 100644 index 0000000..4bc9534 Binary files /dev/null and b/assets/作物/香蕉/收获物.webp differ diff --git a/assets/作物/香蕉/收获物.webp.import b/assets/作物/香蕉/收获物.webp.import new file mode 100644 index 0000000..40f4118 --- /dev/null +++ b/assets/作物/香蕉/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djxygce20j4gt" +path="res://.godot/imported/收获物.webp-4607e379f81ca205beb7aa8f9b932eae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/香蕉/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-4607e379f81ca205beb7aa8f9b932eae.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/鱼腥草/0.webp.import b/assets/作物/鱼腥草/0.webp.import new file mode 100644 index 0000000..d3fcec7 --- /dev/null +++ b/assets/作物/鱼腥草/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b14yd7n3hft76" +path="res://.godot/imported/0.webp-2fd4acfdb672a2c67b294532d00c0200.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/鱼腥草/0.webp" +dest_files=["res://.godot/imported/0.webp-2fd4acfdb672a2c67b294532d00c0200.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/鱼腥草/1.webp.import b/assets/作物/鱼腥草/1.webp.import new file mode 100644 index 0000000..6210115 --- /dev/null +++ b/assets/作物/鱼腥草/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6rnv1le04tge" +path="res://.godot/imported/1.webp-c5699df20a306833a050b0d79c162427.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/鱼腥草/1.webp" +dest_files=["res://.godot/imported/1.webp-c5699df20a306833a050b0d79c162427.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/鱼腥草/2.webp.import b/assets/作物/鱼腥草/2.webp.import new file mode 100644 index 0000000..08b30fd --- /dev/null +++ b/assets/作物/鱼腥草/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vtu3ccb6mgch" +path="res://.godot/imported/2.webp-b75eb760b8a82bd7b94a4da851fb4c12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/鱼腥草/2.webp" +dest_files=["res://.godot/imported/2.webp-b75eb760b8a82bd7b94a4da851fb4c12.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/鱼腥草/成熟.webp b/assets/作物/鱼腥草/成熟.webp new file mode 100644 index 0000000..4aff255 Binary files /dev/null and b/assets/作物/鱼腥草/成熟.webp differ diff --git a/assets/作物/鱼腥草/成熟.webp.import b/assets/作物/鱼腥草/成熟.webp.import new file mode 100644 index 0000000..722b078 --- /dev/null +++ b/assets/作物/鱼腥草/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d6su6yov1s8b" +path="res://.godot/imported/成熟.webp-45659893db964702ef7b1b33d8edf43f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/鱼腥草/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-45659893db964702ef7b1b33d8edf43f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/鱼腥草/收获物.webp b/assets/作物/鱼腥草/收获物.webp new file mode 100644 index 0000000..8e7f5be Binary files /dev/null and b/assets/作物/鱼腥草/收获物.webp differ diff --git a/assets/作物/鱼腥草/收获物.webp.import b/assets/作物/鱼腥草/收获物.webp.import new file mode 100644 index 0000000..7b89f62 --- /dev/null +++ b/assets/作物/鱼腥草/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://77cdla6dxlf" +path="res://.godot/imported/收获物.webp-507d97abe408a08761fcee609c594372.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/鱼腥草/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-507d97abe408a08761fcee609c594372.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/黄瓜/0.webp.import b/assets/作物/黄瓜/0.webp.import new file mode 100644 index 0000000..7a2bc3a --- /dev/null +++ b/assets/作物/黄瓜/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bi0rvj488ms4u" +path="res://.godot/imported/0.webp-0ebe39e8fbdd1b174c23938419dbb842.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/黄瓜/0.webp" +dest_files=["res://.godot/imported/0.webp-0ebe39e8fbdd1b174c23938419dbb842.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/黄瓜/1.webp.import b/assets/作物/黄瓜/1.webp.import new file mode 100644 index 0000000..c3d5a4a --- /dev/null +++ b/assets/作物/黄瓜/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1qi0iyq3tl0h" +path="res://.godot/imported/1.webp-63fe7b61f360d3b765638f35d79b854e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/黄瓜/1.webp" +dest_files=["res://.godot/imported/1.webp-63fe7b61f360d3b765638f35d79b854e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/黄瓜/成熟.webp b/assets/作物/黄瓜/成熟.webp new file mode 100644 index 0000000..0868493 Binary files /dev/null and b/assets/作物/黄瓜/成熟.webp differ diff --git a/assets/作物/黄瓜/成熟.webp.import b/assets/作物/黄瓜/成熟.webp.import new file mode 100644 index 0000000..4161988 --- /dev/null +++ b/assets/作物/黄瓜/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2t10cit1pwbp" +path="res://.godot/imported/成熟.webp-902a43874b1117c6c508c1318ddf6fc0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/黄瓜/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-902a43874b1117c6c508c1318ddf6fc0.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/黄瓜/收获物.webp b/assets/作物/黄瓜/收获物.webp new file mode 100644 index 0000000..670a836 Binary files /dev/null and b/assets/作物/黄瓜/收获物.webp differ diff --git a/assets/作物/黄瓜/收获物.webp.import b/assets/作物/黄瓜/收获物.webp.import new file mode 100644 index 0000000..ddc3456 --- /dev/null +++ b/assets/作物/黄瓜/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxjiq14jlcswn" +path="res://.godot/imported/收获物.webp-317c880a96c5c1d3f7220fdb6e06e697.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/黄瓜/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-317c880a96c5c1d3f7220fdb6e06e697.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/默认/0.webp.import b/assets/作物/默认/0.webp.import new file mode 100644 index 0000000..bd3eefc --- /dev/null +++ b/assets/作物/默认/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wa7652nprfrn" +path="res://.godot/imported/0.webp-81042deccc217662b6bde3499fcaa45b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/默认/0.webp" +dest_files=["res://.godot/imported/0.webp-81042deccc217662b6bde3499fcaa45b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/默认/成熟.webp b/assets/作物/默认/成熟.webp new file mode 100644 index 0000000..13c7ea6 Binary files /dev/null and b/assets/作物/默认/成熟.webp differ diff --git a/assets/作物/默认/成熟.webp.import b/assets/作物/默认/成熟.webp.import new file mode 100644 index 0000000..201451d --- /dev/null +++ b/assets/作物/默认/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxn5y22x4jjfc" +path="res://.godot/imported/成熟.webp-8e1b0929e967be8399c6d766d2f80a96.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/默认/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-8e1b0929e967be8399c6d766d2f80a96.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/默认/收获物.webp b/assets/作物/默认/收获物.webp new file mode 100644 index 0000000..1a9330d Binary files /dev/null and b/assets/作物/默认/收获物.webp differ diff --git a/assets/作物/默认/收获物.webp.import b/assets/作物/默认/收获物.webp.import new file mode 100644 index 0000000..2457d66 --- /dev/null +++ b/assets/作物/默认/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://evsfadodln0d" +path="res://.godot/imported/收获物.webp-e9cdfca4c09c0d9bbe5cf6d2ed7d610b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/默认/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-e9cdfca4c09c0d9bbe5cf6d2ed7d610b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/龙果/0.webp.import b/assets/作物/龙果/0.webp.import new file mode 100644 index 0000000..d5ae6fc --- /dev/null +++ b/assets/作物/龙果/0.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://guomvqnwo431" +path="res://.godot/imported/0.webp-abe5a1431a6366008fdf5287dfdb477e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/龙果/0.webp" +dest_files=["res://.godot/imported/0.webp-abe5a1431a6366008fdf5287dfdb477e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/龙果/1.webp.import b/assets/作物/龙果/1.webp.import new file mode 100644 index 0000000..f4cb879 --- /dev/null +++ b/assets/作物/龙果/1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2xubwdtjfb4t" +path="res://.godot/imported/1.webp-8fb0c6b4a129133d1ee73c033d91eb9b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/龙果/1.webp" +dest_files=["res://.godot/imported/1.webp-8fb0c6b4a129133d1ee73c033d91eb9b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/龙果/1750050751553.webp b/assets/作物/龙果/1750050751553.webp new file mode 100644 index 0000000..c5114a4 Binary files /dev/null and b/assets/作物/龙果/1750050751553.webp differ diff --git a/assets/作物/龙果/1750050751553.webp.import b/assets/作物/龙果/1750050751553.webp.import new file mode 100644 index 0000000..a0d9e53 --- /dev/null +++ b/assets/作物/龙果/1750050751553.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bimgik5lmflxn" +path="res://.godot/imported/1750050751553.webp-984df86d52a2bcb2aae87c6972c25713.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/龙果/1750050751553.webp" +dest_files=["res://.godot/imported/1750050751553.webp-984df86d52a2bcb2aae87c6972c25713.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/龙果/2.webp.import b/assets/作物/龙果/2.webp.import new file mode 100644 index 0000000..f337c9c --- /dev/null +++ b/assets/作物/龙果/2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bd2g1vr3k73y0" +path="res://.godot/imported/2.webp-b5e15d99621fc06f6189df048a82bcbf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/龙果/2.webp" +dest_files=["res://.godot/imported/2.webp-b5e15d99621fc06f6189df048a82bcbf.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/龙果/3.webp.import b/assets/作物/龙果/3.webp.import new file mode 100644 index 0000000..1bb04b5 --- /dev/null +++ b/assets/作物/龙果/3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xvhtmftmngfj" +path="res://.godot/imported/3.webp-a600e9cf00817a380233c71c85349700.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/龙果/3.webp" +dest_files=["res://.godot/imported/3.webp-a600e9cf00817a380233c71c85349700.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/龙果/成熟.webp b/assets/作物/龙果/成熟.webp new file mode 100644 index 0000000..6562d0a Binary files /dev/null and b/assets/作物/龙果/成熟.webp differ diff --git a/assets/作物/龙果/成熟.webp.import b/assets/作物/龙果/成熟.webp.import new file mode 100644 index 0000000..90f3e6d --- /dev/null +++ b/assets/作物/龙果/成熟.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8oc7bjhgvnk3" +path="res://.godot/imported/成熟.webp-cfb1082a13de1f84f911562103603428.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/龙果/成熟.webp" +dest_files=["res://.godot/imported/成熟.webp-cfb1082a13de1f84f911562103603428.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/作物/龙果/收获物.webp b/assets/作物/龙果/收获物.webp new file mode 100644 index 0000000..769d08e Binary files /dev/null and b/assets/作物/龙果/收获物.webp differ diff --git a/assets/作物/龙果/收获物.webp.import b/assets/作物/龙果/收获物.webp.import new file mode 100644 index 0000000..8e97ecf --- /dev/null +++ b/assets/作物/龙果/收获物.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dly55ejnqb3v0" +path="res://.godot/imported/收获物.webp-ca77f8ebf5c1a156f100603ce74b3421.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/作物/龙果/收获物.webp" +dest_files=["res://.godot/imported/收获物.webp-ca77f8ebf5c1a156f100603ce74b3421.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/升级图标.webp b/assets/土地面板图标/升级图标.webp new file mode 100644 index 0000000..98f50a7 Binary files /dev/null and b/assets/土地面板图标/升级图标.webp differ diff --git a/assets/土地面板图标/升级图标.webp.import b/assets/土地面板图标/升级图标.webp.import new file mode 100644 index 0000000..e64ce78 --- /dev/null +++ b/assets/土地面板图标/升级图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bswq0nhkxup54" +path="res://.godot/imported/升级图标.webp-a668bcf77619d4c4d3256838639c9d92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/升级图标.webp" +dest_files=["res://.godot/imported/升级图标.webp-a668bcf77619d4c4d3256838639c9d92.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/升级图标2.webp b/assets/土地面板图标/升级图标2.webp new file mode 100644 index 0000000..9a47085 Binary files /dev/null and b/assets/土地面板图标/升级图标2.webp differ diff --git a/assets/土地面板图标/升级图标2.webp.import b/assets/土地面板图标/升级图标2.webp.import new file mode 100644 index 0000000..7e32975 --- /dev/null +++ b/assets/土地面板图标/升级图标2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bj8lfoiwcsdat" +path="res://.godot/imported/升级图标2.webp-c084ff9747e4b6cac2da2b634f9bea39.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/升级图标2.webp" +dest_files=["res://.godot/imported/升级图标2.webp-c084ff9747e4b6cac2da2b634f9bea39.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/开垦图标2.webp b/assets/土地面板图标/开垦图标2.webp new file mode 100644 index 0000000..50a0080 Binary files /dev/null and b/assets/土地面板图标/开垦图标2.webp differ diff --git a/assets/土地面板图标/开垦图标2.webp.import b/assets/土地面板图标/开垦图标2.webp.import new file mode 100644 index 0000000..8a5a1ea --- /dev/null +++ b/assets/土地面板图标/开垦图标2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xjnhvbvi4sdc" +path="res://.godot/imported/开垦图标2.webp-4e5f550c3449b8fb245c4305b2fc93c5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/开垦图标2.webp" +dest_files=["res://.godot/imported/开垦图标2.webp-4e5f550c3449b8fb245c4305b2fc93c5.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/开垦图标4.webp b/assets/土地面板图标/开垦图标4.webp new file mode 100644 index 0000000..b7182e2 Binary files /dev/null and b/assets/土地面板图标/开垦图标4.webp differ diff --git a/assets/土地面板图标/开垦图标4.webp.import b/assets/土地面板图标/开垦图标4.webp.import new file mode 100644 index 0000000..83c8ed3 --- /dev/null +++ b/assets/土地面板图标/开垦图标4.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcd7ykcakjvxw" +path="res://.godot/imported/开垦图标4.webp-a8add27a7d6872490032cb6af4b77d6f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/开垦图标4.webp" +dest_files=["res://.godot/imported/开垦图标4.webp-a8add27a7d6872490032cb6af4b77d6f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/收获图标.webp b/assets/土地面板图标/收获图标.webp new file mode 100644 index 0000000..241cf9c Binary files /dev/null and b/assets/土地面板图标/收获图标.webp differ diff --git a/assets/土地面板图标/收获图标.webp.import b/assets/土地面板图标/收获图标.webp.import new file mode 100644 index 0000000..e2452d7 --- /dev/null +++ b/assets/土地面板图标/收获图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3hjwkw68lgif" +path="res://.godot/imported/收获图标.webp-aa6e4a3241b52001dd2d1ecdc6844c64.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/收获图标.webp" +dest_files=["res://.godot/imported/收获图标.webp-aa6e4a3241b52001dd2d1ecdc6844c64.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/收获图标2.webp b/assets/土地面板图标/收获图标2.webp new file mode 100644 index 0000000..e6a6867 Binary files /dev/null and b/assets/土地面板图标/收获图标2.webp differ diff --git a/assets/土地面板图标/收获图标2.webp.import b/assets/土地面板图标/收获图标2.webp.import new file mode 100644 index 0000000..126107f --- /dev/null +++ b/assets/土地面板图标/收获图标2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbjjf50ysykqu" +path="res://.godot/imported/收获图标2.webp-cef460c7b3f7a0f1abeaae673fd85f7b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/收获图标2.webp" +dest_files=["res://.godot/imported/收获图标2.webp-cef460c7b3f7a0f1abeaae673fd85f7b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/施肥图标.webp b/assets/土地面板图标/施肥图标.webp new file mode 100644 index 0000000..8cd5cb9 Binary files /dev/null and b/assets/土地面板图标/施肥图标.webp differ diff --git a/assets/土地面板图标/施肥图标.webp.import b/assets/土地面板图标/施肥图标.webp.import new file mode 100644 index 0000000..edd1400 --- /dev/null +++ b/assets/土地面板图标/施肥图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gc7gmjwyrxje" +path="res://.godot/imported/施肥图标.webp-94c1da12f6a63d9a176e91dbee0bff94.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/施肥图标.webp" +dest_files=["res://.godot/imported/施肥图标.webp-94c1da12f6a63d9a176e91dbee0bff94.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/浇水图标.webp b/assets/土地面板图标/浇水图标.webp new file mode 100644 index 0000000..06eef4b Binary files /dev/null and b/assets/土地面板图标/浇水图标.webp differ diff --git a/assets/土地面板图标/浇水图标.webp.import b/assets/土地面板图标/浇水图标.webp.import new file mode 100644 index 0000000..81d36f0 --- /dev/null +++ b/assets/土地面板图标/浇水图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2qpqpylm5p7b" +path="res://.godot/imported/浇水图标.webp-9de0a5057430ae87e13134d10b09e9c1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/浇水图标.webp" +dest_files=["res://.godot/imported/浇水图标.webp-9de0a5057430ae87e13134d10b09e9c1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/浇水图标2.webp b/assets/土地面板图标/浇水图标2.webp new file mode 100644 index 0000000..bf92ff1 Binary files /dev/null and b/assets/土地面板图标/浇水图标2.webp differ diff --git a/assets/土地面板图标/浇水图标2.webp.import b/assets/土地面板图标/浇水图标2.webp.import new file mode 100644 index 0000000..21a5b0e --- /dev/null +++ b/assets/土地面板图标/浇水图标2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv5r7px2pukqf" +path="res://.godot/imported/浇水图标2.webp-ceb387cd454775dc32166c24d81b4a89.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/浇水图标2.webp" +dest_files=["res://.godot/imported/浇水图标2.webp-ceb387cd454775dc32166c24d81b4a89.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/浇水图标3.webp b/assets/土地面板图标/浇水图标3.webp new file mode 100644 index 0000000..5b7cfd1 Binary files /dev/null and b/assets/土地面板图标/浇水图标3.webp differ diff --git a/assets/土地面板图标/浇水图标3.webp.import b/assets/土地面板图标/浇水图标3.webp.import new file mode 100644 index 0000000..e015829 --- /dev/null +++ b/assets/土地面板图标/浇水图标3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckejm7kw2g8g5" +path="res://.godot/imported/浇水图标3.webp-3146bee18c989389a4bab93ad0ce1708.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/浇水图标3.webp" +dest_files=["res://.godot/imported/浇水图标3.webp-3146bee18c989389a4bab93ad0ce1708.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/种植图标.webp b/assets/土地面板图标/种植图标.webp new file mode 100644 index 0000000..631913f Binary files /dev/null and b/assets/土地面板图标/种植图标.webp differ diff --git a/assets/土地面板图标/种植图标.webp.import b/assets/土地面板图标/种植图标.webp.import new file mode 100644 index 0000000..94126ac --- /dev/null +++ b/assets/土地面板图标/种植图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bci0vnm62xqao" +path="res://.godot/imported/种植图标.webp-abcbacbf6bb00b33350ca5dc6131aaa2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/种植图标.webp" +dest_files=["res://.godot/imported/种植图标.webp-abcbacbf6bb00b33350ca5dc6131aaa2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/铲除图标.webp b/assets/土地面板图标/铲除图标.webp new file mode 100644 index 0000000..3194644 Binary files /dev/null and b/assets/土地面板图标/铲除图标.webp differ diff --git a/assets/土地面板图标/铲除图标.webp.import b/assets/土地面板图标/铲除图标.webp.import new file mode 100644 index 0000000..4eebf75 --- /dev/null +++ b/assets/土地面板图标/铲除图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b676274xt0fcd" +path="res://.godot/imported/铲除图标.webp-5a4fa73e0d8e9d7f82e500b0395724d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/铲除图标.webp" +dest_files=["res://.godot/imported/铲除图标.webp-5a4fa73e0d8e9d7f82e500b0395724d0.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/铲除图标2.webp b/assets/土地面板图标/铲除图标2.webp new file mode 100644 index 0000000..53608a0 Binary files /dev/null and b/assets/土地面板图标/铲除图标2.webp differ diff --git a/assets/土地面板图标/铲除图标2.webp.import b/assets/土地面板图标/铲除图标2.webp.import new file mode 100644 index 0000000..10c706c --- /dev/null +++ b/assets/土地面板图标/铲除图标2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1k4vyx7tc3h8" +path="res://.godot/imported/铲除图标2.webp-7a98d5ad7c8743c7b4b69c35dc10904d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/铲除图标2.webp" +dest_files=["res://.godot/imported/铲除图标2.webp-7a98d5ad7c8743c7b4b69c35dc10904d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/土地面板图标/铲除图标3.webp b/assets/土地面板图标/铲除图标3.webp new file mode 100644 index 0000000..9750631 Binary files /dev/null and b/assets/土地面板图标/铲除图标3.webp differ diff --git a/assets/土地面板图标/铲除图标3.webp.import b/assets/土地面板图标/铲除图标3.webp.import new file mode 100644 index 0000000..7fb280d --- /dev/null +++ b/assets/土地面板图标/铲除图标3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0aqgqt1bgb10" +path="res://.godot/imported/铲除图标3.webp-0ac052b22314b3764e5707b3e4239e67.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/土地面板图标/铲除图标3.webp" +dest_files=["res://.godot/imported/铲除图标3.webp-0ac052b22314b3764e5707b3e4239e67.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/地块/土块1.webp b/assets/地块/土块1.webp new file mode 100644 index 0000000..a425c38 Binary files /dev/null and b/assets/地块/土块1.webp differ diff --git a/assets/地块/土块1.webp.import b/assets/地块/土块1.webp.import new file mode 100644 index 0000000..324219d --- /dev/null +++ b/assets/地块/土块1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt1i2yhhlor5e" +path="res://.godot/imported/土块1.webp-2ff726760c177c95d146d4b5d0939be4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/地块/土块1.webp" +dest_files=["res://.godot/imported/土块1.webp-2ff726760c177c95d146d4b5d0939be4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/宠物图片/一堆小怪.png b/assets/宠物图片/一堆小怪.png new file mode 100644 index 0000000..ae1f329 Binary files /dev/null and b/assets/宠物图片/一堆小怪.png differ diff --git a/assets/宠物图片/一堆小怪.png.import b/assets/宠物图片/一堆小怪.png.import new file mode 100644 index 0000000..6785a7d --- /dev/null +++ b/assets/宠物图片/一堆小怪.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lx0l12qrituk" +path="res://.godot/imported/一堆小怪.png-6e2ed0fca24303f4bd3194c810493b47.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/宠物图片/一堆小怪.png" +dest_files=["res://.godot/imported/一堆小怪.png-6e2ed0fca24303f4bd3194c810493b47.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/宠物图片/护卫.png b/assets/宠物图片/护卫.png new file mode 100644 index 0000000..5b0eb4f Binary files /dev/null and b/assets/宠物图片/护卫.png differ diff --git a/assets/宠物图片/护卫.png.import b/assets/宠物图片/护卫.png.import new file mode 100644 index 0000000..08bb4a4 --- /dev/null +++ b/assets/宠物图片/护卫.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://m7k2b38lko7v" +path="res://.godot/imported/护卫.png-918f7cdad8aabb7935089021336b3932.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/宠物图片/护卫.png" +dest_files=["res://.godot/imported/护卫.png-918f7cdad8aabb7935089021336b3932.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/宠物图片/红色史莱姆.png b/assets/宠物图片/红色史莱姆.png new file mode 100644 index 0000000..76f564e Binary files /dev/null and b/assets/宠物图片/红色史莱姆.png differ diff --git a/assets/宠物图片/红色史莱姆.png.import b/assets/宠物图片/红色史莱姆.png.import new file mode 100644 index 0000000..91c01a3 --- /dev/null +++ b/assets/宠物图片/红色史莱姆.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0qenkwarx1xo" +path="res://.godot/imported/红色史莱姆.png-42e5949aae78c3d54ae37f67a42a2d34.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/宠物图片/红色史莱姆.png" +dest_files=["res://.godot/imported/红色史莱姆.png-42e5949aae78c3d54ae37f67a42a2d34.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/宠物图片/绿色史莱姆.png b/assets/宠物图片/绿色史莱姆.png new file mode 100644 index 0000000..a21cb6f Binary files /dev/null and b/assets/宠物图片/绿色史莱姆.png differ diff --git a/assets/宠物图片/绿色史莱姆.png.import b/assets/宠物图片/绿色史莱姆.png.import new file mode 100644 index 0000000..b6626a9 --- /dev/null +++ b/assets/宠物图片/绿色史莱姆.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtie1g1164c1y" +path="res://.godot/imported/绿色史莱姆.png-8a4333d90da1b17b9e8829f66fbd46ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/宠物图片/绿色史莱姆.png" +dest_files=["res://.godot/imported/绿色史莱姆.png-8a4333d90da1b17b9e8829f66fbd46ad.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/FPS图标.webp b/assets/游戏UI/FPS图标.webp new file mode 100644 index 0000000..7e403b0 Binary files /dev/null and b/assets/游戏UI/FPS图标.webp differ diff --git a/assets/游戏UI/FPS图标.webp.import b/assets/游戏UI/FPS图标.webp.import new file mode 100644 index 0000000..b273396 --- /dev/null +++ b/assets/游戏UI/FPS图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsuaw8kcdtrst" +path="res://.godot/imported/FPS图标.webp-966e94cb1607cc6554020d39284668ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/FPS图标.webp" +dest_files=["res://.godot/imported/FPS图标.webp-966e94cb1607cc6554020d39284668ca.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/体力值图标.webp b/assets/游戏UI/体力值图标.webp new file mode 100644 index 0000000..e524411 Binary files /dev/null and b/assets/游戏UI/体力值图标.webp differ diff --git a/assets/游戏UI/体力值图标.webp.import b/assets/游戏UI/体力值图标.webp.import new file mode 100644 index 0000000..0c0102c --- /dev/null +++ b/assets/游戏UI/体力值图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnhyqsw8yjekh" +path="res://.godot/imported/体力值图标.webp-9d094ad751b70306b7bdb1d2d3d40e85.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/体力值图标.webp" +dest_files=["res://.godot/imported/体力值图标.webp-9d094ad751b70306b7bdb1d2d3d40e85.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/农场名称.webp b/assets/游戏UI/农场名称.webp new file mode 100644 index 0000000..523e9b2 Binary files /dev/null and b/assets/游戏UI/农场名称.webp differ diff --git a/assets/游戏UI/农场名称.webp.import b/assets/游戏UI/农场名称.webp.import new file mode 100644 index 0000000..00d65a9 --- /dev/null +++ b/assets/游戏UI/农场名称.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxm72d5t4dn0q" +path="res://.godot/imported/农场名称.webp-593f28fd3dae83cf3657ab1d7b46537e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/农场名称.webp" +dest_files=["res://.godot/imported/农场名称.webp-593f28fd3dae83cf3657ab1d7b46537e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/小提示.webp b/assets/游戏UI/小提示.webp new file mode 100644 index 0000000..9361d1c Binary files /dev/null and b/assets/游戏UI/小提示.webp differ diff --git a/assets/游戏UI/小提示.webp.import b/assets/游戏UI/小提示.webp.import new file mode 100644 index 0000000..d20be31 --- /dev/null +++ b/assets/游戏UI/小提示.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://waqbwo2r33j3" +path="res://.godot/imported/小提示.webp-7a7474f1ce9ce1f8ee9c245f791a93da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/小提示.webp" +dest_files=["res://.godot/imported/小提示.webp-7a7474f1ce9ce1f8ee9c245f791a93da.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/服务器连接状态.webp b/assets/游戏UI/服务器连接状态.webp new file mode 100644 index 0000000..b714f00 Binary files /dev/null and b/assets/游戏UI/服务器连接状态.webp differ diff --git a/assets/游戏UI/服务器连接状态.webp.import b/assets/游戏UI/服务器连接状态.webp.import new file mode 100644 index 0000000..0ce2d38 --- /dev/null +++ b/assets/游戏UI/服务器连接状态.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b665dc0ye72lg" +path="res://.godot/imported/服务器连接状态.webp-46bf804a9bb68503f24770da135c0e38.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/服务器连接状态.webp" +dest_files=["res://.godot/imported/服务器连接状态.webp-46bf804a9bb68503f24770da135c0e38.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/点赞图标.webp b/assets/游戏UI/点赞图标.webp new file mode 100644 index 0000000..180a47f Binary files /dev/null and b/assets/游戏UI/点赞图标.webp differ diff --git a/assets/游戏UI/点赞图标.webp.import b/assets/游戏UI/点赞图标.webp.import new file mode 100644 index 0000000..05d98bd --- /dev/null +++ b/assets/游戏UI/点赞图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj0qac0wmm0q8" +path="res://.godot/imported/点赞图标.webp-a005b3f8bbf24b31991711572004b4ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/点赞图标.webp" +dest_files=["res://.godot/imported/点赞图标.webp-a005b3f8bbf24b31991711572004b4ad.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/玩家数图标.webp b/assets/游戏UI/玩家数图标.webp new file mode 100644 index 0000000..3bcf820 Binary files /dev/null and b/assets/游戏UI/玩家数图标.webp differ diff --git a/assets/游戏UI/玩家数图标.webp.import b/assets/游戏UI/玩家数图标.webp.import new file mode 100644 index 0000000..6d8332b --- /dev/null +++ b/assets/游戏UI/玩家数图标.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bso5fyjavdien" +path="res://.godot/imported/玩家数图标.webp-2890cedced22399f7cd918418f18d160.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/玩家数图标.webp" +dest_files=["res://.godot/imported/玩家数图标.webp-2890cedced22399f7cd918418f18d160.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/玩家昵称.webp b/assets/游戏UI/玩家昵称.webp new file mode 100644 index 0000000..c2f73c9 Binary files /dev/null and b/assets/游戏UI/玩家昵称.webp differ diff --git a/assets/游戏UI/玩家昵称.webp.import b/assets/游戏UI/玩家昵称.webp.import new file mode 100644 index 0000000..ed686cf --- /dev/null +++ b/assets/游戏UI/玩家昵称.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3pev0nbt8sjd" +path="res://.godot/imported/玩家昵称.webp-3325b04df2c270d7f4b350b6fb9f6ba1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/玩家昵称.webp" +dest_files=["res://.godot/imported/玩家昵称.webp-3325b04df2c270d7f4b350b6fb9f6ba1.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/玩家默认头像.webp b/assets/游戏UI/玩家默认头像.webp new file mode 100644 index 0000000..f513e83 Binary files /dev/null and b/assets/游戏UI/玩家默认头像.webp differ diff --git a/assets/游戏UI/玩家默认头像.webp.import b/assets/游戏UI/玩家默认头像.webp.import new file mode 100644 index 0000000..e2786cd --- /dev/null +++ b/assets/游戏UI/玩家默认头像.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsln1w1aqgf1k" +path="res://.godot/imported/玩家默认头像.webp-2a16562ef4d2c0664910e1b41c49c2e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/玩家默认头像.webp" +dest_files=["res://.godot/imported/玩家默认头像.webp-2a16562ef4d2c0664910e1b41c49c2e7.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/等级.webp b/assets/游戏UI/等级.webp new file mode 100644 index 0000000..a5b6ebc Binary files /dev/null and b/assets/游戏UI/等级.webp differ diff --git a/assets/游戏UI/等级.webp.import b/assets/游戏UI/等级.webp.import new file mode 100644 index 0000000..68f8fc4 --- /dev/null +++ b/assets/游戏UI/等级.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ftv231igtdoq" +path="res://.godot/imported/等级.webp-f794824f12629e11333d3dc0625362d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/等级.webp" +dest_files=["res://.godot/imported/等级.webp-f794824f12629e11333d3dc0625362d0.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/经验球.webp b/assets/游戏UI/经验球.webp new file mode 100644 index 0000000..7b4e797 Binary files /dev/null and b/assets/游戏UI/经验球.webp differ diff --git a/assets/游戏UI/经验球.webp.import b/assets/游戏UI/经验球.webp.import new file mode 100644 index 0000000..c1e3d85 --- /dev/null +++ b/assets/游戏UI/经验球.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://du2pyiojliasy" +path="res://.godot/imported/经验球.webp-e26d2294cbc9abab4b60901c8ae9f101.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/经验球.webp" +dest_files=["res://.godot/imported/经验球.webp-e26d2294cbc9abab4b60901c8ae9f101.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/游戏UI/钱币.webp b/assets/游戏UI/钱币.webp new file mode 100644 index 0000000..145d451 Binary files /dev/null and b/assets/游戏UI/钱币.webp differ diff --git a/assets/游戏UI/钱币.webp.import b/assets/游戏UI/钱币.webp.import new file mode 100644 index 0000000..a8ffdf6 --- /dev/null +++ b/assets/游戏UI/钱币.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqib5y8uwg6hx" +path="res://.godot/imported/钱币.webp-af68c60c3f9380e24ec163542fb5b849.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/游戏UI/钱币.webp" +dest_files=["res://.godot/imported/钱币.webp-af68c60c3f9380e24ec163542fb5b849.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景1.webp b/assets/背景图片/背景1.webp new file mode 100644 index 0000000..92c5705 Binary files /dev/null and b/assets/背景图片/背景1.webp differ diff --git a/assets/背景图片/背景1.webp.import b/assets/背景图片/背景1.webp.import new file mode 100644 index 0000000..998639c --- /dev/null +++ b/assets/背景图片/背景1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccnfg6foyspgw" +path="res://.godot/imported/背景1.webp-573d72da85ef6f0db95bf2d3e56eb2aa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景1.webp" +dest_files=["res://.godot/imported/背景1.webp-573d72da85ef6f0db95bf2d3e56eb2aa.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景10.webp b/assets/背景图片/背景10.webp new file mode 100644 index 0000000..08e83fd Binary files /dev/null and b/assets/背景图片/背景10.webp differ diff --git a/assets/背景图片/背景10.webp.import b/assets/背景图片/背景10.webp.import new file mode 100644 index 0000000..bc4cd6e --- /dev/null +++ b/assets/背景图片/背景10.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byj6047mob77l" +path="res://.godot/imported/背景10.webp-588e57b75153f3da9e9c0d410c29d816.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景10.webp" +dest_files=["res://.godot/imported/背景10.webp-588e57b75153f3da9e9c0d410c29d816.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景11.webp b/assets/背景图片/背景11.webp new file mode 100644 index 0000000..a68e846 Binary files /dev/null and b/assets/背景图片/背景11.webp differ diff --git a/assets/背景图片/背景11.webp.import b/assets/背景图片/背景11.webp.import new file mode 100644 index 0000000..2fbe963 --- /dev/null +++ b/assets/背景图片/背景11.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yameqxwyplpg" +path="res://.godot/imported/背景11.webp-4c3419fae7c92f5051093e5f51d04f1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景11.webp" +dest_files=["res://.godot/imported/背景11.webp-4c3419fae7c92f5051093e5f51d04f1e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景12.webp b/assets/背景图片/背景12.webp new file mode 100644 index 0000000..e546b92 Binary files /dev/null and b/assets/背景图片/背景12.webp differ diff --git a/assets/背景图片/背景12.webp.import b/assets/背景图片/背景12.webp.import new file mode 100644 index 0000000..e99f056 --- /dev/null +++ b/assets/背景图片/背景12.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4l3ia6035tyi" +path="res://.godot/imported/背景12.webp-fd5b1a36e7747c4b5840379396f7bf8c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景12.webp" +dest_files=["res://.godot/imported/背景12.webp-fd5b1a36e7747c4b5840379396f7bf8c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景13.webp b/assets/背景图片/背景13.webp new file mode 100644 index 0000000..f28801b Binary files /dev/null and b/assets/背景图片/背景13.webp differ diff --git a/assets/背景图片/背景13.webp.import b/assets/背景图片/背景13.webp.import new file mode 100644 index 0000000..713e02b --- /dev/null +++ b/assets/背景图片/背景13.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhyfcsqj6ur15" +path="res://.godot/imported/背景13.webp-cccee27a9a2a8a01b3fb2267fd29d12f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景13.webp" +dest_files=["res://.godot/imported/背景13.webp-cccee27a9a2a8a01b3fb2267fd29d12f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景14.webp b/assets/背景图片/背景14.webp new file mode 100644 index 0000000..29890b9 Binary files /dev/null and b/assets/背景图片/背景14.webp differ diff --git a/assets/背景图片/背景14.webp.import b/assets/背景图片/背景14.webp.import new file mode 100644 index 0000000..d117f74 --- /dev/null +++ b/assets/背景图片/背景14.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0oxbqu7pp0cg" +path="res://.godot/imported/背景14.webp-97d3184ebd841f974e1affa1f6adb271.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景14.webp" +dest_files=["res://.godot/imported/背景14.webp-97d3184ebd841f974e1affa1f6adb271.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景15.webp b/assets/背景图片/背景15.webp new file mode 100644 index 0000000..a934d5f Binary files /dev/null and b/assets/背景图片/背景15.webp differ diff --git a/assets/背景图片/背景15.webp.import b/assets/背景图片/背景15.webp.import new file mode 100644 index 0000000..20a56f6 --- /dev/null +++ b/assets/背景图片/背景15.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dv0nv1vr4dib4" +path="res://.godot/imported/背景15.webp-b59f14a0c49cc9c072816712e3220efe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景15.webp" +dest_files=["res://.godot/imported/背景15.webp-b59f14a0c49cc9c072816712e3220efe.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景16.webp b/assets/背景图片/背景16.webp new file mode 100644 index 0000000..bf86fc8 Binary files /dev/null and b/assets/背景图片/背景16.webp differ diff --git a/assets/背景图片/背景16.webp.import b/assets/背景图片/背景16.webp.import new file mode 100644 index 0000000..87adfd2 --- /dev/null +++ b/assets/背景图片/背景16.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdpqi0hjorogj" +path="res://.godot/imported/背景16.webp-31d753741382f6c2b4f67c2a3c003644.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景16.webp" +dest_files=["res://.godot/imported/背景16.webp-31d753741382f6c2b4f67c2a3c003644.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景17.webp b/assets/背景图片/背景17.webp new file mode 100644 index 0000000..01e645b Binary files /dev/null and b/assets/背景图片/背景17.webp differ diff --git a/assets/背景图片/背景17.webp.import b/assets/背景图片/背景17.webp.import new file mode 100644 index 0000000..0d4745b --- /dev/null +++ b/assets/背景图片/背景17.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqj1rudx556cf" +path="res://.godot/imported/背景17.webp-c3e4b768879c4a6ded9c9db205f6fbfc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景17.webp" +dest_files=["res://.godot/imported/背景17.webp-c3e4b768879c4a6ded9c9db205f6fbfc.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景18.webp b/assets/背景图片/背景18.webp new file mode 100644 index 0000000..7e3510c Binary files /dev/null and b/assets/背景图片/背景18.webp differ diff --git a/assets/背景图片/背景18.webp.import b/assets/背景图片/背景18.webp.import new file mode 100644 index 0000000..71a3377 --- /dev/null +++ b/assets/背景图片/背景18.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8pb54onbuhwm" +path="res://.godot/imported/背景18.webp-581f1afafa4e9188560126eeb6d5705f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景18.webp" +dest_files=["res://.godot/imported/背景18.webp-581f1afafa4e9188560126eeb6d5705f.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景19.webp b/assets/背景图片/背景19.webp new file mode 100644 index 0000000..ac153bb Binary files /dev/null and b/assets/背景图片/背景19.webp differ diff --git a/assets/背景图片/背景19.webp.import b/assets/背景图片/背景19.webp.import new file mode 100644 index 0000000..cfc06b3 --- /dev/null +++ b/assets/背景图片/背景19.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://def612bag1jij" +path="res://.godot/imported/背景19.webp-e2c3f1f2b235b84d12e6812eabca2810.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景19.webp" +dest_files=["res://.godot/imported/背景19.webp-e2c3f1f2b235b84d12e6812eabca2810.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景2.webp b/assets/背景图片/背景2.webp new file mode 100644 index 0000000..268abf3 Binary files /dev/null and b/assets/背景图片/背景2.webp differ diff --git a/assets/背景图片/背景2.webp.import b/assets/背景图片/背景2.webp.import new file mode 100644 index 0000000..7076f82 --- /dev/null +++ b/assets/背景图片/背景2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://743f3wjy8fqi" +path="res://.godot/imported/背景2.webp-a74936a618c6646cb3346c280a8e967e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景2.webp" +dest_files=["res://.godot/imported/背景2.webp-a74936a618c6646cb3346c280a8e967e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景20.webp b/assets/背景图片/背景20.webp new file mode 100644 index 0000000..751e321 Binary files /dev/null and b/assets/背景图片/背景20.webp differ diff --git a/assets/背景图片/背景20.webp.import b/assets/背景图片/背景20.webp.import new file mode 100644 index 0000000..395df0a --- /dev/null +++ b/assets/背景图片/背景20.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kap41s5ns4sd" +path="res://.godot/imported/背景20.webp-08c8f849130e163e6c43861f2719029b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景20.webp" +dest_files=["res://.godot/imported/背景20.webp-08c8f849130e163e6c43861f2719029b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景21.webp b/assets/背景图片/背景21.webp new file mode 100644 index 0000000..3f078da Binary files /dev/null and b/assets/背景图片/背景21.webp differ diff --git a/assets/背景图片/背景21.webp.import b/assets/背景图片/背景21.webp.import new file mode 100644 index 0000000..d0503a7 --- /dev/null +++ b/assets/背景图片/背景21.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ygf8gpcc1fi1" +path="res://.godot/imported/背景21.webp-d3f09b5338c637ee813232dc04de0ced.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景21.webp" +dest_files=["res://.godot/imported/背景21.webp-d3f09b5338c637ee813232dc04de0ced.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景22.webp b/assets/背景图片/背景22.webp new file mode 100644 index 0000000..4b8f4d9 Binary files /dev/null and b/assets/背景图片/背景22.webp differ diff --git a/assets/背景图片/背景22.webp.import b/assets/背景图片/背景22.webp.import new file mode 100644 index 0000000..cb2336f --- /dev/null +++ b/assets/背景图片/背景22.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://daguf715o03ga" +path="res://.godot/imported/背景22.webp-688fdf6afbbef72f13be29731e78709d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景22.webp" +dest_files=["res://.godot/imported/背景22.webp-688fdf6afbbef72f13be29731e78709d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景3.webp b/assets/背景图片/背景3.webp new file mode 100644 index 0000000..1365787 Binary files /dev/null and b/assets/背景图片/背景3.webp differ diff --git a/assets/背景图片/背景3.webp.import b/assets/背景图片/背景3.webp.import new file mode 100644 index 0000000..a619fee --- /dev/null +++ b/assets/背景图片/背景3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bihyymwqounhv" +path="res://.godot/imported/背景3.webp-f9ad91103d8320a18b48616face5aa08.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景3.webp" +dest_files=["res://.godot/imported/背景3.webp-f9ad91103d8320a18b48616face5aa08.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景4.webp b/assets/背景图片/背景4.webp new file mode 100644 index 0000000..11f2838 Binary files /dev/null and b/assets/背景图片/背景4.webp differ diff --git a/assets/背景图片/背景4.webp.import b/assets/背景图片/背景4.webp.import new file mode 100644 index 0000000..74c0011 --- /dev/null +++ b/assets/背景图片/背景4.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnmyuthixy60t" +path="res://.godot/imported/背景4.webp-deaf45bb183a7136bb209cee53f305d6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景4.webp" +dest_files=["res://.godot/imported/背景4.webp-deaf45bb183a7136bb209cee53f305d6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景5.webp b/assets/背景图片/背景5.webp new file mode 100644 index 0000000..1947e35 Binary files /dev/null and b/assets/背景图片/背景5.webp differ diff --git a/assets/背景图片/背景5.webp.import b/assets/背景图片/背景5.webp.import new file mode 100644 index 0000000..21ecfab --- /dev/null +++ b/assets/背景图片/背景5.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqoctn4stu0qo" +path="res://.godot/imported/背景5.webp-b564b0a38bf49f04e394e833eb539617.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景5.webp" +dest_files=["res://.godot/imported/背景5.webp-b564b0a38bf49f04e394e833eb539617.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景6.webp b/assets/背景图片/背景6.webp new file mode 100644 index 0000000..200036e Binary files /dev/null and b/assets/背景图片/背景6.webp differ diff --git a/assets/背景图片/背景6.webp.import b/assets/背景图片/背景6.webp.import new file mode 100644 index 0000000..4de97df --- /dev/null +++ b/assets/背景图片/背景6.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwtpofkx1ha5a" +path="res://.godot/imported/背景6.webp-3a8b1e6a897499332022b17fd2188b6e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景6.webp" +dest_files=["res://.godot/imported/背景6.webp-3a8b1e6a897499332022b17fd2188b6e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景7.webp b/assets/背景图片/背景7.webp new file mode 100644 index 0000000..3e968f7 Binary files /dev/null and b/assets/背景图片/背景7.webp differ diff --git a/assets/背景图片/背景7.webp.import b/assets/背景图片/背景7.webp.import new file mode 100644 index 0000000..b77e395 --- /dev/null +++ b/assets/背景图片/背景7.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvlnhe3qmj28l" +path="res://.godot/imported/背景7.webp-c35f1479535c222cf80a0738ead8b8c9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景7.webp" +dest_files=["res://.godot/imported/背景7.webp-c35f1479535c222cf80a0738ead8b8c9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景8.webp b/assets/背景图片/背景8.webp new file mode 100644 index 0000000..c17dc98 Binary files /dev/null and b/assets/背景图片/背景8.webp differ diff --git a/assets/背景图片/背景8.webp.import b/assets/背景图片/背景8.webp.import new file mode 100644 index 0000000..5fda2c6 --- /dev/null +++ b/assets/背景图片/背景8.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mc1md6wfaxoo" +path="res://.godot/imported/背景8.webp-b80d453cd4fcca74037ef89f45d91b4b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景8.webp" +dest_files=["res://.godot/imported/背景8.webp-b80d453cd4fcca74037ef89f45d91b4b.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/背景9.webp b/assets/背景图片/背景9.webp new file mode 100644 index 0000000..8577bb9 Binary files /dev/null and b/assets/背景图片/背景9.webp differ diff --git a/assets/背景图片/背景9.webp.import b/assets/背景图片/背景9.webp.import new file mode 100644 index 0000000..d0d15f6 --- /dev/null +++ b/assets/背景图片/背景9.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c162h276kb0nc" +path="res://.godot/imported/背景9.webp-ec7c743b6f92adf27bc6f3138f73c084.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/背景9.webp" +dest_files=["res://.godot/imported/背景9.webp-ec7c743b6f92adf27bc6f3138f73c084.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/菜单背景1.webp b/assets/背景图片/菜单背景1.webp new file mode 100644 index 0000000..8e03210 Binary files /dev/null and b/assets/背景图片/菜单背景1.webp differ diff --git a/assets/背景图片/菜单背景1.webp.import b/assets/背景图片/菜单背景1.webp.import new file mode 100644 index 0000000..1702690 --- /dev/null +++ b/assets/背景图片/菜单背景1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ucop7elscd0t" +path="res://.godot/imported/菜单背景1.webp-fe64c5ba339ab2d0cad0edb6f1793684.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/菜单背景1.webp" +dest_files=["res://.godot/imported/菜单背景1.webp-fe64c5ba339ab2d0cad0edb6f1793684.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/背景图片/菜单背景2.webp b/assets/背景图片/菜单背景2.webp new file mode 100644 index 0000000..211f9d5 Binary files /dev/null and b/assets/背景图片/菜单背景2.webp differ diff --git a/assets/背景图片/菜单背景2.webp.import b/assets/背景图片/菜单背景2.webp.import new file mode 100644 index 0000000..01f6385 --- /dev/null +++ b/assets/背景图片/菜单背景2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://upbipll1ubk7" +path="res://.godot/imported/菜单背景2.webp-f04af3de4293b3f0816237b511f722ab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/背景图片/菜单背景2.webp" +dest_files=["res://.godot/imported/菜单背景2.webp-f04af3de4293b3f0816237b511f722ab.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/菜单Logo/logo1.webp b/assets/菜单Logo/logo1.webp new file mode 100644 index 0000000..a3571af Binary files /dev/null and b/assets/菜单Logo/logo1.webp differ diff --git a/assets/菜单Logo/logo1.webp.import b/assets/菜单Logo/logo1.webp.import new file mode 100644 index 0000000..b16a840 --- /dev/null +++ b/assets/菜单Logo/logo1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h8tto256aww4" +path="res://.godot/imported/logo1.webp-3db612f6728b871eb531602fc8b46e56.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/菜单Logo/logo1.webp" +dest_files=["res://.godot/imported/logo1.webp-3db612f6728b871eb531602fc8b46e56.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/菜单Logo/logo2.webp b/assets/菜单Logo/logo2.webp new file mode 100644 index 0000000..36c07b8 Binary files /dev/null and b/assets/菜单Logo/logo2.webp differ diff --git a/assets/菜单Logo/logo2.webp.import b/assets/菜单Logo/logo2.webp.import new file mode 100644 index 0000000..7ec581b --- /dev/null +++ b/assets/菜单Logo/logo2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbr8pdgb2eiis" +path="res://.godot/imported/logo2.webp-740ebea6486b600a2f431c561252f84c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/菜单Logo/logo2.webp" +dest_files=["res://.godot/imported/logo2.webp-740ebea6486b600a2f431c561252f84c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/菜单UI/QQ群.webp b/assets/菜单UI/QQ群.webp new file mode 100644 index 0000000..2c62fef Binary files /dev/null and b/assets/菜单UI/QQ群.webp differ diff --git a/assets/菜单UI/QQ群.webp.import b/assets/菜单UI/QQ群.webp.import new file mode 100644 index 0000000..a085e09 --- /dev/null +++ b/assets/菜单UI/QQ群.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgdootc5bny5q" +path="res://.godot/imported/QQ群.webp-17c7b9b340a82032c01222d96e48caac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/菜单UI/QQ群.webp" +dest_files=["res://.godot/imported/QQ群.webp-17c7b9b340a82032c01222d96e48caac.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/菜单UI/柚小青装饰品.webp b/assets/菜单UI/柚小青装饰品.webp new file mode 100644 index 0000000..83351fa Binary files /dev/null and b/assets/菜单UI/柚小青装饰品.webp differ diff --git a/assets/菜单UI/柚小青装饰品.webp.import b/assets/菜单UI/柚小青装饰品.webp.import new file mode 100644 index 0000000..167cb66 --- /dev/null +++ b/assets/菜单UI/柚小青装饰品.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccav04woielxa" +path="res://.godot/imported/柚小青装饰品.webp-1a7bf78afb19b0ceed0946f1034a3f7a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/菜单UI/柚小青装饰品.webp" +dest_files=["res://.godot/imported/柚小青装饰品.webp-1a7bf78afb19b0ceed0946f1034a3f7a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/菜单UI/背景1.webp b/assets/菜单UI/背景1.webp new file mode 100644 index 0000000..8e03210 Binary files /dev/null and b/assets/菜单UI/背景1.webp differ diff --git a/assets/菜单UI/背景1.webp.import b/assets/菜单UI/背景1.webp.import new file mode 100644 index 0000000..60d0801 --- /dev/null +++ b/assets/菜单UI/背景1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddcmrh50o1y0q" +path="res://.godot/imported/背景1.webp-767be7a20ce017e7098ceb9b6188d7cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/菜单UI/背景1.webp" +dest_files=["res://.godot/imported/背景1.webp-767be7a20ce017e7098ceb9b6188d7cb.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/农家肥.webp b/assets/道具图片/农家肥.webp new file mode 100644 index 0000000..44bdcbb Binary files /dev/null and b/assets/道具图片/农家肥.webp differ diff --git a/assets/道具图片/农家肥.webp.import b/assets/道具图片/农家肥.webp.import new file mode 100644 index 0000000..51de333 --- /dev/null +++ b/assets/道具图片/农家肥.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwpann1yplfd2" +path="res://.godot/imported/农家肥.webp-939f989fe9e4e0fad62631afdc2e0f03.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/农家肥.webp" +dest_files=["res://.godot/imported/农家肥.webp-939f989fe9e4e0fad62631afdc2e0f03.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/农家肥2.webp b/assets/道具图片/农家肥2.webp new file mode 100644 index 0000000..4dd2c9c Binary files /dev/null and b/assets/道具图片/农家肥2.webp differ diff --git a/assets/道具图片/农家肥2.webp.import b/assets/道具图片/农家肥2.webp.import new file mode 100644 index 0000000..77d9497 --- /dev/null +++ b/assets/道具图片/农家肥2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyqwegt2c2i01" +path="res://.godot/imported/农家肥2.webp-f90fb90481ae5dd5e74c8bc39c4c5424.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/农家肥2.webp" +dest_files=["res://.godot/imported/农家肥2.webp-f90fb90481ae5dd5e74c8bc39c4c5424.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/木质水桶.webp b/assets/道具图片/木质水桶.webp new file mode 100644 index 0000000..0c465ad Binary files /dev/null and b/assets/道具图片/木质水桶.webp differ diff --git a/assets/道具图片/木质水桶.webp.import b/assets/道具图片/木质水桶.webp.import new file mode 100644 index 0000000..b434ab3 --- /dev/null +++ b/assets/道具图片/木质水桶.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://u0wm8568685f" +path="res://.godot/imported/木质水桶.webp-37467837294a6a7efb55fc7e7a51bfc2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/木质水桶.webp" +dest_files=["res://.godot/imported/木质水桶.webp-37467837294a6a7efb55fc7e7a51bfc2.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/木质水桶2.webp b/assets/道具图片/木质水桶2.webp new file mode 100644 index 0000000..2c0626d Binary files /dev/null and b/assets/道具图片/木质水桶2.webp differ diff --git a/assets/道具图片/木质水桶2.webp.import b/assets/道具图片/木质水桶2.webp.import new file mode 100644 index 0000000..d115587 --- /dev/null +++ b/assets/道具图片/木质水桶2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n14lj3io7aa8" +path="res://.godot/imported/木质水桶2.webp-a2f9258dedacd6eec1a129fbbf086c46.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/木质水桶2.webp" +dest_files=["res://.godot/imported/木质水桶2.webp-a2f9258dedacd6eec1a129fbbf086c46.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/杀虫剂.webp b/assets/道具图片/杀虫剂.webp new file mode 100644 index 0000000..5baf893 Binary files /dev/null and b/assets/道具图片/杀虫剂.webp differ diff --git a/assets/道具图片/杀虫剂.webp.import b/assets/道具图片/杀虫剂.webp.import new file mode 100644 index 0000000..654e21e --- /dev/null +++ b/assets/道具图片/杀虫剂.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bx6oj6dfapq20" +path="res://.godot/imported/杀虫剂.webp-c3de642ace13071303366e684084fa07.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/杀虫剂.webp" +dest_files=["res://.godot/imported/杀虫剂.webp-c3de642ace13071303366e684084fa07.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/生长素.webp b/assets/道具图片/生长素.webp new file mode 100644 index 0000000..e64ecc3 Binary files /dev/null and b/assets/道具图片/生长素.webp differ diff --git a/assets/道具图片/生长素.webp.import b/assets/道具图片/生长素.webp.import new file mode 100644 index 0000000..cb2ca28 --- /dev/null +++ b/assets/道具图片/生长素.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0alwi1tfavcu" +path="res://.godot/imported/生长素.webp-e00959ebe73e73e70d5adc13cba2aa45.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/生长素.webp" +dest_files=["res://.godot/imported/生长素.webp-e00959ebe73e73e70d5adc13cba2aa45.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/紫水晶镰刀.webp b/assets/道具图片/紫水晶镰刀.webp new file mode 100644 index 0000000..afea765 Binary files /dev/null and b/assets/道具图片/紫水晶镰刀.webp differ diff --git a/assets/道具图片/紫水晶镰刀.webp.import b/assets/道具图片/紫水晶镰刀.webp.import new file mode 100644 index 0000000..3f8f370 --- /dev/null +++ b/assets/道具图片/紫水晶镰刀.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bad7n5hci8jqo" +path="res://.godot/imported/紫水晶镰刀.webp-22e26778c3aff4cb838439b7b16b3cb6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/紫水晶镰刀.webp" +dest_files=["res://.godot/imported/紫水晶镰刀.webp-22e26778c3aff4cb838439b7b16b3cb6.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/红宝石镰刀.webp b/assets/道具图片/红宝石镰刀.webp new file mode 100644 index 0000000..81d9e51 Binary files /dev/null and b/assets/道具图片/红宝石镰刀.webp differ diff --git a/assets/道具图片/红宝石镰刀.webp.import b/assets/道具图片/红宝石镰刀.webp.import new file mode 100644 index 0000000..3029dfa --- /dev/null +++ b/assets/道具图片/红宝石镰刀.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfjp42k4iv006" +path="res://.godot/imported/红宝石镰刀.webp-dd5dd53017cec46004b27eb970ed7011.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/红宝石镰刀.webp" +dest_files=["res://.godot/imported/红宝石镰刀.webp-dd5dd53017cec46004b27eb970ed7011.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/绿宝石铲.webp b/assets/道具图片/绿宝石铲.webp new file mode 100644 index 0000000..4405bc8 Binary files /dev/null and b/assets/道具图片/绿宝石铲.webp differ diff --git a/assets/道具图片/绿宝石铲.webp.import b/assets/道具图片/绿宝石铲.webp.import new file mode 100644 index 0000000..12e2178 --- /dev/null +++ b/assets/道具图片/绿宝石铲.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckvcv5diuds8a" +path="res://.godot/imported/绿宝石铲.webp-0b7cce6da40942cfa25f17cf8e92f26a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/绿宝石铲.webp" +dest_files=["res://.godot/imported/绿宝石铲.webp-0b7cce6da40942cfa25f17cf8e92f26a.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/绿宝石铲2.webp b/assets/道具图片/绿宝石铲2.webp new file mode 100644 index 0000000..551f36c Binary files /dev/null and b/assets/道具图片/绿宝石铲2.webp differ diff --git a/assets/道具图片/绿宝石铲2.webp.import b/assets/道具图片/绿宝石铲2.webp.import new file mode 100644 index 0000000..1d5eaac --- /dev/null +++ b/assets/道具图片/绿宝石铲2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://druswgsd768hj" +path="res://.godot/imported/绿宝石铲2.webp-1b53955cdefeb33f5dbf0a116077a148.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/绿宝石铲2.webp" +dest_files=["res://.godot/imported/绿宝石铲2.webp-1b53955cdefeb33f5dbf0a116077a148.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/绿宝石镐.webp b/assets/道具图片/绿宝石镐.webp new file mode 100644 index 0000000..c6626f2 Binary files /dev/null and b/assets/道具图片/绿宝石镐.webp differ diff --git a/assets/道具图片/绿宝石镐.webp.import b/assets/道具图片/绿宝石镐.webp.import new file mode 100644 index 0000000..69f3424 --- /dev/null +++ b/assets/道具图片/绿宝石镐.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cogahaa3sa51y" +path="res://.godot/imported/绿宝石镐.webp-39bc6e2bc3f19924b445fdd322e9718d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/绿宝石镐.webp" +dest_files=["res://.godot/imported/绿宝石镐.webp-39bc6e2bc3f19924b445fdd322e9718d.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/金坷垃1.webp b/assets/道具图片/金坷垃1.webp new file mode 100644 index 0000000..b68f8f7 Binary files /dev/null and b/assets/道具图片/金坷垃1.webp differ diff --git a/assets/道具图片/金坷垃1.webp.import b/assets/道具图片/金坷垃1.webp.import new file mode 100644 index 0000000..f66aa95 --- /dev/null +++ b/assets/道具图片/金坷垃1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bllbaf12tocy7" +path="res://.godot/imported/金坷垃1.webp-93ec88923255160926341466e7d5cace.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/金坷垃1.webp" +dest_files=["res://.godot/imported/金坷垃1.webp-93ec88923255160926341466e7d5cace.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/金坷垃2.webp b/assets/道具图片/金坷垃2.webp new file mode 100644 index 0000000..c330b78 Binary files /dev/null and b/assets/道具图片/金坷垃2.webp differ diff --git a/assets/道具图片/金坷垃2.webp.import b/assets/道具图片/金坷垃2.webp.import new file mode 100644 index 0000000..0d71df2 --- /dev/null +++ b/assets/道具图片/金坷垃2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blkh1gpdi7j6n" +path="res://.godot/imported/金坷垃2.webp-8238e0170dae3b98c75448cb45013d98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/金坷垃2.webp" +dest_files=["res://.godot/imported/金坷垃2.webp-8238e0170dae3b98c75448cb45013d98.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/金坷垃3.webp b/assets/道具图片/金坷垃3.webp new file mode 100644 index 0000000..e6f95f5 Binary files /dev/null and b/assets/道具图片/金坷垃3.webp differ diff --git a/assets/道具图片/金坷垃3.webp.import b/assets/道具图片/金坷垃3.webp.import new file mode 100644 index 0000000..5bcd8f1 --- /dev/null +++ b/assets/道具图片/金坷垃3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhgjlqicdmgy8" +path="res://.godot/imported/金坷垃3.webp-3f190e35ad56f2796a1312b3d27fad6c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/金坷垃3.webp" +dest_files=["res://.godot/imported/金坷垃3.webp-3f190e35ad56f2796a1312b3d27fad6c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/金水壶.webp b/assets/道具图片/金水壶.webp new file mode 100644 index 0000000..a037015 Binary files /dev/null and b/assets/道具图片/金水壶.webp differ diff --git a/assets/道具图片/金水壶.webp.import b/assets/道具图片/金水壶.webp.import new file mode 100644 index 0000000..bf81542 --- /dev/null +++ b/assets/道具图片/金水壶.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4qrvpfmjk8j2" +path="res://.godot/imported/金水壶.webp-6ee8fa9d74ca6fde3b3650131c82b956.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/金水壶.webp" +dest_files=["res://.godot/imported/金水壶.webp-6ee8fa9d74ca6fde3b3650131c82b956.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/金洒水壶2.webp b/assets/道具图片/金洒水壶2.webp new file mode 100644 index 0000000..ec9a35e Binary files /dev/null and b/assets/道具图片/金洒水壶2.webp differ diff --git a/assets/道具图片/金洒水壶2.webp.import b/assets/道具图片/金洒水壶2.webp.import new file mode 100644 index 0000000..a74ed86 --- /dev/null +++ b/assets/道具图片/金洒水壶2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr5i77vn3f606" +path="res://.godot/imported/金洒水壶2.webp-03c26daad6d6173737353a5f7038144c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/金洒水壶2.webp" +dest_files=["res://.godot/imported/金洒水壶2.webp-03c26daad6d6173737353a5f7038144c.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/金镐.webp b/assets/道具图片/金镐.webp new file mode 100644 index 0000000..3edf0f1 Binary files /dev/null and b/assets/道具图片/金镐.webp differ diff --git a/assets/道具图片/金镐.webp.import b/assets/道具图片/金镐.webp.import new file mode 100644 index 0000000..4fe1f37 --- /dev/null +++ b/assets/道具图片/金镐.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6m7gnttb5lrm" +path="res://.godot/imported/金镐.webp-1f7a25440ab4192d1d412cc12d077be9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/金镐.webp" +dest_files=["res://.godot/imported/金镐.webp-1f7a25440ab4192d1d412cc12d077be9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/铁质洒水壶.webp b/assets/道具图片/铁质洒水壶.webp new file mode 100644 index 0000000..f13d6ad Binary files /dev/null and b/assets/道具图片/铁质洒水壶.webp differ diff --git a/assets/道具图片/铁质洒水壶.webp.import b/assets/道具图片/铁质洒水壶.webp.import new file mode 100644 index 0000000..239ff33 --- /dev/null +++ b/assets/道具图片/铁质洒水壶.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjt0hhngk0gpr" +path="res://.godot/imported/铁质洒水壶.webp-767add1eca876153bdcfdcd8f48189c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/铁质洒水壶.webp" +dest_files=["res://.godot/imported/铁质洒水壶.webp-767add1eca876153bdcfdcd8f48189c4.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/铁质镰刀.webp b/assets/道具图片/铁质镰刀.webp new file mode 100644 index 0000000..78203d7 Binary files /dev/null and b/assets/道具图片/铁质镰刀.webp differ diff --git a/assets/道具图片/铁质镰刀.webp.import b/assets/道具图片/铁质镰刀.webp.import new file mode 100644 index 0000000..53158ba --- /dev/null +++ b/assets/道具图片/铁质镰刀.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cspnvet4pf6ws" +path="res://.godot/imported/铁质镰刀.webp-f2529479b44deb93cbc76d545c0b27aa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/铁质镰刀.webp" +dest_files=["res://.godot/imported/铁质镰刀.webp-f2529479b44deb93cbc76d545c0b27aa.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/附魔手套.webp b/assets/道具图片/附魔手套.webp new file mode 100644 index 0000000..5fe265a Binary files /dev/null and b/assets/道具图片/附魔手套.webp differ diff --git a/assets/道具图片/附魔手套.webp.import b/assets/道具图片/附魔手套.webp.import new file mode 100644 index 0000000..95cacc7 --- /dev/null +++ b/assets/道具图片/附魔手套.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chk0gemc64nv3" +path="res://.godot/imported/附魔手套.webp-7e6ca21d1f96ee55393cc658d6066824.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/附魔手套.webp" +dest_files=["res://.godot/imported/附魔手套.webp-7e6ca21d1f96ee55393cc658d6066824.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/附魔铁铲.webp b/assets/道具图片/附魔铁铲.webp new file mode 100644 index 0000000..0d7014f Binary files /dev/null and b/assets/道具图片/附魔铁铲.webp differ diff --git a/assets/道具图片/附魔铁铲.webp.import b/assets/道具图片/附魔铁铲.webp.import new file mode 100644 index 0000000..3153e04 --- /dev/null +++ b/assets/道具图片/附魔铁铲.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbomu2xef7c67" +path="res://.godot/imported/附魔铁铲.webp-c2325cdca0fd200f8c0e96ae2a45d3b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/附魔铁铲.webp" +dest_files=["res://.godot/imported/附魔铁铲.webp-c2325cdca0fd200f8c0e96ae2a45d3b9.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/除草剂.webp b/assets/道具图片/除草剂.webp new file mode 100644 index 0000000..63dc3f7 Binary files /dev/null and b/assets/道具图片/除草剂.webp differ diff --git a/assets/道具图片/除草剂.webp.import b/assets/道具图片/除草剂.webp.import new file mode 100644 index 0000000..1650809 --- /dev/null +++ b/assets/道具图片/除草剂.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bevf66utdh4o4" +path="res://.godot/imported/除草剂.webp-e2f0bcdf8540efec681997414f3f2cdc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/除草剂.webp" +dest_files=["res://.godot/imported/除草剂.webp-e2f0bcdf8540efec681997414f3f2cdc.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/道具图片/默认道具.webp b/assets/道具图片/默认道具.webp new file mode 100644 index 0000000..b4a8eb6 Binary files /dev/null and b/assets/道具图片/默认道具.webp differ diff --git a/assets/道具图片/默认道具.webp.import b/assets/道具图片/默认道具.webp.import new file mode 100644 index 0000000..18e7b8b --- /dev/null +++ b/assets/道具图片/默认道具.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6pc8lw5c2x33" +path="res://.godot/imported/默认道具.webp-a94ffde892492016add64c47d408bd3e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/道具图片/默认道具.webp" +dest_files=["res://.godot/imported/默认道具.webp-a94ffde892492016add64c47d408bd3e.ctex"] + +[params] + +compress/mode=1 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg b/assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg new file mode 100644 index 0000000..bf45985 Binary files /dev/null and b/assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg differ diff --git a/assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg.import b/assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg.import new file mode 100644 index 0000000..905a4ca --- /dev/null +++ b/assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bpqy6t05r5vx8" +path="res://.godot/imported/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg-7df848803a9ec59f40a5a225cc5de04d.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg" +dest_files=["res://.godot/imported/Anibli&RelaxingPianoMusic-StrollThroughtheSky.ogg-7df848803a9ec59f40a5a225cc5de04d.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/BanAM-Futatabi.ogg b/assets/音乐/BanAM-Futatabi.ogg new file mode 100644 index 0000000..ab917de Binary files /dev/null and b/assets/音乐/BanAM-Futatabi.ogg differ diff --git a/assets/音乐/BanAM-Futatabi.ogg.import b/assets/音乐/BanAM-Futatabi.ogg.import new file mode 100644 index 0000000..b6a66c4 --- /dev/null +++ b/assets/音乐/BanAM-Futatabi.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://blmuev76nxjv" +path="res://.godot/imported/BanAM-Futatabi.ogg-20d2a5e1b3e5f2c82a9fcb82cdc21176.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/BanAM-Futatabi.ogg" +dest_files=["res://.godot/imported/BanAM-Futatabi.ogg-20d2a5e1b3e5f2c82a9fcb82cdc21176.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/MCMZebra-AlwaysandManyTimes.ogg b/assets/音乐/MCMZebra-AlwaysandManyTimes.ogg new file mode 100644 index 0000000..9966745 Binary files /dev/null and b/assets/音乐/MCMZebra-AlwaysandManyTimes.ogg differ diff --git a/assets/音乐/MCMZebra-AlwaysandManyTimes.ogg.import b/assets/音乐/MCMZebra-AlwaysandManyTimes.ogg.import new file mode 100644 index 0000000..afa1e77 --- /dev/null +++ b/assets/音乐/MCMZebra-AlwaysandManyTimes.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://codr3krg6tm5h" +path="res://.godot/imported/MCMZebra-AlwaysandManyTimes.ogg-c942419954520b6ccd364d4a7336f5bc.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/MCMZebra-AlwaysandManyTimes.ogg" +dest_files=["res://.godot/imported/MCMZebra-AlwaysandManyTimes.ogg-c942419954520b6ccd364d4a7336f5bc.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/MicMusicbox-Ashitakasekki.ogg b/assets/音乐/MicMusicbox-Ashitakasekki.ogg new file mode 100644 index 0000000..c814245 Binary files /dev/null and b/assets/音乐/MicMusicbox-Ashitakasekki.ogg differ diff --git a/assets/音乐/MicMusicbox-Ashitakasekki.ogg.import b/assets/音乐/MicMusicbox-Ashitakasekki.ogg.import new file mode 100644 index 0000000..b983c5b --- /dev/null +++ b/assets/音乐/MicMusicbox-Ashitakasekki.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ci4nsmlxkrttt" +path="res://.godot/imported/MicMusicbox-Ashitakasekki.ogg-3200c90a40ba486ac6c9a10f6c586511.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/MicMusicbox-Ashitakasekki.ogg" +dest_files=["res://.godot/imported/MicMusicbox-Ashitakasekki.ogg-3200c90a40ba486ac6c9a10f6c586511.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/Nemuネム-PromiseoftheWorld.ogg b/assets/音乐/Nemuネム-PromiseoftheWorld.ogg new file mode 100644 index 0000000..6d8564a Binary files /dev/null and b/assets/音乐/Nemuネム-PromiseoftheWorld.ogg differ diff --git a/assets/音乐/Nemuネム-PromiseoftheWorld.ogg.import b/assets/音乐/Nemuネム-PromiseoftheWorld.ogg.import new file mode 100644 index 0000000..7b36d05 --- /dev/null +++ b/assets/音乐/Nemuネム-PromiseoftheWorld.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://b4g7w40xn1uex" +path="res://.godot/imported/Nemuネム-PromiseoftheWorld.ogg-d0b9b2e16e3d08c67257a77ac680745a.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/Nemuネム-PromiseoftheWorld.ogg" +dest_files=["res://.godot/imported/Nemuネム-PromiseoftheWorld.ogg-d0b9b2e16e3d08c67257a77ac680745a.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg b/assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg new file mode 100644 index 0000000..6e6b646 Binary files /dev/null and b/assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg differ diff --git a/assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg.import b/assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg.import new file mode 100644 index 0000000..4c86543 --- /dev/null +++ b/assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://co1ji5n2ad51r" +path="res://.godot/imported/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg-15309d179ac9d282bc6ac42c6cc76ba3.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg" +dest_files=["res://.godot/imported/α-WaveRelaxationHealingMusicLab-いつも何度でも[「千と千尋の神隠し」より][ピアノ].ogg-15309d179ac9d282bc6ac42c6cc76ba3.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/久石让-ふたたび.ogg b/assets/音乐/久石让-ふたたび.ogg new file mode 100644 index 0000000..a83430d Binary files /dev/null and b/assets/音乐/久石让-ふたたび.ogg differ diff --git a/assets/音乐/久石让-ふたたび.ogg.import b/assets/音乐/久石让-ふたたび.ogg.import new file mode 100644 index 0000000..474fd58 --- /dev/null +++ b/assets/音乐/久石让-ふたたび.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://b3iih7hydu73i" +path="res://.godot/imported/久石让-ふたたび.ogg-05561340396cc6904f37cd7995f007d7.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/久石让-ふたたび.ogg" +dest_files=["res://.godot/imported/久石让-ふたたび.ogg-05561340396cc6904f37cd7995f007d7.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg b/assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg new file mode 100644 index 0000000..af9f818 Binary files /dev/null and b/assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg differ diff --git a/assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg.import b/assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg.import new file mode 100644 index 0000000..8c5f571 --- /dev/null +++ b/assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c2snw4fr61nds" +path="res://.godot/imported/广桥真纪子-いのちの名前(生命之名).ogg-570c76a87011ccb93edea9a201b10841.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/广桥真纪子-いのちの名前(生命之名).ogg" +dest_files=["res://.godot/imported/广桥真纪子-いのちの名前(生命之名).ogg-570c76a87011ccb93edea9a201b10841.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/音乐/日本群星-PromiseoftheWorld.ogg b/assets/音乐/日本群星-PromiseoftheWorld.ogg new file mode 100644 index 0000000..102ca8d Binary files /dev/null and b/assets/音乐/日本群星-PromiseoftheWorld.ogg differ diff --git a/assets/音乐/日本群星-PromiseoftheWorld.ogg.import b/assets/音乐/日本群星-PromiseoftheWorld.ogg.import new file mode 100644 index 0000000..3cd5a72 --- /dev/null +++ b/assets/音乐/日本群星-PromiseoftheWorld.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c0sn0147l7e52" +path="res://.godot/imported/日本群星-PromiseoftheWorld.ogg-17a5c1f5fc94fa2bb9fb0cb47f912052.oggvorbisstr" + +[deps] + +source_file="res://assets/音乐/日本群星-PromiseoftheWorld.ogg" +dest_files=["res://.godot/imported/日本群星-PromiseoftheWorld.ogg-17a5c1f5fc94fa2bb9fb0cb47f912052.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/background.gd b/background.gd index b3e3610..6077ec3 100644 --- a/background.gd +++ b/background.gd @@ -2,28 +2,28 @@ extends Sprite2D # 存储背景图片的路径数组 var backgrounds :Array = [ - "res://assets/背景图片/背景1.png", - "res://assets/背景图片/背景2.png", - "res://assets/背景图片/背景3.png", - "res://assets/背景图片/背景4.png", - "res://assets/背景图片/背景5.png", - "res://assets/背景图片/背景6.png", - "res://assets/背景图片/背景7.png", - "res://assets/背景图片/背景8.png", - "res://assets/背景图片/背景9.png", - "res://assets/背景图片/背景10.png", - "res://assets/背景图片/背景11.png", - "res://assets/背景图片/背景12.png", - "res://assets/背景图片/背景13.png", - "res://assets/背景图片/背景14.png", - "res://assets/背景图片/背景15.png", - "res://assets/背景图片/背景16.png", - "res://assets/背景图片/背景17.png", - "res://assets/背景图片/背景18.png", - "res://assets/背景图片/背景19.png", - "res://assets/背景图片/背景20.png", - "res://assets/背景图片/背景21.png", - "res://assets/背景图片/背景22.png" + "res://assets/背景图片/背景1.webp", + "res://assets/背景图片/背景2.webp", + "res://assets/背景图片/背景3.webp", + "res://assets/背景图片/背景4.webp", + "res://assets/背景图片/背景5.webp", + "res://assets/背景图片/背景6.webp", + "res://assets/背景图片/背景7.webp", + "res://assets/背景图片/背景8.webp", + "res://assets/背景图片/背景9.webp", + "res://assets/背景图片/背景10.webp", + "res://assets/背景图片/背景11.webp", + "res://assets/背景图片/背景12.webp", + "res://assets/背景图片/背景13.webp", + "res://assets/背景图片/背景14.webp", + "res://assets/背景图片/背景15.webp", + "res://assets/背景图片/背景16.webp", + "res://assets/背景图片/背景17.webp", + "res://assets/背景图片/背景18.webp", + "res://assets/背景图片/背景19.webp", + "res://assets/背景图片/背景20.webp", + "res://assets/背景图片/背景21.webp", + "res://assets/背景图片/背景22.webp" ] # 当前显示的背景索引 diff --git a/project.godot b/project.godot index 3128161..b63fd0e 100644 --- a/project.godot +++ b/project.godot @@ -54,6 +54,8 @@ folder_colors={ [importer_defaults] texture={ +&"compress/lossy_quality": 0.01, +&"compress/mode": 1, &"detect_3d/compress_to": 0, &"mipmaps/generate": true } diff --git a/server/game_saves/3205788256.json b/server/game_saves/3205788256.json index c1db8ed..8bc0d3c 100644 --- a/server/game_saves/3205788256.json +++ b/server/game_saves/3205788256.json @@ -1,16 +1,97 @@ { "farm_lots": [ { - "crop_type": "金橘", - "grow_time": 10801, + "crop_type": "辣椒", + "grow_time": 660, "is_dead": false, "is_diged": true, "is_planted": true, - "max_grow_time": 10800, + "max_grow_time": 650, "已浇水": false, "已施肥": false, - "土地等级": 1, - "浇水时间": 1749282767.1008155 + "土地等级": 4, + "浇水时间": 1750941703.97167 + }, + { + "crop_type": "辣椒", + "grow_time": 740, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 650, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "辣椒", + "grow_time": 690, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 650, + "已浇水": false, + "已施肥": false, + "土地等级": 4, + "浇水时间": 1750941712.5249715, + "施肥类型": "生长素", + "施肥倍数": 3.0, + "施肥持续时间": 600 + }, + { + "crop_type": "辣椒", + "grow_time": 660, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 650, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "野草1", + "grow_time": 10, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "野草1", + "grow_time": 10, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "辣椒", + "grow_time": 660, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 650, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "辣椒", + "grow_time": 660, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 650, + "已浇水": false, + "已施肥": false, + "土地等级": 4 }, { "crop_type": "", @@ -18,65 +99,10 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 600, "已浇水": false, "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10801, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10801, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10800, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10800, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10818, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 + "土地等级": 4 }, { "crop_type": "", @@ -84,10 +110,10 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 650, "已浇水": false, "已施肥": false, - "土地等级": 1 + "土地等级": 4 }, { "crop_type": "", @@ -95,32 +121,10 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 650, "已浇水": false, "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1, + "土地等级": 4, "浇水时间": 1749282770.1309266 }, { @@ -129,298 +133,14 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1, - "浇水时间": 1749282775.8268695 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "稻谷", - "grow_time": 600, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 600, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "稻谷", - "grow_time": 600, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 600, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "稻谷", - "grow_time": 600, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 600, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 4800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 4800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 6782, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "稻谷", - "grow_time": 640, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 600, - "已浇水": false, - "已施肥": false, - "土地等级": 4 - }, - { - "crop_type": "稻谷", - "grow_time": 640, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 600, - "已浇水": false, - "已施肥": false, - "土地等级": 4 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 4800, - "已浇水": false, - "已施肥": false, - "土地等级": 3 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 4800, - "已浇水": false, - "已施肥": false, - "土地等级": 3 - }, - { - "crop_type": "龙果", - "grow_time": 14474, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 14400, + "max_grow_time": 650, "已浇水": false, "已施肥": false, "土地等级": 4, - "浇水时间": 1749383079.5425293 - }, - { - "crop_type": "金橘", - "grow_time": 10806, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 3 - }, - { - "crop_type": "金橘", - "grow_time": 10806, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 3 - }, - { - "crop_type": "金橘", - "grow_time": 10800, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 3 + "浇水时间": 1749282775.8268695, + "施肥类型": "生长素", + "施肥倍数": 3.0, + "施肥持续时间": 600 }, { "crop_type": "", @@ -428,10 +148,13 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 720, "已浇水": false, "已施肥": false, - "土地等级": 3 + "土地等级": 4, + "施肥类型": "金坷垃", + "施肥倍数": 5.0, + "施肥持续时间": 300 }, { "crop_type": "", @@ -439,10 +162,10 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 650, "已浇水": false, "已施肥": false, - "土地等级": 3 + "土地等级": 4 }, { "crop_type": "", @@ -450,10 +173,13 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 600, "已浇水": false, "已施肥": false, - "土地等级": 2 + "土地等级": 4, + "施肥类型": "农家肥", + "施肥倍数": 2.0, + "施肥持续时间": 1800 }, { "crop_type": "", @@ -461,10 +187,11 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 650, "已浇水": false, "已施肥": false, - "土地等级": 2 + "土地等级": 4, + "浇水时间": 1751003939.982712 }, { "crop_type": "", @@ -472,10 +199,10 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 4800, + "max_grow_time": 650, "已浇水": false, "已施肥": false, - "土地等级": 2 + "土地等级": 4 }, { "crop_type": "", @@ -483,43 +210,10 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 4800, + "max_grow_time": 9600, "已浇水": false, "已施肥": false, - "土地等级": 2 - }, - { - "crop_type": "土豆", - "grow_time": 500, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 480, - "已浇水": false, - "已施肥": false, - "土地等级": 2 - }, - { - "crop_type": "土豆", - "grow_time": 484, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 480, - "已浇水": false, - "已施肥": false, - "土地等级": 2 - }, - { - "crop_type": "金橘", - "grow_time": 10804, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 2 + "土地等级": 4 }, { "crop_type": "", @@ -527,281 +221,17 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 2 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 2 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 2 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10801, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10800, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "杂交树2", - "grow_time": 25284, - "is_dead": false, - "is_diged": true, - "is_planted": true, "max_grow_time": 25200, "已浇水": false, "已施肥": false, "土地等级": 4 }, { - "crop_type": "杂交树1", - "grow_time": 21634, + "crop_type": "", + "grow_time": 0, "is_dead": false, "is_diged": true, - "is_planted": true, + "is_planted": false, "max_grow_time": 21600, "已浇水": false, "已施肥": false, @@ -813,10 +243,10 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 21600, "已浇水": false, "已施肥": false, - "土地等级": 1 + "土地等级": 4 }, { "crop_type": "", @@ -824,10 +254,11 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 1080, "已浇水": false, "已施肥": false, - "土地等级": 1 + "土地等级": 4, + "浇水时间": 1749981581.0701528 }, { "crop_type": "", @@ -835,10 +266,11 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 600, "已浇水": false, "已施肥": false, - "土地等级": 1 + "土地等级": 4, + "浇水时间": 1749981579.340645 }, { "crop_type": "", @@ -846,10 +278,11 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 720, "已浇水": false, "已施肥": false, - "土地等级": 1 + "土地等级": 4, + "浇水时间": 1749981577.9899538 }, { "crop_type": "", @@ -857,10 +290,11 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 720, "已浇水": false, "已施肥": false, - "土地等级": 1 + "土地等级": 4, + "浇水时间": 1749981575.3987803 }, { "crop_type": "", @@ -868,10 +302,11 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 21600, "已浇水": false, "已施肥": false, - "土地等级": 1 + "土地等级": 4, + "浇水时间": 1749981582.565002 }, { "crop_type": "", @@ -879,43 +314,11 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 240, "已浇水": false, "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10021, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10021, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10021, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 + "土地等级": 4, + "浇水时间": 1749981583.5566695 }, { "crop_type": "", @@ -923,216 +326,644 @@ "is_dead": false, "is_diged": true, "is_planted": false, - "max_grow_time": 10800, + "max_grow_time": 600, "已浇水": false, "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "金橘", - "grow_time": 10588, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10020, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10020, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10019, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10019, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10019, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10019, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10018, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10018, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10018, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10018, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10017, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10017, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10017, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10017, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "金橘", - "grow_time": 10016, - "is_dead": false, - "is_diged": true, - "is_planted": true, - "max_grow_time": 10800, - "已浇水": false, - "已施肥": false, - "土地等级": 0 + "土地等级": 4, + "浇水时间": 1749993714.7086222 }, { "crop_type": "", "grow_time": 0, "is_dead": false, - "is_diged": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 720, + "已浇水": false, + "已施肥": false, + "土地等级": 4, + "浇水时间": 1749981585.0290024 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 720, + "已浇水": false, + "已施肥": false, + "土地等级": 4, + "浇水时间": 1749981586.284726 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 25200, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 1080, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 1080, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 21600, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 21600, + "已浇水": false, + "已施肥": false, + "土地等级": 4, + "浇水时间": 1749383079.5425293 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 21600, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 21600, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 21600, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "杂草2", + "grow_time": 10, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "杂草1", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, "is_planted": false, "max_grow_time": 5, "已浇水": false, "已施肥": false, - "土地等级": 0 + "土地等级": 2 }, { "crop_type": "", "grow_time": 0, "is_dead": false, - "is_diged": false, + "is_diged": true, "is_planted": false, "max_grow_time": 5, "已浇水": false, "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "野草2", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "杂草2", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "杂草1", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "野草2", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "杂草1", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "杂草2", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "野草2", + "grow_time": 8, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "野草2", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "杂草2", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草2", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草2", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草2", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "杂草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "杂草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "杂草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草1", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "野草2", + "grow_time": 6, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 5, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 14400, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 8400, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 10800, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 18000, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 240, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 240, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 300, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 1320, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 1080, + "已浇水": false, + "已施肥": false, + "土地等级": 0, + "施肥类型": "金坷垃", + "施肥倍数": 5.0, + "施肥持续时间": 300 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 1080, + "已浇水": false, + "已施肥": false, + "土地等级": 0, + "施肥类型": "生长素", + "施肥倍数": 3.0, + "施肥持续时间": 600 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 1080, + "已浇水": false, + "已施肥": false, "土地等级": 0 }, { "crop_type": "", "grow_time": 0, "is_dead": false, - "is_diged": false, + "is_diged": true, "is_planted": false, - "max_grow_time": 5, + "max_grow_time": 1080, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 1080, "已浇水": false, "已施肥": false, "土地等级": 0 @@ -1141,9 +972,9 @@ "crop_type": "", "grow_time": 0, "is_dead": false, - "is_diged": false, + "is_diged": true, "is_planted": false, - "max_grow_time": 5, + "max_grow_time": 1080, "已浇水": false, "已施肥": false, "土地等级": 0 @@ -1152,9 +983,9 @@ "crop_type": "", "grow_time": 0, "is_dead": false, - "is_diged": false, + "is_diged": true, "is_planted": false, - "max_grow_time": 5, + "max_grow_time": 1080, "已浇水": false, "已施肥": false, "土地等级": 0 @@ -1163,68 +994,220 @@ "crop_type": "", "grow_time": 0, "is_dead": false, - "is_diged": false, + "is_diged": true, "is_planted": false, - "max_grow_time": 5, + "max_grow_time": 1080, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 240, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 720, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 240, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 18000, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 300, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 12000, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 900, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 2520, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 300, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 900, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 240, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 300, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 300, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 600, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "", + "grow_time": 0, + "is_dead": false, + "is_diged": true, + "is_planted": false, + "max_grow_time": 240, "已浇水": false, "已施肥": false, "土地等级": 0 } ], - "player_bag": [ - { - "count": 82, - "name": "金橘", - "quality": "传奇" - }, - { - "name": "西瓜", - "quality": "传奇", - "count": 5 - }, - { - "name": "小麦", - "quality": "普通", - "count": 2 - }, - { - "name": "橘子树", - "quality": "传奇", - "count": 1 - }, - { - "name": "茄子", - "quality": "史诗", - "count": 1 - }, - { - "name": "甘蔗", - "quality": "传奇", - "count": 1 - }, - { - "name": "香草", - "quality": "传奇", - "count": 1 - }, - { - "name": "树莓", - "quality": "稀有", - "count": 1 - }, - { - "name": "香蕉树", - "quality": "传奇", - "count": 1 - } - ], - "experience": 3495, - "farm_name": "树萌芽の大农场", + "player_bag": [], + "experience": 1597, + "farm_name": "树萌芽の狗窝", "player_name": "树萌芽", - "level": 52, - "money": 128038, - "last_login_time": "2025年06月08日20时05分46秒", - "total_login_time": "126时5分11秒", + "level": 61, + "money": 615398172872, + "last_login_time": "2025年06月27日14时40分33秒", + "total_login_time": "144时10分23秒", "user_name": "3205788256", "user_password": "tyh@19900420", "last_water_reset_date": "2025-06-06", @@ -1337,6 +1320,76 @@ }, "consecutive_days": 1, "timestamp": 1749378625.7474592 + }, + "2025-06-14": { + "rewards": { + "coins": 351, + "exp": 79, + "seeds": [ + { + "name": "土豆", + "quantity": 3, + "quality": "普通" + } + ] + }, + "consecutive_days": 0, + "timestamp": 1749874907.5975277 + }, + "2025-06-20": { + "rewards": { + "coins": 294, + "exp": 96, + "seeds": [ + { + "name": "小麦", + "quantity": 3, + "quality": "普通" + }, + { + "name": "胡萝卜", + "quantity": 5, + "quality": "普通" + } + ] + }, + "consecutive_days": 0, + "timestamp": 1750423705.0691648 + }, + "2025-06-21": { + "rewards": { + "coins": 494, + "exp": 69, + "seeds": [ + { + "name": "稻谷", + "quantity": 4, + "quality": "普通" + } + ] + }, + "consecutive_days": 1, + "timestamp": 1750496797.0872471 + }, + "2025-06-22": { + "rewards": { + "coins": 308, + "exp": 105, + "seeds": [ + { + "name": "胡萝卜", + "quantity": 5, + "quality": "普通" + }, + { + "name": "稻谷", + "quantity": 3, + "quality": "普通" + } + ] + }, + "consecutive_days": 2, + "timestamp": 1750593795.3381426 } }, "lucky_draw_history": [ @@ -1682,9 +1735,237 @@ } ], "total_likes": 1, - "体力值": 17, - "体力上次刷新时间": "2025-06-08", - "体力上次恢复时间": 1749382891.286395, + "体力值": 20, + "体力上次刷新时间": "2025-06-27", + "体力上次恢复时间": 1750993973.8191202, "new_player_gift_claimed": true, - "new_player_gift_time": "2025-06-08 19:22:41" + "new_player_gift_time": "2025-06-08 19:22:41", + "session_start_time": 1749878790.288913, + "online_gift": { + "2025-06-14": { + "start_time": 1749879901.7607145, + "claimed_gifts": { + "1分钟": 1749880662.6374884, + "10分钟": 1749881608.8597806 + } + }, + "2025-06-15": { + "start_time": 1749975150.3320227, + "claimed_gifts": { + "1分钟": 1749993667.0451698, + "10分钟": 1749993668.2373447, + "30分钟": 1749993670.157154, + "1小时": 1749993671.4369802, + "3小时": 1749993673.125788, + "5小时": 1749993674.0771775 + } + }, + "2025-06-20": { + "start_time": 1750409297.201823, + "claimed_gifts": { + "3分钟": 1750423708.4930353, + "1分钟": 1750423709.2926786 + }, + "last_login_time": 1750423706.6770706, + "total_online_time": 371.51173877716064 + }, + "2025-06-21": { + "start_time": 1750476455.4436114, + "claimed_gifts": {}, + "total_online_time": 2933.0, + "last_login_time": 1750496803.5583496 + }, + "2025-06-22": { + "start_time": 1750568215.1799552, + "claimed_gifts": {}, + "total_online_time": 561.0, + "last_login_time": 1750568647.592979 + }, + "2025-06-25": { + "start_time": 1750830418.2518964, + "claimed_gifts": { + "1分钟": 1750846132.4220037, + "3分钟": 1750846132.6823614, + "5分钟": 1750846133.0018988, + "10分钟": 1750846133.2581124 + }, + "total_online_time": 2712.1830813884735, + "last_login_time": 1750846159.737569 + }, + "2025-06-26": { + "start_time": 1750906580.8306375, + "claimed_gifts": {}, + "total_online_time": 2336.0 + }, + "2025-06-27": { + "start_time": 1750993973.8192315, + "claimed_gifts": {}, + "total_online_time": 7170.0 + } + }, + "个人简介": "人生啊,就这样吧", + "注册时间": "2025年05月21日15时00分00秒", + "作物仓库": [ + { + "name": "玉米", + "quality": "优良", + "count": 60 + }, + { + "name": "南瓜", + "quality": "史诗", + "count": 11 + }, + { + "name": "稻谷", + "quality": "普通", + "count": 178 + }, + { + "name": "玫瑰花", + "quality": "稀有", + "count": 15 + }, + { + "name": "小麦", + "quality": "普通", + "count": 52 + }, + { + "name": "康乃馨", + "quality": "优良", + "count": 4 + }, + { + "name": "杂交树1", + "quality": "传奇", + "count": 44 + }, + { + "name": "藏红花", + "quality": "传奇", + "count": 14 + }, + { + "name": "西瓜", + "quality": "优良", + "count": 9 + }, + { + "name": "金橘", + "quality": "传奇", + "count": 11 + }, + { + "name": "苹果树", + "quality": "传奇", + "count": 1 + }, + { + "name": "龙果", + "quality": "传奇", + "count": 3 + }, + { + "name": "月光草", + "quality": "传奇", + "count": 7 + }, + { + "name": "人参", + "quality": "传奇", + "count": 5 + }, + { + "name": "胡萝卜", + "quality": "普通", + "count": 79 + }, + { + "name": "土豆", + "quality": "普通", + "count": 11 + }, + { + "name": "草莓", + "quality": "稀有", + "count": 1 + }, + { + "name": "大白菜", + "quality": "优良", + "count": 1 + }, + { + "name": "番茄", + "quality": "优良", + "count": 74 + }, + { + "name": "山葵", + "quality": "优良", + "count": 4 + }, + { + "name": "香蕉树", + "quality": "传奇", + "count": 1 + }, + { + "name": "花椰菜", + "quality": "稀有", + "count": 1 + }, + { + "name": "松露", + "quality": "传奇", + "count": 9 + }, + { + "name": "山楂", + "quality": "优良", + "count": 9 + }, + { + "name": "牵牛花", + "quality": "优良", + "count": 18 + }, + { + "name": "柠檬", + "quality": "优良", + "count": 12 + }, + { + "name": "枇杷", + "quality": "优良", + "count": 3 + }, + { + "name": "冬虫夏草", + "quality": "传奇", + "count": 2 + }, + { + "name": "杂交树2", + "quality": "传奇", + "count": 33 + }, + { + "name": "苹果", + "quality": "传奇", + "count": 8 + }, + { + "name": "辣椒", + "quality": "普通", + "count": 49 + } + ], + "道具背包": [ + { + "name": "水桶", + "count": 1 + } + ] } \ No newline at end of file diff --git a/萌芽农场导出 b/萌芽农场导出 new file mode 100644 index 0000000..38f8fb0 --- /dev/null +++ b/萌芽农场导出 @@ -0,0 +1,570 @@ +{ + "disabled_build_options": { + "disable_3d": true, + "disable_3d_physics": true, + "openxr": false + }, + "disabled_classes": [ + "AESContext", + "AStar2D", + "AStar3D", + "AStarGrid2D", + "AbstractPolygon2DEditor", + "ActionMapEditor", + "AnimatedSprite2D", + "AnimatedTexture", + "Animation", + "AnimationBezierTrackEdit", + "AnimationLibrary", + "AnimationLibraryEditor", + "AnimationMarkerEdit", + "AnimationMixer", + "AnimationNode", + "AnimationNodeStateMachinePlayback", + "AnimationNodeStateMachineTransition", + "AnimationPlayerEditor", + "AnimationTimelineEdit", + "AnimationTrackEditPlugin", + "AnimationTrackEditor", + "AnimationTreeEditor", + "AnimationTreeNodeEditorPlugin", + "AspectRatioContainer", + "AtlasTexture", + "AtlasTileProxyObject", + "AudioBusLayout", + "AudioEffect", + "AudioEffectInstance", + "AudioListener2D", + "AudioSample", + "AudioSamplePlayback", + "AudioServer", + "AudioStreamGenerator", + "AudioStreamInteractive", + "AudioStreamInteractiveTransitionEditor", + "AudioStreamMicrophone", + "AudioStreamOggVorbis", + "AudioStreamPlayback", + "AudioStreamPlayer", + "AudioStreamPlayer2D", + "AudioStreamPlayerInternal", + "AudioStreamPlaylist", + "AudioStreamPolyphonic", + "AudioStreamPreviewGenerator", + "AudioStreamRandomizer", + "AudioStreamSynchronized", + "AudioStreamWAV", + "BackBufferCopy", + "BackgroundProgress", + "BaseMaterial3D", + "BitMap", + "Bone2D", + "BoneMap", + "ButtonGroup", + "CPUParticles2D", + "CSGShapeEditor", + "Camera2D", + "CameraAttributes", + "CameraFeed", + "CameraServer", + "CameraTexture", + "CanvasGroup", + "CanvasItemEditor", + "CanvasItemEditorViewport", + "CanvasItemMaterial", + "CanvasModulate", + "CanvasTexture", + "Cast2DEditor", + "CharFXTransform", + "CheckBox", + "CheckButton", + "ClassDB", + "CollisionObject2D", + "CollisionPolygon2D", + "CollisionShape2D", + "CollisionShape2DEditor", + "ColorPalette", + "ColorPicker", + "ColorPickerButton", + "Compositor", + "CompositorEffect", + "ConfigFile", + "ConfirmationDialog", + "ConnectDialogBinds", + "ConnectionsDock", + "ControlEditorPopupButton", + "ControlEditorToolbar", + "Crypto", + "CryptoKey", + "Curve", + "Curve2D", + "Curve3D", + "CurveTexture", + "CurveXYZTexture", + "DTLSServer", + "DebugAdapterParser", + "DependencyEditor", + "DependencyEditorOwners", + "DirAccess", + "DisplayServer", + "DynamicFontImportSettingsData", + "ENetConnection", + "EditorAbout", + "EditorAssetLibrary", + "EditorAudioBus", + "EditorAudioBuses", + "EditorAudioMeterNotches", + "EditorAutoloadSettings", + "EditorBottomPanel", + "EditorBuildProfile", + "EditorBuildProfileManager", + "EditorContextMenuPlugin", + "EditorContextMenuPluginManager", + "EditorDebuggerPlugin", + "EditorDebuggerRemoteObject", + "EditorDebuggerSession", + "EditorDockManager", + "EditorExport", + "EditorExportPlatform", + "EditorExportPlugin", + "EditorExportPreset", + "EditorExpressionEvaluator", + "EditorFeatureProfile", + "EditorFeatureProfileManager", + "EditorFileServer", + "EditorFileSystem", + "EditorFileSystemDirectory", + "EditorFileSystemImportFormatSupportQuery", + "EditorHelpBit", + "EditorImportBlendRunner", + "EditorInspector", + "EditorInspectorCategory", + "EditorInspectorPlugin", + "EditorInspectorSection", + "EditorInterface", + "EditorLog", + "EditorMainScreen", + "EditorNativeShaderSourceVisualizer", + "EditorNetworkProfiler", + "EditorNode", + "EditorNode3DGizmoPlugin", + "EditorObjectSelector", + "EditorPaths", + "EditorPlugin", + "EditorPluginSettings", + "EditorProfiler", + "EditorProperty", + "EditorPropertyArrayObject", + "EditorPropertyDictionaryObject", + "EditorPropertyNameProcessor", + "EditorQuickOpenDialog", + "EditorResourceConversionPlugin", + "EditorResourcePicker", + "EditorResourcePreview", + "EditorResourcePreviewGenerator", + "EditorResourceTooltipPlugin", + "EditorRunNative", + "EditorSceneExporterGLTFSettings", + "EditorSceneFormatImporter", + "EditorScenePostImport", + "EditorScenePostImportPlugin", + "EditorScript", + "EditorSelection", + "EditorSettings", + "EditorSettingsDialog", + "EditorSpinSlider", + "EditorTitleBar", + "EditorToaster", + "EditorTranslationParserPlugin", + "EditorUndoRedoManager", + "EditorVCSInterface", + "EditorValidationPanel", + "EditorVisualProfiler", + "EditorZoomWidget", + "EmbeddedProcess", + "EncodedObjectAsID", + "Engine", + "EngineDebugger", + "EngineProfiler", + "EventListenerLineEdit", + "ExportTemplateManager", + "Expression", + "ExternalTexture", + "FileAccess", + "FileSystemDock", + "FindInFiles", + "FindInFilesDialog", + "FindInFilesPanel", + "FindReplaceBar", + "FlowContainer", + "FogMaterial", + "Font", + "FramebufferCacheRD", + "GDExtension", + "GDExtensionManager", + "GDScriptNativeClass", + "GDScriptTextDocument", + "GDScriptWorkspace", + "GLTFAccessor", + "GLTFAnimation", + "GLTFBufferView", + "GLTFCamera", + "GLTFDocument", + "GLTFDocumentExtension", + "GLTFLight", + "GLTFMesh", + "GLTFNode", + "GLTFObjectModelProperty", + "GLTFPhysicsBody", + "GLTFPhysicsShape", + "GLTFSkeleton", + "GLTFSkin", + "GLTFSpecGloss", + "GLTFState", + "GLTFTexture", + "GLTFTextureSampler", + "GPUParticles2D", + "GameView", + "Geometry2D", + "Geometry3D", + "Gizmo3DHelper", + "Gradient", + "GradientTexture1D", + "GradientTexture2D", + "GraphEdit", + "GraphEditFilter", + "GraphEditMinimap", + "GraphElement", + "GridMapEditor", + "GroupSettingsEditor", + "GroupsEditor", + "HMACContext", + "HTTPClient", + "HTTPRequest", + "HashingContext", + "HistoryDock", + "IP", + "Image", + "ImageFormatLoader", + "ImageTexture", + "ImportDefaultsEditor", + "ImportDefaultsEditorSettings", + "ImportDock", + "ImportDockParameters", + "ImporterMesh", + "Input", + "InputEvent", + "InputMap", + "InspectorDock", + "InstancePlaceholder", + "ItemList", + "JNISingleton", + "JSONRPC", + "JavaClass", + "JavaClassWrapper", + "JavaObject", + "JavaScriptBridge", + "JavaScriptObject", + "Joint2D", + "KinematicCollision2D", + "KinematicCollision3D", + "LabelSettings", + "Light2D", + "LightOccluder2D", + "LightmapGIData", + "Lightmapper", + "Line2D", + "LinkButton", + "LocalizationEditor", + "MainLoop", + "MarginContainer", + "Marker2D", + "Marshalls", + "MenuBar", + "MenuButton", + "Mesh", + "MeshConvexDecompositionSettings", + "MeshDataTool", + "MeshInstance2D", + "MeshInstance3DEditor", + "MeshLibrary", + "MeshLibraryEditor", + "MeshTexture", + "MissingNode", + "MissingResource", + "MovieWriter", + "MultiMesh", + "MultiMeshEditor", + "MultiMeshInstance2D", + "MultiplayerAPI", + "MultiplayerSpawner", + "MultiplayerSynchronizer", + "Mutex", + "NativeMenu", + "NavigationAgent2D", + "NavigationAgent3D", + "NavigationLink2D", + "NavigationLink2DEditor", + "NavigationMesh", + "NavigationMeshEditor", + "NavigationMeshGenerator", + "NavigationMeshSourceGeometryData2D", + "NavigationMeshSourceGeometryData3D", + "NavigationObstacle2D", + "NavigationPathQueryParameters2D", + "NavigationPathQueryParameters3D", + "NavigationPathQueryResult2D", + "NavigationPathQueryResult3D", + "NavigationPolygon", + "NavigationRegion2D", + "NavigationServer2D", + "NavigationServer3D", + "NinePatchRect", + "Node3D", + "Node3DEditor", + "Node3DEditorViewport", + "Node3DEditorViewportContainer", + "Node3DGizmo", + "NodeDock", + "Noise", + "NoiseTexture2D", + "OS", + "Occluder3D", + "OccluderPolygon2D", + "OggPacketSequence", + "OggPacketSequencePlayback", + "OpenXRAPIExtension", + "OpenXRAction", + "OpenXRActionMap", + "OpenXRActionSet", + "OpenXRBindingModifier", + "OpenXRBindingModifierEditor", + "OpenXRExtensionWrapperExtension", + "OpenXRHapticBase", + "OpenXRIPBinding", + "OpenXRInteractionProfile", + "OpenXRInteractionProfileEditorBase", + "OpenXRInteractionProfileMetadata", + "OptionButton", + "PCKPacker", + "PackedDataContainer", + "PackedDataContainerRef", + "PacketPeer", + "PanoramaSkyMaterial", + "Parallax2D", + "ParallaxBackground", + "ParallaxLayer", + "ParticleProcessMaterial", + "Path2D", + "Path2DEditor", + "PathFollow2D", + "Performance", + "PhysicalSkyMaterial", + "PhysicsDirectBodyState2D", + "PhysicsDirectBodyState3D", + "PhysicsDirectSpaceState2D", + "PhysicsDirectSpaceState3D", + "PhysicsMaterial", + "PhysicsPointQueryParameters2D", + "PhysicsPointQueryParameters3D", + "PhysicsRayQueryParameters2D", + "PhysicsRayQueryParameters3D", + "PhysicsServer2D", + "PhysicsServer2DManager", + "PhysicsServer3D", + "PhysicsServer3DManager", + "PhysicsServer3DRenderingServerHandler", + "PhysicsShapeQueryParameters2D", + "PhysicsShapeQueryParameters3D", + "PhysicsTestMotionParameters2D", + "PhysicsTestMotionParameters3D", + "PhysicsTestMotionResult2D", + "PhysicsTestMotionResult3D", + "PlaceholderMaterial", + "PlaceholderTexture2D", + "Polygon2D", + "Polygon3DEditor", + "PolygonPathFinder", + "Popup", + "PortableCompressedTexture2D", + "ProceduralSkyMaterial", + "ProgressDialog", + "ProjectExportTextureFormatError", + "ProjectSettings", + "ProjectSettingsEditor", + "QuickOpenResultContainer", + "RDAttachmentFormat", + "RDFramebufferPass", + "RDPipelineColorBlendState", + "RDPipelineColorBlendStateAttachment", + "RDPipelineDepthStencilState", + "RDPipelineMultisampleState", + "RDPipelineRasterizationState", + "RDPipelineSpecializationConstant", + "RDSamplerState", + "RDShaderFile", + "RDShaderSPIRV", + "RDShaderSource", + "RDTextureFormat", + "RDTextureView", + "RDUniform", + "RDVertexAttribute", + "RandomNumberGenerator", + "RayCast2D", + "ReferenceRect", + "RegEx", + "RegExMatch", + "RemoteTransform2D", + "RenderBufferCustomDataRD", + "RenderData", + "RenderSceneBuffers", + "RenderSceneBuffersConfiguration", + "RenderSceneData", + "RenderingDevice", + "RenderingServer", + "ReplicationEditor", + "ResourceFormatLoader", + "ResourceFormatSaver", + "ResourceImporter", + "ResourceLoader", + "ResourcePreloader", + "ResourcePreloaderEditor", + "ResourceSaver", + "ResourceUID", + "RichTextEffect", + "RunInstancesDialog", + "SceneCacheInterface", + "SceneImportSettingsData", + "SceneRPCInterface", + "SceneReplicationConfig", + "SceneReplicationInterface", + "SceneState", + "SceneTileProxyObject", + "SceneTreeDock", + "SceneTreeEditor", + "SceneTreeTimer", + "ScreenSelect", + "ScriptEditor", + "ScriptEditorBase", + "ScriptExtension", + "ScriptLanguage", + "ScrollBar", + "SectionedInspectorFilter", + "Semaphore", + "Separator", + "ShaderFileEditor", + "ShaderGlobalsEditor", + "ShaderGlobalsEditorInterface", + "ShaderGlobalsOverride", + "ShaderInclude", + "ShaderIncludeDB", + "Shape2D", + "Shape3D", + "ShapeCast2D", + "Shortcut", + "ShortcutBin", + "Skeleton2D", + "Skeleton2DEditor", + "SkeletonModification2D", + "SkeletonModificationStack2D", + "SkeletonProfile", + "Skin", + "SkinReference", + "Sky", + "Slider", + "SpinBox", + "SplitContainer", + "SplitContainerDragger", + "Sprite2DEditor", + "SpriteFrames", + "StatusIndicator", + "StreamPeer", + "StyleBox", + "SubViewport", + "SubViewportContainer", + "SurfaceTool", + "SurfaceUpgradeTool", + "SyntaxHighlighter", + "TCPServer", + "TLSOptions", + "TabBar", + "TabContainer", + "TextEdit", + "TextLine", + "TextParagraph", + "TextServer", + "TextServerManager", + "Texture2DRD", + "Texture3D", + "TextureButton", + "TextureLayered", + "TextureProgressBar", + "TextureRegionEditor", + "Theme", + "ThemeContext", + "ThemeDB", + "ThemeEditor", + "ThemeEditorPreview", + "ThemeItemEditorDialog", + "ThemeItemImportTree", + "Thread", + "TileAtlasView", + "TileData", + "TileMap", + "TileMapLayer", + "TileMapLayerEditor", + "TileMapLayerEditorTerrainsPlugin", + "TileMapLayerEditorTilesPlugin", + "TileMapPattern", + "TileSet", + "TileSetAtlasSourceProxyObject", + "TileSetEditor", + "TileSetScenesCollectionProxyObject", + "TileSetScenesCollectionSourceEditor", + "TileSetSource", + "TilesEditorUtils", + "Time", + "Timer", + "TouchScreenButton", + "Translation", + "TranslationDomain", + "TranslationServer", + "Tree", + "TreeItem", + "TriangleMesh", + "Tween", + "Tweener", + "UDPServer", + "UIDUpgradeTool", + "UPNP", + "UPNPDevice", + "UndoRedo", + "UniformSetCacheRD", + "VideoStream", + "VideoStreamPlayback", + "VideoStreamPlayer", + "ViewPanner", + "ViewportNavigationControl", + "ViewportRotationControl", + "ViewportTexture", + "VisibleOnScreenNotifier2D", + "VisualShader", + "VisualShaderNode", + "VoxelGIData", + "WeakRef", + "WebRTCPeerConnection", + "WorkerThreadPool", + "World2D", + "World3D", + "WorldEnvironment", + "X509Certificate", + "XMLParser", + "XRInterface", + "XRPose", + "XRServer", + "XRTracker", + "XRVRS", + "ZIPPacker", + "ZIPReader" + ], + "type": "build_profile" +} \ No newline at end of file