From 3ae4d5d2615810ae715fdc77c5f1d31b891be6a8 Mon Sep 17 00:00:00 2001
From: yhh <359807859@qq.com>
Date: Tue, 2 Jul 2019 14:34:36 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EEventManager=20=E8=A7=84?=
=?UTF-8?q?=E8=8C=83=E6=96=87=E4=BB=B6=E5=A4=B9=E5=90=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CLEngine.Core/components/EventObject.cs | 1 -
.../CLEngine.Core/framework/EventManager.cs | 66 +++++++++++++++++++
.../AnimatedSprite.cs | 0
.../AnimationObject.cs | 0
.../AudioObject.cs | 0
.../{game-objects => gameObjects}/BMFont.cs | 0
.../LuaObject.cs | 0
.../MapObject.cs | 0
.../ParticleEmitter.cs | 0
.../{game-objects => gameObjects}/Sprite.cs | 0
.../{game-objects => gameObjects}/Tileset.cs | 0
11 files changed, 66 insertions(+), 1 deletion(-)
create mode 100644 Engine/CLEngine.Core/framework/EventManager.cs
rename Engine/CLEngine.Core/{game-objects => gameObjects}/AnimatedSprite.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/AnimationObject.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/AudioObject.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/BMFont.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/LuaObject.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/MapObject.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/ParticleEmitter.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/Sprite.cs (100%)
rename Engine/CLEngine.Core/{game-objects => gameObjects}/Tileset.cs (100%)
diff --git a/Engine/CLEngine.Core/components/EventObject.cs b/Engine/CLEngine.Core/components/EventObject.cs
index d9fe1e5..f1896f1 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 0000000..c46d8a4
--- /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
--
Gitee