Exemple #1
0
    public override void CmdCalculateCapture()
    {
        if (!isServer)
        {
            return;
        }

        Collider[] capturingUnits = Physics.OverlapSphere(transform.position, 1.25f, LayerMask.GetMask("Selectable"));

        for (int i = 0; i < capturingUnits.Length; i++)
        {
            if (capturingUnits[i].CompareTag("Unit"))
            {
                Unit unit = capturingUnits[i].GetComponent <Unit>();
                if (unit.team == teamAssosiation && unit.hasFlag)
                {
                    GameManager.instance.s_teams[i].score++;
                    FlagPoint flag = unit.GetComponentInChildren <FlagPoint>();
                    GameManager.instance.s_captures.Remove(flag);
                    Destroy(flag.gameObject);
                    unit.hasFlag = false;
                }
            }
        }
    }
Exemple #2
0
    public Transform GetRandomPoint()
    {
        FlagPoint point = points[RandomNumberGenerator.Instance.Next(points.Count)];

        while (point == lastPoint)
        {
            point = points[RandomNumberGenerator.Instance.Next(points.Count)];
        }

        lastPoint = point;
        return(point.transform);
    }