public override void UpdateOnceBeforeFrame() { try { if (Tool.CubeGrid.Physics == null) { NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; return; } Term = Grid.GetTerminalSystem(); ToolCargo = Tool.GetInventory(); CheckInitControls(); SyncBeamLength = new AutoSet <float>(Tool, "BeamLength", Checker: val => val >= MinBeamLengthBlocks && val <= MaxBeamLengthBlocks); SyncDistanceMode = new AutoSet <bool>(Tool, "DistanceBasedMode"); SyncBeamLength.Ask(); SyncDistanceMode.Ask(); BeamLength = 1; Tool.AppendingCustomInfo += Tool_AppendingCustomInfo; Load(); NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME; DebugNote = MyAPIGateway.Utilities.CreateNotification($"{Tool.CustomName}", int.MaxValue, (IsWelder ? "Blue" : "Red")); if (SessionCore.Debug) { DebugNote.Show(); } } catch { } }
public override void UpdateOnceBeforeFrame() { try { if (Drill.CubeGrid.Physics?.Enabled != true || !Networker.Inited) { NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; if (!Networker.Inited) { Networker.Init(SessionCore.ModID); } return; } SyncHarvestEfficiency = new AutoSet <float>(Drill, "HarvestEfficiency", 1, Checker: val => val >= 1 && val <= 4); SyncHarvestEfficiency.GotValueFromServer += Drill.UpdateVisual; Drill.PowerConsumptionMultiplier = PowerConsumptionMultiplier(); CheckInitControls(); Load(); SessionCore.SaveRegister(Save); NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME; DebugNote = MyAPIGateway.Utilities.CreateNotification($"{Drill?.CustomName}", int.MaxValue, "Blue"); Owner = MyAPIGateway.Players.GetPlayer(Drill.OwnerId); if (SessionCore.Debug) { DebugNote.Show(); } } catch { } }
public override void UpdateOnceBeforeFrame() { try { if (RadarBlock.CubeGrid.Physics == null) { NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; return; } if (!Networker.Inited) { Networker.Init(907384096); } if (!Controls.InitedRadarControls) { Controls.InitRadarControls(); } NeedsUpdate |= MyEntityUpdateEnum.EACH_10TH_FRAME; GetMaxPower(); Term = RadarBlock.CubeGrid.GetTerminalSystem(); RadarPower = new AutoSet <float>(RadarBlock, "Power", 1000, x => x >= 0 && x <= MaxPower); ShowMarkers = new AutoSet <bool>(RadarBlock, "ShowMarkers", true, null); ShowRoids = new AutoSet <bool>(RadarBlock, "ShowRoids", true, null); ActiveRadar = new AutoSet <bool>(RadarBlock, "Active", false, null); ShowOnlyHostiles = new AutoSet <bool>(RadarBlock, "OnlyHostiles", true, null); ShowFloating = new AutoSet <bool>(RadarBlock, "Floating", false, null); ShowWorkingGridsOnly = new AutoSet <bool>(RadarBlock, "ShowWorkingGridsOnly", false, null); PowerModule.InitResourceSink(); PersistenceModule.Load(); RadarBlock.AppendingCustomInfo += RadarBlock_AppendingCustomInfo; RadarBlock.OnMarkForClose += OnMarkForClose; Debug.Write($"Added radar {RadarBlock.EntityId}"); if (RadarCore.Debug) { TestNote = MyAPIGateway.Utilities.CreateNotification($"{RadarBlock.CustomName}: enabled;", int.MaxValue, "Green"); } if (RadarCore.Debug) { TestNote.Show(); } RadarCore.DebugWrite("Testing", "TESTING", true); //MyRadarGrid = RadarBlock.CubeGrid.Components.Get<RadarableGrid>(); if (MyRadarGrid == null) { throw new Exception($"{RadarBlock.CustomName}.MyRadarGrid is null!"); } } catch { } }
public override void UpdateOnceBeforeFrame() { if (!Inited) { Initialize(); } RadarCore.SaveRegister(Save); LCD.OnMarkForClose += LCD_OnMarkForClose; NeedsUpdate |= MyEntityUpdateEnum.EACH_10TH_FRAME; ShowTextOnHud = new AutoSet <bool>(Entity, "ShowTextOnHud", false); CoordX = new AutoSet <float>(Entity, "CoordX", 0, x => x <= 1 && x >= -1); CoordY = new AutoSet <float>(Entity, "CoordY", 0, x => x <= 1 && x >= -1); DisplaySize = new AutoSet <float>(Entity, "Size", 0, x => x <= 1 && x >= 0); Load(); }
public override void UpdateOnceBeforeFrame() { try { if (Tool.CubeGrid.Physics?.Enabled != true || !Networker.Inited) { NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; if (!Networker.Inited) { Networker.Init(SessionCore.ModID); } return; } ToolCargo = Tool.GetInventory(); SyncBeamLength = new AutoSet <float>(Tool, "BeamLength", 1, Checker: val => val >= MinBeamLengthBlocks && val <= MaxBeamLengthBlocks); SyncDistanceMode = new AutoSet <bool>(Tool, "DistanceBasedMode"); SyncSpeedMultiplier = new AutoSet <float>(Tool, "SpeedMultiplier", 1, Checker: val => val >= 1 && val <= 4); SyncBeamLength.GotValueFromServer += Tool.UpdateVisual; SyncDistanceMode.GotValueFromServer += Tool.UpdateVisual; SyncSpeedMultiplier.GotValueFromServer += Tool.UpdateVisual; CheckInitControls(); Load(); Tool.AppendingCustomInfo += Tool_AppendingCustomInfo; SessionCore.SaveRegister(Save); NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME; DebugNote = MyAPIGateway.Utilities.CreateNotification($"{Tool.CustomName}", int.MaxValue, (IsWelder ? "Blue" : "Red")); Owner = MyAPIGateway.Players.GetPlayer(Tool.OwnerId); if (SessionCore.Debug) { DebugNote.Show(); } } catch { } }
public override void UpdateOnceBeforeFrame() { if (AntennaBlock.CubeGrid.Physics == null) { NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; return; } NeedsUpdate |= MyEntityUpdateEnum.EACH_10TH_FRAME; if (AntennaBlock is IMyRadioAntenna && !InitedRadioAntennaControls) { InitRadioAntennaControls(); } if (AntennaBlock is IMyLaserAntenna && !InitedLaserAntennaControls) { InitLaserAntennaControls(); } SyncAllowReceive = new AutoSet <bool>(Entity, "Receive", true); Load(); AntennaBlock.AppendingCustomInfo += AntennaBlock_AppendingCustomInfo; AntennaBlock.OnMarkForClose += AntennaBlock_OnMarkForClose; AntennaGrid = AntennaBlock.GetTopMostParent() as IMyCubeGrid; RadarCore.SaveRegister(Save); }