public override void Execute(MapObject mapObject) { MapObjectAttribute attribute = mapObject.GetAttribute <MapObjectAttribute>(); MapObjectArtAttribute art = mapObject.GetAttribute <MapObjectArtAttribute>(); if (attribute == null || art == null) { return; } if (attribute.Hp > 0) { return; } int layer = art.gameObject.layer; Vector3 position = art.transform.position; GlobalEnvironment.Instance.Get <GameMapObjectManager>().DestroyMapObject(mapObject); BattleGameScene battleGameScene = (BattleGameScene)GlobalEnvironment.Instance.Get <SceneManager>().GetScene(GameDefine.Scene.Battle); GardenBattleGamePlay gardenBattleGamePlay = (GardenBattleGamePlay)battleGameScene.GamePlay; gardenBattleGamePlay.CharacterDeath(layer, position); }
public override void Enter() { AudioSource.Play(); GameMapObjectMgr = GlobalEnvironment.Instance.Get <GameMapObjectManager>(); GameMapObjectMgr.EnterBattle(); GamePlay = new GardenBattleGamePlay(); GamePlay.Enter(); InitBattleEnvironment(); }
public override void Exist() { AudioSource.Stop(); GameMapObjectMgr.ExistBattle(); GamePlay.Exist(); GamePlay = null; GardenParent.gameObject.SetActive(false); GlobalEnvironment.Instance.Get <UIManager>().DestroyUI(GameDefine.UIName.WinPlant); GlobalEnvironment.Instance.Get <UIManager>().DestroyUI(GameDefine.UIName.FailPlant); }