Main/Battle/BattleField/BattleField.cs
New file @@ -0,0 +1,82 @@ using System.Collections.Generic; public class BattleField { protected int battleId = 0; public BattleMode battleMode; public BattleObjMgr battleObjMgr; public RecordPlayer recordPlayer; public int round = 0; public BattleField() { } public void Init(int _battleId, int _levelId, BattleMode _battleMode, TeamBase _redTeam, TeamBase _blueTeam = null) { battleId = _battleId; battleMode = _battleMode; battleObjMgr = new BattleObjMgr(); battleObjMgr.Init(_levelId, _redTeam, _blueTeam); recordPlayer = new RecordPlayer(); recordPlayer.Init(this); } public void Release() { battleObjMgr.Release(); } public void Run() { recordPlayer.Run(); battleObjMgr.Run(); } public void SetBattleMode(BattleMode _battleMode) { battleMode = _battleMode; } public void PlayRecord(RecordAction recordAction) { recordPlayer.PlayRecord(recordAction); } public void PlayRecord(List<RecordAction> recordList) { recordPlayer.PlayRecord(recordList); } public void OnActionOver(int attackId) { // // 手动推点一下发一个包 收一个包 播放一次报文 之后就停住 直到战斗结束的包文 // 自动的话 自动发包 播放报文 后 请求下一个包 循环 直到战斗结束的包文 // 战报播放就是一直播放战报 知道战斗结束的包文 if (battleMode == BattleMode.Auto) { // Request next action } else if (battleMode == BattleMode.Record) { // Play next record } else { // Wait for user input } } public void StartGame() { recordPlayer.StartGame(); } } Main/Battle/BattleField/BattleField.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Battle/BattleField/BattleField.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: a222b256266318646b4bf911fa60ab2e MonoImporter: externalObjects: {} serializedVersion: 2 Main/Battle/BattleMode.cs
New file @@ -0,0 +1,8 @@ public enum BattleMode { Hand,//手动战斗 Auto,//自动战斗 Record,//战报 } Main/Battle/BattleMode.cs.meta
File was renamed from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: 65a0a52783bfbb94786f267d566ce93a MonoImporter: externalObjects: {} serializedVersion: 2 Main/Battle/BattleObject/BattleObjMgr.cs
New file @@ -0,0 +1,83 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; public class BattleObjMgr : Singleton<BattleObjMgr> { private List<BattleObject> redCampList => new List<BattleObject>(redCampDict.Values); private List<BattleObject> blueCampList => new List<BattleObject>(blueCampDict.Values); private Dictionary<int, BattleObject> redCampDict = new Dictionary<int, BattleObject>(); private Dictionary<int, BattleObject> blueCampDict = new Dictionary<int, BattleObject>(); public void Init(int _levelId, TeamBase _redTeam, TeamBase _blueTeam = null) { if (_levelId == 0 && _blueTeam == null) { Debug.LogError("BattleObjMgr Init Error: _levelId == 0 && _blueTeam == null 关卡id没有(不是PVE) 也没有蓝色队伍信息(也不是PVP))"); return; } if (_levelId != 0 && _blueTeam != null) { Debug.LogError("BattleObjMgr Init Error: _levelId!= 0 && _blueTeam != null 关卡id有(是PVE) 也有蓝色队伍信息(也不是PVP))"); return; } if (_levelId != 0) { _blueTeam = new TeamBase(); _blueTeam.InitByLevelId(_levelId); } CreateTeam(redCampDict, _redTeam); CreateTeam(blueCampDict, _blueTeam); } protected void CreateTeam(Dictionary<int, BattleObject> campDict, TeamBase teamBase) { DestroyTeam(campDict); for (int i = 0; i < teamBase.teamCards.Length; i++) { TeamCard teamCard = teamBase.teamCards[i]; if (teamCard != null) { BattleObject battleObj = BattleObjectFactory.CreateBattleObject(teamCard); battleObj.Init(teamCard); campDict.Add(teamCard.cardIndex, battleObj); } } } protected void DestroyTeam(Dictionary<int, BattleObject> campDict) { foreach (var item in campDict) { BattleObject battleObj = item.Value; if (battleObj!= null) { BattleObjectFactory.DestroyBattleObject(battleObj); } } campDict.Clear(); } public void Release() { DestroyTeam(redCampDict); DestroyTeam(blueCampDict); } public void Run() { foreach (var item in redCampDict) { item.Value.Run(); } foreach (var item in blueCampDict) { item.Value.Run(); } } } Main/Battle/BattleObject/BattleObjMgr.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Battle/BattleObject/BattleObjMgr.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: bd22d86c92725e347a15a74138ba1896 MonoImporter: externalObjects: {} serializedVersion: 2 Main/Battle/BattleObject/BattleObject.cs
@@ -2,206 +2,129 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; /// <summary> /// 战斗对象阵营枚举 /// </summary> public enum BattleCamp { Friendly, // 友方 Enemy // 敌方 Friendly, Enemy } /// <summary> /// 战斗状态枚举 /// </summary> [Flags] public enum BattleState { None = 0, Stunned = 1 << 0, // 眩晕 Poisoned = 1 << 1, // 中毒 Bleeding = 1 << 2, // 流血 Silenced = 1 << 3, // 沉默 Frozen = 1 << 4, // 冰冻 Burned = 1 << 5 // 灼烧 Stunned = 1 << 0, Poisoned = 1 << 1, Bleeding = 1 << 2, Silenced = 1 << 3, Frozen = 1 << 4, Burned = 1 << 5 } /// <summary> /// 战斗对象基类 /// </summary> public class BattleObject { /// <summary> /// 战斗对象ID /// </summary> public string BattleObjectId { get; protected set; } /// <summary> /// 战斗对象阵营 /// </summary> public BattleCamp Camp { get; protected set; } = BattleCamp.Friendly; // Buff系统 // List<BuffInfo> buffList; // 所有buff列表 // List<BuffInfo> gainBuffList; // 增益buff列表 // List<BuffInfo> debuffList; // 减益buff列表 public TeamCard teamCard { get; protected set; } /// <summary> /// 初始化战斗对象 /// </summary> /// <param name="id">战斗对象ID</param> /// <param name="camp">战斗对象阵营</param> public virtual void Initialize(string id, BattleCamp camp) protected MotionBase motionBase; protected GameObject cardGO; public virtual void Init(TeamCard _teamCard) { BattleObjectId = id; Camp = camp; // 初始化Buff列表 // buffList = new List<BuffInfo>(); // gainBuffList = new List<BuffInfo>(); // debuffList = new List<BuffInfo>(); this.teamCard = _teamCard; motionBase = new MotionBase(); } protected void LoadCard() { } #region Buff系统(待实现) // /// <summary> // /// 添加Buff // /// </summary> // /// <param name="buff">Buff信息</param> // public virtual void AddBuff(BuffInfo buff) // { // // 添加Buff到列表 // // 根据Buff类型添加到对应列表 // // 应用Buff效果 // } // // /// <summary> // /// 移除Buff // /// </summary> // /// <param name="buffId">Buff ID</param> // public virtual void RemoveBuff(string buffId) // { // // 从列表中移除Buff // // 移除Buff效果 // } // // /// <summary> // /// 更新所有Buff // /// </summary> // public virtual void UpdateBuffs() // { // // 更新所有Buff的持续时间 // // 移除已过期的Buff // // 应用Buff的持续效果 // } // // /// <summary> // /// 获取所有Buff // /// </summary> // /// <returns>Buff列表</returns> // public virtual List<BuffInfo> GetAllBuffs() // { // return buffList; // } // // /// <summary> // /// 获取所有增益Buff // /// </summary> // /// <returns>增益Buff列表</returns> // public virtual List<BuffInfo> GetGainBuffs() // { // return gainBuffList; // } // // /// <summary> // /// 获取所有减益Buff // /// </summary> // /// <returns>减益Buff列表</returns> // public virtual List<BuffInfo> GetDebuffs() // { // return debuffList; // } #endregion #region 战斗相关函数 /// <summary> /// 攻击目标 /// </summary> /// <param name="target">攻击目标</param> /// <param name="damage">伤害值</param> /// <param name="isCritical">是否暴击</param> /// <returns>实际造成的伤害</returns> public virtual float AttackTarget(BattleObject target) public virtual void AttackTarget(List<BattleObject> targets) { // 子类实现具体逻辑 return 0; // 找离自己最近的 if (0 == targets.Count) return; BattleObject target = targets[0]; if (1 != targets.Count) { for (int i = 1; i < targets.Count; i++) { if (Vector3.Distance(cardGO.transform.position, targets[i].cardGO.transform.position) < Vector3.Distance(cardGO.transform.position, target.cardGO.transform.position)) { target = targets[i]; } } } /// <summary> /// 被攻击 /// </summary> /// <param name="attacker">攻击者</param> /// <param name="damage">伤害值</param> /// <param name="isCritical">是否暴击</param> /// <returns>实际受到的伤害</returns> Vector3 tempPos = cardGO.transform.position; motionBase.OnAttackAnimationComplete = () => { // 攻击动画结束之后 回到原来的位置 cardGO.transform.DOMove(tempPos, 1f).OnComplete(() => { // motionBase.ClearEvent();// = null; // 通知本次攻击行动结束 // 通过battleFieldId来告知BattleFieldMgr }); }; cardGO.transform.DOMove(target.cardGO.transform.position, 1f).OnComplete(() => { // 播放攻击动画 motionBase.OnAttackHitEvent = (int attackIndex) => { for (int i = 0; i < targets.Count; i++) { targets[i].UnderAttack(this); } }; //普攻是hit1 motionBase.PlayAnimationEx(MotionName.atk1, false, new List<int>(){ 5//假设是5帧 目前还没有数据 }); }); } public virtual void CastSkill(List<BattleObject> targets) { // 需不需要move 攻击目标是谁 } public virtual float UnderAttack(BattleObject attacker) { // 子类实现具体逻辑 return 0; } /// <summary> /// 治疗目标 /// </summary> /// <param name="target">治疗目标</param> /// <param name="healAmount">治疗量</param> /// <param name="isCritical">是否暴击</param> /// <returns>实际治疗量</returns> public virtual float HealTargets(List<BattleObject> targets) { // 子类实现具体逻辑 return 0; } /// <summary> /// 被治疗 /// </summary> /// <param name="healer">治疗者</param> /// <param name="healAmount">治疗量</param> /// <param name="isCritical">是否暴击</param> /// <returns>实际被治疗量</returns> public virtual float BeHealed(BattleObject healer, float healAmount) { // 子类实现具体逻辑 return 0; } /// <summary> /// 复活目标 /// </summary> /// <param name="target">复活目标</param> /// <param name="healthPercent">复活后的生命值百分比</param> /// <returns>是否复活成功</returns> public virtual bool Revive(BattleObject target) { // 子类实现具体逻辑 return false; } /// <summary> /// 被复活 /// </summary> /// <param name="reviver">复活者</param> /// <param name="healthPercent">复活后的生命值百分比</param> /// <returns>是否被复活成功</returns> public virtual bool BeRevived(BattleObject reviver, float healthPercent = 0.5f) { // 子类实现具体逻辑 return false; } @@ -209,35 +132,23 @@ #region 辅助函数 /// <summary> /// 判断是否为敌对关系 /// </summary> /// <param name="other">其他战斗对象</param> /// <returns>是否为敌对关系</returns> public virtual bool IsEnemy(BattleObject other) { if (other == null) return false; // 不同阵营为敌对关系 return Camp != other.Camp; } /// <summary> /// 判断是否为友好关系 /// </summary> /// <param name="other">其他战斗对象</param> /// <returns>是否为友好关系</returns> public virtual bool IsFriendly(BattleObject other) { if (other == null) return false; // 相同阵营为友好关系 return Camp == other.Camp; } public virtual void Run() { // 子类实现具体逻辑 motionBase.Run(); } #endregion Main/Battle/BattleObject/BattleObjectFactory.cs
New file @@ -0,0 +1,23 @@ using System.Collections.Generic; using System; using UnityEngine; public class BattleObjectFactory { public static BattleObject CreateBattleObject(TeamCard teamCard) { BattleObject battleObject = null; // switch (teamCard.cardInfo.cardConfig.) // { // } return battleObject; } public static void DestroyBattleObject(BattleObject battleObj) { } } Main/Battle/BattleObject/BattleObjectFactory.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Battle/BattleObject/BattleObjectFactory.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: c6bc9f2359387db48afd7d6762f5b566 MonoImporter: externalObjects: {} serializedVersion: 2 Main/Battle/BattleObject/CardObject.cs
Main/Battle/BattleObject/CardObject.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Battle/BattleObject/CardObject.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: 7379cb2482b831b43bb037d44c4239ec MonoImporter: externalObjects: {} serializedVersion: 2 Main/Battle/Motion/MotionBase.cs
@@ -74,7 +74,7 @@ /// 初始化动画组件 /// </summary> /// <param name="skeletonGraphic">骨骼动画组件</param> public virtual void Initialize(SkeletonGraphic skeletonGraphic) public virtual void Init(SkeletonGraphic skeletonGraphic) { this.skeletonGraphic = skeletonGraphic; Main/Battle/RecordPlayer.meta
New file @@ -0,0 +1,8 @@ fileFormatVersion: 2 guid: 4ee9cd11a2bf7a84fb6ff9b973614dcc folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: Main/Battle/RecordPlayer/RecordAction.cs
New file @@ -0,0 +1,21 @@ using System.Collections.Generic; using System; public class RecordAction { public RecordActionType actionType; public int casterId; public bool IsFinished() { return false; } public void Run() { } } Main/Battle/RecordPlayer/RecordAction.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Battle/RecordPlayer/RecordAction.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: a97982175afec5a4cb25b9a2479808d4 MonoImporter: externalObjects: {} serializedVersion: 2 Main/Battle/RecordPlayer/RecordActionType.cs
New file @@ -0,0 +1,10 @@ public enum RecordActionType { None, Attack,//攻击 Heal,//治疗 Buff,//增益&减益 Guard,//格挡 Skill,//技能 } Main/Battle/RecordPlayer/RecordActionType.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Battle/RecordPlayer/RecordActionType.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: 4402c0d2b31ada242a0ed9c262de1d3a MonoImporter: externalObjects: {} serializedVersion: 2 Main/Battle/RecordPlayer/RecordPlayer.cs
New file @@ -0,0 +1,59 @@ using System.Collections.Generic; using System; using UnityEngine; public class RecordPlayer { protected BattleField battleField; private Queue<RecordAction> recordActionQueue = new Queue<RecordAction>(); protected RecordAction currentRecordAction; public void Init(BattleField _battleField) { battleField = _battleField; } public void PlayRecord(RecordAction recordAction) { recordActionQueue.Enqueue(recordAction); } public void PlayRecord(List<RecordAction> recordActions) { for (int i = 0; i < recordActions.Count; i++) { recordActionQueue.Enqueue(recordActions[i]); } } public void StartGame() { } public void PlayNext() { } public void Run() { if (recordActionQueue.Count == 0) { return; } if (currentRecordAction == null || currentRecordAction.IsFinished()) { currentRecordAction = recordActionQueue.Dequeue(); } if (currentRecordAction != null) { currentRecordAction.Run(); } } } Main/Battle/RecordPlayer/RecordPlayer.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Battle/RecordPlayer/RecordPlayer.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: 8379b2c101d7f194f884daf79705726c MonoImporter: externalObjects: {} serializedVersion: 2 Main/Card/CardInfo.Properties.cs
@@ -8,6 +8,17 @@ // 反击时必命中目标 // 武将属性需时时计算,根据技能、BUFF、装备等属性来源改变而改变 // 基础属性 // 生命 public int hp = 0; // 攻击力 public int attack = 0; // 防御力 public int defense = 0; // 速度 public int speed = 0; //战斗属性 //闪避概率 Main/Common/EventBroadcast.cs
New file @@ -0,0 +1,271 @@ using System; using System.Collections.Generic; using UnityEngine; /// <summary> /// 事件广播系统 /// </summary> public class EventBroadcast { private static EventBroadcast _instance; public static EventBroadcast Instance { get { if (_instance == null) { _instance = new EventBroadcast(); } return _instance; } } // 事件字典,存储事件ID和对应的委托列表 private Dictionary<string, Delegate> eventDict = new Dictionary<string, Delegate>(); // 防止外部实例化 private EventBroadcast() { } #region 添加监听 /// <summary> /// 添加无参事件监听 /// </summary> /// <param name="eventId">事件ID</param> /// <param name="callback">回调函数</param> public void AddListener(string eventId, Action callback) { OnListenerAdding(eventId, callback); eventDict[eventId] = (Action)eventDict[eventId] + callback; } /// <summary> /// 添加单参数事件监听 /// </summary> public void AddListener<T>(string eventId, Action<T> callback) { OnListenerAdding(eventId, callback); eventDict[eventId] = (Action<T>)eventDict[eventId] + callback; } /// <summary> /// 添加双参数事件监听 /// </summary> public void AddListener<T, U>(string eventId, Action<T, U> callback) { OnListenerAdding(eventId, callback); eventDict[eventId] = (Action<T, U>)eventDict[eventId] + callback; } /// <summary> /// 添加三参数事件监听 /// </summary> public void AddListener<T, U, V>(string eventId, Action<T, U, V> callback) { OnListenerAdding(eventId, callback); eventDict[eventId] = (Action<T, U, V>)eventDict[eventId] + callback; } #endregion #region 移除监听 /// <summary> /// 移除无参事件监听 /// </summary> /// <param name="eventId">事件ID</param> /// <param name="callback">回调函数</param> public void RemoveListener(string eventId, Action callback) { if (OnListenerRemoving(eventId, callback)) { eventDict[eventId] = (Action)eventDict[eventId] - callback; OnListenerRemoved(eventId); } } /// <summary> /// 移除单参数事件监听 /// </summary> public void RemoveListener<T>(string eventId, Action<T> callback) { if (OnListenerRemoving(eventId, callback)) { eventDict[eventId] = (Action<T>)eventDict[eventId] - callback; OnListenerRemoved(eventId); } } /// <summary> /// 移除双参数事件监听 /// </summary> public void RemoveListener<T, U>(string eventId, Action<T, U> callback) { if (OnListenerRemoving(eventId, callback)) { eventDict[eventId] = (Action<T, U>)eventDict[eventId] - callback; OnListenerRemoved(eventId); } } /// <summary> /// 移除三参数事件监听 /// </summary> public void RemoveListener<T, U, V>(string eventId, Action<T, U, V> callback) { if (OnListenerRemoving(eventId, callback)) { eventDict[eventId] = (Action<T, U, V>)eventDict[eventId] - callback; OnListenerRemoved(eventId); } } #endregion #region 触发事件 /// <summary> /// 触发无参事件 /// </summary> /// <param name="eventId">事件ID</param> public void Broadcast(string eventId) { if (eventDict.TryGetValue(eventId, out Delegate d)) { Action callback = d as Action; if (callback != null) { callback(); } else { Debug.LogError($"事件 {eventId} 的委托类型不匹配"); } } } /// <summary> /// 触发单参数事件 /// </summary> public void Broadcast<T>(string eventId, T arg) { if (eventDict.TryGetValue(eventId, out Delegate d)) { Action<T> callback = d as Action<T>; if (callback != null) { callback(arg); } else { Debug.LogError($"事件 {eventId} 的委托类型不匹配"); } } } /// <summary> /// 触发双参数事件 /// </summary> public void Broadcast<T, U>(string eventId, T arg1, U arg2) { if (eventDict.TryGetValue(eventId, out Delegate d)) { Action<T, U> callback = d as Action<T, U>; if (callback != null) { callback(arg1, arg2); } else { Debug.LogError($"事件 {eventId} 的委托类型不匹配"); } } } /// <summary> /// 触发三参数事件 /// </summary> public void Broadcast<T, U, V>(string eventId, T arg1, U arg2, V arg3) { if (eventDict.TryGetValue(eventId, out Delegate d)) { Action<T, U, V> callback = d as Action<T, U, V>; if (callback != null) { callback(arg1, arg2, arg3); } else { Debug.LogError($"事件 {eventId} 的委托类型不匹配"); } } } #endregion #region 辅助方法 /// <summary> /// 添加监听前的处理 /// </summary> private void OnListenerAdding(string eventId, Delegate callback) { if (!eventDict.ContainsKey(eventId)) { eventDict.Add(eventId, null); } Delegate d = eventDict[eventId]; if (d != null && d.GetType() != callback.GetType()) { Debug.LogError($"尝试为事件 {eventId} 添加不同类型的委托,当前类型:{d.GetType()},尝试添加类型:{callback.GetType()}"); } } /// <summary> /// 移除监听前的处理 /// </summary> private bool OnListenerRemoving(string eventId, Delegate callback) { if (!eventDict.ContainsKey(eventId)) { Debug.LogWarning($"尝试移除不存在的事件 {eventId}"); return false; } Delegate d = eventDict[eventId]; if (d == null) { Debug.LogWarning($"尝试移除事件 {eventId} 的空委托"); return false; } else if (d.GetType() != callback.GetType()) { Debug.LogError($"尝试为事件 {eventId} 移除不同类型的委托,当前类型:{d.GetType()},尝试移除类型:{callback.GetType()}"); return false; } return true; } /// <summary> /// 移除监听后的处理 /// </summary> private void OnListenerRemoved(string eventId) { if (eventDict[eventId] == null) { eventDict.Remove(eventId); } } /// <summary> /// 清空所有事件 /// </summary> public void ClearAllEvents() { eventDict.Clear(); } #endregion } Main/Common/EventBroadcast.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Common/EventBroadcast.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: bbd3b492fe5154d4fb0627f43bcdf214 MonoImporter: externalObjects: {} serializedVersion: 2 Main/Common/EventName.cs
New file @@ -0,0 +1,7 @@ public class EventName { public const string BATTLE_ACTION_OVER = "BATTLE_ACTION_OVER"; //战斗 行为结束了(一个战报播完) } Main/Common/EventName.cs.metacopy from Main/Common/FieldPrint.cs.meta copy to Main/Common/EventName.cs.meta
File was copied from Main/Common/FieldPrint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: e8426254dd294aa428e2078f8e48cd5e guid: 4ff830a863c35ec4ca5ccdf718064055 MonoImporter: externalObjects: {} serializedVersion: 2 Main/Common/FieldPrint.cs
File was deleted Main/Main.cs
@@ -55,7 +55,6 @@ Debug.Log("初始化游戏场景"); // 初始化游戏系统 managers.Add(PlaceManager.Instance); managers.Add(BattleManager.Instance); foreach (var manager in managers) Main/Manager/GameSystemManager/BattleManager.cs
@@ -1,9 +1,17 @@ using System.Collections.Generic; using UnityEngine; public class BattleManager : GameSystemManager<BattleManager> { protected Dictionary<int, BattleField> battleFields = new Dictionary<int, BattleField>(); public override void Init() { base.Init(); EventBroadcast.Instance.AddListener<int, int>(EventName.BATTLE_ACTION_OVER, OnActionOver); } public override void Release() @@ -11,4 +19,25 @@ base.Release(); } private void OnActionOver(int battleFieldId, int attackId) { BattleField battleField = null; if (battleFields.TryGetValue(battleFieldId, out battleField)) { battleField.OnActionOver(attackId); } else { Debug.LogError("BattleManager OnActionOver battleFieldId:" + battleFieldId + " not find"); } } public void Run() { foreach (var battleField in battleFields) { battleField.Value.Run(); } } } Main/Manager/GameSystemManager/PlaceManager.cs
File was deleted Main/Manager/GameSystemManager/PlaceManager.cs.meta
File was deleted Main/NetworkPackage/GameNetSystem.cs
@@ -30,9 +30,9 @@ case NetState.AccountLogin: accountLoginState.OnExit(); break; case NetState.CreateOrSelectRole: // createOrSelectRoleState.OnExit(); break; // case NetState.CreateOrSelectRole: // // createOrSelectRoleState.OnExit(); // break; case NetState.RoleLogin: roleLoginState.OnExit(); break; @@ -53,9 +53,9 @@ case NetState.AccountLogin: accountLoginState.OnEnter(); break; case NetState.CreateOrSelectRole: // createOrSelectRoleState.OnEnter(); break; // case NetState.CreateOrSelectRole: // // createOrSelectRoleState.OnEnter(); // break; case NetState.RoleLogin: roleLoginState.OnEnter(); break; @@ -409,7 +409,7 @@ { NerverConnect = 1, AccountLogin = 2, CreateOrSelectRole = 3, // CreateOrSelectRole = 3, RoleLogin = 4, Connected = 5, DisConnected = 6, Main/Place/PlaceDataStructs.cs
File was deleted Main/Place/PlaceDataStructs.cs.meta
File was deleted Main/Place/PlaceDrop.cs
File was deleted Main/Place/PlaceDrop.cs.meta
File was deleted Main/Place/PlaceField.cs
File was deleted Main/Place/PlaceField.cs.meta
File was deleted Main/Place/PlaceUnit.cs
File was deleted Main/Place/PlaceUnit.cs.meta
File was deleted Main/Team/TeamBase.cs
@@ -75,4 +75,9 @@ { return GetTeamCardCount() == 0; } public void InitByLevelId(int levelId) { } } Main/Utility.meta
Main/Utility/Bezier.cs
Main/Utility/Bezier.cs.meta
Main/Utility/BezierMove.cs
Main/Utility/BezierMove.cs.meta
Main/Utility/CameraManager.cs
Main/Utility/CameraManager.cs.meta
Main/Utility/ColorUtility.cs
Main/Utility/ColorUtility.cs.meta
Main/Utility/ComponentExtersion.cs
Main/Utility/ComponentExtersion.cs.meta
Main/Utility/Datumline.cs
Main/Utility/Datumline.cs.meta
Main/Utility/DeviceUtility.cs
Main/Utility/DeviceUtility.cs.meta
Main/Utility/DontDestroyOnLoad.cs
Main/Utility/DontDestroyOnLoad.cs.meta
Main/Utility/DrawUtility.cs
Main/Utility/DrawUtility.cs.meta
Main/Utility/EffectRenderSort.cs
Main/Utility/EffectRenderSort.cs.meta
Main/Utility/EnumHelper.cs
Main/Utility/EnumHelper.cs.meta
Main/Utility/EnumLabelAttribute.cs
Main/Utility/EnumLabelAttribute.cs.meta
Main/Utility/Extension.cs
Main/Utility/Extension.cs.meta
Main/Utility/FPS.cs
Main/Utility/FPS.cs.meta
Main/Utility/FieldPrint.cs
Main/Utility/FieldPrint.cs.meta
Main/Utility/FileExtersion.cs
Main/Utility/FileExtersion.cs.meta
Main/Utility/GameObjectPool.cs
Main/Utility/GameObjectPool.cs.meta
Main/Utility/GenerateUICode.cs
Main/Utility/GenerateUICode.cs.meta
Main/Utility/GlobalTimeEvent.cs
Main/Utility/GlobalTimeEvent.cs.meta
Main/Utility/LayerUtility.cs
Main/Utility/LayerUtility.cs.meta
Main/Utility/LocalSave.cs
Main/Utility/LocalSave.cs.meta
Main/Utility/MathUtility.cs
Main/Utility/MathUtility.cs.meta
Main/Utility/MathUtils.cs
Main/Utility/MathUtils.cs.meta
Main/Utility/PathUtility.cs
Main/Utility/PathUtility.cs.meta
Main/Utility/ProfilerPanel.cs
Main/Utility/ProfilerPanel.cs.meta
Main/Utility/RenderOrder.cs
Main/Utility/RenderOrder.cs.meta
Main/Utility/RenderTextureCreator.cs
Main/Utility/RenderTextureCreator.cs.meta
Main/Utility/ResolutionUtility.cs
Main/Utility/ResolutionUtility.cs.meta
Main/Utility/SnxxzUtility.cs
Main/Utility/SnxxzUtility.cs.meta
Main/Utility/SystemCMD.cs
Main/Utility/SystemCMD.cs.meta
Main/Utility/TAny.cs
Main/Utility/TAny.cs.meta
Main/Utility/TBlackBoard.cs
Main/Utility/TBlackBoard.cs.meta
Main/Utility/TransformExtension.cs
Main/Utility/TransformExtension.cs.meta
Main/Utility/UGUIEventListenerContainDrag.cs
Main/Utility/UGUIEventListenerContainDrag.cs.meta
Main/Utility/UIParamCopyTool.cs
Main/Utility/UIParamCopyTool.cs.meta
Main/Utility/VectorUtility.cs
Main/Utility/VectorUtility.cs.meta
Main/Utility/VesselExtension.cs
Main/Utility/VesselExtension.cs.meta