/*public override void LateJoinGame(NetworkReader messageReader) * { * // TODO * }*/ protected override void OnStartTurn(TBPlayer player) { if (tt != TurnType.None) { Log.Warn("Unexpected TurnType {0} (A)", tt); } int role = player.GetRole(); var turtles = Match.GetTurtlesForRole(role); var aliveTurtles = turtles.FindAll(t => !t.dead); if (/*turtles == null || */ aliveTurtles.Count == 0) { Log.Warn("No alive turtles with role {0}", role); tt = TurnType.Wait; turnEnded = false; StartCoroutine(EndTurnDelayed()); return; } tt = TurnType.Keyboard; targetTurtle = GetNextTurtle(aliveTurtles); targetTurtle.SetPlaying(true); }
void Awake() { DNMPlayer dnmPlayer = GetComponent <DNMPlayer>(); if (dnmPlayer == null) { Log.Warn("Component DNMPlayer not found!"); return; } dnmPlayer.AddListener(this); TBPlayer tbPlayer = GetComponent <TBPlayer>(); if (tbPlayer == null) { Log.Warn("Component TBPlayer not found!"); return; } tbPlayer.AddListener(this); }
private void OnPlayerDisconnected(BasePlayer player) { if (UseTB) { CuiHelper.DestroyUi(player, UIMain); CuiHelper.DestroyUi(player, UIScoreboard); TBPlayer tbPlayer = player.GetComponent <TBPlayer>(); if (tbPlayer != null) { DCPlayers.Add(player.userID, new PlayerData { kills = tbPlayer.kills, team = tbPlayer.team }); DCTimers.Add(player.userID, timer.Once(configData.Options.RemoveSleeper_Timer * 60, () => { DCPlayers.Remove(player.userID); DCTimers[player.userID].Destroy(); DCTimers.Remove(player.userID); })); if (TBPlayers.Contains(tbPlayer)) { TBPlayers.Remove(tbPlayer); } UnityEngine.Object.Destroy(tbPlayer); } } }
protected override void OnEndTurn(TBPlayer player) { SendToServer(MsgType.ClientUpdate, Match.GetState()); }