public void ReceiveBattleInfor(object parm) { LogModule.DebugLog("ReceiveBattlerInfor"); CBattleInfor tBattleInfor = GameFacade.GetProxy <BattleProxy>().BattleInfor; mCurrentCamp = (SquadCamp)tBattleInfor.camp; ServerBattleState tServerBattleState = (ServerBattleState)tBattleInfor.currentState; if (tServerBattleState == ServerBattleState.STATUS_SELECTTARGET || tServerBattleState == ServerBattleState.STATUS_MARCH || tServerBattleState == ServerBattleState.STATUS_COMBAT) { mBattleState = BattleState.Start; } else { mBattleState = BattleState.prepare; } if (mSceneID != tBattleInfor.sceneId) { return; } StartCoroutine(LoadUnitAssets(tBattleInfor)); //Open Battle UI. MediatorManager.GetInstance().Add(new BattleUIController()); }
IEnumerator LoadUnitAssets(CBattleInfor tBattleInfor) { yield return(AssetLoadManager.LoadFromResource <Object>("SquadPrefab/Cylinder", (Object tObject) => { mSquadAsset = tObject; })); yield return(AssetLoadManager.LoadFromResource <Object>("AimPrefab/AimObj", (Object tObject) => { mAimAsset = tObject; })); for (int i = 0; i < tBattleInfor.objList.Count; i++) { SquadData tSquadData = new SquadData(); tSquadData.SetSquadInfor(tBattleInfor.objList[i]); Tab_UnitTemplate tUnitTpData = TableManager.GetUnitTemplateByID(tSquadData.GetUnitTemplateID())[0]; Tab_SkillTemplate tSkillTemplate = TableManager.GetSkillTemplateByID(tSquadData.SkillTemplateID)[0]; yield return(AssetLoadManager.LoadFromResource <Object>(tUnitTpData.UnitPath, (Object tObject) => { tSquadData.UnitAsset = tObject; })); yield return(AssetLoadManager.LoadFromResource <Object>(tSkillTemplate.UnitPath, (Object tObjcet) => { tSquadData.SkillAsset = tObjcet; })); yield return(AssetLoadManager.LoadFromResource <Object>(tUnitTpData.UnitSkillPath, (Object tObjcet) => { tSquadData.UnitSkillAsset = tObjcet; })); yield return(AssetLoadManager.LoadFromResource <Object>(tUnitTpData.UnitArrowPath, (Object tObjcet) => { tSquadData.UnitArrowAsset = tObjcet; })); mSquadDataList.Add(tSquadData); } PrepareForBattle(mSquadGameObjDict, mSquadDataList); switch (mBattleState) { case BattleState.prepare: AddEmbateBornList(); StartCoroutine(BattleStart()); break; case BattleState.Start: break; } SetSquadEnemy(); }
public static void SetBattleInfor(CBattleInfor battleInfor, GC_BATTLEINFOR gcBattleInfor) { battleInfor.sceneId = gcBattleInfor.SceneId; battleInfor.objList.Clear(); for (int i = 0; i < gcBattleInfor.objListCount; i++) { CObjInfor objInfor = new CObjInfor(); SetObjInfor(objInfor, gcBattleInfor.objListList[i]); battleInfor.objList.Add(objInfor); } battleInfor.camp = gcBattleInfor.Camp; battleInfor.currentState = gcBattleInfor.CurrentState; }