예제 #1
0
 void OnDestroy()
 {
     if (ReferenceEquals(HookStateSystem.arcadiaState, this))
     {
         HookStateSystem.Clear();
     }
 }
예제 #2
0
    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();
        }
    }