diff --git a/DungeonShooting_Godot/project.godot b/DungeonShooting_Godot/project.godot
index 0e02609..2f7682e 100644
--- a/DungeonShooting_Godot/project.godot
+++ b/DungeonShooting_Godot/project.godot
@@ -11,7 +11,7 @@
 [application]
 
 config/name="枪火地牢"
-run/main_scene="res://scene/test/TestLobby.tscn"
+run/main_scene="res://scene/Main.tscn"
 config/features=PackedStringArray("4.2", "C#")
 config/icon="res://icon.png"
 
diff --git a/DungeonShooting_Godot/scene/Hall.tscn b/DungeonShooting_Godot/scene/Hall.tscn
index edfedb8..82cc795 100644
--- a/DungeonShooting_Godot/scene/Hall.tscn
+++ b/DungeonShooting_Godot/scene/Hall.tscn
@@ -123,7 +123,7 @@
 ShowOffset = Vector2(2.08165e-12, 2)
 CollisionVisible = false
 
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="0"]
 position = Vector2(-11, -3)
 texture = ExtResource("7_30qwa")
 
@@ -135,7 +135,7 @@
 ShowOffset = Vector2(2.08165e-12, 2)
 CollisionVisible = false
 
-[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="1"]
+[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="0"]
 position = Vector2(2.5, -12)
 script = ExtResource("5_lowqi")
 Id = "item_0031"
@@ -151,7 +151,7 @@
 ShowOffset = Vector2(2.08165e-12, 2)
 CollisionVisible = false
 
-[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="1"]
+[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="0"]
 position = Vector2(18, -2)
 texture = ExtResource("8_61dkg")
 
@@ -163,19 +163,19 @@
 ShowOffset = Vector2(2.08165e-12, 2)
 CollisionVisible = false
 
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="0"]
 position = Vector2(-2, -13)
 texture = ExtResource("8_u3vry")
 
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
 position = Vector2(18, -11)
 texture = ExtResource("9_lhdr8")
 
-[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
+[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
 position = Vector2(-16, -2)
 texture = ExtResource("10_4eqn0")
 
-[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="4"]
+[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
 position = Vector2(10, -1)
 texture = ExtResource("11_tg3jo")
 
@@ -201,11 +201,11 @@
 DefaultLayer = 1
 CollisionVisible = false
 
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="0"]
 position = Vector2(32, -2)
 texture = ExtResource("12_agfji")
 
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
 material = SubResource("ShaderMaterial_i7git")
 position = Vector2(0, -15)
 scale = Vector2(1, -1)
@@ -223,7 +223,7 @@
 Id = "item_0004"
 DefaultLayer = 1
 
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="0"]
 position = Vector2(0, -17)
 texture = ExtResource("13_unnpl")
 
@@ -258,15 +258,15 @@
 Id = "item_0009"
 DefaultLayer = 1
 
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="0"]
 position = Vector2(-24, -10)
 texture = ExtResource("15_h7524")
 
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
 position = Vector2(1, -10)
 texture = ExtResource("15_h7524")
 
-[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="3"]
+[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
 position = Vector2(37, -10)
 texture = ExtResource("15_h7524")
 
@@ -300,7 +300,7 @@
 Id = "item_0015"
 DefaultLayer = 1
 
-[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="1"]
+[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="0"]
 position = Vector2(16, -9)
 texture = ExtResource("15_h7524")
 
@@ -323,11 +323,11 @@
 Id = "item_0019"
 DefaultLayer = 1
 
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="0"]
 position = Vector2(-23, -7)
 texture = ExtResource("16_xj0e1")
 
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
 position = Vector2(24, -8)
 texture = ExtResource("17_gwwce")
 
diff --git a/DungeonShooting_Godot/src/framework/map/RandomPool.cs b/DungeonShooting_Godot/src/framework/map/RandomPool.cs
index ece110c..78429ad 100644
--- a/DungeonShooting_Godot/src/framework/map/RandomPool.cs
+++ b/DungeonShooting_Godot/src/framework/map/RandomPool.cs
@@ -54,10 +54,6 @@
         {
             FillBattleRoom(preinstall);
         }
