예제 #1
0
    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);
    }
예제 #2
0
    public override void Enter()
    {
        AudioSource.Play();

        GameMapObjectMgr = GlobalEnvironment.Instance.Get <GameMapObjectManager>();
        GameMapObjectMgr.EnterBattle();

        GamePlay = new GardenBattleGamePlay();
        GamePlay.Enter();

        InitBattleEnvironment();
    }
예제 #3
0
    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);
    }