Esempio n. 1
0
    private void GetGUICadenas(Rect _rectBloc, int _iid, float _fpreviousX, float _foffset)
    {
        GUI.Box(new Rect(_rectBloc.x + _rectBloc.width, rectLine.y, 1.0f, (fsizeXBloc * 0.25f) + _foffset + 4.0f), "", "w_p");

        bool bcheck = true;

        string sznameStyle = "cadena";

        if(!m_toggleHangs[_iid].block && (_rectBloc.x + fsizeXBloc) <= _fpreviousX - 15.0f)
        {
            bcheck = false;
            sznameStyle = "badCadena";
        }

        float fsizeCadena = 24.0f;
        bool btemp = GUI.Toggle (new Rect(_rectBloc.x + (_rectBloc.width - (fsizeCadena * 0.5f)), _rectBloc.y + _rectBloc.height + (fsizeXBloc * 0.25f) + _foffset, fsizeCadena, fsizeCadena),
                                 m_toggleHangs[_iid].block, "", sznameStyle);

        if(bcheck && btemp != m_toggleHangs[_iid].block)
        {
            m_breset = false;
            m_toggleHangs[_iid].block = btemp;

            if(_configurator.GetModule(_iid) != null)
            {
                _configurator.GetModule(_iid).SetPrevLocks(m_toggleHangs[_iid].block);
                if(_configurator.GetModule(_iid).GetPrevModule() != null)
                {
                    _configurator.GetModule(_iid).GetPrevModule().SetNextLocks(m_toggleHangs[_iid].block);
                }

                if(btemp && (_rectBloc.x + fsizeXBloc) < _fpreviousX)
                {
                    if(_configurator.GetModule(_iid).GetSize() == _configurator.GetModule(_iid).GetPrevModule().GetSize())
                    {
                        _configurator.CenterDeployAndFeetLimit();

                        m_breset = true;

                        LockAll();
                    }
                    else
                    {
                        m_snapHangs = m_toggleHangs[_iid];
                        m_fXpositionBeforeSnap = m_toggleHangs[_iid].v2position.x + _fpreviousX - (_rectBloc.x + fsizeXBloc);

                        if(_foffset == 0.0f)
                        {
                            _configurator.SetSelectedIndex(_iid);
                            _configurator.UpdateCurrentModule();
                        }
                    }
                }
            }

            _configurator.SetUISelector(FunctionConf_Dynshelter.UISelector.none);
            _UISelector = FunctionConf_Dynshelter.UISelector.none;
        }
    }
Esempio n. 2
0
    private void CheckAddAndRemoveToggleShelterEditor()
    {
        if(_configurator.GetModules().Count > m_toggleHangs.Count)
        {
            DynShelterHangs tempDSH = new DynShelterHangs();

            m_toggleHangs.Add(tempDSH);

            _configurator.SetUISelector(FunctionConf_Dynshelter.UISelector.none);
            _UISelector = FunctionConf_Dynshelter.UISelector.none;

            for(int i = 0; i < m_toggleHangs.Count; i++)
            {
                m_toggleHangs[i].iid = i;
            }

            m_currentHangs = m_toggleHangs[_configurator.GetSelectedIndex()];
            m_currentHangs.bselected = true;

            UnselectOtherToggleShelterEditor();

            m_breset = true;

            _configurator.CenterDeployAndFeetLimit();
        }
        else if(_configurator.GetModules().Count < m_toggleHangs.Count)
        {
            m_toggleHangs.Remove(m_toggleHangs[m_toggleHangs.Count - 1]);

            _configurator.SetUISelector(FunctionConf_Dynshelter.UISelector.none);
            _UISelector = FunctionConf_Dynshelter.UISelector.none;

            for(int i = 0; i < m_toggleHangs.Count; i++)
            {
                m_toggleHangs[i].iid = i;
            }

            m_currentHangs = null;

            LockAll();
            UnselectAll();

            m_breset = true;
        }
    }
Esempio n. 3
0
    private void UnselectAll()
    {
        foreach(DynShelterHangs dsh in m_toggleHangs)
        {
            dsh.bselected = false;
        }

        foreach(DynShelterHangs dsh in m_toggleLimits)
        {
            dsh.bselected = false;
        }

        _configurator.ActiveLimits(false);
        m_currentHangs = null;
        _configurator.SetUISelector(FunctionConf_Dynshelter.UISelector.none);
        _UISelector = FunctionConf_Dynshelter.UISelector.none;
    }
