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; }
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); }
public void PositionEntity(GameObject spawnedEntity, IStatePatternSetter patternSetter) { Vector2 newPos = DeterminePosition(); spawnedEntity.transform.position = newPos; }