Пример #1
0
    public override void DockableWindowFunc(int id)
    {
        DoResizing();
        GUILayout.Space(GameManager.Instance.GUIManager.MinimizeButtonRect.height);

        if (_SelectedUnit != null)
        {
            foreach (SensorInfo si in _SelectedUnit.Info.Sensors)
            {
                SensorClass sc = GameManager.Instance.GetSensorClass(si.SensorClassId);
                if (sc != null && sc.IsPassiveActiveSensor)
                {
                    if (GUILayout.Button(si.Name))
                    {
                        _SelectedSensor = si;
                    }
                    else if (_SelectedSensor != null)
                    {
                        if (_SelectedSensor.Id == si.Id)
                        {
                            if (_SelectedSensor.IsActive != si.IsActive)
                            {
                                _SelectedSensor = si;
                            }
                        }
                        //~ _SelectedSensor = si;
                    }
                }
            }

            if (_SelectedSensor != null)
            {
                Separator.fixedWidth = WindowRect.width - this.PaddingLeft * 2;

                GUILayout.Label("", Separator);

                GUILayout.BeginVertical();

                GUILayout.Label(string.Format("Status: {0}", _SelectedSensor.IsOperational == true ? "Operational" : string.Format("Ready in : {0} seconds", _SelectedSensor.ReadyInSec)));

                if (GUILayout.Button(_SelectedSensor.IsActive == true ? "Set passive" : "Set active"))
                {
                    GameManager.Instance.OrderManager.SetSensorPassiveActive(_SelectedUnit.Info, _SelectedSensor, !_SelectedSensor.IsActive);
                }

                GUILayout.Label(_SelectedSensor.ToString());

                GUILayout.EndVertical();
            }
        }
        else
        {
            GUILayout.Label("Not Connected");
        }
    }