public static GameObject Get(EntityId id) { var handle = NativeGameObjectMethods.GetGameObject(id); if (handle == IntPtr.Zero) { return(null); } var gameObject = GameObjects.FirstOrDefault(x => x.Handle == handle); if (gameObject == null) { gameObject = new GameObject(handle); GameObjects.Add(gameObject); } return(gameObject); }
/// <summary> /// Release a previously acquired extension /// </summary> /// <param name="name"></param> public void ReleaseExtension(string name) { NativeGameObjectMethods.ReleaseExtension(Handle, name); }
/// <summary> /// Forcefully get a pointer to an extension (may instantiate if needed) /// </summary> /// <param name="name"></param> /// <returns></returns> public GameObjectExtension AcquireExtension(string name) { return(TryGetExtension(NativeGameObjectMethods.AcquireExtension(Handle, name))); }
/// <summary> /// Query extension. returns 0 if extension is not there. /// </summary> /// <param name="name"></param> /// <returns></returns> public GameObjectExtension QueryExtension(string name) { return(TryGetExtension(NativeGameObjectMethods.QueryExtension(Handle, name))); }
public bool WantsPhysicsEvent(EntityPhysicsEvents physicsEvent) { return(NativeGameObjectMethods.WantsPhysicsEvent(Handle, physicsEvent)); }
public void EnablePhysicsEvent(bool enable, EntityPhysicsEvents physicsEvent) { NativeGameObjectMethods.EnablePhysicsEvent(Handle, enable, physicsEvent); }
public bool SetAspectProfile(EntityAspects aspect, ushort profile, bool fromNetwork = false) { return(NativeGameObjectMethods.SetAspectProfile(Handle, aspect, profile, fromNetwork)); }
public bool BindToNetwork(BindToNetworkMode mode = BindToNetworkMode.Normal) { return(NativeGameObjectMethods.BindToNetwork(Handle, mode)); }
public void NotifyNetworkStateChange(int aspect) { NativeGameObjectMethods.ChangedNetworkState(Handle, aspect); }
/// <summary> /// Turn an extension off /// </summary> /// <param name="name"></param> public void DeactivateExtension(string name) { NativeGameObjectMethods.DeactivateExtension(Handle, name); }
/// <summary> /// Turn an extension on /// </summary> /// <param name="name"></param> /// <returns></returns> public bool ActivateExtension(string name) { return(NativeGameObjectMethods.ActivateExtension(Handle, name)); }