private void OnTriggerEnter(Collider other) { Unit unit = other.GetComponent <Unit>(); if (unit == null) { return; } teamScore[(int)unit.GetTeam] += unit.GetCost; if (capturingTeam == Team.Neutral) { if (teamScore[(int)TeamServices.GetOpponent(unit.GetTeam)] == 0) { capturingTeam = unit.GetTeam; } } else { if (teamScore[(int)TeamServices.GetOpponent(unit.GetTeam)] > 0) { ResetCapture(); } } }
private void OnTriggerExit(Collider other) { Unit unit = other.GetComponent <Unit>(); if (unit == null) { return; } teamScore[(int)unit.GetTeam] -= unit.GetCost; if (teamScore[(int)unit.GetTeam] == 0) { Team opponentTeam = TeamServices.GetOpponent(unit.GetTeam); if (teamScore[(int)opponentTeam] == 0) { ResetCapture(); } else { capturingTeam = opponentTeam; } } }