public void SelectPlayer(CBaseManager characterHit) { Debug.Log(" - IsMyTurn: " + TurnManager.Instance.IsMyTurn() + " - stateEnum: " + characterHit.StateEnum + " - isMine " + characterHit.photonView.IsMine); if (!characterHit.photonView.IsMine || !TurnManager.Instance.IsMyTurn()) { return; } //Remove selection of other characters UnselectCharacters(); if (characterHit.StateEnum == CStateEnum.IDLE) { selectedCharacter = characterHit; var charSelectedEvent = new CharacterSelectedEvent( characterHit.Properties.CharacterID, characterHit.transform.position, characterHit.Properties.MoveRange); selectedCharacter.OnSelectCharacter(charSelectedEvent); EventHub.Instance.FireEvent(charSelectedEvent); } else if (characterHit.StateEnum == CStateEnum.DONE) { selectedCharacter = null; } }
/* Called after GameManager approves. */ public void OnSelectCharacter(CharacterSelectedEvent characterSelectedEvent) { if (!photonView.IsMine && PhotonNetwork.IsConnected) { return; } if (characterSelectedEvent.CharacterID == Properties.CharacterID) { _stateEnum = CStateEnum.SELECTED; playerHUD.SetActive(true); } }
private void HighlightTiles(CharacterSelectedEvent e) { //Clear prev highlight ClearHighlight(new MovePlayerEvent()); foreach (var tile in _manager.TileList) { if (_manager.GetDistanceBetweenTiles(e.TileId, tile.Id) <= e.MoveDistance && !tile.isOccupied) { tile.GetComponent <MeshRenderer>().material = highlightMaterial; } } }
void Awake() { selectionEvent = new CharacterSelectedEvent(); }
private void CharacterHasBeenSelected(CharacterSelectedEvent e) { m_SpriteRenderer.sprite = m_CharactersSprites[e.eCharacterIndex]; }
private void CharacterHasBeenSelected(CharacterSelectedEvent e) { Play(); }