public void CmdDealDamage(GameObject from, int damage) { TeamManager fromTeanManager = from.GetComponent <TeamManager>(); if (fromTeanManager != null) { if (scoreDisplayer != null) { if (fromTeanManager.GetTeam() != teamManager.GetTeam()) { scoreDisplayer.RpcAddKill(fromTeanManager.GetTeam()); } } } playerController.RpcDie(); }
void OnTriggerEnter2D(Collider2D other) { if (other.transform.tag == "Ball") { teams.GetTeam(teamIndex).AddPoint(); levelManager.ResetBall(); } }
void OnHealTick() { Collider[] cols = Physics.OverlapSphere(transform.position, radius); foreach (Collider col in cols) { TeamManager team = col.GetComponent <TeamManager>(); if (team != null) { if (team.GetTeam() == spawnedByTeam) { Debug.Log("HEALED " + col.gameObject.name); team.Damagable.OnHeal((int)valuePerTick); } } } timer = tickTime; }
public bool TryDoCommand(Players.Player player, string chat) { Match m = Regex.Match(chat, @"/join_team (?<playername>['].+?[']|[^ ]+)"); if (!m.Success) { Pipliz.Chatting.Chat.Send(player, "<color=orange>Command didn't match, use /join_team [playername]</color>"); return(true); } string name = m.Groups["playername"].Value; if (name.StartsWith("'")) { if (name.EndsWith("'")) { name = name.Substring(1, name.Length - 2); } else { Pipliz.Chatting.Chat.Send(player, "<color=orange>Command didn't match, missing ' after playername</color>"); return(true); } } if (!Players.TryMatchName(name, out Players.Player join_to_player)) { Pipliz.Chatting.Chat.Send(player, string.Format("<color=orange>Player {0} not found.</color>", name)); return(true); } if (player == join_to_player) { Pipliz.Chatting.Chat.Send(player, "<color=orange>You can not share with yourself.</color>"); return(true); } TeamManager TM = TeamManager.GetTeamManager(); if (null != TM.GetTeam(player) && null != TM.GetTeam(join_to_player)) { Pipliz.Chatting.Chat.Send(player, "<color=orange> Both of you are in teams, and teams can not be merged, one should leave his team.</color>"); return(true); } if (joinTo.ContainsKey(join_to_player)) { Pipliz.Chatting.Chat.Send(player, string.Format("<color=orange>{0} already has a request to accept, try latter.</color>", name)); return(true); } joinTo.Add(join_to_player, player); Pipliz.Chatting.Chat.Send(join_to_player, string.Format("<color=lime>{0} has requested to join your team, write /accept_team {0} or /reject_team {0}</color>", player.Name)); Pipliz.Chatting.Chat.Send(join_to_player, string.Format("<color=yellow>{0} will be rejected in a minute if you do not answer</color>", player.Name)); Pipliz.Chatting.Chat.Send(player, string.Format("<color=lime>You have requested to join {0} team</color>", name)); Pipliz.Threading.ThreadManager.InvokeOnMainThread(delegate() //Automatically reject after 30s { if (joinTo.ContainsKey(join_to_player)) { Pipliz.Chatting.Chat.Send(join_to_player, string.Format("<color=lime>You have rejected {0} to join your team.</color>", player.Name)); Pipliz.Chatting.Chat.Send(player, string.Format("<color=lime>{0} has rejected your request to join his team.</color>", join_to_player.Name)); joinTo.Remove(join_to_player); } }, 60); return(true); }
public bool CanDamage(TeamManager attacker) { return(attacker.GetTeam() != teamType || teamType == TeamTypes.Neutral); }