天气系统
258
MainGame.tscn
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=72 format=3 uid="uid://dgh61dttaas5a"]
|
[gd_scene load_steps=85 format=3 uid="uid://dgh61dttaas5a"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://2pt11sfcaxf7" path="res://MainGame.gd" id="1_v3yaj"]
|
[ext_resource type="Script" uid="uid://2pt11sfcaxf7" path="res://MainGame.gd" id="1_v3yaj"]
|
||||||
[ext_resource type="Texture2D" uid="uid://du2pyiojliasy" path="res://assets/游戏UI/经验球.webp" id="2_6jgly"]
|
[ext_resource type="Texture2D" uid="uid://du2pyiojliasy" path="res://assets/游戏UI/经验球.webp" id="2_6jgly"]
|
||||||
@@ -53,6 +53,15 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dswjorjhf1i6f" path="res://assets/灌木丛图片/灌木丛2.webp" id="50_sqnmr"]
|
[ext_resource type="Texture2D" uid="uid://dswjorjhf1i6f" path="res://assets/灌木丛图片/灌木丛2.webp" id="50_sqnmr"]
|
||||||
[ext_resource type="Texture2D" uid="uid://go3n3qnpancf" path="res://assets/灌木丛图片/灌木丛3.webp" id="51_2i8fe"]
|
[ext_resource type="Texture2D" uid="uid://go3n3qnpancf" path="res://assets/灌木丛图片/灌木丛3.webp" id="51_2i8fe"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="53_4ka7t"]
|
[ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="53_4ka7t"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cvg38nsrm77jy" path="res://Scene/Particle/WillowLeafRain.tscn" id="53_nf3jg"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://chcgrmluhfxuk" path="res://assets/天气系统图片/樱花1.webp" id="53_tdq2s"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c1qqalp7owgy2" path="res://assets/天气系统图片/栀子花1.webp" id="53_xyeuq"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dfkgmj7e0555q" path="res://assets/天气系统图片/樱花2.webp" id="54_dygjy"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bfducebx4c4il" path="res://assets/天气系统图片/柳叶3.webp" id="54_jiccn"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cd7x78uyi2csh" path="res://assets/天气系统图片/栀子花2.webp" id="54_t4s8j"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dl58ie2lneq77" path="res://assets/天气系统图片/柳叶1.webp" id="55_e8wx8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://q0difb6wjkgm" path="res://assets/天气系统图片/樱花3.webp" id="55_edvcq"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cqqyc3ddwtvpn" path="res://assets/天气系统图片/栀子花3.webp" id="55_iluto"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5dq3w"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5dq3w"]
|
||||||
|
|
||||||
@@ -110,8 +119,13 @@ shadow_size = 30
|
|||||||
[sub_resource type="Environment" id="Environment_m6fch"]
|
[sub_resource type="Environment" id="Environment_m6fch"]
|
||||||
background_mode = 3
|
background_mode = 3
|
||||||
ambient_light_energy = 0.0
|
ambient_light_energy = 0.0
|
||||||
|
glow_enabled = true
|
||||||
|
glow_intensity = 1.0
|
||||||
glow_bloom = 0.3
|
glow_bloom = 0.3
|
||||||
glow_blend_mode = 0
|
glow_blend_mode = 0
|
||||||
|
glow_hdr_threshold = 2.0
|
||||||
|
volumetric_fog_emission_energy = 281.25
|
||||||
|
volumetric_fog_gi_inject = 1.38
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6ylhg"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6ylhg"]
|
||||||
border_width_left = 10
|
border_width_left = 10
|
||||||
@@ -126,44 +140,98 @@ corner_detail = 20
|
|||||||
shadow_size = 20
|
shadow_size = 20
|
||||||
shadow_offset = Vector2(3, 3)
|
shadow_offset = Vector2(3, 3)
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nf3jg"]
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_tdq2s"]
|
||||||
lifetime_randomness = 1.0
|
|
||||||
particle_flag_disable_z = true
|
|
||||||
emission_shape = 3
|
|
||||||
emission_box_extents = Vector3(1, 1, 1)
|
|
||||||
gravity = Vector3(0, 98, 0)
|
|
||||||
scale_min = 0.5
|
|
||||||
scale_max = 0.5
|
|
||||||
turbulence_enabled = true
|
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_4ka7t"]
|
|
||||||
_data = [Vector2(0, 0.951807), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.0461538, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
|
||||||
point_count = 4
|
|
||||||
|
|
||||||
[sub_resource type="CurveTexture" id="CurveTexture_nf3jg"]
|
|
||||||
curve = SubResource("Curve_4ka7t")
|
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_adtqp"]
|
|
||||||
offsets = PackedFloat32Array(0.52, 0.697143)
|
|
||||||
colors = PackedColorArray(1, 1, 1, 0.352941, 1, 1, 1, 1)
|
|
||||||
|
|
||||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_5dq3w"]
|
|
||||||
gradient = SubResource("Gradient_adtqp")
|
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"]
|
|
||||||
lifetime_randomness = 0.07
|
|
||||||
particle_flag_disable_z = true
|
particle_flag_disable_z = true
|
||||||
emission_shape = 3
|
emission_shape = 3
|
||||||
emission_box_extents = Vector3(1000, 1, 1)
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
gravity = Vector3(46, 80, 0)
|
gravity = Vector3(-30, 80, 0)
|
||||||
scale_min = 0.2
|
scale_min = 0.2
|
||||||
scale_max = 0.3
|
scale_max = 0.3
|
||||||
color_initial_ramp = SubResource("GradientTexture1D_5dq3w")
|
|
||||||
alpha_curve = SubResource("CurveTexture_nf3jg")
|
|
||||||
turbulence_enabled = true
|
turbulence_enabled = true
|
||||||
|
turbulence_noise_speed = Vector3(10, 0, 0)
|
||||||
|
turbulence_influence_min = 0.02
|
||||||
|
turbulence_influence_max = 0.07
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dygjy"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
|
gravity = Vector3(-30, 80, 0)
|
||||||
|
scale_min = 0.2
|
||||||
|
scale_max = 0.3
|
||||||
|
turbulence_enabled = true
|
||||||
|
turbulence_noise_speed = Vector3(10, 0, 0)
|
||||||
|
turbulence_influence_min = 0.02
|
||||||
|
turbulence_influence_max = 0.07
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_e8wx8"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
|
gravity = Vector3(-30, 80, 0)
|
||||||
|
scale_min = 0.4
|
||||||
|
scale_max = 0.5
|
||||||
|
turbulence_enabled = true
|
||||||
|
turbulence_noise_speed = Vector3(10, 0, 0)
|
||||||
|
turbulence_influence_min = 0.02
|
||||||
|
turbulence_influence_max = 0.07
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4ka7t"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
|
gravity = Vector3(-45, 80, 0)
|
||||||
|
scale_min = 0.4
|
||||||
|
scale_max = 0.5
|
||||||
|
turbulence_enabled = true
|
||||||
|
turbulence_noise_speed = Vector3(10, 0, 0)
|
||||||
|
turbulence_influence_min = 0.02
|
||||||
|
turbulence_influence_max = 0.07
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"]
|
||||||
|
lifetime_randomness = 0.6
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
|
direction = Vector3(0, 1, 0)
|
||||||
|
spread = 0.0
|
||||||
|
initial_velocity_min = 100.0
|
||||||
|
initial_velocity_max = 400.0
|
||||||
|
gravity = Vector3(0, 98, 0)
|
||||||
|
scale_min = 4.0
|
||||||
|
scale_max = 6.0
|
||||||
|
color = Color(0, 0.380392, 1, 1)
|
||||||
turbulence_influence_min = 0.02
|
turbulence_influence_min = 0.02
|
||||||
turbulence_influence_max = 0.08
|
turbulence_influence_max = 0.08
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_5dq3w"]
|
||||||
|
_data = [Vector2(0, 0.987952), 0.0, 0.0, 0, 0, Vector2(1e-05, 1), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.838462, 0.253012), -2.16867, -2.16867, 0, 0, Vector2(0.976923, 0), 0.0, 0.0, 0, 0, Vector2(0.99999, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 7
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_jiccn"]
|
||||||
|
curve = SubResource("Curve_5dq3w")
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_e8wx8"]
|
||||||
|
offsets = PackedFloat32Array(0.372727, 0.718182)
|
||||||
|
colors = PackedColorArray(0.886, 0.886, 0.886, 0.313, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_tdq2s"]
|
||||||
|
gradient = SubResource("Gradient_e8wx8")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nf3jg"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
|
gravity = Vector3(45, 98, 0)
|
||||||
|
scale_min = 0.4
|
||||||
|
scale_max = 0.5
|
||||||
|
color_initial_ramp = SubResource("GradientTexture1D_tdq2s")
|
||||||
|
alpha_curve = SubResource("CurveTexture_jiccn")
|
||||||
|
turbulence_enabled = true
|
||||||
|
turbulence_noise_speed = Vector3(10, 0, 0)
|
||||||
|
turbulence_influence_min = 0.02
|
||||||
|
turbulence_influence_max = 0.07
|
||||||
|
|
||||||
[node name="main" type="Node"]
|
[node name="main" type="Node"]
|
||||||
script = ExtResource("1_v3yaj")
|
script = ExtResource("1_v3yaj")
|
||||||
|
|
||||||
@@ -1562,9 +1630,9 @@ offset_bottom = -61.0
|
|||||||
anchor_mode = 0
|
anchor_mode = 0
|
||||||
position_smoothing_enabled = true
|
position_smoothing_enabled = true
|
||||||
script = ExtResource("10_o8l48")
|
script = ExtResource("10_o8l48")
|
||||||
max_zoom = 2.0
|
max_zoom = 1.8
|
||||||
bounds_enabled = true
|
bounds_enabled = true
|
||||||
bounds_min = Vector2(-500, -500)
|
bounds_min = Vector2(-500, -400)
|
||||||
bounds_max = Vector2(500, 500)
|
bounds_max = Vector2(500, 500)
|
||||||
|
|
||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
@@ -4277,27 +4345,125 @@ vertical_alignment = 1
|
|||||||
|
|
||||||
[node name="WeatherSystem" type="Node2D" parent="."]
|
[node name="WeatherSystem" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
[node name="CherryBlossomRain" type="Node2D" parent="WeatherSystem"]
|
||||||
|
visible = false
|
||||||
|
position = Vector2(934, -469)
|
||||||
|
|
||||||
|
[node name="CherryBlossomRain1" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"]
|
||||||
|
self_modulate = Color(0.7, 0.7, 0.7, 1)
|
||||||
|
z_index = 10
|
||||||
|
position = Vector2(-143, 11)
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("53_xyeuq")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_tdq2s")
|
||||||
|
|
||||||
|
[node name="CherryBlossomRain2" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"]
|
||||||
|
self_modulate = Color(0.7, 0.7, 0.7, 1)
|
||||||
|
z_index = 10
|
||||||
|
position = Vector2(-143, 11)
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("54_t4s8j")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_tdq2s")
|
||||||
|
|
||||||
|
[node name="CherryBlossomRain3" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"]
|
||||||
|
self_modulate = Color(0.7, 0.7, 0.7, 1)
|
||||||
|
z_index = 10
|
||||||
|
position = Vector2(-143, 11)
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("55_iluto")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_tdq2s")
|
||||||
|
|
||||||
|
[node name="GardeniaRain" type="Node2D" parent="WeatherSystem"]
|
||||||
|
position = Vector2(759, -370)
|
||||||
|
|
||||||
|
[node name="WillowLeafRain1" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"]
|
||||||
|
self_modulate = Color(0.9, 0.9, 0.9, 1)
|
||||||
|
z_index = 10
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("53_tdq2s")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_dygjy")
|
||||||
|
|
||||||
|
[node name="WillowLeafRain2" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"]
|
||||||
|
self_modulate = Color(0.9, 0.9, 0.9, 1)
|
||||||
|
z_index = 10
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("54_dygjy")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_dygjy")
|
||||||
|
|
||||||
|
[node name="WillowLeafRain3" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"]
|
||||||
|
self_modulate = Color(0.9, 0.9, 0.9, 1)
|
||||||
|
z_index = 10
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("55_edvcq")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_dygjy")
|
||||||
|
|
||||||
|
[node name="WillowLeafRain" type="Node2D" parent="WeatherSystem"]
|
||||||
|
visible = false
|
||||||
|
position = Vector2(882, -469)
|
||||||
|
|
||||||
|
[node name="WillowLeafRain1" parent="WeatherSystem/WillowLeafRain" instance=ExtResource("53_nf3jg")]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="WillowLeafRain2" type="GPUParticles2D" parent="WeatherSystem/WillowLeafRain"]
|
||||||
|
visible = false
|
||||||
|
self_modulate = Color(0.7, 0.7, 0.7, 1)
|
||||||
|
z_index = 10
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("55_e8wx8")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_e8wx8")
|
||||||
|
|
||||||
|
[node name="WillowLeafRain3" type="GPUParticles2D" parent="WeatherSystem/WillowLeafRain"]
|
||||||
|
self_modulate = Color(0.7, 0.7, 0.7, 1)
|
||||||
|
z_index = 10
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("54_jiccn")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_4ka7t")
|
||||||
|
|
||||||
[node name="Rain" type="GPUParticles2D" parent="WeatherSystem"]
|
[node name="Rain" type="GPUParticles2D" parent="WeatherSystem"]
|
||||||
visible = false
|
visible = false
|
||||||
position = Vector2(-170, -272)
|
z_index = 10
|
||||||
amount = 16
|
position = Vector2(246, -482)
|
||||||
sub_emitter = NodePath(".")
|
amount = 450
|
||||||
texture = ExtResource("53_4ka7t")
|
lifetime = 10.0
|
||||||
lifetime = 15.0
|
preprocess = 20.0
|
||||||
randomness = 0.5
|
speed_scale = 1.5
|
||||||
process_material = SubResource("ParticleProcessMaterial_nf3jg")
|
visibility_rect = Rect2(-900, 0, 2000, 2000)
|
||||||
|
trail_lifetime = 0.01
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_jiccn")
|
||||||
|
|
||||||
[node name="Snow" type="GPUParticles2D" parent="WeatherSystem"]
|
[node name="Snow" type="GPUParticles2D" parent="WeatherSystem"]
|
||||||
z_index = 10
|
visible = false
|
||||||
position = Vector2(249, -262)
|
position = Vector2(16, -520)
|
||||||
amount = 300
|
amount = 300
|
||||||
texture = ExtResource("53_4ka7t")
|
texture = ExtResource("53_4ka7t")
|
||||||
lifetime = 15.0
|
lifetime = 18.0
|
||||||
preprocess = 30.0
|
preprocess = 30.0
|
||||||
visibility_rect = Rect2(-900, 0, 2000, 2000)
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
trail_sections = 2
|
process_material = SubResource("ParticleProcessMaterial_nf3jg")
|
||||||
trail_section_subdivisions = 1
|
|
||||||
process_material = SubResource("ParticleProcessMaterial_jiccn")
|
|
||||||
|
|
||||||
[node name="DayNightSystem" type="Node2D" parent="."]
|
[node name="DayNightSystem" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
|||||||
28
Scene/Particle/Rain.tscn
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[gd_scene load_steps=2 format=3 uid="uid://3cr6q4he2y0x"]
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"]
|
||||||
|
lifetime_randomness = 0.6
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
|
direction = Vector3(0, 1, 0)
|
||||||
|
spread = 0.0
|
||||||
|
initial_velocity_min = 100.0
|
||||||
|
initial_velocity_max = 400.0
|
||||||
|
gravity = Vector3(0, 98, 0)
|
||||||
|
scale_min = 4.0
|
||||||
|
scale_max = 6.0
|
||||||
|
color = Color(0, 0.380392, 1, 1)
|
||||||
|
turbulence_influence_min = 0.02
|
||||||
|
turbulence_influence_max = 0.08
|
||||||
|
|
||||||
|
[node name="Rain" type="GPUParticles2D"]
|
||||||
|
visible = false
|
||||||
|
z_index = 10
|
||||||
|
amount = 450
|
||||||
|
lifetime = 10.0
|
||||||
|
preprocess = 20.0
|
||||||
|
speed_scale = 1.5
|
||||||
|
visibility_rect = Rect2(-900, 0, 2000, 2000)
|
||||||
|
trail_lifetime = 0.01
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_jiccn")
|
||||||
25
Scene/Particle/WillowLeafRain.tscn
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://cvg38nsrm77jy"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bnv6wb0k443fv" path="res://assets/天气系统图片/柳叶2.webp" id="1_tq8cs"]
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_tdq2s"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
|
gravity = Vector3(-30, 80, 0)
|
||||||
|
scale_min = 0.4
|
||||||
|
scale_max = 0.5
|
||||||
|
turbulence_enabled = true
|
||||||
|
turbulence_noise_speed = Vector3(10, 0, 0)
|
||||||
|
turbulence_influence_min = 0.02
|
||||||
|
turbulence_influence_max = 0.07
|
||||||
|
|
||||||
|
[node name="WillowLeafRain1" type="GPUParticles2D"]
|
||||||
|
self_modulate = Color(0.7, 0.7, 0.7, 1)
|
||||||
|
z_index = 10
|
||||||
|
amount = 50
|
||||||
|
texture = ExtResource("1_tq8cs")
|
||||||
|
lifetime = 20.0
|
||||||
|
preprocess = 10.0
|
||||||
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_tdq2s")
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://b5j2tonaoiku5"]
|
[gd_scene load_steps=7 format=3 uid="uid://dx7rtwu53mgxh"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="1_nqr5d"]
|
[ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="1_yj638"]
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_4ka7t"]
|
[sub_resource type="Curve" id="Curve_4ka7t"]
|
||||||
_data = [Vector2(0, 0.951807), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.0461538, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
_data = [Vector2(0, 0.951807), 0.0, 0.0, 0, 0, Vector2(1e-05, 0.963855), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.0461538, 1), 0.0, 0.0, 0, 0, Vector2(0.561538, 0.819277), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
point_count = 4
|
point_count = 6
|
||||||
|
|
||||||
[sub_resource type="CurveTexture" id="CurveTexture_nf3jg"]
|
[sub_resource type="CurveTexture" id="CurveTexture_nf3jg"]
|
||||||
curve = SubResource("Curve_4ka7t")
|
curve = SubResource("Curve_4ka7t")
|
||||||
@@ -16,7 +16,7 @@ colors = PackedColorArray(1, 1, 1, 0.352941, 1, 1, 1, 1)
|
|||||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_5dq3w"]
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_5dq3w"]
|
||||||
gradient = SubResource("Gradient_adtqp")
|
gradient = SubResource("Gradient_adtqp")
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"]
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4ka7t"]
|
||||||
particle_flag_disable_z = true
|
particle_flag_disable_z = true
|
||||||
emission_shape = 3
|
emission_shape = 3
|
||||||
emission_box_extents = Vector3(1000, 1, 1)
|
emission_box_extents = Vector3(1000, 1, 1)
|
||||||
@@ -30,8 +30,10 @@ turbulence_influence_min = 0.02
|
|||||||
turbulence_influence_max = 0.08
|
turbulence_influence_max = 0.08
|
||||||
|
|
||||||
[node name="Snow" type="GPUParticles2D"]
|
[node name="Snow" type="GPUParticles2D"]
|
||||||
amount = 200
|
visible = false
|
||||||
texture = ExtResource("1_nqr5d")
|
amount = 300
|
||||||
lifetime = 10.0
|
texture = ExtResource("1_yj638")
|
||||||
|
lifetime = 18.0
|
||||||
preprocess = 30.0
|
preprocess = 30.0
|
||||||
process_material = SubResource("ParticleProcessMaterial_jiccn")
|
visibility_rect = Rect2(-900, 0, 2300, 2000)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_4ka7t")
|
||||||
|
|||||||
@@ -849,7 +849,9 @@ class TCPGameServer(TCPServer):
|
|||||||
# 检查并更新体力值
|
# 检查并更新体力值
|
||||||
stamina_updated = self._check_and_update_stamina(player_data)
|
stamina_updated = self._check_and_update_stamina(player_data)
|
||||||
if stamina_updated:
|
if stamina_updated:
|
||||||
self.log('INFO', f"玩家 {username} 体力值已更新:{player_data.get('体力值', 20)}", 'SERVER')
|
stamina_system = player_data.get("体力系统", {})
|
||||||
|
current_stamina = stamina_system.get("当前体力值", 20)
|
||||||
|
self.log('INFO', f"玩家 {username} 体力值已更新:{current_stamina}", 'SERVER')
|
||||||
|
|
||||||
# 检查并更新每日点赞次数
|
# 检查并更新每日点赞次数
|
||||||
likes_updated = self._check_and_update_daily_likes(player_data)
|
likes_updated = self._check_and_update_daily_likes(player_data)
|
||||||
@@ -864,6 +866,9 @@ class TCPGameServer(TCPServer):
|
|||||||
# 检查并清理新手礼包历史数据
|
# 检查并清理新手礼包历史数据
|
||||||
self._cleanup_new_player_gift_history(player_data)
|
self._cleanup_new_player_gift_history(player_data)
|
||||||
|
|
||||||
|
# 检查并清理体力系统历史数据
|
||||||
|
self._cleanup_stamina_system_history(player_data)
|
||||||
|
|
||||||
# 检查并更新已存在玩家的注册时间
|
# 检查并更新已存在玩家的注册时间
|
||||||
self._check_and_update_register_time(player_data, username)
|
self._check_and_update_register_time(player_data, username)
|
||||||
|
|
||||||
@@ -5103,6 +5108,62 @@ class TCPGameServer(TCPServer):
|
|||||||
|
|
||||||
self.log('INFO', f"已清理玩家数据中的旧英文新手礼包格式", 'SERVER')
|
self.log('INFO', f"已清理玩家数据中的旧英文新手礼包格式", 'SERVER')
|
||||||
|
|
||||||
|
def _cleanup_stamina_system_history(self, player_data):
|
||||||
|
"""清理旧的体力系统数据,迁移到新的"体力系统"对象"""
|
||||||
|
if "体力值" in player_data or "体力上次刷新时间" in player_data or "体力上次恢复时间" in player_data:
|
||||||
|
# 加载体力系统配置
|
||||||
|
stamina_config = self._load_stamina_config()
|
||||||
|
max_stamina = stamina_config.get("最大体力值", 20)
|
||||||
|
|
||||||
|
# 保存旧的体力数据
|
||||||
|
old_stamina = player_data.get("体力值", 20)
|
||||||
|
old_refresh_time = player_data.get("体力上次刷新时间", "")
|
||||||
|
old_recovery_time = player_data.get("体力上次恢复时间", 0)
|
||||||
|
|
||||||
|
# 创建新的体力系统对象
|
||||||
|
if "体力系统" not in player_data:
|
||||||
|
player_data["体力系统"] = {}
|
||||||
|
|
||||||
|
stamina_system = player_data["体力系统"]
|
||||||
|
|
||||||
|
# 迁移数据到新格式
|
||||||
|
stamina_system["当前体力值"] = old_stamina
|
||||||
|
stamina_system["最大体力值"] = max_stamina
|
||||||
|
stamina_system["上次刷新时间"] = old_refresh_time
|
||||||
|
stamina_system["上次恢复时间"] = old_recovery_time
|
||||||
|
|
||||||
|
# 移除旧的体力数据
|
||||||
|
if "体力值" in player_data:
|
||||||
|
del player_data["体力值"]
|
||||||
|
if "体力上次刷新时间" in player_data:
|
||||||
|
del player_data["体力上次刷新时间"]
|
||||||
|
if "体力上次恢复时间" in player_data:
|
||||||
|
del player_data["体力上次恢复时间"]
|
||||||
|
|
||||||
|
self.log('INFO', f"已清理玩家数据中的旧体力系统格式,迁移到新的体力系统对象", 'SERVER')
|
||||||
|
|
||||||
|
def _load_stamina_config(self):
|
||||||
|
"""加载体力系统配置"""
|
||||||
|
try:
|
||||||
|
config_path = os.path.join(os.path.dirname(__file__), "config", "stamina_config.json")
|
||||||
|
with open(config_path, 'r', encoding='utf-8') as file:
|
||||||
|
config_data = json.load(file)
|
||||||
|
return config_data.get("体力系统配置", {})
|
||||||
|
except FileNotFoundError:
|
||||||
|
self.log('WARNING', f"体力系统配置文件未找到,使用默认配置", 'SERVER')
|
||||||
|
return {
|
||||||
|
"最大体力值": 20,
|
||||||
|
"每小时恢复体力": 1,
|
||||||
|
"恢复间隔秒数": 3600,
|
||||||
|
"新玩家初始体力": 20
|
||||||
|
}
|
||||||
|
except json.JSONDecodeError as e:
|
||||||
|
self.log('ERROR', f"体力系统配置文件格式错误: {e}", 'SERVER')
|
||||||
|
return {}
|
||||||
|
except Exception as e:
|
||||||
|
self.log('ERROR', f"加载体力系统配置时发生错误: {e}", 'SERVER')
|
||||||
|
return {}
|
||||||
|
|
||||||
#==========================点赞玩家处理==========================
|
#==========================点赞玩家处理==========================
|
||||||
|
|
||||||
|
|
||||||
@@ -5131,37 +5192,50 @@ class TCPGameServer(TCPServer):
|
|||||||
current_time = time.time()
|
current_time = time.time()
|
||||||
current_date = datetime.datetime.now().strftime("%Y-%m-%d")
|
current_date = datetime.datetime.now().strftime("%Y-%m-%d")
|
||||||
|
|
||||||
# 初始化体力值相关字段
|
# 加载体力系统配置
|
||||||
if "体力值" not in player_data:
|
stamina_config = self._load_stamina_config()
|
||||||
player_data["体力值"] = 20
|
max_stamina = stamina_config.get("最大体力值", 20)
|
||||||
if "体力上次刷新时间" not in player_data:
|
recovery_amount = stamina_config.get("每小时恢复体力", 1)
|
||||||
player_data["体力上次刷新时间"] = current_date
|
recovery_interval = stamina_config.get("恢复间隔秒数", 3600)
|
||||||
if "体力上次恢复时间" not in player_data:
|
initial_stamina = stamina_config.get("新玩家初始体力", 20)
|
||||||
player_data["体力上次恢复时间"] = current_time
|
|
||||||
|
# 获取或创建体力系统对象
|
||||||
|
if "体力系统" not in player_data:
|
||||||
|
player_data["体力系统"] = {
|
||||||
|
"当前体力值": initial_stamina,
|
||||||
|
"最大体力值": max_stamina,
|
||||||
|
"上次刷新时间": current_date,
|
||||||
|
"上次恢复时间": current_time
|
||||||
|
}
|
||||||
|
|
||||||
|
stamina_system = player_data["体力系统"]
|
||||||
|
|
||||||
|
# 确保最大体力值与配置同步
|
||||||
|
stamina_system["最大体力值"] = max_stamina
|
||||||
|
|
||||||
# 检查是否需要每日重置
|
# 检查是否需要每日重置
|
||||||
last_refresh_date = player_data.get("体力上次刷新时间", "")
|
last_refresh_date = stamina_system.get("上次刷新时间", "")
|
||||||
if last_refresh_date != current_date:
|
if last_refresh_date != current_date:
|
||||||
# 新的一天,重置体力值
|
# 新的一天,重置体力值
|
||||||
player_data["体力值"] = 20
|
stamina_system["当前体力值"] = max_stamina
|
||||||
player_data["体力上次刷新时间"] = current_date
|
stamina_system["上次刷新时间"] = current_date
|
||||||
player_data["体力上次恢复时间"] = current_time
|
stamina_system["上次恢复时间"] = current_time
|
||||||
return True # 发生了重置
|
return True # 发生了重置
|
||||||
|
|
||||||
# 检查每小时恢复
|
# 检查每小时恢复
|
||||||
last_recovery_time = player_data.get("体力上次恢复时间", current_time)
|
last_recovery_time = stamina_system.get("上次恢复时间", current_time)
|
||||||
time_diff = current_time - last_recovery_time
|
time_diff = current_time - last_recovery_time
|
||||||
|
|
||||||
# 如果超过1小时(3600秒),恢复体力值
|
# 如果超过恢复间隔时间,恢复体力值
|
||||||
if time_diff >= 3600:
|
if time_diff >= recovery_interval:
|
||||||
hours_passed = int(time_diff // 3600)
|
recovery_cycles = int(time_diff // recovery_interval)
|
||||||
current_stamina = player_data.get("体力值", 0)
|
current_stamina = stamina_system.get("当前体力值", 0)
|
||||||
|
|
||||||
# 体力值恢复,但不能超过20
|
# 体力值恢复,但不能超过最大值
|
||||||
new_stamina = min(20, current_stamina + hours_passed)
|
new_stamina = min(max_stamina, current_stamina + (recovery_cycles * recovery_amount))
|
||||||
if new_stamina > current_stamina:
|
if new_stamina > current_stamina:
|
||||||
player_data["体力值"] = new_stamina
|
stamina_system["当前体力值"] = new_stamina
|
||||||
player_data["体力上次恢复时间"] = current_time
|
stamina_system["上次恢复时间"] = current_time
|
||||||
return True # 发生了恢复
|
return True # 发生了恢复
|
||||||
|
|
||||||
return False # 没有变化
|
return False # 没有变化
|
||||||
@@ -5169,18 +5243,20 @@ class TCPGameServer(TCPServer):
|
|||||||
#消耗体力值
|
#消耗体力值
|
||||||
def _consume_stamina(self, player_data, amount, action_name):
|
def _consume_stamina(self, player_data, amount, action_name):
|
||||||
"""消耗体力值"""
|
"""消耗体力值"""
|
||||||
current_stamina = player_data.get("体力值", 20)
|
stamina_system = player_data.get("体力系统", {})
|
||||||
|
current_stamina = stamina_system.get("当前体力值", 20)
|
||||||
|
|
||||||
if current_stamina < amount:
|
if current_stamina < amount:
|
||||||
return False, f"体力值不足!{action_name}需要 {amount} 点体力,当前体力:{current_stamina}"
|
return False, f"体力值不足!{action_name}需要 {amount} 点体力,当前体力:{current_stamina}"
|
||||||
|
|
||||||
player_data["体力值"] = current_stamina - amount
|
stamina_system["当前体力值"] = current_stamina - amount
|
||||||
return True, f"消耗 {amount} 点体力,剩余体力:{player_data['体力值']}"
|
return True, f"消耗 {amount} 点体力,剩余体力:{stamina_system['当前体力值']}"
|
||||||
|
|
||||||
#检查体力值是否足够
|
#检查体力值是否足够
|
||||||
def _check_stamina_sufficient(self, player_data, amount):
|
def _check_stamina_sufficient(self, player_data, amount):
|
||||||
"""检查体力值是否足够"""
|
"""检查体力值是否足够"""
|
||||||
current_stamina = player_data.get("体力值", 20)
|
stamina_system = player_data.get("体力系统", {})
|
||||||
|
current_stamina = stamina_system.get("当前体力值", 20)
|
||||||
return current_stamina >= amount
|
return current_stamina >= amount
|
||||||
|
|
||||||
def _check_and_update_register_time(self, player_data, username):
|
def _check_and_update_register_time(self, player_data, username):
|
||||||
@@ -5437,6 +5513,9 @@ class TCPGameServer(TCPServer):
|
|||||||
last_login_timestamp = self._parse_login_time_to_timestamp(last_login_str)
|
last_login_timestamp = self._parse_login_time_to_timestamp(last_login_str)
|
||||||
|
|
||||||
# 获取所需的玩家信息
|
# 获取所需的玩家信息
|
||||||
|
stamina_system = player_data.get("体力系统", {})
|
||||||
|
current_stamina = stamina_system.get("当前体力值", 20)
|
||||||
|
|
||||||
player_info = {
|
player_info = {
|
||||||
"user_name": player_data.get("user_name", account_id),
|
"user_name": player_data.get("user_name", account_id),
|
||||||
"player_name": player_data.get("player_name", player_data.get("user_name", account_id)),
|
"player_name": player_data.get("player_name", player_data.get("user_name", account_id)),
|
||||||
@@ -5444,7 +5523,7 @@ class TCPGameServer(TCPServer):
|
|||||||
"level": player_data.get("level", 1),
|
"level": player_data.get("level", 1),
|
||||||
"money": player_data.get("money", 0),
|
"money": player_data.get("money", 0),
|
||||||
"experience": player_data.get("experience", 0),
|
"experience": player_data.get("experience", 0),
|
||||||
"体力值": player_data.get("体力值", 20),
|
"体力值": current_stamina,
|
||||||
"seed_count": seed_count,
|
"seed_count": seed_count,
|
||||||
"last_login_time": last_login_str,
|
"last_login_time": last_login_str,
|
||||||
"last_login_timestamp": last_login_timestamp,
|
"last_login_timestamp": last_login_timestamp,
|
||||||
@@ -5591,6 +5670,9 @@ class TCPGameServer(TCPServer):
|
|||||||
self._check_and_fix_wisdom_tree_config(target_player_data, target_username)
|
self._check_and_fix_wisdom_tree_config(target_player_data, target_username)
|
||||||
|
|
||||||
# 返回目标玩家的农场数据(只返回可见的数据,不包含敏感信息如密码)
|
# 返回目标玩家的农场数据(只返回可见的数据,不包含敏感信息如密码)
|
||||||
|
target_stamina_system = target_player_data.get("体力系统", {})
|
||||||
|
target_current_stamina = target_stamina_system.get("当前体力值", 20)
|
||||||
|
|
||||||
safe_player_data = {
|
safe_player_data = {
|
||||||
"user_name": target_player_data.get("user_name", target_username),
|
"user_name": target_player_data.get("user_name", target_username),
|
||||||
"player_name": target_player_data.get("player_name", target_username),
|
"player_name": target_player_data.get("player_name", target_username),
|
||||||
@@ -5598,7 +5680,7 @@ class TCPGameServer(TCPServer):
|
|||||||
"level": target_player_data.get("level", 1),
|
"level": target_player_data.get("level", 1),
|
||||||
"money": target_player_data.get("money", 0),
|
"money": target_player_data.get("money", 0),
|
||||||
"experience": target_player_data.get("experience", 0),
|
"experience": target_player_data.get("experience", 0),
|
||||||
"体力值": target_player_data.get("体力值", 20),
|
"体力值": target_current_stamina,
|
||||||
"farm_lots": target_player_data.get("farm_lots", []),
|
"farm_lots": target_player_data.get("farm_lots", []),
|
||||||
"player_bag": target_player_data.get("player_bag", []),
|
"player_bag": target_player_data.get("player_bag", []),
|
||||||
"作物仓库": target_player_data.get("作物仓库", []),
|
"作物仓库": target_player_data.get("作物仓库", []),
|
||||||
@@ -5653,6 +5735,9 @@ class TCPGameServer(TCPServer):
|
|||||||
self.log('INFO', f"玩家 {username} 返回了自己的农场", 'SERVER')
|
self.log('INFO', f"玩家 {username} 返回了自己的农场", 'SERVER')
|
||||||
|
|
||||||
# 返回玩家自己的农场数据
|
# 返回玩家自己的农场数据
|
||||||
|
my_stamina_system = player_data.get("体力系统", {})
|
||||||
|
my_current_stamina = my_stamina_system.get("当前体力值", 20)
|
||||||
|
|
||||||
return self.send_data(client_id, {
|
return self.send_data(client_id, {
|
||||||
"type": "return_my_farm_response",
|
"type": "return_my_farm_response",
|
||||||
"success": True,
|
"success": True,
|
||||||
@@ -5664,7 +5749,7 @@ class TCPGameServer(TCPServer):
|
|||||||
"level": player_data.get("level", 1),
|
"level": player_data.get("level", 1),
|
||||||
"money": player_data.get("money", 0),
|
"money": player_data.get("money", 0),
|
||||||
"experience": player_data.get("experience", 0),
|
"experience": player_data.get("experience", 0),
|
||||||
"体力值": player_data.get("体力值", 20),
|
"体力值": my_current_stamina,
|
||||||
"farm_lots": player_data.get("farm_lots", []),
|
"farm_lots": player_data.get("farm_lots", []),
|
||||||
"player_bag": player_data.get("player_bag", []),
|
"player_bag": player_data.get("player_bag", []),
|
||||||
"宠物背包": player_data.get("宠物背包", []),
|
"宠物背包": player_data.get("宠物背包", []),
|
||||||
|
|||||||
23
Server/config/stamina_config.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"体力系统配置": {
|
||||||
|
"最大体力值": 20,
|
||||||
|
"每小时恢复体力": 1,
|
||||||
|
"恢复间隔秒数": 3600,
|
||||||
|
"新玩家初始体力": 20,
|
||||||
|
"体力消耗": {
|
||||||
|
"浇水": 1,
|
||||||
|
"施肥": 1,
|
||||||
|
"挖地": 2,
|
||||||
|
"收获": 1,
|
||||||
|
"种植": 1,
|
||||||
|
"除草": 1,
|
||||||
|
"偷菜": 2
|
||||||
|
},
|
||||||
|
"提示消息": {
|
||||||
|
"体力不足": "体力值不足!当前体力:{current_stamina},需要:{required_stamina}",
|
||||||
|
"体力恢复": "体力已恢复到:{current_stamina}",
|
||||||
|
"体力重置": "新的一天,体力已重置为:{current_stamina}",
|
||||||
|
"体力消耗": "消耗 {amount} 点体力,剩余体力:{remaining_stamina}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,32 +1,32 @@
|
|||||||
{
|
{
|
||||||
"experience": 2926,
|
"experience": 3039,
|
||||||
"level": 32,
|
"level": 32,
|
||||||
"money": 1250116,
|
"money": 1224518,
|
||||||
"farm_name": "柚大青の小农场",
|
"farm_name": "柚大青の小农场",
|
||||||
"player_name": "柚大青",
|
"player_name": "柚大青",
|
||||||
"user_name": "2143323382",
|
"user_name": "2143323382",
|
||||||
"user_password": "tyh@19900420",
|
"user_password": "tyh@19900420",
|
||||||
"last_login_time": "2025年07月12日23时02分19秒",
|
"last_login_time": "2025年07月14日08时03分08秒",
|
||||||
"total_login_time": "5时14分13秒",
|
"total_login_time": "5时36分14秒",
|
||||||
"farm_lots": [
|
"farm_lots": [
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "番茄",
|
||||||
"grow_time": 0,
|
"grow_time": 724,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 650,
|
"max_grow_time": 720,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 2
|
"土地等级": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "小麦",
|
||||||
"grow_time": 0,
|
"grow_time": 300,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 720,
|
"max_grow_time": 300,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 2
|
"土地等级": 2
|
||||||
@@ -43,45 +43,45 @@
|
|||||||
"土地等级": 3
|
"土地等级": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "龙果",
|
||||||
"grow_time": 0,
|
"grow_time": 14492,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
|
"max_grow_time": 14400,
|
||||||
|
"已浇水": false,
|
||||||
|
"已施肥": false,
|
||||||
|
"土地等级": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"crop_type": "小麦",
|
||||||
|
"grow_time": 318,
|
||||||
|
"is_dead": false,
|
||||||
|
"is_diged": true,
|
||||||
|
"is_planted": true,
|
||||||
|
"max_grow_time": 300,
|
||||||
|
"已浇水": false,
|
||||||
|
"已施肥": false,
|
||||||
|
"土地等级": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"crop_type": "玉米",
|
||||||
|
"grow_time": 918,
|
||||||
|
"is_dead": false,
|
||||||
|
"is_diged": true,
|
||||||
|
"is_planted": true,
|
||||||
"max_grow_time": 900,
|
"max_grow_time": 900,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 1
|
"土地等级": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "小麦",
|
||||||
"grow_time": 0,
|
"grow_time": 316,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 3000,
|
"max_grow_time": 300,
|
||||||
"已浇水": false,
|
|
||||||
"已施肥": false,
|
|
||||||
"土地等级": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"crop_type": "",
|
|
||||||
"grow_time": 0,
|
|
||||||
"is_dead": false,
|
|
||||||
"is_diged": true,
|
|
||||||
"is_planted": false,
|
|
||||||
"max_grow_time": 7800,
|
|
||||||
"已浇水": false,
|
|
||||||
"已施肥": false,
|
|
||||||
"土地等级": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"crop_type": "",
|
|
||||||
"grow_time": 0,
|
|
||||||
"is_dead": false,
|
|
||||||
"is_diged": true,
|
|
||||||
"is_planted": false,
|
|
||||||
"max_grow_time": 900,
|
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 1
|
"土地等级": 1
|
||||||
@@ -120,78 +120,78 @@
|
|||||||
"土地等级": 0
|
"土地等级": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "小麦",
|
||||||
"grow_time": 0,
|
"grow_time": 300,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 240,
|
|
||||||
"已浇水": false,
|
|
||||||
"已施肥": false,
|
|
||||||
"土地等级": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"crop_type": "",
|
|
||||||
"grow_time": 0,
|
|
||||||
"is_dead": false,
|
|
||||||
"is_diged": true,
|
|
||||||
"is_planted": false,
|
|
||||||
"max_grow_time": 300,
|
"max_grow_time": 300,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 2
|
"土地等级": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "玉米",
|
||||||
"grow_time": 0,
|
"grow_time": 912,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 600,
|
"max_grow_time": 900,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 2
|
"土地等级": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "杂交树1",
|
||||||
"grow_time": 0,
|
"grow_time": 21632,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 720,
|
"max_grow_time": 21600,
|
||||||
|
"已浇水": false,
|
||||||
|
"已施肥": false,
|
||||||
|
"土地等级": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"crop_type": "小麦",
|
||||||
|
"grow_time": 314,
|
||||||
|
"is_dead": false,
|
||||||
|
"is_diged": true,
|
||||||
|
"is_planted": true,
|
||||||
|
"max_grow_time": 300,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 1
|
"土地等级": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "稻谷",
|
||||||
"grow_time": 0,
|
"grow_time": 614,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 7000,
|
"max_grow_time": 600,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 1
|
"土地等级": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "胡萝卜",
|
||||||
"grow_time": 0,
|
"grow_time": 240,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 240,
|
"max_grow_time": 240,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 1
|
"土地等级": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "花椰菜",
|
||||||
"grow_time": 0,
|
"grow_time": 1334,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 650,
|
"max_grow_time": 1320,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 1
|
"土地等级": 1
|
||||||
@@ -230,38 +230,38 @@
|
|||||||
"土地等级": 0
|
"土地等级": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "番茄",
|
||||||
"grow_time": 0,
|
"grow_time": 726,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": false,
|
"is_planted": true,
|
||||||
"max_grow_time": 650,
|
|
||||||
"已浇水": 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,
|
"max_grow_time": 720,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": false,
|
"已施肥": false,
|
||||||
"土地等级": 0
|
"土地等级": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"crop_type": "土豆",
|
||||||
|
"grow_time": 486,
|
||||||
|
"is_dead": false,
|
||||||
|
"is_diged": true,
|
||||||
|
"is_planted": true,
|
||||||
|
"max_grow_time": 480,
|
||||||
|
"已浇水": false,
|
||||||
|
"已施肥": false,
|
||||||
|
"土地等级": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"crop_type": "土豆",
|
||||||
|
"grow_time": 486,
|
||||||
|
"is_dead": false,
|
||||||
|
"is_diged": true,
|
||||||
|
"is_planted": true,
|
||||||
|
"max_grow_time": 480,
|
||||||
|
"已浇水": false,
|
||||||
|
"已施肥": false,
|
||||||
|
"土地等级": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "",
|
||||||
"grow_time": 0,
|
"grow_time": 0,
|
||||||
@@ -564,32 +564,32 @@
|
|||||||
{
|
{
|
||||||
"name": "稻谷",
|
"name": "稻谷",
|
||||||
"quality": "普通",
|
"quality": "普通",
|
||||||
"count": 2
|
"count": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "土豆",
|
"name": "土豆",
|
||||||
"quality": "普通",
|
"quality": "普通",
|
||||||
"count": 3
|
"count": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "小麦",
|
"name": "小麦",
|
||||||
"quality": "普通",
|
"quality": "普通",
|
||||||
"count": 5
|
"count": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "胡萝卜",
|
"name": "胡萝卜",
|
||||||
"quality": "普通",
|
"quality": "普通",
|
||||||
"count": 5
|
"count": 7
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "玉米",
|
"name": "玉米",
|
||||||
"quality": "优良",
|
"quality": "优良",
|
||||||
"count": 6
|
"count": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "番茄",
|
"name": "番茄",
|
||||||
"quality": "普通",
|
"quality": "普通",
|
||||||
"count": 5
|
"count": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "辣椒",
|
"name": "辣椒",
|
||||||
@@ -604,7 +604,7 @@
|
|||||||
{
|
{
|
||||||
"name": "花椰菜",
|
"name": "花椰菜",
|
||||||
"quality": "优良",
|
"quality": "优良",
|
||||||
"count": 2
|
"count": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "葡萄",
|
"name": "葡萄",
|
||||||
@@ -634,7 +634,7 @@
|
|||||||
{
|
{
|
||||||
"name": "龙果",
|
"name": "龙果",
|
||||||
"quality": "稀有",
|
"quality": "稀有",
|
||||||
"count": 2
|
"count": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "松露",
|
"name": "松露",
|
||||||
@@ -646,11 +646,6 @@
|
|||||||
"quality": "传奇",
|
"quality": "传奇",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "杂交树1",
|
|
||||||
"quality": "传奇",
|
|
||||||
"count": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "杂交树2",
|
"name": "杂交树2",
|
||||||
"quality": "传奇",
|
"quality": "传奇",
|
||||||
@@ -658,9 +653,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"last_water_reset_date": "2025-06-05",
|
"last_water_reset_date": "2025-06-05",
|
||||||
"体力值": 20,
|
|
||||||
"体力上次刷新时间": "2025-07-12",
|
|
||||||
"体力上次恢复时间": 1752323298.9468062,
|
|
||||||
"注册时间": "2025年05月21日15时00分00秒",
|
"注册时间": "2025年05月21日15时00分00秒",
|
||||||
"个人简介": "其实我是一个梨子,真的,不骗你",
|
"个人简介": "其实我是一个梨子,真的,不骗你",
|
||||||
"作物仓库": [],
|
"作物仓库": [],
|
||||||
@@ -816,29 +808,27 @@
|
|||||||
"当前生命值": 106
|
"当前生命值": 106
|
||||||
},
|
},
|
||||||
"签到历史": {
|
"签到历史": {
|
||||||
"2025年07月12日21时05分47秒": "金币249 经验75 土豆x3"
|
"2025年07月12日21时05分47秒": "金币249 经验75 土豆x3",
|
||||||
|
"2025年07月13日07时26分04秒": "金币302 经验63 土豆x5 小麦x3"
|
||||||
},
|
},
|
||||||
"在线礼包": {
|
"在线礼包": {
|
||||||
"当前日期": "2025-07-12",
|
"当前日期": "2025-07-14",
|
||||||
"今日在线时长": 100008.91207242012,
|
"今日在线时长": 0.0,
|
||||||
"已领取礼包": [
|
"已领取礼包": [],
|
||||||
"1分钟",
|
"登录时间": 1752451388.1583223
|
||||||
"3分钟",
|
|
||||||
"5分钟",
|
|
||||||
"10分钟",
|
|
||||||
"30分钟",
|
|
||||||
"1小时",
|
|
||||||
"3小时",
|
|
||||||
"5小时"
|
|
||||||
],
|
|
||||||
"登录时间": 1752329209.0102558
|
|
||||||
},
|
},
|
||||||
"点赞系统": {
|
"点赞系统": {
|
||||||
"今日剩余点赞次数": 0,
|
"今日剩余点赞次数": 10,
|
||||||
"点赞上次刷新时间": "2025-07-12"
|
"点赞上次刷新时间": "2025-07-14"
|
||||||
},
|
},
|
||||||
"新手礼包": {
|
"新手礼包": {
|
||||||
"已领取": true,
|
"已领取": true,
|
||||||
"领取时间": "2025-07-12 23:02:25"
|
"领取时间": "2025-07-12 23:02:25"
|
||||||
|
},
|
||||||
|
"体力系统": {
|
||||||
|
"当前体力值": 20,
|
||||||
|
"最大体力值": 20,
|
||||||
|
"上次刷新时间": "2025-07-14",
|
||||||
|
"上次恢复时间": 1752451388.157905
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BIN
assets/天气系统图片/柳叶1.webp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
34
assets/天气系统图片/柳叶1.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dl58ie2lneq77"
|
||||||
|
path="res://.godot/imported/柳叶1.webp-398a016f09f48b59043f7f62f266a003.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/柳叶1.webp"
|
||||||
|
dest_files=["res://.godot/imported/柳叶1.webp-398a016f09f48b59043f7f62f266a003.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/柳叶2.webp
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
34
assets/天气系统图片/柳叶2.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bnv6wb0k443fv"
|
||||||
|
path="res://.godot/imported/柳叶2.webp-5e1ed5d07f4a9635072a847ad9ab1fc8.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/柳叶2.webp"
|
||||||
|
dest_files=["res://.godot/imported/柳叶2.webp-5e1ed5d07f4a9635072a847ad9ab1fc8.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/柳叶3.webp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
34
assets/天气系统图片/柳叶3.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bfducebx4c4il"
|
||||||
|
path="res://.godot/imported/柳叶3.webp-babc0a99bab5569728c5730a5eced834.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/柳叶3.webp"
|
||||||
|
dest_files=["res://.godot/imported/柳叶3.webp-babc0a99bab5569728c5730a5eced834.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/栀子花1.webp
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
34
assets/天气系统图片/栀子花1.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c1qqalp7owgy2"
|
||||||
|
path="res://.godot/imported/栀子花1.webp-c96e2437381ef6ec97a91ec278d747a7.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/栀子花1.webp"
|
||||||
|
dest_files=["res://.godot/imported/栀子花1.webp-c96e2437381ef6ec97a91ec278d747a7.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/栀子花2.webp
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
34
assets/天气系统图片/栀子花2.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cd7x78uyi2csh"
|
||||||
|
path="res://.godot/imported/栀子花2.webp-378a97ef3111167708ae38b3b4fbc8da.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/栀子花2.webp"
|
||||||
|
dest_files=["res://.godot/imported/栀子花2.webp-378a97ef3111167708ae38b3b4fbc8da.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/栀子花3.webp
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
34
assets/天气系统图片/栀子花3.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cqqyc3ddwtvpn"
|
||||||
|
path="res://.godot/imported/栀子花3.webp-e3a2730673004ddca56ebe58989cde6b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/栀子花3.webp"
|
||||||
|
dest_files=["res://.godot/imported/栀子花3.webp-e3a2730673004ddca56ebe58989cde6b.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/樱花1.webp
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
34
assets/天气系统图片/樱花1.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://chcgrmluhfxuk"
|
||||||
|
path="res://.godot/imported/樱花1.webp-e6e58e29a3d25ab80c42c1cce97b5c4f.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/樱花1.webp"
|
||||||
|
dest_files=["res://.godot/imported/樱花1.webp-e6e58e29a3d25ab80c42c1cce97b5c4f.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/樱花2.webp
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
34
assets/天气系统图片/樱花2.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dfkgmj7e0555q"
|
||||||
|
path="res://.godot/imported/樱花2.webp-bf8a60ab8c1f4ffeb88bc69a58c7c758.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/樱花2.webp"
|
||||||
|
dest_files=["res://.godot/imported/樱花2.webp-bf8a60ab8c1f4ffeb88bc69a58c7c758.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
BIN
assets/天气系统图片/樱花3.webp
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
34
assets/天气系统图片/樱花3.webp.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://q0difb6wjkgm"
|
||||||
|
path="res://.godot/imported/樱花3.webp-1b2f7e3262067dca93e303e328cc1ff6.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/天气系统图片/樱花3.webp"
|
||||||
|
dest_files=["res://.godot/imported/樱花3.webp-1b2f7e3262067dca93e303e328cc1ff6.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.01
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
@@ -15,7 +15,7 @@ extends Camera2D
|
|||||||
@export var bounds_min: Vector2 = Vector2(-1000, -1000)
|
@export var bounds_min: Vector2 = Vector2(-1000, -1000)
|
||||||
@export var bounds_max: Vector2 = Vector2(1000, 1000)
|
@export var bounds_max: Vector2 = Vector2(1000, 1000)
|
||||||
|
|
||||||
var current_zoom_level: float = 2
|
var current_zoom_level: float = 1.6
|
||||||
|
|
||||||
# 触摸相关变量
|
# 触摸相关变量
|
||||||
var is_dragging: bool = false
|
var is_dragging: bool = false
|
||||||
|
|||||||
@@ -967,5 +967,5 @@
|
|||||||
"高度": 53,
|
"高度": 53,
|
||||||
"上次护理时间": 1752051799
|
"上次护理时间": 1752051799
|
||||||
},
|
},
|
||||||
"点赞数": 32
|
"点赞数": 42
|
||||||
}
|
}
|
||||||