void OnDestroy() { if (ReferenceEquals(HookStateSystem.arcadiaState, this)) { HookStateSystem.Clear(); } }
public void RunFunctions(object arg1, object arg2, object arg3) { if (!_fullyInitialized) { FullInit(); } HookStateSystem.SetState(arcadiaState, _go, ifnInfos); int i = 0; try { for (; i < ifnInfos.Length; i++) { HookStateSystem.ifnInfoIndex = i; Arcadia.Util.AsIFn(ifnInfos[i].fn).invoke(_go, ifnInfos[i].key, arg1, arg2, arg3); } } catch (System.Exception) { PrintContext(i); throw; } finally { HookStateSystem.Clear(); } }