Ejemplo n.º 1
0
        public static void UpdateUI()
        {
            State state = SimulationUtil.GetCurrentState();

            if (state == State.INTIALIZE)
            {
                return;
            }

            UIPanelUtil.ManagePanels();
        }
Ejemplo n.º 2
0
        public static void DebugGUI()
        {
            State state = SimulationUtil.GetCurrentState();

            switch (state)
            {
            case State.IN_CHAT:
                if (DebugUsers)
                {
                    Rect debugUsersRect = new Rect(0, 0, 300, 100);
                    GUI.Window(Constants.GUI_DEBUG_USERS_ID, debugUsersRect, GUI_DrawDebugUsers, "Users");
                }
                break;
            }
        }
Ejemplo n.º 3
0
        public static void ManagePanels()
        {
            UIHolder   uiHolder   = UIUtil.GetUIHolder();
            Simulation simulation = SimulationUtil.GetSimulation();

            State currentState = SimulationUtil.GetCurrentState();
            State lastState    = SimulationUtil.GetLastState();

            PanelType currentPanel = GetPanelTypeByState(currentState);
            PanelType lastPanel    = GetPanelTypeByState(lastState);

            if (!IsPanelOpenned(currentPanel) && uiHolder.PanelToOpen == PanelType.NONE)
            {
                uiHolder.PanelToOpen = currentPanel;
            }

            if (uiHolder.PanelToClose == PanelType.NONE)
            {
                for (int i = 0; i < uiHolder.InstantiatedPanels.Count; i++)
                {
                    PanelType instantiatedPanelType = uiHolder.InstantiatedPanels[i];
                    UIPanel   instantiatedPanel     = GetUIPanel(instantiatedPanelType);
                    State     desiredState          = SimulationUtil.GetStateByPanelType(instantiatedPanelType);

                    if (instantiatedPanel.gameObject.activeSelf && !simulation.States.Contains(desiredState))
                    {
                        uiHolder.PanelToClose = instantiatedPanelType;
                        break;
                    }
                }
            }

            ManageOpenningPanel();
            ManageClosingPanels();
            UpdateOppenedPanels();
        }
Ejemplo n.º 4
0
        void Update()
        {
            SimulationUtil.ManageStateChanging();

            State currentState = SimulationUtil.GetCurrentState();

            SimulationUtil.UpdateTick();

            switch (currentState)
            {
            case State.INTIALIZE:
                AccessUtil.LoadAccess();
                SimulationUtil.InitializeSimulation();
                CameraUtil.InitializeMainCameraComponent();
                UIUtil.InitializeUI();
                SimulationUtil.SetState(State.LOGIN);
                break;

            case State.LOGIN:
            {
                if (Simulation.Backend != null)
                {
                    SimulationUtil.SetState(State.CONNECTING);
                }
            }
            break;

            case State.IN_CHAT:
            {
                if (!ClientUtil.IsConnected())
                {
                    UnityEngine.Debug.Log("Disconnected");

                    if (Simulation.Backend != null && Simulation.Backend.HasExited)
                    {
                        Simulation.Backend = null;
                    }

                    SimulationUtil.SetState(State.LOGIN);
                    break;
                }

                if (SimulationUtil.Tick())
                {
                    FollowerUtil.UpdateFollowers();
                }

                ChatUtil.UpdateChat();
            }
            break;

            case State.LOGIN_SETTINGS:
                break;

            case State.CONNECTING:
            {
                if (!SimulationUtil.Tick())
                {
                    break;
                }

                UnityEngine.Debug.Log("Connecting");

                if (ClientUtil.IsConnected())
                {
                    SimulationUtil.SetState(State.HUB);
                    UnityEngine.Debug.Log("Connection complete !");
                }
            }
            break;

            case State.HUB:
            {
                Client.ReadMessages = true;

                if (SimulationUtil.Tick())
                {
                    FollowerUtil.UpdateFollowers();
                }
            }
            break;
            }

            UIUtil.UpdateUI();
        }