Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
        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());
            }
        }
Esempio n. 3
0
        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());
            }
        }
Esempio n. 4
0
        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>();
	}
Esempio n. 6
0
    // 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));
        }
    }
Esempio n. 7
0
 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;
    }
Esempio n. 9
0
    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;           
	}
Esempio n. 10
0
        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);
     }
 }
Esempio n. 13
0
        /// <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;
    }
Esempio n. 15
0
 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();
                 }
             }
         }
     }
 }
Esempio n. 16
0
 public SaveRadarsCommand(RadarController radarController)
 {
     _radarController = radarController;
 }
Esempio n. 17
0
        /// <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);
        }
Esempio n. 18
0
 public SubmarineController(DetectorController detectorParent) : base(detectorParent)
 {
     Radar = new RadarController(detectorParent);
     Sonar = new SonarController(detectorParent);
 }
Esempio n. 19
0
 /// <summary>
 /// Called when this component is created.
 /// </summary>
 void Awake()
 {
     main = this;
 }
 public ReloadRadarsCommand(RadarController radarController)
 {
     _radarController = radarController;
 }