コード例 #1
0
ファイル: INTERNAL_Internal.cs プロジェクト: traa/unified
        public static void StackPushObject(NWN.Object value, bool defAsObjSelf)
        {
            if (value == null)
            {
                value = defAsObjSelf ? OBJECT_SELF : OBJECT_INVALID;
            }

            StackPushObject_Native(value.m_ObjId);
        }
コード例 #2
0
ファイル: INTERNAL_Internal.cs プロジェクト: traa/unified
        private static void ExecuteClosure(ulong eventId)
        {
            Closure closure = m_Closures[eventId];

            OBJECT_SELF = closure.m_Object;
            BeginClosure(closure.m_Object.m_ObjId);
            closure.m_Func();
            m_Closures.Remove(eventId);
        }
コード例 #3
0
ファイル: INTERNAL_Internal.cs プロジェクト: traa/unified
 public static void ClosureActionDoCommand(NWN.Object obj, ActionDelegate func)
 {
     if (ClosureActionDoCommand_Native(obj.m_ObjId, m_NextEventId) != 0)
     {
         m_Closures.Add(m_NextEventId++, new Closure {
             m_Object = obj, m_Func = func
         });
     }
 }
コード例 #4
0
ファイル: Internal.cs プロジェクト: zebranky/unified
 public static void ClosureActionDoCommand(NWN.Object obj, ActionDelegate func)
 {
     if (NativeFunctions.ClosureActionDoCommand(obj.Self, NextEventId) != 0)
     {
         Closures.Add(NextEventId++, new Closure {
             OwnerObject = obj, Run = func
         });
     }
 }
コード例 #5
0
ファイル: Internal.cs プロジェクト: zebranky/unified
        public static int OnRunScript(string script, uint oidSelf)
        {
            int ret = 0;

            OBJECT_SELF = oidSelf;
            ScriptContexts.Push(new ScriptContext {
                OwnerObject = oidSelf, ScriptName = script
            });
            try
            {
                ret = NWN.Entrypoints.OnRunScript(script, oidSelf);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            ScriptContexts.Pop();
            OBJECT_SELF = ScriptContexts.Count == 0 ? OBJECT_INVALID : ScriptContexts.Peek().OwnerObject;
            return(ret);
        }
コード例 #6
0
ファイル: NWArea.cs プロジェクト: xephnin/SWLOR_NWN
 public NWArea(Object o)
     : base(o)
 {
 }
コード例 #7
0
ファイル: NWArea.cs プロジェクト: xephnin/SWLOR_NWN
 public override int GetHashCode()
 {
     return(Object.GetHashCode());
 }
コード例 #8
0
 public static void AssignCommand(NWN.Object oActionSubject, ActionDelegate aActionToAssign)
 {
     Internal.ClosureAssignCommand(oActionSubject, aActionToAssign);
 }
コード例 #9
0
 public NWPlaceable(Object nwnObject)
     : base(nwnObject)
 {
 }
コード例 #10
0
ファイル: INTERNAL_Internal.cs プロジェクト: traa/unified
 private static void PopScriptContext()
 {
     s_ScriptContexts.Pop();
     OBJECT_SELF = s_ScriptContexts.Count == 0 ? OBJECT_INVALID : s_ScriptContexts.Peek();
 }
コード例 #11
0
ファイル: INTERNAL_Internal.cs プロジェクト: traa/unified
 private static void PushScriptContext(uint oid)
 {
     s_ScriptContexts.Push(oid);
     OBJECT_SELF = oid;
 }
コード例 #12
0
ファイル: NWPlayer.cs プロジェクト: xephnin/SWLOR_NWN
 public NWPlayer(Object nwnObject)
     : base(nwnObject)
 {
 }