public void Invoke(JassTrigger trigger)
 {
     if (this.Condition(trigger))
     {
         this.Action(trigger);
     }
 }
Beispiel #2
0
 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());
     }
 }
Beispiel #3
0
 /// <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));
 }
Beispiel #4
0
 public override void Action(JassTrigger trigger)
 {
     this.action(trigger);
 }
Beispiel #5
0
 public override Boolean Condition(JassTrigger trigger)
 {
     return(this.condition(trigger));
 }
Beispiel #6
0
 public static CTriggerWar3Ptr FromHandle(JassTrigger trigger)
 {
     return(GameFunctions.GetTriggerFromHandle(trigger));
 }
Beispiel #7
0
 public static CTriggerWar3 *FromHandle(JassTrigger trigger)
 {
     return(GameFunctions.GetTriggerFromHandle(trigger).AsUnsafe());
 }
Beispiel #8
0
 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);
 }
Beispiel #11
0
 public static void TriggerAddAction(JassTrigger trigger, ManagedActionBase action)
 {
     Natives.instance.triggerAddAction(trigger, action);
 }
Beispiel #12
0
 private void triggerAddAction(JassTrigger trigger, ManagedActionBase action)
 {
     InternalNatives.TriggerAddAction(trigger, action);
 }