//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// using System; using System.Runtime.CompilerServices; namespace BansheeEngine { /** @addtogroup Scene * @{ */ /// /// A base class for objects that can be part of the scene and referenced by other game objects. /// public class GameObject : ScriptObject { /// /// Returns a unique ID for the game object. /// public UInt64 InstanceId { get { return Internal_GetInstanceId(mCachedPtr); } } [MethodImpl(MethodImplOptions.InternalCall)] private static extern UInt64 Internal_GetInstanceId(IntPtr thisPtr); } /// /// Flags used for notifying child scene object and components when a transform has been changed. /// [Flags] public enum TransformChangedFlags // Note: Must match C++ enum TransformChangedFlags { /// /// Component will not be notified about any events relating to the transform. /// None = 0x00, /// /// Component will be notified when the its position, rotation or scale has changed. /// Transform = 0x01, /// /// Component will be notified when its parent changes. /// Parent = 0x02, /// /// Component will be notified when its scene object's mobility state changes. /// Mobility = 0x04 } /** @} */ }