Esempio n. 4
0
    public void GetGUIShelterEditor()
    {
        if(!m_binitShelterEditor)
        {
            InitGUIShelterEditor();
        }

        if(m_snapHangs != null)
        {
            _configurator.MoveSelectedModule(true, 3.0f);

            if(m_fXpositionBeforeSnap < m_snapHangs.v2position.x)
            {
                m_snapHangs = null;
                _configurator.SetSelectedIndex(m_currentHangs.iid);
                _configurator.UpdateCurrentModule();
            }
        }

        /*Vector2 cursor = Vector2.zero;

        #if UNITY_STANDALONE || UNITY_EDITOR

        cursor = Input.mousePosition;

        #elif UNITY_ANDROID || UNITY_IPHONE

        if(Input.touchCount>0 && Input.GetTouch(0).phase == TouchPhase.Ended)
        {
            Touch t = Input.GetTouch(0);
            cursor = t.position;
        }

        #endif

        cursor.y = Screen.height - cursor.y;*/

        CheckAddAndRemoveToggleShelterEditor();

        GUI.BeginGroup(rectGroupDS,"","backgroundDS");

        GUI.Box(rectLine, "", "w_p");

        GetGUIOpenAll();
        GetGUIColor();
        GetGUIStyle();

        GUI.Label(new Rect(0.0f, 10.0f, rectGroupDS.width, rectGroupDS.height), _configurator.modelName, "textNameModel");

        for(int i = 0; i < m_toggleLimits.Count; i++)
        {
            if(i == 0)
            {
                m_toggleLimits[i].bselected = GetGUILimitStrip(_configurator.GetMaxLimitBwd(), _configurator.GetLimitBwd(),
                 m_toggleLimits[i].bselected, -1);
            }
            else
            {
                m_toggleLimits[i].bselected = GetGUILimitStrip(_configurator.GetMaxLimitBwd(), _configurator.GetLimitFwd(),
                 m_toggleLimits[i].bselected, 1);
            }

            if(m_toggleLimits[i].bselected && m_snapHangs == null)
            {
                m_currentHangs = m_toggleLimits[i];

                _configurator.ActiveLimits(true);

                UnselectOtherToggleShelterEditor();
            }
        }

        float fpreviousPositionXBloc = 0.0f;

        for(int i = 0; i < m_toggleHangs.Count; i++)
        {
            if(_configurator.GetModule(i) != null)
            {
                float fsizeHeight = (fsizeXBloc) + ((_configurator.GetModule(i).GetSize() - 5) * 5.0f);

                Rect rectBloc = new Rect(
                    Mathf.Abs((_configurator.GetMaxLimitBwd() - _configurator.GetPositionModule(i)).magnitude * (fsizeXBloc * 0.5f)) + ((rectGroupDS.width - rectLine.width) * 0.5f) + (fsizeXBloc * 1.25f),
                    rectLine.y - fsizeHeight, fsizeXBloc * _configurator.GetModule(i).GetIntOffSet(), fsizeHeight);

                m_toggleHangs[i].v2position = new Vector2(rectBloc.x + (rectBloc.width * 0.5f) + rectGroupDS.x, rectBloc.y + (rectBloc.height * 0.5f) + rectGroupDS.y);

                bool btemp = m_toggleHangs[i].bselected;

                float fsizeXFacade = 16.0f;
                if(_configurator.GetModule(i).GetModuleType() == FunctionConf_Dynshelter.ModuleType.facade)
                {
                    if(i < 2)
                    {
                        if(!_configurator.GetModule(i).bextrem)
                        {
                            btemp = GUI.Toggle(new Rect((rectBloc.x - rectBloc.width) + (fsizeXFacade) - 5.0f, rectBloc.y, fsizeXFacade, fsizeHeight), m_toggleHangs[i].bselected, "", "facade");
                            fsizeXFacade = (rectBloc.x - rectBloc.width) + (fsizeXFacade) - 5.0f - 4.0f;
                        }
                        else
                        {
                            btemp = GUI.Toggle(new Rect(rectBloc.x + 8.0f, rectBloc.y, fsizeXFacade, fsizeHeight), m_toggleHangs[i].bselected, "", "facade");
                            fsizeXFacade = rectBloc.x + 4.0f;
                        }
                    }
                    else
                    {
                        btemp = GUI.Toggle(new Rect(rectBloc.x + (fsizeXBloc * 0.5f) + 2.0f, rectBloc.y, fsizeXFacade, fsizeHeight), m_toggleHangs[i].bselected, "", "facade");
                        fsizeXFacade = rectBloc.x + (fsizeXBloc * 0.5f) + 2.0f - 4.0f;
                    }

                }
                else if(i == 1 && _configurator.GetModule(0).GetModuleType() == FunctionConf_Dynshelter.ModuleType.facade)
                {
                    btemp = (GUI.Toggle(new Rect(rectBloc.x, rectBloc.y, rectBloc.width - fsizeXFacade, rectBloc.height), m_toggleHangs[i].bselected, "", "bloc"));
                }
                else if(i == m_toggleHangs.Count - 2 && _configurator.GetModule(m_toggleHangs.Count - 1) != null && _configurator.GetModule(m_toggleHangs.Count - 1).GetModuleType() == FunctionConf_Dynshelter.ModuleType.facade)
                {
                    btemp = (GUI.Toggle(new Rect(rectBloc.x + fsizeXFacade, rectBloc.y, rectBloc.width - fsizeXFacade, rectBloc.height), m_toggleHangs[i].bselected, "", "bloc"));
                }
                else
                {
                    btemp = (GUI.Toggle(rectBloc, m_toggleHangs[i].bselected, "", "bloc"));
                }

                if (btemp != m_toggleHangs[i].bselected && m_snapHangs == null && m_toggleHangs[i] != m_currentHangs)
                {
                    m_toggleHangs[i].bselected = btemp;
                    _UISelector = FunctionConf_Dynshelter.UISelector.none;
                    _configurator.SetUISelector(FunctionConf_Dynshelter.UISelector.none);

                    _configurator.SetSelectedIndex(i);
                    _configurator.UpdateCurrentModule();
                }

                if(i != 0 && m_toggleHangs[i - 1].bselected &&
                 _configurator.GetModule(i - 1).GetModuleType() != FunctionConf_Dynshelter.ModuleType.facade &&
                   _configurator.GetModule(i).GetModuleType() != FunctionConf_Dynshelter.ModuleType.facade)
                {
                    GetGUICadenas(rectBloc, i, fpreviousPositionXBloc, 0.0f);
                }

                if(m_toggleHangs[i].bselected && m_snapHangs == null)
                {
                    if(i != 0 && _configurator.GetModule(i - 1).GetModuleType() != FunctionConf_Dynshelter.ModuleType.facade &&
                       _configurator.GetModule(i).GetModuleType() != FunctionConf_Dynshelter.ModuleType.facade)
                    {
                        GetGUICadenas(rectBloc, i, fpreviousPositionXBloc, fsizeXBloc * 0.6f);
                    }

                    m_currentHangs = m_toggleHangs[i];

                    _configurator.ActiveLimits(false);

                    float fsizeAdd = 48.0f;

                    if(_configurator.GetModule(i).GetModuleType() != FunctionConf_Dynshelter.ModuleType.facade)
                    {
                        if(_configurator.CanAddNext())
                        {
                            if(_UISelector != FunctionConf_Dynshelter.UISelector.addNext)
                            {
                                if(GUI.Button (new Rect((rectBloc.x - fsizeAdd) - (rectBloc.width * 0.25f), rectBloc.y + rectBloc.height, fsizeAdd, fsizeAdd), "", "addDS"))
                                {
                                    _UISelector = FunctionConf_Dynshelter.UISelector.addNext;
                                    _configurator.SetUISelector(_UISelector);

                                    _configurator.setNextInsertion(true);
                                }
                            }
                            else if(_UISelector == FunctionConf_Dynshelter.UISelector.addNext)
                            {
                                GUI.Box (new Rect((rectBloc.x - fsizeAdd) - (rectBloc.width * 0.25f), rectBloc.y + rectBloc.height, fsizeAdd, fsizeAdd), "", "addDSOn");
                            }
                        }

                        if(_configurator.CanAddPrev())
                        {
                            if(_UISelector != FunctionConf_Dynshelter.UISelector.addPrev)
                            {
                                if(GUI.Button (new Rect(rectBloc.x + rectBloc.width + (rectBloc.width * 0.25f), rectBloc.y + rectBloc.height, fsizeAdd, fsizeAdd), "", "addDS"))
                                {
                                    _UISelector = FunctionConf_Dynshelter.UISelector.addPrev;
                                    _configurator.SetUISelector(_UISelector);

                                    _configurator.setNextInsertion(false);
                                }
                            }
                            else if(_UISelector == FunctionConf_Dynshelter.UISelector.addPrev)
                            {
                                GUI.Box (new Rect(rectBloc.x + rectBloc.width + (rectBloc.width * 0.25f), rectBloc.y + rectBloc.height, fsizeAdd, fsizeAdd), "", "addDSOn");
                            }
                        }
                    }

                    if(_configurator.GetNumberBloc() > 2 || _configurator.GetCurrentModule().GetModuleType() == FunctionConf_Dynshelter.ModuleType.facade)
                    {
                        if(i == 0 || i == m_toggleHangs.Count - 1 ||
                           (_configurator.GetModule(i - 1) != null && _configurator.GetModule(i - 1).GetSize() == _configurator.GetModule(i).GetSize() && _configurator.GetModule(i - 1).GetModuleType() != FunctionConf_Dynshelter.ModuleType.facade) ||
                           (_configurator.GetModule(i + 1) != null && _configurator.GetModule(i + 1).GetSize() == _configurator.GetModule(i).GetSize() && _configurator.GetModule(i + 1).GetModuleType() != FunctionConf_Dynshelter.ModuleType.facade))
                        {
                            float fsizeDelete = 24.0f;
                            float fXposition = 0.0f;//_configurator.GetModule(i).GetModuleType() == FunctionConf_Dynshelter.ModuleType.facade ? fsizeXFacade : 0.0f;

                            if(_configurator.GetModule(i).GetModuleType() == FunctionConf_Dynshelter.ModuleType.facade)
                            {
                                fXposition = fsizeXFacade;
                            }
                            else
                            {
                                fXposition = rectBloc.x + (rectBloc.width * 0.5f) - (fsizeDelete * 0.5f);
                            }

                            if(GUI.Button (new Rect(fXposition,
                                                    rectLine.y - ((fsizeXBloc * 0.5f) + (_configurator.GetModule(m_toggleHangs.Count - 1).GetSize() * 5.0f) + fsizeDelete),
                                                    fsizeDelete, fsizeDelete), "", "deleteBloc"))
                            {
                                _configurator.RemoveModule(i);
                            }
                        }
                    }

                    UnselectOtherToggleShelterEditor();
                }

                fpreviousPositionXBloc = rectBloc.x;
            }
        }

        MoveToggleShetlterEditor();

        GUI.EndGroup();
    }
