diff --git a/Engine/CLEngine.Core/components/EventObject.cs b/Engine/CLEngine.Core/components/EventObject.cs index d9fe1e53e83baff753c176e1f377abbba8cd2da2..f1896f1f5bb31a4a53f28117eec97c32fcafe715 100644 --- a/Engine/CLEngine.Core/components/EventObject.cs +++ b/Engine/CLEngine.Core/components/EventObject.cs @@ -359,7 +359,6 @@ namespace CLEngine.Core if (_isMove && !forceMove) return; - var tiledMap = GetTileMap(); var transform = GameObject.Transform; var start = tiledMap.GetTilePos(transform.Position); diff --git a/Engine/CLEngine.Core/framework/EventManager.cs b/Engine/CLEngine.Core/framework/EventManager.cs new file mode 100644 index 0000000000000000000000000000000000000000..c46d8a45b6e833fbcd1fa0eadc33f34c2c6ae257 --- /dev/null +++ b/Engine/CLEngine.Core/framework/EventManager.cs @@ -0,0 +1,66 @@ +using System.Collections.Generic; +using Microsoft.Xna.Framework; + +namespace CLEngine.Core.framework +{ + /// + /// 事件管理类 + /// + public static class EventManager + { + private static List eventObjects = new List(); + + /// + /// 添加事件 + /// + /// 事件 + public static EventObject AddEvent() + { + var eventObject = new EventObject(); + eventObjects.Add(eventObject); + + return eventObject; + } + + /// + /// 移除事件 + /// + /// 事件 + public static void RemoveEvent(EventObject eventObject) + { + eventObjects.Remove(eventObject); + } + + /// + /// 绑定对象 + /// + /// 事件 + /// 对象 + public static void BindObject(this EventObject eventObject, GameObject gameObject) + { + eventObject.GameObject = gameObject; + } + + /// + /// 释放对象 + /// + /// 事件 + public static void ReleaseObject(this EventObject eventObject) + { + eventObject.GameObject = null; + } + + /// + /// 移动对象 + /// + /// 事件 + /// 移动目标 + /// 是否转换为格子坐标 + /// 是否强制移动 + public static void Move(this EventObject eventObject, Vector2 target, bool convert = false, + bool forceMove = false) + { + eventObject.MoveToTarget(target, convert, forceMove); + } + } +} \ No newline at end of file diff --git a/Engine/CLEngine.Core/game-objects/AnimatedSprite.cs b/Engine/CLEngine.Core/gameObjects/AnimatedSprite.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/AnimatedSprite.cs rename to Engine/CLEngine.Core/gameObjects/AnimatedSprite.cs diff --git a/Engine/CLEngine.Core/game-objects/AnimationObject.cs b/Engine/CLEngine.Core/gameObjects/AnimationObject.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/AnimationObject.cs rename to Engine/CLEngine.Core/gameObjects/AnimationObject.cs diff --git a/Engine/CLEngine.Core/game-objects/AudioObject.cs b/Engine/CLEngine.Core/gameObjects/AudioObject.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/AudioObject.cs rename to Engine/CLEngine.Core/gameObjects/AudioObject.cs diff --git a/Engine/CLEngine.Core/game-objects/BMFont.cs b/Engine/CLEngine.Core/gameObjects/BMFont.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/BMFont.cs rename to Engine/CLEngine.Core/gameObjects/BMFont.cs diff --git a/Engine/CLEngine.Core/game-objects/LuaObject.cs b/Engine/CLEngine.Core/gameObjects/LuaObject.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/LuaObject.cs rename to Engine/CLEngine.Core/gameObjects/LuaObject.cs diff --git a/Engine/CLEngine.Core/game-objects/MapObject.cs b/Engine/CLEngine.Core/gameObjects/MapObject.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/MapObject.cs rename to Engine/CLEngine.Core/gameObjects/MapObject.cs diff --git a/Engine/CLEngine.Core/game-objects/ParticleEmitter.cs b/Engine/CLEngine.Core/gameObjects/ParticleEmitter.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/ParticleEmitter.cs rename to Engine/CLEngine.Core/gameObjects/ParticleEmitter.cs diff --git a/Engine/CLEngine.Core/game-objects/Sprite.cs b/Engine/CLEngine.Core/gameObjects/Sprite.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/Sprite.cs rename to Engine/CLEngine.Core/gameObjects/Sprite.cs diff --git a/Engine/CLEngine.Core/game-objects/Tileset.cs b/Engine/CLEngine.Core/gameObjects/Tileset.cs similarity index 100% rename from Engine/CLEngine.Core/game-objects/Tileset.cs rename to Engine/CLEngine.Core/gameObjects/Tileset.cs