internal void Reset() { // There is a lot going on here. We probably don't need to reset everything. OnStopped = null; Running = false; IsFirstRun = false; Tag = null; TagId = 0; OwnerWorld = IntPtr.Zero; Owner = null; IsRepeated = false; Type = default(InvokerType); Group = default(CoroutineGroup); Value = 0; RepeatedValue = 0; HasStopAfterValue = false; stopAfterValue = 0; stopAfterEndValue = 0; startingValue = 0; beginValue = 0; EndValue = 0; RepeatConstantTime = false; MaxCallCount = 0; MaxTotalCallCount = 0; totalCallCount = 0; cancelInvoke = false; if (collection != null) { collection.HeapRemove(this); collection = null; } collectionGroup = null; handlerType = InvokerHandlerType.Default; handler = null; handlerWithObject = null; handlerWithInvoker = null; handlerWithObjectInvoker = null; invokersByUObjectIndex = -1; invokersByMethodIndex = -1; }
private void SetHandler(InvokerHandlerType handlerType, InvokerHandler handler, InvokerHandlerWithInvoker handlerWithInvoker, InvokerHandlerWithObject handlerWithObject, InvokerHandlerWithObjectInvoker handlerWithObjectInvoker) { RemoveInvokerFromInvokersByMethod(); this.handlerType = handlerType; this.handler = handler; this.handlerWithInvoker = handlerWithInvoker; this.handlerWithObject = handlerWithObject; this.handlerWithObjectInvoker = handlerWithObjectInvoker; AddInvokerToInvokersByMethod(); }
public static Invoker StartInvokerTicks(object obj, InvokerHandlerWithInvoker handler, ulong ticks, ulong repeatedTicks = default(ulong), CoroutineGroup group = CoroutineGroup.Tick, bool pool = PoolByDefault) { return(StartInvoker(obj, InvokerHandlerType.WithInvoker, handler, InvokerType.Ticks, ticks, repeatedTicks, group, pool)); }
public static Invoker StartInvoker(object obj, InvokerHandlerWithInvoker handler, TimeSpan time, TimeSpan repeatedTime = default(TimeSpan), CoroutineGroup group = CoroutineGroup.Tick, bool pool = PoolByDefault) { return(StartInvoker(obj, InvokerHandlerType.WithInvoker, handler, InvokerType.Delay, (ulong)time.Ticks, (ulong)repeatedTime.Ticks, group, pool)); }
public void StartInvokerFrames(InvokerHandlerWithInvoker handler, ulong frames, ulong repeatedFrames = default(ulong), CoroutineGroup group = CoroutineGroup.Tick, bool pool = Invoker.PoolByDefault) { Invoker.StartInvokerFrames(this, handler, frames, repeatedFrames, group, pool); }
public void StartInvoker(InvokerHandlerWithInvoker handler, TimeSpan time, TimeSpan repeatedTime = default(TimeSpan), CoroutineGroup group = CoroutineGroup.Tick, bool pool = Invoker.PoolByDefault) { Invoker.StartInvoker(this, handler, time, repeatedTime, group, pool); }
public void SetHandler(InvokerHandlerWithInvoker handler) { SetHandler(InvokerHandlerType.WithInvoker, null, handler, null, null); }