-        else if (preinstall.RoomInfo.RoomType == DungeonRoomType.Reward)
-        {
-            FillRewardRoom(preinstall);
-        }
     }
 
     //填充战斗房间
@@ -76,12 +72,12 @@
         var weight = new int[] { 15, 2, 1 };
         for (var i = 0; i < count; i++)
         {
-            var tempWave = GetOrCreateWave(preinstall, World.Random.RandomRangeInt(0, 2));
+            var tempWave = preinstall.GetOrCreateWave(World.Random.RandomRangeInt(0, 2));
             var index = World.Random.RandomWeight(weight);
             var activityType = arr[index];
     
             //创建标记
-            var mark = CreateMark(activityType, i * 0.3f, preinstall.RoomInfo.ToGlobalPosition(positionArray[i]));
+            var mark = ActivityMark.CreateMark(activityType, i * 0.3f, preinstall.RoomInfo.ToGlobalPosition(positionArray[i]));
             
             if (activityType == ActivityType.Enemy) //敌人
             {
@@ -109,37 +105,4 @@
             tempWave.Add(mark);
         }
     }
-
-    //填充奖励房间
-    private void FillRewardRoom(RoomPreinstall preinstall)
-    {
-        var wave = GetOrCreateWave(preinstall, 0);
-        var mark = CreateMark(ActivityType.Treasure, 0, preinstall.GetSpecialMark(SpecialMarkType.Box).Position);
-        mark.Id = "treasure_box0001";
-        wave.Add(mark);
-    }
-    
-    private List<ActivityMark> GetOrCreateWave(RoomPreinstall preinstall,int waveIndex)
-    {
-        while (preinstall.WaveList.Count <= waveIndex)
-        {
-            preinstall.WaveList.Add(new List<ActivityMark>());
-        }
-        
-        return preinstall.WaveList[waveIndex];
-    }
-
-    //创建标记
-    private ActivityMark CreateMark(ActivityType activityType, float delayTime, Vector2 pos)
-    {
-        var mark = new ActivityMark();
-        mark.Attr = new Dictionary<string, string>();
-        mark.ActivityType = activityType;
-        mark.MarkType = SpecialMarkType.Normal;
-        mark.VerticalSpeed = 0;
-        mark.Altitude = activityType == ActivityType.Enemy ? 0 : 8;
-        mark.DelayTime = delayTime;
-        mark.Position = pos;
-        return mark;
-    }
 }
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/ActivityMark.cs b/DungeonShooting_Godot/src/framework/map/preinstall/ActivityMark.cs
index b1e974b..de5efc9 100644
--- a/DungeonShooting_Godot/src/framework/map/preinstall/ActivityMark.cs
+++ b/DungeonShooting_Godot/src/framework/map/preinstall/ActivityMark.cs
@@ -37,17 +37,34 @@
      /// <summary>
      /// 物体初始海拔高度
      /// </summary>
-     public int Altitude = 8;
+     public int Altitude { get; set; } = 8;
 
      /// <summary>
      /// 物体初始纵轴速度
      /// </summary>
-     public float VerticalSpeed = 0;
+     public float VerticalSpeed { get; set; } = 0;
     
     /// <summary>
     /// 物体类型
     /// </summary>
     public ActivityType ActivityType { get; set; }
     
-    
+    /// <summary>
+    /// 快速创建标记
+    /// </summary>
+    /// <param name="activityType">物体类型</param>
+    /// <param name="delayTime">延时时间</param>
+    /// <param name="pos">位置</param>
+    public static ActivityMark CreateMark(ActivityType activityType, float delayTime, Vector2 pos)
+    {
+        var mark = new ActivityMark();
+        mark.Attr = new Dictionary<string, string>();
+        mark.ActivityType = activityType;
+        mark.MarkType = SpecialMarkType.Normal;
+        mark.VerticalSpeed = 0;
+        mark.Altitude = activityType == ActivityType.Enemy ? 0 : 8;
+        mark.DelayTime = delayTime;
+        mark.Position = pos;
+        return mark;
+    }
 }
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs b/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs
index 35ec9f3..e888f8d 100644
--- a/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs
+++ b/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs
@@ -110,7 +110,7 @@
         {
             return "商店老板标记";
         }
