void Start() { rigidBody = GetComponent <Rigidbody2D>(); animator = GetComponent <Animator>(); shooter = GetComponent <Shooter>(); mainCollider = GetComponent <Collider2D>(); treeTrigger = GetComponentInChildren <TreeTrigger>(); characterTrigger = GetComponentInChildren <CharacterTrigger>(); IgnoreTree(); }
// Token: 0x06000463 RID: 1123 RVA: 0x0002DDD0 File Offset: 0x0002BFD0 private void OnTriggerStay(Collider other) { if (other.tag == "Avatar") { CharacterTrigger component = other.GetComponent <CharacterTrigger>(); if (component && component.Character.IsLocal) { this.source.position = GameState.Current.PlayerData.Position + Vector3.down; } } }
// Token: 0x06000461 RID: 1121 RVA: 0x0002DD54 File Offset: 0x0002BF54 private void SetFootStep(Collider other) { if (other.tag == "Avatar") { CharacterTrigger component = other.GetComponent <CharacterTrigger>(); if (component && component.Character.Avatar != null && component.Character.Avatar.Decorator) { component.Character.Avatar.Decorator.CurrentFootStep = this._footStep; } } }
// Token: 0x06000460 RID: 1120 RVA: 0x0002DCBC File Offset: 0x0002BEBC private void OnTriggerExit(Collider other) { if (other.tag == "Avatar") { CharacterTrigger component = other.GetComponent <CharacterTrigger>(); if (component && component.Character.Avatar != null && component.Character.Avatar.Decorator && GameState.Current.Map != null) { component.Character.Avatar.Decorator.CurrentFootStep = GameState.Current.Map.DefaultFootStep; } } }
static void Postfix(ref bool __state, ref Dictionary <Team.Type, Dictionary <CharacterTriggerData.Trigger, List <CardEffectState> > > useBattleTriggeredEvents) { if (__state) { var register = CharacterTrigger.GetAllExtendedEnums(); foreach (var team in useBattleTriggeredEvents.Values) { foreach (var registeredEnum in register) { team.Add(registeredEnum, new List <CardEffectState>()); } } } }
/// <summary> /// Used to queue a Character Trigger to be automatically executed during key phases of combat. If you need to ensure that your trigger is executed at other times, please use QueueAndRunTrigger with a coroutine. /// </summary> /// <param name="charTrigger">CharacterTrigger to be queued</param> /// <param name="character">Character to Queue the Trigger On</param> /// <param name="canAttackOrHeal">Whether the Character being triggered can Attack or be Healed</param> /// <param name="canFireTriggers">Whether the trigger can currently be fired</param> /// <param name="fireTriggersData">Additional Parameters for controlling how the trigger is fired</param> /// <param name="triggerCount">Number of Times to Trigger</param> /// <returns>Returns Whether it succeeded at Queuing a trigger internally</returns> public static void QueueTrigger(CharacterTrigger charTrigger, CharacterState character, bool canAttackOrHeal = true, bool canFireTriggers = true, CharacterState.FireTriggersData fireTriggersData = null, int triggerCount = 1) { if (ProviderManager.TryGetProvider <CombatManager>(out CombatManager combatManager)) { combatManager.QueueTrigger( character, charTrigger.GetEnum(), canAttackOrHeal, canFireTriggers, fireTriggersData, triggerCount ); } }
/// <summary> /// Used to queue a Character Trigger to be automatically executed during key phases of combat. If you need to ensure that your trigger is executed at other times, please use QueueAndRunTrigger with a coroutine. /// </summary> /// <typeparam name="Manager">Type of Manager to Queue and Run Triggers to</typeparam> /// <param name="charTrigger">CharacterTrigger to be queued</param> /// <param name="canAttackOrHeal">Whether the Character being triggered can Attack or be Healed</param> /// <param name="canFireTriggers">Whether the trigger can currently be fired</param> /// <param name="fireTriggersData">Additional Parameters for controlling how the trigger is fired</param> /// <param name="triggerCount">Number of Times to Trigger</param> /// <returns></returns> public static void QueueTrigger <Manager>(CharacterTrigger charTrigger, bool canAttackOrHeal = true, bool canFireTriggers = true, CharacterState.FireTriggersData fireTriggersData = null, int triggerCount = 1) where Manager : ICharacterManager, IProvider { if (ProviderManager.TryGetProvider <CombatManager>(out CombatManager combatManager) && ProviderManager.TryGetProvider <Manager>(out Manager characterManager)) { for (int i = 0; i < characterManager.GetNumCharacters(); i++) { combatManager.QueueTrigger( characterManager.GetCharacter(i), charTrigger.GetEnum(), canAttackOrHeal, canFireTriggers, fireTriggersData, triggerCount ); } } }
/// <summary> /// Associates two triggers with eachother allowing MT to cast from one trigger to another /// </summary> /// <param name="cardTrigger">CardTrigger to be Associated</param> /// <param name="characterTrigger">CharacterTrigger to be Associated</param> public static void AssociateTriggers(CardTrigger cardTrigger, CharacterTrigger characterTrigger) { CharToCardTriggerDict[characterTrigger.GetEnum()] = cardTrigger.GetEnum(); CardToCharTriggerDict[cardTrigger.GetEnum()] = characterTrigger.GetEnum(); }
public static void QueueAndRunTrigger <Manager>(CharacterTrigger charTrigger, bool canAttackOrHeal = true, bool canFireTriggers = true, CharacterState.FireTriggersData fireTriggersData = null, int triggerCount = 1) where Manager : IProvider, ICharacterManager { QueueTrigger <Manager>(charTrigger, canAttackOrHeal, canFireTriggers, fireTriggersData, triggerCount); RunTriggerQueueRemote(); }
public static void QueueAndRunTrigger(CharacterTrigger charTrigger, CharacterState[] characters, bool canAttackOrHeal = true, bool canFireTriggers = true, CharacterState.FireTriggersData fireTriggersData = null, int triggerCount = 1) { QueueTrigger(charTrigger, characters, canAttackOrHeal, canFireTriggers, fireTriggersData, triggerCount); RunTriggerQueueRemote(); }