Exemple #1
0
    private void SelectRandomPlayer()
    {
        PlayerBehaviourType behaviour = currentAvailablePlayers[currentPlayerIndex];

        //behaviour = PlayerBehaviourType.Plus;

        Destroy(selectedPlayerBehaviour);
        GameObject pref = trianglePref;

        switch (behaviour)
        {
        case PlayerBehaviourType.Triangle:
            pref = trianglePref;
            break;

        case PlayerBehaviourType.Square:
            pref = squarePref;
            break;

        case PlayerBehaviourType.Circle:
            pref = circlePref;
            break;

        case PlayerBehaviourType.Plus:
            pref = plusPref;
            break;
        }

        selectedPlayerBehaviour = Instantiate(pref, player.transform);
        selectedPlayerBehaviour.transform.localPosition = Vector3.zero;

        switch (behaviour)
        {
        case PlayerBehaviourType.Triangle:
            selectedPlayerBehaviour.GetComponentInChildren <TrianglePlayer>().InitializeBehaviour();
            break;

        case PlayerBehaviourType.Square:
            selectedPlayerBehaviour.GetComponentInChildren <SquarePlayer>().InitializeBehaviour();
            break;

        case PlayerBehaviourType.Circle:
            selectedPlayerBehaviour.GetComponentInChildren <CirclePlayer>().InitializeBehaviour();
            break;

        case PlayerBehaviourType.Plus:
            selectedPlayerBehaviour.GetComponentInChildren <PlusPlayer>().InitializeBehaviour();
            break;
        }

        currentSwitchTime = UnityEngine.Random.Range(minPlayerSwitchTime, maxPlayerSwitchTime);
        switchTime        = DateTime.Now;

        currentPlayerIndex++;

        if (currentPlayerIndex > currentAvailablePlayers.Count - 1)
        {
            currentPlayerIndex = 0;
        }
    }
Exemple #2
0
    public void InitializeBehaviour()
    {
        if (behaviourInitialized)
        {
            return;
        }

        behaviourType        = PlayerBehaviourType.Square;
        behaviourInitialized = true;

        pusherStatus = new bool[pusherPoints.Length];

        for (int i = 0; i < UpgradeManager.PushersCount; i++)
        {
            pusherStatus[i] = true;
        }

        SetPushers();

        currentSwitchTime = UnityEngine.Random.Range(minPusherSwitchTime, maxPusherSwitchTime);
        switchTime        = DateTime.Now;

        waitTime      = DateTime.Now;
        waitStarted   = true;
        chargeStarted = false;
    }
Exemple #3
0
    public void InitializeBehaviour()
    {
        if (behaviourInitialized)
        {
            return;
        }

        behaviourType        = PlayerBehaviourType.Triangle;
        behaviourInitialized = true;

        firepointsStatus = new bool[firepoints.Length];
        for (int i = 0; i < UpgradeManager.LaserGunsCount; i++)
        {
            firepointsStatus[i] = true;
            firepoints[i].gameObject.SetActive(true);
        }

        waitTime      = DateTime.Now;
        waitStarted   = true;
        fireStarted   = false;
        chargeStarted = false;

        currentSwitchTime = UnityEngine.Random.Range(minFirepointSwitchTime, maxFirepointSwitchTime);
        switchTime        = DateTime.Now;
    }
Exemple #4
0
    public void InitializeBehaviour()
    {
        if (behaviourInitialized)
        {
            return;
        }

        behaviourType        = PlayerBehaviourType.Plus;
        behaviourInitialized = true;

        firepointsStatus = new bool[firepoints.Length];
        for (int i = 0; i < UpgradeManager.RicochetGunsCount; i++)
        {
            firepointsStatus[i] = true;
        }

        firedTime = DateTime.Now;

        currentSwitchTime = UnityEngine.Random.Range(minFirepointSwitchTime, maxFirepointSwitchTime);
        switchTime        = DateTime.Now;
    }
Exemple #5
0
    public void InitializeBehaviour()
    {
        if (behaviourInitialized)
        {
            return;
        }

        behaviourType        = PlayerBehaviourType.Square;
        behaviourInitialized = true;

        reflectorsStatus = new bool[reflectors.Length];
        for (int i = 0; i < UpgradeManager.ShieldsCount; i++)
        {
            reflectorsStatus[i] = true;
        }

        SetReflectors();

        currentSwitchTime = UnityEngine.Random.Range(minShieldSwitchTime, maxShieldSwitchTime);
        switchTime        = DateTime.Now;
        chargeStarted     = false;
    }
    private void GrantRandomUpgrade()
    {
        int index = GetRandomIndex();
        PlayerBehaviourType behaviourType = PlayerBehaviourType.None;

        switch (index)
        {
        case 0:
            if (LaserGunsCount < 3)
            {
                LaserGunsCount++;
            }

            if (LaserGunsCount == 3)
            {
                pendingUpgrades.Remove(0);
            }

            behaviourType = PlayerBehaviourType.Triangle;
            break;

        case 1:
            if (ShieldsCount < 4)
            {
                ShieldsCount++;
            }

            if (ShieldsCount == 4)
            {
                pendingUpgrades.Remove(1);
            }

            behaviourType = PlayerBehaviourType.Square;
            break;

        case 2:
            if (PushersCount < 4)
            {
                PushersCount++;
            }

            if (PushersCount == 4)
            {
                pendingUpgrades.Remove(2);
            }

            behaviourType = PlayerBehaviourType.Circle;
            break;

        case 3:
            if (RicochetGunsCount < 4)
            {
                RicochetGunsCount++;
            }

            if (RicochetGunsCount == 4)
            {
                pendingUpgrades.Remove(3);
            }
            behaviourType = PlayerBehaviourType.Plus;
            break;
        }

        GameEventManager.Instance.TriggerSyncEvent(new UpgradeGranted(currentLevel, behaviourType));
    }
 public UpgradeGranted(int currentLevel, PlayerBehaviourType behaviourType)
 {
     this.currentLevel  = currentLevel;
     this.behaviourType = behaviourType;
 }