コード例 #1
0
 /// <summary>
 /// Handles any inspector debug
 /// </summary>
 public virtual void Update()
 {
     if (!debugRunStateChange)
     {
         return;
     }
     debugRunStateChange = false;
     onStateChange.Invoke(this);
 }
コード例 #2
0
    private void OnGameEvent(GameEvent.Parameter args)
    {
        if (!enabled)
        {
            return;
        }

        if ((GameEvent.Types)args.Type == Type)
        {
            OnEvent?.Invoke();
        }
    }
コード例 #3
0
        public static void SortInThread <T>(T[] sortArr, Func <T, T, bool> comparator)
        {
            HandlerEvent = null;
            Show <T>(sortArr, "Before sorting: ");
            Thread thr = new Thread(() =>
            {
                Sorting(sortArr, comparator);
                HandlerEvent += Signal;
                Show <T>(sortArr, "After sorting: ");
                HandlerEvent?.Invoke();
            });

            thr.Start();
        }
コード例 #4
0
        public DistributeEventResult distributeEvent(object sender, EEventArgs args)
        {
            if (_handler != null)
            {
                Delegate[]            inv = _handler.GetInvocationList();
                DistributeEventResult er  = new DistributeEventResult(this);
                for (int i = 0; i < inv.Length; i++)
                {
                    HandlerEvent he = (HandlerEvent)inv[i];
                    if (_startInThread)
                    {
                        he.BeginInvoke(sender, args, CompliteEventDistribute, he);
                    }
                    else
                    {
                        er.AddEventResult(he.Invoke(sender, args));
                    }
                }
                return(er);
            }


            return(null);
        }