| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- using System;
- using System.Runtime.CompilerServices;
- namespace BansheeEngine
- {
- /// <summary>
- /// Allows you to store a reference to a resource without needing to have that resource loaded.
- /// </summary>
- public class ResourceRef : ScriptObject
- {
- /// <summary>
- /// Constructor for internal use only.
- /// </summary>
- protected ResourceRef()
- { }
- /// <summary>
- /// Checks is the referenced resource loaded
- /// </summary>
- public bool IsLoaded
- {
- get { return Internal_IsLoaded(mCachedPtr); }
- }
- /// <inheritdoc/>
- public override bool Equals(object other)
- {
- if (!(other is ResourceRef))
- return false;
- ResourceRef otherRef = (ResourceRef)other;
- return Internal_GetUUID(mCachedPtr).Equals(Internal_GetUUID(otherRef.mCachedPtr));
- }
- /// <inheritdoc/>
- public override int GetHashCode()
- {
- return Internal_GetUUID(mCachedPtr).GetHashCode();
- }
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern bool Internal_IsLoaded(IntPtr thisPtr);
- [MethodImpl(MethodImplOptions.InternalCall)]
- protected static extern Resource Internal_GetResource(IntPtr thisPtr);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern string Internal_GetUUID(IntPtr thisPtr);
- }
- }
|