void OnUpdateConfig(ref MyEventShipConfigUpdate msg) { var ship = (MySmallShip)MyEntities.GetEntityByIdOrNull(new MyEntityIdentifier(msg.ShipId)); if (ship != null && CheckSenderId(msg, msg.ShipId)) { ship.Config.AutoLeveling.SetValue(msg.Autoleveling); ship.Config.Engine.SetValue(msg.EngineOn); ship.Config.ReflectorLongRange.SetValue(msg.ReflectorLongRange); ship.Config.ReflectorLight.SetValue(msg.ReflectorOn); ship.Config.MovementSlowdown.SetValue(msg.Slowdown); ship.Config.TimeBombTimer.SetValue(msg.TimeBombTimer); ship.Config.RadarJammer.SetValue(msg.RadarJammer); } else { Alert("Updating config, but ship not found or is invalid", msg.SenderEndpoint, msg.EventType); } }
void UpdateConfig(MySmallShip ship) { Debug.Assert(ship.EntityId.HasValue); MyEventShipConfigUpdate msg = new MyEventShipConfigUpdate(); msg.ShipId = ship.EntityId.Value.NumericValue; msg.Autoleveling = ship.Config.AutoLeveling.On; msg.EngineOn = ship.Config.Engine.On; msg.ReflectorLongRange = ship.Config.ReflectorLongRange.On; msg.ReflectorOn = ship.Config.ReflectorLight.On; msg.Slowdown = ship.Config.MovementSlowdown.On; msg.TimeBombTimer = ship.Config.TimeBombTimer.CurrentValue; msg.RadarJammer = ship.Config.RadarJammer.On; Peers.SendToAll(ref msg, NetDeliveryMethod.ReliableOrdered, 0); }