GetHashCode() public method

public GetHashCode ( ) : int
return int
コード例 #1
0
    static public void CollectDependanciesRecursive(UnityEngine.Object obj, ref Dictionary <int, Object> dependencies)
    {
        if (!dependencies.ContainsKey(obj.GetHashCode()))
        {
            dependencies.Add(obj.GetHashCode(), obj);

            SerializedObject   objSO    = new SerializedObject(obj);
            SerializedProperty property = objSO.GetIterator();

            do
            {
                if ((property.propertyType == SerializedPropertyType.ObjectReference) &&
                    (property.objectReferenceValue != null)
                    ) //Don't go back up the hierarchy in transforms
                {
                    CollectDependanciesRecursive(property.objectReferenceValue, ref dependencies);

                    if (obj.GetType() == typeof(Material))
                    {
                        var i = 0;
                        i++;
                    }
                }
            } while (property.Next(true));
        }
    }
コード例 #2
0
 public OriginalObjInfo(UnityEngine.Object varObj, string varFilePath)
 {
     mObj       = varObj;
     mFilePath  = varFilePath;
     mCacheObjs = new List <CacheObjInfo>();
     mRefCount  = 1;
     if (varObj == null)
     {
         return;
     }
     mHolder = new GameObject("[RefCount: " + mRefCount + " ]" + mFilePath).transform;
     if (varObj.GetType() == typeof(GameObject))
     {
         GameObject tmpObj = varObj as GameObject;
         if (tmpObj == null)
         {
             return;
         }
         tmpObj.name = "[Original] HashCode: " + tmpObj.GetHashCode() + " (" + Helper.GetFileNameFromFullPath(mFilePath) + ")";
         tmpObj.transform.SetParent(mHolder);
     }
     else
     {
         GameObject tmpObj = new GameObject("[Original] HashCode: " + mObj.GetHashCode() + " (" + Helper.GetFileNameFromFullPath(mFilePath) + ")");
         tmpObj.transform.SetParent(mHolder);
     }
     GameObjPool.GetSingleton().AddToHolder(this);
 }
コード例 #3
0
 public UnityEngine.Object GetObj()
 {
     if (mObj == null && mOriginalObjInfo != null && mOriginalObjInfo.mObj != null)
     {
         mObj = UnityEngine.Object.Instantiate(mOriginalObjInfo.mObj);
         if (mObj != null)
         {
             if (mObj.GetType() == typeof(GameObject))
             {
                 GameObject tmpObj = mObj as GameObject;
                 if (tmpObj == null)
                 {
                     return(null);
                 }
                 mHolder      = tmpObj.transform;
                 mHolder.name = "[Lock: " + bLock + "] HashCode: " + mObj.GetHashCode() + " (" + Helper.GetFileNameFromFullPath(mOriginalObjInfo.mFilePath) + ")";
             }
             else
             {
                 mHolder = new GameObject("[Lock: " + bLock + "] HashCode: " + mObj.GetHashCode() + " (" + Helper.GetFileNameFromFullPath(mOriginalObjInfo.mFilePath) + ")").transform;
                 mOriginalObjInfo.AddToHolder(this);
             }
         }
     }
     return(mObj);
 }
コード例 #4
0
 private void RefreshHolder()
 {
     if (mHolder != null && mOriginalObjInfo != null && mObj != null)
     {
         mHolder.name = "[Lock: " + bLock + "] HashCode: " + mObj.GetHashCode() + " (" + Helper.GetFileNameFromFullPath(mOriginalObjInfo.mFilePath) + ")";
     }
 }
コード例 #5
0
ファイル: ABProxy.cs プロジェクト: ElmerNing/UnityFramework
        /// <summary>
        /// 加载任意指定类型的asset
        /// </summary>
        /// <param name="assetName"></param>
        /// <param name="T"></param>
        /// <returns></returns>
        public UnityEngine.Object LoadAsset(string assetName, Type T)
        {
            if (ab == null)
            {
                return(null);
            }

            UnityEngine.Object o = this.ab.LoadAsset(assetName, T);
            if (o == null)
            {
                return(null);
            }
            if (assetDict == null)
            {
                assetDict = new Dictionary <int, WeakReference>();
            }

            int hash = o.GetHashCode();

            if (!assetDict.ContainsKey(hash))
            {
                assetDict.Add(hash, new WeakReference(o));
            }

            return(o);
        }
