Ejemplo n.º 1
0
        public void InitTerminalValues(TurretSetting settings = null)
        {
            try
            {
                if (!m_init)
                {
                    CreateTerminalControls();
                    // load stored terminal data
                    LoadTerminalValues(m_turret, settings);

                    m_turret.ShowInInventory = false;

                    if (PlayerInput.Instance.isServer)
                    {
                        m_inventory = m_turret.GetInventory() as IMyInventory;

                        NeedsUpdate |= VRage.ModAPI.MyEntityUpdateEnum.EACH_100TH_FRAME;
                        PlayerInput.Instance.SaveTerminalValues(m_turret.EntityId);
                    }

                    m_turret.EnabledChanged    += OnEnabledChanged;
                    m_turret.IsWorkingChanged  += OnIsWorkingChanged;
                    m_turret.PropertiesChanged += OnPropertiesChanged;
                    if (PlayerInput.Instance.isServer)
                    {
                        m_turret.OnMarkForClose += OnMarkForClose;
                    }

                    m_init = true;

                    CheckAndAddLight();

                    //NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME;
                }
            }
            catch (Exception e)
            {
                // Do nothing
                Logger.Instance.LogMessage("Init Terminal Values Error: " + e.Message);
                Logger.Instance.LogMessage(e.StackTrace);
                NeedsUpdate |= VRage.ModAPI.MyEntityUpdateEnum.BEFORE_NEXT_FRAME;
            }
        }