protected void InternalRemoveEntity( ) { try { if (NetworkManager == null) { return; } BaseObject.InvokeEntityMethod(NetworkManager, BaseEntityBroadcastRemovalMethod); } catch (Exception ex) { ApplicationLog.BaseLog.Error(ex); } }
protected void InternalRemoveEntity() { try { if (SandboxGameAssemblyWrapper.IsDebugging) { LogManager.APILog.WriteLine(this.GetType().Name + " '" + Name + "': Calling 'Close' to remove entity"); } BaseObject.InvokeEntityMethod(BackingObject, "Close"); } catch (Exception ex) { LogManager.APILog.WriteLineAndConsole("Failed to remove entity '" + Name + "'"); LogManager.ErrorLog.WriteLine(ex); } }
protected virtual void InternalRefreshBackingDataList() { try { if (m_rawDataListResourceLock.Owned) { return; } if (WorldManager.Instance.IsWorldSaving) { return; } if (WorldManager.Instance.InternalGetResourceLock() == null) { return; } if (WorldManager.Instance.InternalGetResourceLock().Owned) { return; } m_rawDataListResourceLock.AcquireExclusive(); if (m_backingObject == null) { return; } var rawValue = BaseObject.InvokeEntityMethod(m_backingObject, m_backingSourceMethod); if (rawValue == null) { return; } m_rawDataList = UtilityFunctions.ConvertList(rawValue); m_rawDataListResourceLock.ReleaseExclusive(); } catch (Exception ex) { LogManager.ErrorLog.WriteLine(ex); m_rawDataListResourceLock.ReleaseExclusive(); } }
public static void BroadcastRemoveEntity(IMyEntity entity, bool safe = true) { Object result = BaseObject.GetEntityPropertyValue(entity, BaseEntity.BaseEntityGetNetManagerMethod); //Object result = BaseEntity.InvokeEntityMethod( entity, BaseEntity.BaseEntityGetNetManagerMethod ); if (result == null) { return; } if (safe) { SandboxGameAssemblyWrapper.Instance.GameAction(() => { BaseObject.InvokeEntityMethod(result, BaseEntityBroadcastRemovalMethod); }); } else { BaseObject.InvokeEntityMethod(result, BaseEntityBroadcastRemovalMethod); } }
protected void InternalUpdateMaxRequiredInput( ) { try { if (m_powerRateCallback == null) { return; } BaseObject.SetEntityFieldValue(BackingObject, PowerReceiverInputRateCallbackField, m_powerRateCallback); BaseObject.SetEntityFieldValue(BackingObject, PowerReceiverMaxRequiredInputField, m_maxRequiredInput); BaseObject.InvokeEntityMethod(BackingObject, PowerReceiverSetMaxRequiredInputMethod, new object[] { m_maxRequiredInput }); m_powerManager.UnregisterPowerReceiver(m_parent); m_powerManager.RegisterPowerReceiver(m_parent); } catch (Exception ex) { LogManager.ErrorLog.WriteLine(ex); } }
protected void InternalUpdatePowerOutput() { BaseObject.InvokeEntityMethod(m_powerProducer, PowerProducerSetCurrentOutputMethod, new object[] { m_powerOutput }); }
protected void InternalRemoveEntity() { BaseObject.InvokeEntityMethod(NetworkManager, BaseEntityBroadcastRemovalMethod); }