| | |
| | | GameObject battleGO = ResManager.Instance.LoadAsset<GameObject>("Hero/SpineRes", "Hero_001"/*skinCfg.SpineRes*/); |
| | | |
| | | GameObject goParent = posNodeList[teamHero.positionNum]; |
| | | BattleObject battleObject = new BattleObject(_battleField); |
| | | BattleObject battleObject = Produce(teamHero.positionNum, _battleField); |
| | | battleObject.ObjID = teamHero.ObjID; |
| | | |
| | | GameObject realGO = GameObject.Instantiate(battleGO, goParent.transform); |
| | |
| | | realGO.transform.localScale = new Vector3(finalScaleRate, finalScaleRate, finalScaleRate); |
| | | RectTransform rectTrans = realGO.GetComponent<RectTransform>(); |
| | | rectTrans.anchoredPosition = Vector2.zero; |
| | | battleObject.Init(realGO, teamHero, _Camp); |
| | | |
| | | // HeroBattleObject 才有 GameObject 参数的 Init 方法 |
| | | if (battleObject is HeroBattleObject heroBattleObject) |
| | | { |
| | | heroBattleObject.Init(realGO, teamHero, _Camp); |
| | | } |
| | | else |
| | | { |
| | | battleObject.Init(teamHero, _Camp); |
| | | } |
| | | |
| | | #if UNITY_EDITOR |
| | | BattleDebug.LogError( |
| | |
| | | return battleObject; |
| | | } |
| | | |
| | | public static BattleObject Produce(int positionNum, BattleField battleField) |
| | | { |
| | | if (positionNum >= 0) |
| | | { |
| | | return new HeroBattleObject(battleField); |
| | | } |
| | | else if (positionNum == 99) |
| | | { |
| | | // 命格 |
| | | return new MinggeBattleObject(battleField); |
| | | } |
| | | // else if (positionNum >= 101) |
| | | // { |
| | | // // 灵兽 |
| | | // return new SpiritBeastBattleObject(battleField); |
| | | // } |
| | | else |
| | | { |
| | | return new HeroBattleObject(battleField); |
| | | } |
| | | } |
| | | |
| | | public static void DestroyBattleObject(int key, BattleObject battleObj) |
| | | { |
| | | battleObj.Destroy(); |