private IEnumerator ActivateAegisOfZeusCoroutine() { Visual.instance.disableInput(true); float timeMovement = Const.mediumCardTimeMovement; AegisOfZeusTarget targetcomponent = target.GetComponent <AegisOfZeusTarget>(); AegisOfZeusTarget[] targetsarray = GameObject.FindObjectsOfType <AegisOfZeusTarget>(); foreach (var VARIABLE in targetsarray) { if (VARIABLE != targetcomponent) { GameObject.DestroyImmediate(VARIABLE); } } AegisOfZeusActivated[] arractivated = GameObject.FindObjectsOfType <AegisOfZeusActivated>(); AegisOfZeusActivated activated = arractivated[0]; OneCardManager aegis = activated.GetComponent <OneCardManager>(); VisualTool.DiscardCardToWinningPile(aegis, 0); GameLogicModifyGame.SetIgnoreDeadliness(target.cardAsset); GameLogicEvents.eventUpdateCurrentEncounter.Invoke(); GameLogicEvents.eventUpdateLossCounter.Invoke(); yield return(Const.mediumCardTimeMovement + EndTurn.SmallAmountOfTime); VisualTool.SwitchAllControls(true); Visual.instance.disableInput(false); Command.CommandExecutionComplete(); }
public void OnEnter() { GameLogicModifyGame.ResolveDiceEncounter(); CardManager.Card card = Visual.instance.GetCurrentEnemyCard(); ScreenManager.instance.Show(ScreenManager.ScreenType.Rolldice); Visual.instance.mainDice.SetActive(false); BattleDiceRoll.ourInstance.SetCurrentDiceEncounterObject(); ResultPanel.instance.ShowMessage(GameLogic.GetResultMessage()); RollDiceResultBar.instance.Show(); DeckGameControlPanel.instance.Show(); }
private IEnumerator ActivateApolloBowTargetCoroutine() { Visual.instance.disableInput(true); float timeMovement = Const.mediumCardTimeMovement; OneCardManager apolloBowCM = Visual.instance.GetOneCardManagerByName(Const.apollobow, Visual.instance.TreasureHand.transform); GameLogicModifyGame.ApolloBowEffect(target.cardAsset); target.ReadCardFromAsset(); VisualTool.DiscardCardToDiscardPile(apolloBowCM, 0); yield return(timeMovement + EndTurn.SmallAmountOfTime); ApolloBowActivated.DeactivateTargets(); VisualTool.SwitchAllControls(true); Visual.instance.disableInput(false); Command.CommandExecutionComplete(); }
private void AutoBattleResolve() { AutoResolveEvent.RemoveAllListeners(); List <OneCardManager> currentEncoutnerList = Visual.instance.GetCurrentEncounter(); foreach (OneCardManager cardManager in currentEncoutnerList) { if (cardManager.cardAsset.resolved != ResolvedType.notresolved) { continue; } if (GameLogic.cardIsMonsterOrTreasure(cardManager.cardAsset)) { GameLogicModifyGame.AutoResolveCard(cardManager.cardAsset); AutoResolveEvent.AddListener(cardManager.ShowResolve); AutoResolveEvent.AddListener(cardManager.AnimateResolve); AutoResolveEvent.AddListener(() => RaiseEnemyEffect(cardManager.cardAsset)); } } AutoResolveEvent.Invoke(); }
public void OnEnter() { ScreenManager.instance.Show(ScreenManager.ScreenType.Rolldice); Visual.instance.mainDice.SetActive(true); Visual.instance.mainDice.GetComponent <ApplyForceInRandomDirection>().Reset(); SetCurrentDiceEncounterObject(); RollDiceTouchListener rollDiceTouchListener = Visual.instance.RollDiceImage.gameObject.AddComponent <RollDiceTouchListener>(); rollDiceTouchListener.dice = Visual.instance.mainDice; rollDiceTouchListener.RollEnabled = true; CardManager.Card opponentCard = currentDiceEncounterOneCardManager.cardAsset; diceRolledEvent.RemoveAllListeners(); diceRolledEvent.AddListener(new UnityAction(delegate { GameLogicModifyGame.CalculateDiceRollResult(currentDiceEncounterOneCardManager.cardAsset); })); diceRolledEvent.AddListener(new UnityAction(delegate { ResultPanel.instance.ShowMessage(GameLogic.GetResultMessage()); })); diceRolledEvent.AddListener(new UnityAction(delegate { RollDiceResultBar.instance.Show(); })); diceRolledEvent.AddListener(new UnityAction(delegate { new GoToNextGamePhase(GamePhase.BattleEnd).AddToQueue(); })); }
private IEnumerator DoCasualtiesCoroutine() { yield return(new WaitForSeconds(.2f)); GameLogicEvents.eventRemoveSingleEffects.Invoke(); if (Game.instance.Casualties > 0) { Vector2 pos = Visual.instance.LossCounter.transform.localPosition; DamageEffect.CreateDamageEffect(pos, Game.instance.Casualties); } List <OneCardManager> curEnc = Visual.instance.GetCurrentEncounter(); foreach (OneCardManager cm in curEnc) { yield return(new WaitForSeconds(EndTurn.SmallAmountOfTime)); bool isResolved = cm.cardAsset.resolved == ResolvedType.resolved_win; if (isResolved) { VisualTool.DiscardCardToWinningPile(cm); } else { VisualTool.DiscardCardToDiscardPile(cm); } } yield return(new WaitForSeconds(TimeMovement1 + DelayTime)); Debug.Log("CommandDoCasualties"); GameLogicModifyGame.DoCasualties(); GameLogicEvents.eventUpdateLossCounter.Invoke(); GameLogicEvents.eventUpdateCrewCounter.Invoke(); Command.CommandExecutionComplete(); }