Ejemplo n.º 1
0
        public static void SendShipyardSettings(long entityId, YardSettingsStruct settings)
        {
            string message = MyAPIGateway.Utilities.SerializeToXML(settings);

            byte[] messageBytes = Encoding.UTF8.GetBytes(message);

            var data = new byte[sizeof(long) + messageBytes.Length];

            BitConverter.GetBytes(entityId).CopyTo(data, 0);
            messageBytes.CopyTo(data, sizeof(long));

            SendMessageToServer(MessageTypeEnum.ShipyardSettings, data);
        }
Ejemplo n.º 2
0
        private void SetBuildPattern(IMyCubeBlock b, long value)
        {
            if (GetYard(b) == null)
            {
                return;
            }

            if (value == GetBuildPattern(b))
            {
                return;
            }

            YardSettingsStruct settings = ShipyardSettings.Instance.GetYardSettings(b.CubeGrid.EntityId);

            settings.BuildPattern = (BuildPatternEnum)value;

            ShipyardSettings.Instance.SetYardSettings(b.CubeGrid.EntityId, settings);

            Communication.SendShipyardSettings(b.CubeGrid.EntityId, settings);
        }
Ejemplo n.º 3
0
        private void SetLockEnabled(IMyCubeBlock b, bool value)
        {
            if (GetYard(b) == null)
            {
                return;
            }

            if (value == GetLockEnabled(b))
            {
                return;
            }

            YardSettingsStruct settings = ShipyardSettings.Instance.GetYardSettings(b.CubeGrid.EntityId);

            settings.AdvancedLocking = value;

            ShipyardSettings.Instance.SetYardSettings(b.CubeGrid.EntityId, settings);

            Communication.SendShipyardSettings(b.CubeGrid.EntityId, settings);
        }
Ejemplo n.º 4
0
        private void SetWeldSpeed(IMyCubeBlock b, float value)
        {
            if (GetYard(b) == null)
            {
                return;
            }

            if (value == GetWeldSpeed(b))
            {
                return;
            }

            YardSettingsStruct settings = ShipyardSettings.Instance.GetYardSettings(b.CubeGrid.EntityId);

            settings.WeldMultiplier = value;

            ShipyardSettings.Instance.SetYardSettings(b.CubeGrid.EntityId, settings);

            Communication.SendShipyardSettings(b.CubeGrid.EntityId, settings);
        }
Ejemplo n.º 5
0
        private void SetBeamCount(IMyCubeBlock b, int value)
        {
            if (GetYard(b) == null)
            {
                return;
            }

            //this value check stops infinite loops of sending the setting to server and immediately getting the same value back
            if (value == GetBeamCount(b))
            {
                return;
            }

            YardSettingsStruct settings = ShipyardSettings.Instance.GetYardSettings(b.CubeGrid.EntityId);

            settings.BeamCount = value;

            ShipyardSettings.Instance.SetYardSettings(b.CubeGrid.EntityId, settings);

            Communication.SendShipyardSettings(b.CubeGrid.EntityId, settings);
        }