void Generate() { if (_actualCount == 0 || TargetAreas.Count == 0) { return; } TargetArea area = TargetAreas[Random.Range(0, TargetAreas.Count)]; GameObject obj = Instantiate(ObjectPrefab); Vector3 position = GeneratePosition(area.transform.position, area.GetSize, area.AvailableAxes); while (IntersectionTest(position, 1.0f, IntersectionLayerMask)) { position = GeneratePosition(area.transform.position, area.GetSize, area.AvailableAxes); } obj.transform.position = position; //set time bonus Collectables.Coin coinScript = (Collectables.Coin)obj.GetComponent <Collectables.Coin>(); coinScript.TimeBonus = TimeBonus; _actualCount--; }
public void ProcessTrigger(GameObject obj) { Debug.Log("Player trigger handled"); Collectables.Coin coin = obj.GetComponent <Collectables.Coin>(); if (coin != null) { CollectablesCout++; if (CollectablesCout == CollectablesGenerator.Count) { YouWinFlag = true; } if (coin.TimeBonus != 0) { GameTimer.IncTime(coin.TimeBonus); } if (CollectablesGenerator.GenerateOnPlayerCollision) { CollectablesGenerator.GenerateNew(); } } Triggers.OutOfPlayground outOfPlayground = obj.GetComponent <Triggers.OutOfPlayground>(); if (outOfPlayground != null && GameTimer.ActualTime > 0 && !YouWinFlag) { Application.LoadLevel(Application.loadedLevel); } }