Remove() public method

public Remove ( int pos ) : object
pos int
return object
        public void RemoveObject(int udata)
        {
            object o = objects.Remove(udata);

            if (o != null && !TypeChecker.IsValueType(o.GetType()))
            {
                objectsBackMap.Remove(o);
            }
        }
示例#2
0
        // Lua中删除一个对象 对C#的引用没有影响
        public void LuaRemoveObject(int udata)
        {
            //只有Lua gc才能移除
            object o = objects.Remove(udata);

            if (o != null)
            {
                if (!TypeChecker.IsValueType(o.GetType()))
                {
                    RemoveObject(o, udata);
                }
                Debugger.Log("gc object {0}, id {1}", o, udata);
            }
        }
示例#3
0
        //lua gc一个对象(lua 库不再引用,但不代表c#没使用)
        public void RemoveObject(int udata)
        {
            //只有lua gc才能移除
            object o = objects.Remove(udata);

            if (o != null)
            {
                if (!TypeChecker.IsValueType(o.GetType()))
                {
                    RemoveObject(o, udata);
                }

                if (LogGC)
                {
                    Debug.LogFormat("gc object {0}, id {1}", o, udata);
                }
            }
        }
        //完全移除一个对象,适合lua gc
        public void RemoveObject(int udata)
        {
            RemoveFromGCList(udata);
            object o = objects.Remove(udata);

            if (o != null)
            {
                if (!TypeChecker.IsValueType(o.GetType()))
                {
                    objectsBackMap.Remove(o);
                }

                if (LogGC)
                {
                    Debugger.Log("remove object {0}, id {1}", o, udata);
                }
            }
        }
示例#5
0
 //lua gc一个对象(lua 库不再引用,但不代表c#没使用)
 public void RemoveObject(int udata)
 {
     //只有lua gc才能移除
     objects.Remove(udata, LogGC);
 }