-        else if (type == SpecialMarkType.Box)
+        else if (type == SpecialMarkType.Treasure)
         {
             return "奖励箱子标记";
         }
diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs b/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs
index d759ea3..7934d2d 100644
--- a/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs
+++ b/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs
@@ -113,9 +113,9 @@
                 {
                     
                 }
-                else if (markInfo.SpecialMarkType == SpecialMarkType.Box) //奖励宝箱标记
+                else if (markInfo.SpecialMarkType == SpecialMarkType.Treasure) //奖励宝箱标记
                 {
-                    
+                    HandlerBoxMark(world, markInfo, mark);
                 }
                 else
                 {
@@ -223,6 +223,16 @@
 
         return false;
     }
+    
+    private void HandlerBoxMark(World world, MarkInfo markInfo, ActivityMark mark)
+    {
+        mark.Id = ActivityObject.Ids.Id_treasure_box0001;
+        mark.ActivityType = ActivityType.Treasure;
+        mark.DelayTime = 0;
+        mark.Altitude = 0;
+        mark.Attr = new Dictionary<string, string>();
+        mark.Position = RoomInfo.ToGlobalPosition(markInfo.Position.AsVector2());
+    }
 
     private void CheckHasEnemy()
     {
@@ -259,7 +269,7 @@
             var activityMarks = WaveList[0];
             foreach (var activityMark in activityMarks)
             {
-                if (activityMark.MarkType == SpecialMarkType.Normal)
+                if (activityMark.MarkType == SpecialMarkType.Normal || activityMark.MarkType == SpecialMarkType.Treasure)
                 {
                     var activityObject = CreateItem(activityMark);
                     //初始化属性
@@ -488,6 +498,19 @@
             _readyList.Clear();
         }
     }
+    
+    /// <summary>
+    /// 获取或创建指定波数数据
+    /// </summary>
+    public List<ActivityMark> GetOrCreateWave(int waveIndex)
+    {
+        while (WaveList.Count <= waveIndex)
+        {
+            WaveList.Add(new List<ActivityMark>());
+        }
+        
+        return WaveList[waveIndex];
+    }
 
     //初始化物体属性
     private void InitAttr(ActivityObject activityObject, ActivityMark activityMark)
diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs b/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs
index 34d8e5f..8a96abb 100644
--- a/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs
+++ b/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs
@@ -19,7 +19,7 @@
     /// <summary>
     /// 宝箱房刷新点
     /// </summary>
-    Box,
+    Treasure,
     /// <summary>
     /// 商店房商店老板刷新点
     /// </summary>
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs b/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs
index 472e123..8d14dd4 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs
@@ -112,7 +112,7 @@
         }
         else if (roomType == DungeonRoomType.Reward) //奖励房间
         {
-            return SpecialMarkType.Box;
+            return SpecialMarkType.Treasure;
         }
         
         return SpecialMarkType.Normal;
diff --git a/DungeonShooting_Godot/src/game/manager/ResourceManager.cs b/DungeonShooting_Godot/src/game/manager/ResourceManager.cs
index a27802a..6df0248 100644
--- a/DungeonShooting_Godot/src/game/manager/ResourceManager.cs
+++ b/DungeonShooting_Godot/src/game/manager/ResourceManager.cs
@@ -186,7 +186,7 @@
             {
                 return LoadTexture2D(ResourcePath.resource_sprite_ui_commonIcon_BirthMark_png);
             }
-            else if (markInfo.SpecialMarkType == SpecialMarkType.Box) //宝箱
+            else if (markInfo.SpecialMarkType == SpecialMarkType.Treasure) //宝箱
             {
                 return LoadTexture2D(ResourcePath.resource_sprite_ui_commonIcon_BirthMark_png);
             }