internal void Initialize(NetworkPlayer netPlayer, IInputGrabber localInputGrabber, bool isServer) { NetworkPlayer = netPlayer; name = string.Format("[Player] {0}", netPlayer.Name); netPlayer.Player = this; Debug.Log("Player Initialized: " + name + " isSelf" + netPlayer.IsSelf); GetComponent <CharacterInstantiator>().Create(); CritterController = GetComponentInChildren <ICritterController>(true); Effects = GetComponentInChildren <Effects>(true); CritterController.IsServer = isServer; CritterController.OnCritterStatePacket += netPlayer.ForwardCritterStatePacket; CritterController.localInputGrabber = (netPlayer.IsSelf) ? localInputGrabber : null; if (netPlayer.IsSelf) { if (isServer) { CritterController.OnCritterInputPacket += (p) => { netPlayer.ServerConnection.SendUpdateCritterInput(netPlayer, p); }; } else { CritterController.OnCritterInputPacket += NetworkPlayer.PostCritterInputPacket; } } }
private void OnConnect(Networking.NetworkPlayer obj) { InitializePlayer(obj.Player); }
private void OnDisconnect(Networking.NetworkPlayer obj) { DeInitializePlayer(obj.Player); }