Ejemplo n.º 1
0
    public void PassCheckpoint(GameObject checkPointcrossed, GameObject player)
    {
        int            checkPointPassedIndex = -1;
        CheckPointPart checkPointPart        = CheckPointParts.FirstOrDefault(c => (checkPointPassedIndex = Array.IndexOf(c.checkPoints, checkPointcrossed)) > -1);

        checkPointPart.crossedBy[checkPointPassedIndex] = player;

        if (!checkPointPart.crossedBy.Any(x => x == null) && activeCheckPoint != checkPointPart)
        {
            activeCheckPoint = checkPointPart;
        }
    }
Ejemplo n.º 2
0
    private void FindChecksPoint()
    {
        GameObject[] resettableParts = GameObject.FindGameObjectsWithTag("ChallengeReset");
        CheckPointParts = new CheckPointPart[resettableParts.Length];
        int i = 0;

        foreach (GameObject resetPart in resettableParts)
        {
            List <GameObject> checkPoints = FindAllCheckpointsInGameObject(resetPart);
            CheckPointParts[i] = new CheckPointPart
            {
                partToReset = resetPart,
                checkPoints = checkPoints.ToArray(),
                crossedBy   = new GameObject[checkPoints.Count]
            };
            i++;
        }
    }