private void OnGemDestroyedAnimComplete(Spell spell, SpellStateType spellStateType, object userData) { if (spell.GetActiveState() == SpellStateType.NONE) { UnityEngine.Object.Destroy(base.gameObject); } }
protected void CallStateFunction(SpellStateType prevStateType, SpellStateType stateType) { switch (stateType) { case SpellStateType.BIRTH: this.OnBirth(prevStateType); break; case SpellStateType.IDLE: this.OnIdle(prevStateType); break; case SpellStateType.ACTION: this.OnAction(prevStateType); break; case SpellStateType.CANCEL: this.OnCancel(prevStateType); break; case SpellStateType.DEATH: this.OnDeath(prevStateType); break; default: this.OnNone(prevStateType); break; } }
protected void ChangeFsmState(SpellStateType stateType) { if (this.m_fsm != null) { base.StartCoroutine(this.WaitThenChangeFsmState(stateType)); } }
public virtual void OnFsmStateStarted(FsmState state, SpellStateType stateType) { if (this.m_activeStateChange != stateType) { this.ChangeStateImpl(stateType); } }
private void OnOverloadUnlockedAnimComplete(Spell spell, SpellStateType prevStateType, object userData) { if (spell.GetActiveState() == SpellStateType.NONE) { UnityEngine.Object.Destroy(spell.transform.parent.gameObject); } }
protected override void OnAction(SpellStateType prevStateType) { base.m_effectsPendingFinish++; base.OnAction(prevStateType); base.m_effectsPendingFinish--; base.FinishIfPossible(); }
private void OnImpactSpellStateFinished(Spell spell, SpellStateType prevStateType, object userData) { if (spell.GetActiveState() == SpellStateType.NONE) { UnityEngine.Object.Destroy(spell.gameObject); } }
private void OnCardSpellStateFinished(Spell spell, SpellStateType prevStateType, object userData) { if (spell.GetActiveState() == SpellStateType.NONE) { this.CardSpellNoneStateEntered(); } }
private void OnSpellStateStarted(Spell spell, SpellStateType prevStateType, object userData) { SpellStateType activeState = spell.GetActiveState(); TurnTimerState state = this.TranslateSpellStateToTimerState(activeState); this.ChangeStateImpl(state); }
public virtual void ChangeState(SpellStateType stateType) { this.ChangeStateImpl(stateType); if (this.m_activeStateType == stateType) { this.ChangeFsmState(stateType); } }
private void OnOverloadBirthCompletePayOverload(Spell spell, SpellStateType prevStateType, object userData) { if (spell.GetActiveState() == SpellStateType.IDLE) { spell.RemoveStateFinishedCallback(new Spell.StateFinishedCallback(this.OnOverloadBirthCompletePayOverload)); this.PayOverload(); } }
public virtual bool HasUsableState(SpellStateType stateType) { if (stateType == SpellStateType.NONE) { return(false); } return(this.HasStateContent(stateType) || (this.HasOverriddenStateMethod(stateType) || (((this.m_activeStateType == SpellStateType.NONE) && (this.m_ZonesToDisable != null)) && (this.m_ZonesToDisable.Count > 0)))); }
private void OnDragStopSpellStateFinished(Spell spell, SpellStateType prevStateType, object userData) { if (spell.GetActiveState() == SpellStateType.NONE) { UnopenedPack pack = (UnopenedPack)userData; UnityEngine.Object.Destroy(pack.gameObject); } }
private void ChangeSpellState(TurnTimerState timerState) { SpellStateType stateType = this.TranslateTimerStateToSpellState(timerState); this.m_spell.ActivateState(stateType); if (timerState == TurnTimerState.START) { base.StartCoroutine(this.TimerBirthAnimateMaterialValues()); } }
private void OnFatigueDeathSpellFinished(Spell spell, SpellStateType prevStateType, object userData) { Actor actor = (Actor)userData; if (actor != null) { actor.Destroy(); } base.OnFinished(); }
public void ActivateState(SpellStateType stateType) { if (!this.HasUsableState(stateType)) { this.Deactivate(); } else { this.ChangeState(stateType); } }
private void OnHeroSourceAttackStateFinished(Spell spell, SpellStateType prevStateType, object userData) { if (spell.GetActiveState() == SpellStateType.NONE) { spell.RemoveStateFinishedCallback(new Spell.StateFinishedCallback(this.OnHeroSourceAttackStateFinished)); Card source = base.GetSource(); Entity entity = source.GetEntity(); this.PlayWindfuryReminderIfPossible(entity, source); this.FinishEverything(); } }
private void OnActorTriggerSpellStateFinished(Spell spell, SpellStateType prevStateType, object userData) { if (prevStateType == SpellStateType.ACTION) { spell.RemoveStateFinishedCallback(new Spell.StateFinishedCallback(this.OnActorTriggerSpellStateFinished)); if (!this.ActivateCardEffects()) { base.OnProcessTaskList(); } } }
protected override void OnDeath(SpellStateType prevStateType) { base.OnDeath(prevStateType); if (this.m_ImpactSpellPrefab != null) { for (int i = 0; i < base.m_targets.Count; i++) { this.SpawnImpactSpell(base.m_targets[i]); } } }
protected override void OnBirth(SpellStateType prevStateType) { if (this.m_BurstMotes != null) { this.m_BurstMotes.Play(); } if (this.m_EdgeGlow != null) { this.m_EdgeGlow.GetComponent <Renderer>().enabled = true; } this.OnSpellFinished(); }
protected override void OnAction(SpellStateType prevStateType) { foreach (PowerTask task in base.m_taskList.GetTaskList()) { Network.HistFullEntity power = task.GetPower() as Network.HistFullEntity; if (power != null) { GameState.Get().GetEntity(power.Entity.ID).GetCard().SuppressPlaySounds(true); } } base.OnAction(prevStateType); }
protected override void OnAction(SpellStateType prevStateType) { if (this.m_SuppressNewCardPlaySound) { Card card = this.FindNewCard(); if (card != null) { card.SuppressPlaySounds(true); } } base.OnAction(prevStateType); }
protected void FireStateStartedCallbacks(SpellStateType prevStateType) { StateStartedListener[] listenerArray = this.m_stateStartedListeners.ToArray(); if (this.m_activeStateType == SpellStateType.NONE) { this.m_stateStartedListeners.Clear(); } foreach (StateStartedListener listener in listenerArray) { listener.Fire(this, prevStateType); } }
protected bool HasOverriddenStateMethod(SpellStateType stateType) { string stateMethodName = this.GetStateMethodName(stateType); if (stateMethodName == null) { return(false); } System.Type type = base.GetType(); MethodInfo method = typeof(Spell).GetMethod(stateMethodName, BindingFlags.NonPublic | BindingFlags.Instance); return(GeneralUtils.IsOverriddenMethod(type.GetMethod(stateMethodName, BindingFlags.NonPublic | BindingFlags.Instance), method)); }
public void Activate() { SpellStateType stateType = this.GuessNextStateType(); if (stateType == SpellStateType.NONE) { this.Deactivate(); } else { this.ChangeState(stateType); } }
protected override void OnAction(SpellStateType prevStateType) { base.m_effectsPendingFinish++; base.OnAction(prevStateType); Card sourceCard = base.GetSourceCard(); Spell prefab = this.DetermineRangePrefab(sourceCard.GetEntity().GetATK()); Spell spell2 = base.CloneSpell(prefab); spell2.SetSource(sourceCard.gameObject); spell2.Activate(); base.m_effectsPendingFinish--; base.FinishIfPossible(); }
private void OnSourceAttackStateStarted(Spell spell, SpellStateType prevStateType, object userData) { switch (spell.GetActiveState()) { case SpellStateType.IDLE: spell.ActivateState(SpellStateType.ACTION); break; case SpellStateType.ACTION: spell.RemoveStateStartedCallback(new Spell.StateStartedCallback(this.OnSourceAttackStateStarted)); this.LaunchAttack(); break; } }
protected override void OnAction(SpellStateType prevStateType) { base.OnAction(prevStateType); Card targetCard = base.GetTargetCard(); if (targetCard == null) { this.OnStateFinished(); } else { this.DoEffect(targetCard); } }
public SpellStateType GuessNextStateType(SpellStateType stateType) { switch (stateType) { case SpellStateType.NONE: if (!this.HasUsableState(SpellStateType.BIRTH)) { if (this.HasUsableState(SpellStateType.IDLE)) { return(SpellStateType.IDLE); } if (this.HasUsableState(SpellStateType.ACTION)) { return(SpellStateType.ACTION); } if (this.HasUsableState(SpellStateType.DEATH)) { return(SpellStateType.DEATH); } if (this.HasUsableState(SpellStateType.CANCEL)) { return(SpellStateType.CANCEL); } break; } return(SpellStateType.BIRTH); case SpellStateType.BIRTH: if (!this.HasUsableState(SpellStateType.IDLE)) { break; } return(SpellStateType.IDLE); case SpellStateType.IDLE: if (!this.HasUsableState(SpellStateType.ACTION)) { break; } return(SpellStateType.ACTION); case SpellStateType.ACTION: if (!this.HasUsableState(SpellStateType.DEATH)) { break; } return(SpellStateType.DEATH); } return(SpellStateType.NONE); }
private void ChangeFsmStateNow(SpellStateType stateType) { if (this.m_fsmStateMap == null) { UnityEngine.Debug.LogError(string.Format("Spell.ChangeFsmStateNow() - stateType {0} was requested but the m_fsmStateMap is null", stateType)); } else { FsmState state = null; if (this.m_fsmStateMap.TryGetValue(stateType, out state)) { this.m_fsm.SendEvent(EnumUtils.GetString <SpellStateType>(stateType)); } } }