コード例 #6
0
ファイル: NameValueBase.cs プロジェクト: onamoni/edriven-gui
 public override int GetHashCode()
 {
     // ReSharper disable NonReadonlyFieldInGetHashCode
     unchecked
     {
         int hashCode = (Name != null ? Name.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Type != null ? Type.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (int)SerializedType;
         hashCode = (hashCode * 397) ^ Int;
         hashCode = (hashCode * 397) ^ Bool.GetHashCode();
         hashCode = (hashCode * 397) ^ Float.GetHashCode();
         hashCode = (hashCode * 397) ^ (String != null ? String.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Color.GetHashCode();
         hashCode = (hashCode * 397) ^ LayerMask.GetHashCode();
         hashCode = (hashCode * 397) ^ (Enum != null ? Enum.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ObjectReference != null ? ObjectReference.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Vector2.GetHashCode();
         hashCode = (hashCode * 397) ^ Vector3.GetHashCode();
         hashCode = (hashCode * 397) ^ Rect.GetHashCode();
         hashCode = (hashCode * 397) ^ Char.GetHashCode();
         hashCode = (hashCode * 397) ^ (AnimationCurve != null ? AnimationCurve.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Bounds.GetHashCode();
         hashCode = (hashCode * 397) ^ (Gradient != null ? Gradient.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Quaternion.GetHashCode();
         return(hashCode);
     }
     // ReSharper restore NonReadonlyFieldInGetHashCode
 }
コード例 #7
0
ファイル: ObjectWrap.cs プロジェクト: backkom/CsToLua
    static int GetHashCode(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        Object obj = (Object)LuaScriptMgr.GetNetObject(L, 1);
        int    o   = obj.GetHashCode();

        LuaScriptMgr.PushResult(L, o);
        return(1);
    }
コード例 #8
0
ファイル: ObjectWrap.cs プロジェクト: PenpenLi/abcabcabc.mg
    static int GetHashCode(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        Object obj = (Object)LuaScriptMgr.GetUnityObjectSelf(L, 1, "Object");
        int    o   = obj.GetHashCode();

        LuaScriptMgr.Push(L, o);
        return(1);
    }
コード例 #9
0
        public override int GetHashCode()
        {
            if (IsValid == false)
            {
                return(0);
            }

            return(Target.GetHashCode());
        }
コード例 #10
0
    static int GetHashCode(IntPtr L)
    {
        L.ChkArgsCount(1);
        Object obj = (Object)L.ChkUnityObjectSelf(1, "Object");
        int    o   = obj.GetHashCode();

        L.PushInteger(o);
        return(1);
    }
コード例 #11
0
    static int GetHashCode(IntPtr l)
    {
        luaMgr.CheckArgsCount(1);
        Object obj = (Object)luaMgr.GetNetObject(1);
        int    o   = obj.GetHashCode();

        luaMgr.PushResult(o);
        return(1);
    }
コード例 #12
0
    private static int GetHashCode(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        UnityEngine.Object @object = (UnityEngine.Object)LuaScriptMgr.GetUnityObjectSelf(L, 1, "Object");
        int hashCode = @object.GetHashCode();

        LuaScriptMgr.Push(L, hashCode);
        return(1);
    }
コード例 #13
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (name != null ? name.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (sourceObject != null ? sourceObject.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (preview != null ? preview.GetHashCode() : 0);
         return(hashCode);
     }
 }
コード例 #14
0
 private void WriteUnityObjectData(string depth, Object uo, bool seen)
 {
     // shows some additional info on UnityObjects
     writer.WriteLine(depth + "<unityObject type=\"{0}\" name=\"{1}\" seen=\"{2}\" hash=\"{3}\"/>",
                      SecurityElement.Escape(uo.GetType().GetFormattedName()),
                      SecurityElement.Escape(uo ? uo.name : "--missing reference--"),
                      seen,
                      uo ? uo.GetHashCode().ToString() : "0");
     // todo we can show referenced assets for renderers, materials, audiosources etc
 }
コード例 #15
0
ファイル: Debug.cs プロジェクト: Hengle/GPG220-AI
 public override int GetHashCode()
 {
     unchecked {
         var hashCode = (int)rating;
         hashCode = (hashCode * 397) ^ (objectOfInfo != null ? objectOfInfo.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (info != null ? info.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (stack != null ? stack.GetHashCode() : 0);
         return(hashCode);
     }
 }
コード例 #16
0
    public static int  obj_hash(long L)
    {
        UnityObject obj = FCGetObj.GetObj <UnityObject>(L);

        if (obj != null)
        {
            return(obj.GetHashCode());
        }
        return(0);
    }
 public override int GetHashCode()
 {
     unchecked
     {
         int hash = 17;
         hash = hash * 23 + _instance.GetHashCode();
         hash = hash * 23 + _propertyPath.GetHashCode();
         return(hash);
     }
 }
コード例 #18
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Int;
         hashCode = (hashCode * 397) ^ (Asset != null ? Asset.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (String != null ? String.GetHashCode() : 0);
         return(hashCode);
     }
 }
コード例 #19
0
 public override int GetHashCode()
 {
     unchecked
     {
         int hashCode = (_assetPath != null ? _assetPath.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ _instanceID;
         hashCode = (hashCode * 397) ^ (int)_type;
         hashCode = (hashCode * 397) ^ (_object != null ? _object.GetHashCode() : 0);
         return(hashCode);
     }
 }
コード例 #20
0
ファイル: ObjectValidator.cs プロジェクト: Marwan0/tlplib
 public override int GetHashCode()
 {
     unchecked {
         var hashCode = (int)type;
         hashCode = (hashCode * 397) ^ (message != null ? message.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (obj != null ? obj.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (objFullPath != null ? objFullPath.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (assetPath != null ? assetPath.GetHashCode() : 0);
         return(hashCode);
     }
 }
コード例 #21
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Name != null ? Name.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (HoldType != null ? HoldType.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (_string != null ? _string.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (_curve != null ? _curve.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (_object != null ? _object.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (_floats != null ? _floats.GetHashCode() : 0);
         return(hashCode);
     }
 }
コード例 #22
0
 public ClipObjectMetaData(UnityEngine.Object asset)
 {
     if (asset == null)
     {
         IsNull   = true;
         Name     = "";
         HashCode = 0;
     }
     else
     {
         IsNull   = false;
         Name     = asset.name;
         HashCode = asset.GetHashCode();
     }
 }
コード例 #23
0
 public CacheObjInfo(UnityEngine.Object varObj, OriginalObjInfo varOriginalObjInfo)
 {
     bLock            = false;
     mObj             = varObj;
     mOriginalObjInfo = varOriginalObjInfo;
     if (varObj != null && mOriginalObjInfo != null)
     {
         if (varObj.GetType() == typeof(GameObject))
         {
             GameObject tmpObj = varObj as GameObject;
             if (tmpObj == null)
             {
                 return;
             }
             mHolder      = tmpObj.transform;
             mHolder.name = "[Lock: " + bLock + "] HashCode: " + mObj.GetHashCode() + " (" + Helper.GetFileNameFromFullPath(mOriginalObjInfo.mFilePath) + ")";
         }
         else
         {
             mHolder = new GameObject("[Lock: " + bLock + "] HashCode: " + mObj.GetHashCode() + " (" + Helper.GetFileNameFromFullPath(mOriginalObjInfo.mFilePath) + ")").transform;
         }
     }
     varOriginalObjInfo.AddToHolder(this);
 }
コード例 #24
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = startValue.GetHashCode();
         hashCode = (hashCode * 397) ^ targetValue.GetHashCode();
         hashCode = (hashCode * 397) ^ (onTween != null ? onTween.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (target != null ? target.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ targetProvided.GetHashCode();
         hashCode = (hashCode * 397) ^ TweenDuration.GetHashCode();
         hashCode = (hashCode * 397) ^ (int)EasingType;
         hashCode = (hashCode * 397) ^ TimeScaleIgnored.GetHashCode();
         return(hashCode);
     }
 }
コード例 #25
0
 static int GetHashCode(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UnityEngine.Object obj = (UnityEngine.Object)ToLua.CheckObject(L, 1, typeof(UnityEngine.Object));
         int o = obj.GetHashCode();
         LuaDLL.lua_pushinteger(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
コード例 #26
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Value;
         hashCode = (hashCode * 397) ^ Float3.GetHashCode();
         hashCode = (hashCode * 397) ^ (!ReferenceEquals(MaterialArray, null) ? MaterialArray.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (!ReferenceEquals(MaterialList, null) ? MaterialList.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (StringValue != null ? StringValue.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (int)EnumValue;
         hashCode = (hashCode * 397) ^ (!ReferenceEquals(Mat, null) ? Mat.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (!ReferenceEquals(NullObj, null) ? NullObj.GetHashCode() : 0);
         return(hashCode);
     }
 }
コード例 #27
0
 public static int GetHashCode_wrap(long L)
 {
     try
     {
         long        nThisPtr = FCLibHelper.fc_get_inport_obj_ptr(L);
         UnityObject obj      = get_obj(nThisPtr);
         int         ret      = obj.GetHashCode();
         long        ret_ptr  = FCLibHelper.fc_get_return_ptr(L);
         FCLibHelper.fc_set_value_int(ret_ptr, ret);
     }
     catch (Exception e)
     {
         Debug.LogException(e);
     }
     return(0);
 }
コード例 #28
0
    private static int GetHashCode(IntPtr L)
    {
        int result;

        try
        {
            ToLua.CheckArgsCount(L, 1);
            UnityEngine.Object @object = (UnityEngine.Object)ToLua.CheckObject(L, 1, typeof(UnityEngine.Object));
            int hashCode = @object.GetHashCode();
            LuaDLL.lua_pushinteger(L, hashCode);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaDLL.toluaL_exception(L, e, null);
        }
        return(result);
    }
コード例 #29
0
ファイル: ABProxy.cs プロジェクト: ElmerNing/UnityFramework
        /// <summary>
        /// 卸载Asset
        /// </summary>
        /// <param name="obj"></param>
        public void UnloadAsset(UnityEngine.Object o)
        {
            int hash = o.GetHashCode();

            if (assetDict.ContainsKey(hash))
            {
                if (o is GameObject)
                {
                    //GameObject.DestroyImmediate(o, true);
                    //Resources.UnloadAsset(o);
                }
                else
                {
                    Resources.UnloadAsset(o);
                }

                assetDict.Remove(hash);
            }
        }
コード例 #30
0
        public static Object Create(ObjectType type, CrossEngineImpl.Object nativeObject)
        {
            if (nativeObject == null)
            {
                return(null);
            }

            Type objectType = TypeToCross(type);

            if (objectType != null)
            {
                // query from pool
                Object objectFromPool;
                int    hashID = nativeObject.GetHashCode();
                if (Objects.TryGetValue(hashID, out objectFromPool))
                {
                    // is same object?
                    if (objectFromPool._GetImpl() != nativeObject)
                    {
                        objectFromPool._SetImpl(nativeObject);
                    }
                    return(objectFromPool);
                }
                else
                {
                    Object obj = (Object)Create(objectType);
                    obj._SetImpl(nativeObject);
                    Objects.Add(hashID, obj);
                    return(obj);
                }
            }
            else
            {
                return(new UnknownObject(nativeObject));
            }
        }
コード例 #31
0
ファイル: HeapDump.cs プロジェクト: kaienkira/UnityHeapEx
 private void WriteUnityObjectData( string depth, Object uo, bool seen )
 {
     // shows some additional info on UnityObjects
     writer.WriteLine( depth + "<unityObject type=\"{0}\" name=\"{1}\" seen=\"{2}\" hash=\"{3}\"/>",
                       SecurityElement.Escape( uo.GetType().GetFormattedName() ),
                       SecurityElement.Escape( uo ? uo.name : "--missing reference--" ),
                       seen,
                       uo ? uo.GetHashCode().ToString() : "0");
     // todo we can show referenced assets for renderers, materials, audiosources etc
 }