public void Invoke(JassTrigger trigger) { if (this.Condition(trigger)) { this.Action(trigger); } }
public static void TriggerAddAction(JassTrigger trigger, ManagedActionBase action) { try { var key = trigger.ToCTrigger(); InternalNatives.handles[key] = trigger; HashSet <ManagedActionBase> bucket; if (!InternalNatives.actions.TryGetValue(key, out bucket)) { InternalNatives.actions.Add(key, bucket = new HashSet <ManagedActionBase>()); } bucket.Add(action); } catch (Exception e) { Trace.WriteLine("TriggerAddAction"); Trace.WriteLine(e.ToString()); } }
/// <summary> /// Gets a trigger from a trigger jass handle. /// </summary> /// <param name="destructableHandle">The trigger jass handle.</param> /// <returns>The trigger.</returns> public static CTriggerWar3Ptr GetTriggerFromHandle(JassTrigger trigger) { return(FastCall.Invoke <CTriggerWar3Ptr>(GameAddresses.GetTriggerFromHandle, trigger)); }
public override void Action(JassTrigger trigger) { this.action(trigger); }
public override Boolean Condition(JassTrigger trigger) { return(this.condition(trigger)); }
public static CTriggerWar3Ptr FromHandle(JassTrigger trigger) { return(GameFunctions.GetTriggerFromHandle(trigger)); }
public static CTriggerWar3 *FromHandle(JassTrigger trigger) { return(GameFunctions.GetTriggerFromHandle(trigger).AsUnsafe()); }
public static void TriggerAddAction(JassTrigger trigger, ManagedActionBase action) { InternalNatives.TriggerAddAction(trigger, action); }
public virtual void Action(JassTrigger trigger) { }
public virtual Boolean Condition(JassTrigger trigger) { return(true); }
public static void TriggerAddAction(JassTrigger trigger, ManagedActionBase action) { Natives.instance.triggerAddAction(trigger, action); }
private void triggerAddAction(JassTrigger trigger, ManagedActionBase action) { InternalNatives.TriggerAddAction(trigger, action); }