internal void addItem(GameObject itemToAdd) { if (itemToAdd.GetComponent <SAMSiteController>() != null) { samSites.Add(itemToAdd); foreach (GameObject radar in trackingRadars) { radar.GetComponent <RadarController>().connectSamSite(itemToAdd.GetComponent <SAMSiteController>()); } } else if (itemToAdd.GetComponent <MissileLauncherController>() != null) { missileLaunchers.Add(itemToAdd); } else if (itemToAdd.GetComponent <RadarController>() != null) { trackingRadars.Add(itemToAdd); RadarController radarController = itemToAdd.GetComponent <RadarController>(); foreach (GameObject samSite in samSites) { radarController.connectSamSite(samSite.GetComponent <SAMSiteController>()); } } else if (itemToAdd.GetComponent <MissileController>() != null) { missilesOnAir.Add(itemToAdd); } else { Debug.LogError("Couldn't add the item into any list: " + itemToAdd.name); } }
private void SendRadarSettings(BlockAddress block) { try { RadarController controller = EWRegistry <RadarController> .Instance.Get(block); Message <BlockAddress, RadarSettings> msg = new Message <BlockAddress, RadarSettings>(block, controller.GetRadarSettings()); if (Helpers.IsServer) { _logger.debugLog($"RadarSystemSettings -> Clients for block {block}", "SendRadarSettings"); MyAPIGateway.Multiplayer.SendMessageToOthers( Constants.MIDUpdateRadarSettings, msg.ToXML()); } else { _logger.debugLog($"RadarSystemSettings -> Server for block {block}", "SendRadarSettings"); MyAPIGateway.Multiplayer.SendMessageToServer( Constants.MIDUpdateRadarSettingsServer, msg.ToXML()); } } catch (Exception e) { _logger.log(Logger.severity.ERROR, "SendRadarSettings", "Exception caught: " + e.ToString()); } }
private void HandleUpdateRadarSettings(byte[] data) { try { Message <BlockAddress, RadarSettings> msg = Message <BlockAddress, RadarSettings> .FromXML(data); if (msg == null) { return; } _logger.debugLog($"Got radar settings update for {msg.Key}", "HandleUpdateRadarSettings"); RadarController controller = EWRegistry <RadarController> .Instance.Get(msg.Key); if (controller == null) { return; // Controller not streamed to us } controller.UpdateRadarSettings(msg.Value); if (Helpers.IsServer) { SendRadarSettings(msg.Key); } } catch (Exception e) { _logger.log(Logger.severity.ERROR, "HandleUpdateRadarSettings", "Exception caught: " + e.ToString()); } }
private void HandleAcquisitionSweep(byte[] data) { try { Message <BlockAddress, List <RadarController.RemoteContact> > msg = Message <BlockAddress, List <RadarController.RemoteContact> > .FromXML(data); if (msg == null) { return; } _logger.debugLog($"Got acquired contacts for {msg.Key}", "HandleAcquisitionSweep"); RadarController controller = EWRegistry <RadarController> .Instance.Get(msg.Key); if (controller == null) { _logger.debugLog("Controller is null", "HandleAcquisitionSweep"); return; } controller.ProcessAcquiredContacts(msg.Value); } catch (Exception e) { _logger.log(Logger.severity.ERROR, "HandleAcquisitionSweep", "Exception caught: " + e.ToString()); } }
// Use this for initialization void Start () { radar = GetComponent<dfRadarMain>(); RC = this; myControl = GetComponent<dfControl>(); myControl.IsVisible = false; tween1 = GetComponent<dfTweenFloat>(); }
// Use this for initialization void Start() { mainThruster = gameObject.transform.Find("Thrusters/MainThruster").GetComponent <Nozzle> (); frontLeftThruster = gameObject.transform.Find("Thrusters/FrontLeftThruster").GetComponent <Nozzle> (); frontRightThruster = gameObject.transform.Find("Thrusters/FrontRightThruster").GetComponent <Nozzle> (); backLeftThruster = gameObject.transform.Find("Thrusters/BackLeftThruster").GetComponent <Nozzle> (); backRightThruster = gameObject.transform.Find("Thrusters/BackRightThruster").GetComponent <Nozzle> (); frontThruster1 = gameObject.transform.Find("Thrusters/FrontThruster1").GetComponent <Nozzle> (); frontThruster2 = gameObject.transform.Find("Thrusters/FrontThruster2").GetComponent <Nozzle> (); if (weapons.Length != 0) { activeWeapon = weapons[0]; weaponIndex = 1; } else { weaponIndex = 0; } radar = gameObject.transform.Find("Radar").GetComponent <RadarController>(); radar.pingReach = radarRange; radar.SetRadarOff(); initialFuel = fuel; fuelIsBingo = false; pidController = gameObject.GetComponent <PIDController> (); if (gameObject.tag == "Vessel") { StartCoroutine(ClearSpaceAroundShip(false, 0.1f)); } }
void Start() { radarController = FindObjectOfType <RadarController>(); Anim = GetComponent <Animator>(); CenterSliceController = CenterSlice.GetComponent <CenterSliceController>(); OutSliceController = OutSlice.GetComponent <OutSliceController>(); MenuController.OnClicked += ResetAllSlices; }
void Start() { radarController = FindObjectOfType <RadarController>(); animator = GetComponent <Animator>(); menuController = Menu.GetComponent <MenuController>(); //ASSIGNT METHOD TO ButtonHeader EVENT MenuController.OnClicked += ResetAllSlices; }
void Start () { rc = FindObjectOfType<RadarController>(); sp = FindObjectOfType<ShipPanel>(); Player = GameObject.FindGameObjectWithTag("Player"); tc = FindObjectOfType<TestCamera>(); HUD = FindObjectOfType<playerHUD>(); tg = FindObjectOfType<Targeting>(); pm = FindObjectOfType<PhysicsMovement>(); mycontrol = GetComponent<dfControl>(); mycontrol.CanFocus = true; mainCamera = Camera.main; }
public ICommand[] Create() { RadarController radar = new RadarController(); WarningsController warning = new WarningsController(); ReloadRadarsCommand reloadRadarsCommand = new ReloadRadarsCommand(radar); ReloadWarningsCommand reloadWarningsCommand = new ReloadWarningsCommand(warning); ReloadAllCommand reloadAllCommand = new ReloadAllCommand(new ICommand[] { reloadRadarsCommand, reloadWarningsCommand }); SaveRadarsCommand saveRadarsCommand = new SaveRadarsCommand(radar); SaveWarningsCommand saveWarningsCommand = new SaveWarningsCommand(warning); SaveAllCommand saveAllCommand = new SaveAllCommand(new ICommand[] { saveRadarsCommand, saveWarningsCommand }); return(new ICommand[] { reloadRadarsCommand, reloadWarningsCommand, reloadAllCommand, saveRadarsCommand, saveWarningsCommand, saveAllCommand }); }
public void TestRadarController() { try{ RadarController rc = new RadarController(); rc.Start(); Collider c1 = new Collider(); rc.OnTriggerEnter(c1); Collider c2 = new Collider(); rc.OnTriggerExit(c2); }catch(Exception e) { //Something went wrong Assert.True(false,"error "+e.ToString()); //Assert.True(false); } }
public void TestRadarController() { try{ RadarController rc = new RadarController(); rc.Start(); Collider c1 = new Collider(); rc.OnTriggerEnter(c1); Collider c2 = new Collider(); rc.OnTriggerExit(c2); }catch (Exception e) { //Something went wrong Assert.True(false, "error " + e.ToString()); //Assert.True(false); } }
/// <summary> /// Customizes the control panels for certain blocks /// </summary> /// <param name="block"></param> /// <param name="controls"></param> private void ControlGetter(IMyTerminalBlock block, List <IMyTerminalControl> controls) { SerializableDefinitionId def = block.SlimBlock.FatBlock.BlockDefinition; //_logger.debugLog($"Hit for block {def.TypeId} {def.SubtypeId}", "ControlGetter"); if (def.TypeId == typeof(MyObjectBuilder_UpgradeModule) && def.SubtypeId == "EWControllerRadar") { RadarController controller = block.GameLogic.GetAs <RadarController>(); // Set limits based on radar type SetRadarSliderLimits((int)controller.GetRadarType()); controls.AddRange(_radarControls); } }
// Use this for initialization void Start() { SharpUnit.Assert.True(spinningFrequency != 0, "spinningFrequencey can't equal 0"); SharpUnit.Assert.NotNull(radar); //make objective radar icon GameObject objectIconInstance = Instantiate(objectiveRadarIcon) as GameObject; ObjectiveRadarIconController objectiveRadarIconController = objectIconInstance.GetComponent <ObjectiveRadarIconController>(); SharpUnit.Assert.NotNull(objectiveRadarIconController); //if(debug) Debug.LogError("There's an error for finding player:"+transform.root.gameObject.name); RadarController radarController = radar.GetComponent <RadarController>(); objectIconInstance.transform.parent = radarController.radarIconCamera.transform; SharpUnit.Assert.NotNull(radarController); objectiveRadarIconController.player = radarController.transform.root.gameObject; objectiveRadarIconController.playerRadarIcon = radarController.playerIcon; objectiveRadarIconController.radar = radar; objectiveRadarIconController.objective = gameObject; objectiveRadarIconController.radarRadius = radar.GetComponent <SphereCollider>().radius; }
private void checkMissilesOnAir() { foreach (GameObject missile in missilesOnAir) { if (missile != null && missile.GetComponent <MissileController>().MissileType == EMissileType.STS) { foreach (GameObject radar in trackingRadars) { if (radar != null) { RadarController radarController = radar.GetComponent <RadarController>(); MissileController missileController = missile.GetComponent <MissileController>(); float distance = VectorUtils.Vector2Distance(radarController.transform.position, missileController.getMissileBody().transform.position); if (distance < radarController.Coverage) { radarController.addMissileTarget(missile); } radarController.lockTargets(); } } } } }
public SaveRadarsCommand(RadarController radarController) { _radarController = radarController; }
/// <summary> /// Creates all of the custom controls for the blocks /// </summary> private void MakeControls() { IMyTerminalControlSeparator sep1 = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlSeparator, IMyUpgradeModule>("Sep1"); _radarControls.Add(sep1); IMyTerminalControlSlider rangeSlider = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlSlider, IMyUpgradeModule>("RangeSlider"); rangeSlider.Title = MyStringId.GetOrCompute("Range"); rangeSlider.Tooltip = MyStringId.GetOrCompute("Maximum range of this radar system"); rangeSlider.SetLimits(100, 15000); rangeSlider.Getter = (block) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); return(controller.GetRange()); }; rangeSlider.Setter = (block, value) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); controller.SetRange((int)value); SendRadarSettings(new BlockAddress(block.CubeGrid.EntityId, block.EntityId)); }; rangeSlider.Writer = (block, str) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); str.Append(controller.GetRange() + "m"); }; _radarRangeSlider = rangeSlider; _radarControls.Add(rangeSlider); IMyTerminalControlSlider freqSlider = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlSlider, IMyUpgradeModule>("FreqSlider"); freqSlider.Title = MyStringId.GetOrCompute("Frequency"); freqSlider.Tooltip = MyStringId.GetOrCompute("Operating frequency of this system"); freqSlider.SetLimits(8.0f, 12.0f); freqSlider.Getter = (block) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); return(controller.GetFreq()); }; freqSlider.Setter = (block, value) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); controller.SetFreq(value); SendRadarSettings(new BlockAddress(block.CubeGrid.EntityId, block.EntityId)); }; freqSlider.Writer = (block, str) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); str.Append(controller.GetFreq() + "GHz"); }; _radarFreqSlider = freqSlider; _radarControls.Add(freqSlider); IMyTerminalControlSeparator sep2 = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlSeparator, IMyUpgradeModule>("Sep2"); _radarControls.Add(sep2); IMyTerminalControlListbox unassignedList = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlListbox, IMyUpgradeModule>("UnassignedList"); unassignedList.Title = MyStringId.GetOrCompute("Available"); //unassignedList.Tooltip = MyStringId.GetOrCompute("Radar blocks which are able to be assigned to this system."); unassignedList.Multiselect = true; unassignedList.VisibleRowsCount = 6; unassignedList.ListContent = (block, items, selected) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); List <RadarController.Radar> available = controller.GetAvailableRadars(); foreach (RadarController.Radar r in available) { MyTerminalControlListBoxItem item = new MyTerminalControlListBoxItem( MyStringId.GetOrCompute(r.block.FatBlock.DisplayNameText), MyStringId.GetOrCompute(r.type.ToString()), r ); items.Add(item); } }; unassignedList.ItemSelected = (block, items) => { _selectedUnassigned.Clear(); foreach (MyTerminalControlListBoxItem item in items) { _selectedUnassigned.Add(item.UserData as RadarController.Radar); } }; _radarControls.Add(unassignedList); IMyTerminalControlButton addButton = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlButton, IMyUpgradeModule>("AddButton"); addButton.Title = MyStringId.GetOrCompute("Assign"); addButton.Tooltip = MyStringId.GetOrCompute("Assign the selected radar to this system."); _radarControls.Add(addButton); IMyTerminalControlListbox assignedList = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlListbox, IMyUpgradeModule>("AssignedList"); assignedList.Title = MyStringId.GetOrCompute("Assigned"); assignedList.Tooltip = MyStringId.GetOrCompute("Radar blocks which are currently assigned to this system."); assignedList.Multiselect = true; assignedList.VisibleRowsCount = 6; assignedList.ListContent = (block, items, selected) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); List <RadarController.Radar> assigned = controller.GetAssignedRadars(); foreach (RadarController.Radar r in assigned) { MyTerminalControlListBoxItem item = new MyTerminalControlListBoxItem( MyStringId.GetOrCompute(r.block.FatBlock.DisplayNameText), MyStringId.GetOrCompute(r.type.ToString()), r ); items.Add(item); } }; assignedList.ItemSelected = (block, items) => { _selectedAssigned.Clear(); foreach (MyTerminalControlListBoxItem item in items) { _selectedAssigned.Add(item.UserData as RadarController.Radar); } }; _radarControls.Add(assignedList); // Add button action must be after assigned list because it // needs the pointer addButton.Action = (block) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); foreach (RadarController.Radar radar in _selectedUnassigned) { controller.AssignRadar(radar); } unassignedList.UpdateVisual(); assignedList.UpdateVisual(); SetRadarSliderLimits((int)controller.GetRadarType()); rangeSlider.UpdateVisual(); freqSlider.UpdateVisual(); }; IMyTerminalControlButton removeButton = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlButton, IMyUpgradeModule>("AddButton"); removeButton.Title = MyStringId.GetOrCompute("Remove"); removeButton.Tooltip = MyStringId.GetOrCompute("Remove the selected radars from the system."); removeButton.Action = (block) => { RadarController controller = block.GameLogic.GetAs <RadarController>(); foreach (RadarController.Radar radar in _selectedAssigned) { controller.UnassignedRadar(radar); } unassignedList.UpdateVisual(); assignedList.UpdateVisual(); SetRadarSliderLimits((int)controller.GetRadarType()); rangeSlider.UpdateVisual(); freqSlider.UpdateVisual(); }; _radarControls.Add(removeButton); }
public SubmarineController(DetectorController detectorParent) : base(detectorParent) { Radar = new RadarController(detectorParent); Sonar = new SonarController(detectorParent); }
/// <summary> /// Called when this component is created. /// </summary> void Awake() { main = this; }
public ReloadRadarsCommand(RadarController radarController) { _radarController = radarController; }