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)); }
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); }
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); } }
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)); }
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); }
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; }