public void GeneratePlayerAndOpponents() { var roads = new int[_roadCount]; for (var i = 0; i < roads.Length; i++) { roads[i] = i; } roads = roads.Shuffle(); var isTutorial = PlayerDataHolder.GetTutorial() == 0; var playerRoadId = isTutorial ? 2 : roads[UnityEngine.Random.Range(0, _roadCount)]; SpawnPlayer(playerRoadId); var opponentsSkinsId = new List <int>(); for (var i = 0; i < SkinDataHolder.GetPlayerSkinData().opponents.Count; i++) { if (i != SkinnController.currentSkin) { opponentsSkinsId.Add(i); } } for (var i = 0; i < _roadCount; i++) { if (i != playerRoadId) { SpawnEnemy(i, opponentsSkinsId); } } }
private void LoadLevel() { if (PlayerDataHolder.GetTutorial() == 0) { StartCoroutine(WaitAndLoad(.2f, _scenesContainer.scenes[0])); } else { var levelToLoad = Random.Range(0, _scenesContainer.scenes.Length); var levelId = _scenesContainer.scenes[levelToLoad]; if (_scenesContainer.scenes.Length > 1) { for (var i = 0; i < 10; i++) { if (levelToLoad == PreviousLevelData.previousLevel) { levelToLoad = Random.Range(0, _scenesContainer.scenes.Length); levelId = _scenesContainer.scenes[levelToLoad]; } else { break; } } } LoadImage.SetActive(true); loadAnimator.SetTrigger(Open); PreviousLevelData.previousLevel = levelToLoad; StartCoroutine(WaitAndLoad(.5f, levelId)); } }
private void OnTriggerEnter(Collider other) { if (other.TryGetComponent <Player>(out var player)) { if (PlayerDataHolder.GetTutorial() != 0) { ControllManager.Instance.GiveControl(); } } }
private void Start() { isTutorial = PlayerDataHolder.GetTutorial() == 0; if (isTutorial) { Finish.OnCrossFinishLine += SaveTutorialFinished; } Finish.OnCrossFinishLine += SavePlayersMoney; }
private void Start() { if (PlayerDataHolder.GetTutorial() == 0) { TutorialController.RegisterTutorialObject(this); } else { Deactivate(); } }
private void Start() { bool isTutorial = PlayerDataHolder.GetTutorial() == 0; if (isTutorial) { swipe = tutorialSwipe.GetComponent <TutorialUI>(); swipeAnimator = tutorialSwipe.GetComponent <Animator>(); if (swipeAnimator == null) { swipeAnimator = tutorialSwipe.GetComponentInChildren <Animator>(); } if (swipe == null) { Debug.LogError("Swipe is null in Tutorial Controller"); } swipe.Deactivate(); } }
private void Generate() { data = new List <RoadEntityData>(); var isTutorial = PlayerDataHolder.GetTutorial() == 0; var length = roadSpline.CalculateLength(); double percentLength = length / 100; var percent = percentLength / length; var randomDist = DistanceToPercent(Random.Range(minDistance, maxDistance)); var randomDistPercent = (int)(randomDist * 100); var i = isTutorial ? tutorialEndPercent : startBarriersPercent; for (; i < 98; i += randomDistPercent) { if (randomDist > DistanceToPercent(maxDistance - 25)) { // 70% chanse to spawn coins on long road sector var randomInt = Random.Range(0, 100); if (randomInt > 30) { var moneyPercent = 0.0; for (var j = 0; j < countOfRoads; j++) { moneyPercent = percent * (i + randomDistPercent / 2); GenerateRingsOnRoad((float)moneyPercent, 0, 10, j); } var entityData = new RoadEntityData { entityType = EntityType.Coins, percentAtRoad = (float)moneyPercent, height = 0, roadCount = countOfRoads }; AddData(entityData); } } var splineOnPercent = roadSpline.Evaluate(percent * i); //if (levelHolder.InDeathLoops((float)(percent * i))) continue; var position = splineOnPercent.position; var rotation = splineOnPercent.rotation; GenerateEnemyOrBarrier(percent * i); randomDist = DistanceToPercent(Random.Range(minDistance, maxDistance)); randomDistPercent = (int)(randomDist * 100); } }