Ejemplo n.º 1
0
        private void CheckAndAddLight()
        {
            // check if block is initialized
            if (m_init && (m_light_model == null || m_light_model.Closed) && m_turret.IsFunctional)
            {
                Logger.Instance.LogMessage("Setup Subpart");

                // setup subpart
                var turretsub = (Entity as MyEntity).Subparts["MissileTurretBase1"]?.Subparts["MissileTurretBarrels"];
                m_light_model          = turretsub;
                m_light_model.OnClose += OnModelClosing;
                m_light_model.PositionComp.OnPositionChanged += OnModelPositionChanged;

                // setup light
                MakeLight();

                // set stored terminal data
                SetTerminalValues(m_turret);
                // check light status
                OnEnabledChanged(m_turret);

                Logger.Instance.LogMessage("init turret: " + m_turret.EntityId);
                Logger.Instance.LogMessage("init light model: " + m_light_model.EntityId);
                Logger.Instance.LogMessage("init light: " + m_light_emmitter.RenderObjectID);

                if (PlayerInput.Instance.isServer)
                {
                    AddAmmo();
                    m_turret.GetActionWithName("ShootOnce").Apply(m_turret);
                }
            }
        }