Esempio n. 1
0
        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--;
        }
Esempio n. 2
0
        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);
            }
        }