Esempio n. 5
0
    private void InitGUIShelterEditor()
    {
        //rectGroupDS = new Rect((Screen.width * 0.5f) - (Screen.width * 0.8f * 0.5f), Screen.height * 0.06f, Screen.width * 0.8f, Screen.height * 0.42f);
        rectGroupDS = new Rect((Screen.width * 0.5f) - (572.5f * 0.755f), Screen.height * 0.06f, 1145.0f * 0.755f, 418.0f * 0.725f);

        fsizeXBloc = 48.0f;

        float fsizeXlineLimit = ((_configurator.GetMaxLimitBwd() - _configurator.GetMaxLimitFwd()).magnitude * (fsizeXBloc * 0.5f));

        fsizeXlineLimit += (rectGroupDS.width - fsizeXlineLimit) * 0.5f;

        rectLine = new Rect(((rectGroupDS.width - fsizeXlineLimit) * 0.5f), rectGroupDS.height * 0.425f, fsizeXlineLimit, 1.0f);

        for(int i = 0; i < 2; i++)
        {
            m_toggleLimits.Add(new DynShelterHangs());

            m_toggleLimits[i].blimit = true;

            m_toggleLimits[i].iid = i;
        }

        m_currentHangs = m_toggleLimits[0];
        m_currentHangs.bselected = true;

        for(int i = 0; i < _configurator.GetModules().Count; i++)
        {
            m_toggleHangs.Add(new DynShelterHangs());

            m_toggleHangs[i].iid = i;
        }

        _configurator.CenterDeployAndFeetLimit();

        m_binitShelterEditor = true;
        m_breset = true;
    }