Пример #1
0
        private void AddNewEntityPatternSetter(IStatePatternSetter newSetter)
        {
            print(newSetter);
            IStatePatternSetter[] tempArray = new IStatePatternSetter[allEntityPatternSetters.Length + 1];

            for (int i = 0; i < allEntityPatternSetters.Length; i++)
            {
                tempArray[i] = allEntityPatternSetters[i];
            }

            tempArray[tempArray.Length - 1] = newSetter;
            allEntityPatternSetters         = tempArray;
        }
Пример #2
0
        public override void SpawnEntity()
        {
            base.SpawnEntity();
            if (entityCount > maximumEntityCount)
            {
                return;
            }
            entityCount++;

            GameObject          spawnedDroid  = Instantiate(gameManager.enemySettings.droidSentryPrefab, new Vector3(transform.position.x, transform.position.y, 0), Quaternion.identity);
            IStatePatternSetter patternSetter = spawnedDroid.GetComponent <IStatePatternSetter>();

            AddNewEntityPatternSetter(patternSetter);

            spawnPositioner.PositionEntity(spawnedDroid, patternSetter);
            spawnedDroid.SetActive(true);
        }
Пример #3
0
        public void PositionEntity(GameObject spawnedEntity, IStatePatternSetter patternSetter)
        {
            Vector2 newPos = DeterminePosition();

            spawnedEntity.transform.position = newPos;
        }