void PrepareForBattle(Dictionary <int, GameObject> tSquadGameObjDic, List <SquadData> tSquadDataList) { Quaternion mBornQuRed = Quaternion.LookRotation(Vector3.left, Vector3.up); Quaternion mBornQuBlue = Quaternion.LookRotation(Vector3.right, Vector3.up); for (int j = 0; j < tSquadDataList.Count; j++) { GameObject tSquad = Instantiate(mSquadAsset) as GameObject; tSquad.transform.position = BattleFunction.SetPosition(tSquadDataList[j].GetBornPosionX(), tSquadDataList[j].GetBornPosionZ()); if (tSquadDataList[j].GetSquadCamp() == SquadCamp.CampRed) { tSquad.transform.rotation = mBornQuRed; } else { tSquad.transform.rotation = mBornQuBlue; } GameObject tSquadAim = Instantiate(mAimAsset) as GameObject; tSquadAim.transform.position = tSquad.transform.position; SquadController tSquadController = tSquad.GetComponent <SquadController>(); tSquadController.SetmOriginalAim(tSquadAim.transform); tSquadController.SetSquadData(tSquadDataList[j]); for (int i = 0; i < tSquadDataList[j].GetUnitCount(); i++) { GameObject tUnit = Instantiate(tSquadDataList[j].UnitAsset) as GameObject; tUnit.transform.rotation = tSquad.transform.rotation; UnitController tUnitController = tUnit.GetComponent <UnitController>(); GameObject tUnitAim = Instantiate(mAimAsset) as GameObject; tUnitController.GetUnitData().SetInfor(tSquadDataList[j].GetUnitTemplateID()); tUnitController.SetmOriginalAim(tUnitAim.transform); tUnitController.SetmArrowAsset(tSquadDataList[j].UnitArrowAsset); tUnitController.SquadTransform = tSquad.transform; tSquadController.GetUnitControllerList().Add(tUnit.transform); } //tSquadController.GetSquadData().SkillAsset = mSkillAsset; tSquadGameObjDic.Add(tSquadDataList[j].GetID(), tSquad); tSquadController.FormationStrategy(); for (int i = 0; i < tSquadDataList[j].GetUnitCount(); i++) { tSquadController.GetUnitControllerList()[i].GetComponent <UnitController>().EmbattingSetPos(tSquad.transform.position); } } }