Ejemplo n.º 1
0
        private void SubmitEnterGame(int characterIndex)
        {
            var content = m_ScrollRect.content;

            if (characterIndex == -1)
            {
                for (int i = 0; i < content.childCount; i++)
                {
                    var characterPanel = content.GetChild(i).GetComponent <Core.Components.CharacterPanel>();
                    if (characterPanel && EventSystem.current.currentSelectedGameObject == characterPanel.gameObject)
                    {
                        m_CharacterIndex = i;
                        ConnectToGame(characterPanel.characterName.text, m_CharacterList.FindWorld(characterPanel.worldName.text));
                        break;
                    }
                }

                return;
            }

            m_CharacterIndex = characterIndex;
            var characterInfo = m_CharacterList.Characters[characterIndex];

            ConnectToGame(characterInfo.Name, m_CharacterList.FindWorld(characterInfo.World));
        }
Ejemplo n.º 2
0
        protected void OnOkButtonClick()
        {
            if (_selectedCharacterIndex < 0 || _selectedCharacterIndex >= _charactersScrollRect.content.childCount)
            {
                return;
            }

            string characterName;
            string worldName;
            string worldAddress;
            int    worldPort;

            if (_playdata != null)
            {
                var character = _playdata.Characters[_selectedCharacterIndex];
                characterName = character.Name;

                var world = _playdata.FindWorld(character.WorldId);
                worldName    = world.Name;
                worldAddress = world.GetAddress(OpenTibiaUnity.GameManager.ClientVersion, OpenTibiaUnity.GameManager.BuildVersion);
                worldPort    = world.GetPort(OpenTibiaUnity.GameManager.ClientVersion, OpenTibiaUnity.GameManager.BuildVersion);
            }
            else
            {
                var character = _charactersList.Characters[_selectedCharacterIndex];
                characterName = character.Name;

                var world = _charactersList.FindWorld(character.WorldId);
                worldName    = world.Name;
                worldAddress = world.HostName;
                worldPort    = world.Port;
            }

            DoEnterGame(characterName, worldAddress, worldName, worldPort);
        }
Ejemplo n.º 3
0
        public void Setup(string sessionKey, string accountname, string password, string authToken, CharacterList characterList)
        {
            m_SessionKey         = sessionKey;
            m_AccountName        = accountname;
            m_Password           = password;
            m_AuthenticatorToken = authToken;
            m_CharacterList      = characterList;
            m_CharacterIndex     = 0;

            var content = m_ScrollRect.content;

            foreach (Transform child in content)
            {
                Destroy(child.gameObject);
            }

            int  i        = 0;
            bool reversed = characterList.Characters.Count % 2 == 0;

            foreach (var character in characterList.Characters)
            {
                var characterPanel = Instantiate(OpenTibiaUnity.GameManager.CharacterPanelPrefab);
                characterPanel.transform.SetParent(content);
                characterPanel.characterName.text = character.Name;
                characterPanel.worldName.text     = characterList.FindWorld(character.World).Name;

                characterPanel.ColorSwitched = reversed ? (i++ % 2 == 0) : (++i % 2 == 0);
                characterPanel.onDoubleClick.AddListener(SubmitEnterGame);
            }
        }
Ejemplo n.º 4
0
        public void Setup(string sessionKey, string accountName, string password, string token, CharacterList characterList)
        {
            _sessionKey     = sessionKey;
            _accountName    = accountName;
            _password       = password;
            _token          = token;
            _charactersList = characterList;
            _session        = null;
            _playdata       = null;

            foreach (Transform child in _charactersScrollRect.content)
            {
                Destroy(child.gameObject);
            }

            int characterCount = characterList.Characters.Count;

            for (int i = 0; i < characterCount; i++)
            {
                var    character = characterList.Characters[i];
                var    world     = characterList.FindWorld(character.WorldId);
                string worldName = world.Name;
                if (world.Preview)
                {
                    worldName += " (Preview)";
                }

                var characterPanel = Instantiate(ModulesManager.Instance.CharacterPanelPrefab, _charactersScrollRect.content);
                characterPanel.ColorReversed      = characterCount % 3 == 0;
                characterPanel.characterName.text = character.Name;
                characterPanel.worldName.text     = worldName;
                characterPanel.toggleComponent.onValueChanged.AddListener((value) => OnCharacterValueToggleValueChanged(characterPanel, value));
                characterPanel.toggleComponent.group = _charactersToggleGroup;
                characterPanel.onDoubleClick.AddListener(OnOkButtonClick);
            }

            OpenTibiaUnity.GameManager.InvokeOnMainThread(() => SelectCharacterByIndex(0));
        }
Ejemplo n.º 5
0
        protected void OnOkButtonClick()
        {
            if (m_SelectedCharacterIndex < 0 || m_SelectedCharacterIndex >= m_CharactersScrollRect.content.childCount)
            {
                return;
            }

            var child          = m_CharactersScrollRect.content.GetChild(m_SelectedCharacterIndex);
            var characterPanel = child.GetComponent <CharacterPanel>();

            string characterName;
            string worldName;
            string worldAddress;
            int    worldPort;

            if (m_Playdata != null)
            {
                var character = m_Playdata.Characters[m_SelectedCharacterIndex];
                characterName = character.Name;

                var world = m_Playdata.FindWorld(character.WorldID);
                worldName    = world.Name;
                worldAddress = world.GetAddress(OpenTibiaUnity.GameManager.ClientVersion, OpenTibiaUnity.GameManager.BuildVersion);
                worldPort    = world.GetPort(OpenTibiaUnity.GameManager.ClientVersion, OpenTibiaUnity.GameManager.BuildVersion);
            }
            else
            {
                var character = m_CharactersList.Characters[m_SelectedCharacterIndex];
                characterName = character.Name;

                var world = m_CharactersList.FindWorld(character.WorldID);
                worldName    = world.Name;
                worldAddress = world.HostName;
                worldPort    = world.Port;
            }

            DoEnterGame(characterName, worldAddress, worldName, worldPort);
        }
Ejemplo n.º 6
0
        public void Setup(string sessionKey, string accountName, string password, string token, CharacterList characterList)
        {
            _sessionKey     = sessionKey;
            _accountName    = accountName;
            _password       = password;
            _token          = token;
            _charactersList = characterList;
            _session        = null;
            _playdata       = null;

            var content = _charactersScrollRect.content;

            foreach (Transform child in content)
            {
                Destroy(child.gameObject);
            }

            for (int i = 0; i < characterList.Characters.Count; i++)
            {
                int characterIndex = i;

                var character      = characterList.Characters[i];
                var characterPanel = Instantiate(ModulesManager.Instance.CharacterPanelPrefab);
                characterPanel.transform.SetParent(content);
                characterPanel.characterName.text = character.Name;
                characterPanel.worldName.text     = characterList.FindWorld(character.WorldId).Name;
                characterPanel.toggleComponent.onValueChanged.AddListener((value) => { if (value)
                                                                                       {
                                                                                           _selectedCharacterIndex = characterIndex;
                                                                                       }
                                                                          });
                characterPanel.toggleComponent.group = _charactersToggleGroup;
                characterPanel.onDoubleClick.AddListener(OnOkButtonClick);
            }

            _selectedCharacterIndex = -1;
        }