diff --git a/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs b/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs index 16cb2a9..417e48b 100644 --- a/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs +++ b/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs @@ -80,6 +80,7 @@ #if TOOLS if (Engine.IsEditorHint()) { + QueueRedraw(); return; } #endif @@ -139,16 +140,16 @@ /// public virtual void Doing(RoomInfo roomInfo) { - - CreateActivityObject().PutDown(GlobalPosition, Layer); + CreateActivityObject().PutDown(Layer); } /// - /// 实例化ItemId指定的物体, 并返回对象实例 + /// 实例化ItemId指定的物体, 并返回对象实例, 函数会自动设置位置 /// protected ActivityObject CreateActivityObject() { var instance = ActivityObject.Create(GetItemId()); + instance.Position = Position; instance.VerticalSpeed = VerticalSpeed; instance.Altitude = Altitude; return instance; diff --git a/DungeonShooting_Godot/src/framework/map/mark/EnemyMark.cs b/DungeonShooting_Godot/src/framework/map/mark/EnemyMark.cs index 4e977f5..8165a49 100644 --- a/DungeonShooting_Godot/src/framework/map/mark/EnemyMark.cs +++ b/DungeonShooting_Godot/src/framework/map/mark/EnemyMark.cs @@ -57,10 +57,10 @@ public override void Doing(RoomInfo roomInfo) { - var pos = GlobalPosition; + var pos = Position; //创建敌人 var instance = (Enemy)CreateActivityObject(); - instance.PutDown(pos, Layer); + instance.PutDown(Layer); if (!string.IsNullOrWhiteSpace(Weapon1Id)) CreateWeapon(instance, pos, Weapon1Id, Weapon1Ammo); diff --git a/DungeonShooting_Godot/src/framework/map/mark/WeaponMark.cs b/DungeonShooting_Godot/src/framework/map/mark/WeaponMark.cs index 0c5fd94..424e323 100644 --- a/DungeonShooting_Godot/src/framework/map/mark/WeaponMark.cs +++ b/DungeonShooting_Godot/src/framework/map/mark/WeaponMark.cs @@ -41,6 +41,6 @@ } - instance.PutDown(GlobalPosition, Layer); + instance.PutDown(Layer); } } \ No newline at end of file