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; } }
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; }
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; }
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; }
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; }