public void RegisterInputSender(Client.ClientInputSender inputSender) { if (m_InputSender != null) { Debug.LogWarning($"Multiple ClientInputSenders in scene? Discarding sender belonging to {m_InputSender.gameObject.name} and adding it for {inputSender.gameObject.name} "); } m_InputSender = inputSender; m_CharacterData = m_InputSender.GetComponent <NetworkCharacterState>().CharacterData; SetPlayerType(m_CharacterData); }
public void SetHeroData(NetworkCharacterState netState) { // Make sure arrays are initialized InitPartyArrays(); // Hero is always our slot 0 m_PartyIds[0] = netState.NetworkObject.NetworkObjectId; SetUIFromSlotData(0, netState); // Hero also gets a protrait int appearance = netState.CharacterAppearance.Value; if (appearance < m_PortraitAppearances.Length) { m_HeroPortrait.sprite = m_PortraitAppearances[appearance]; } // plus we track their target netState.TargetId.OnValueChanged += OnHeroSelectionChanged; m_ClientSender = netState.GetComponent <Client.ClientInputSender>(); }