/// <summary> /// On register mediator /// </summary> public override void OnRegister() { InitCardDeckSignal.AddListener(() => { View.InitDeckCount(); }); AddCardToHandDeckSignal.AddListener(() => { if (BattleArena.ActiveSide != View.Side) { return; } OnAddCardToHand(); }); InitCardHandSignal.AddListener(() => { View.AddPullCardsToHand(); }); }
/// <summary> /// Execute event init arena /// </summary> public override void Execute() { // Init Active player StateService.InitActivePlayer(BattleArena.ActiveSide == BattleSide.Player ? Arena.Player : Arena.Opponent); // init active turn // Increase turn count StateService.IncreaseTurnCount(); // init turn history BattleArena.InitHistory(); // On 2 Turn add more carts BattleArena.CountOfCardsAddingToHand = Arena.CartToAddCount; if (StateService.TurnCount == 2) { BattleArena.CountOfCardsAddingToHand++; } // Init card desk InitCardDeckSignal.Dispatch(); // Init trate deck signal InitTrateDeckSignal.Dispatch(); // Init mana pull BattleArena.GetActivePlayer().InitManaPull(); // Init mana view InitManaSignal.Dispatch(); // Init hand panel InitHandPullSignal.Dispatch(); //Init battle arena InitBattleArenaSignal.Dispatch(); // show new turn popup ShowTurnPopupSignal.Dispatch(); }