Example #1
0
    public static void OnTriggerTimer(params object[] args)
    {
        if (args == null || args.Length < 2)
        {
            return;
        }
        string text = args[0] as string;

        if (!AsyncTrigger.mTriggers.ContainsKey(text))
        {
            return;
        }
        AsyncTrigger.TriggerInfo triggerInfo = AsyncTrigger.mTriggers[text];
        if (triggerInfo.onTrigger != null)
        {
            try
            {
                triggerInfo.onTrigger(new object[]
                {
                    text
                });
            }
            catch (Exception ex)
            {
                LogSystem.LogError(new object[]
                {
                    ex.ToString()
                });
            }
        }
        AsyncTrigger.mTriggers.Remove(text);
        TimerManager.DestroyTimer(text);
    }
Example #2
0
 public static void Trigger(string strTriggerName, AsyncTrigger.OnTrigger onTrigger, params object[] args)
 {
     if (!AsyncTrigger.mTriggers.ContainsKey(strTriggerName))
     {
         return;
     }
     AsyncTrigger.TriggerInfo triggerInfo = AsyncTrigger.mTriggers[strTriggerName];
     triggerInfo.iTriggerCount--;
     if (triggerInfo.iTriggerCount > 0)
     {
         return;
     }
     if (onTrigger != null)
     {
         try
         {
             onTrigger(args);
         }
         catch (Exception ex)
         {
             LogSystem.LogError(new object[]
             {
                 ex.ToString()
             });
         }
     }
     AsyncTrigger.mTriggers.Remove(strTriggerName);
 }
Example #3
0
 public static bool CreateTrigger(string strTriggerName, int iTriggerCount = 1)
 {
     if (AsyncTrigger.mTriggers.ContainsKey(strTriggerName))
     {
         return(false);
     }
     AsyncTrigger.TriggerInfo triggerInfo = new AsyncTrigger.TriggerInfo();
     triggerInfo.strTriggerName = strTriggerName;
     triggerInfo.iTriggerCount  = iTriggerCount;
     AsyncTrigger.mTriggers.Add(strTriggerName, triggerInfo);
     return(true);
 }
Example #4
0
 public static bool CreateTimeTrigger(string strTriggerName, float fDelayTime, AsyncTrigger.OnTrigger onTrigger, params object[] args)
 {
     if (AsyncTrigger.mTriggers.ContainsKey(strTriggerName))
     {
         return(false);
     }
     AsyncTrigger.TriggerInfo triggerInfo = new AsyncTrigger.TriggerInfo();
     triggerInfo.strTriggerName = strTriggerName;
     triggerInfo.onTrigger      = onTrigger;
     triggerInfo.args           = args;
     AsyncTrigger.mTriggers.Add(strTriggerName, triggerInfo);
     TimerManager.AddTimer(strTriggerName, fDelayTime, new TimerManager.TimerManagerHandlerArgs(AsyncTrigger.OnTriggerTimer), new object[]
     {
         strTriggerName,
         onTrigger
     });
     return(true);
 }