using Milimoe.FunGame.Core.Interface.Addons; namespace Milimoe.FunGame.Core.Library.Common.Addon { public abstract class GameMap : IGameMap { /// /// 地图名称 /// public abstract string Name { get; } /// /// 地图描述 /// public abstract string Description { get; } /// /// 地图版本 /// public abstract string Version { get; } /// /// 地图作者 /// public abstract string Author { get; } /// /// 宽度 /// public abstract float Width { get; } /// /// 高度 /// public abstract float Height { get; } /// /// 格子大小 /// public abstract float Size { get; } /// /// 加载标记 /// private bool IsLoaded = false; /// /// 加载地图 /// /// /// public bool Load(params object[] objs) { if (IsLoaded) { return false; } // BeforeLoad可以阻止加载此地图 if (BeforeLoad()) { // 地图加载后,不允许再次加载此地图 IsLoaded = true; // 如果加载后需要执行代码,请重写AfterLoad方法 AfterLoad(); } return IsLoaded; } /// /// 加载后需要做的事 /// protected virtual void AfterLoad() { // override } /// /// 允许返回false来阻止加载此地图 /// /// protected virtual bool BeforeLoad() { return true; } } }