public GameObject GetEnemy(Transform parent, EnemySO enemyData) { GameObject g; if (enemyPoolList.Count == 0) { //Create g = Instantiate(ghostPrefab, Vector3.one * 9999, Quaternion.identity) as GameObject; } else { //Get the first and remove it g = enemyPoolList[0]; enemyPoolList.Remove(g); } g.transform.SetParent(parent); g.SetActive(true); if (enemyGivenCounter == 0) { GameManager.Instance.BlockPlayerDoors(); } g.GetComponent <Enemy>().SetUpEnemyVariables(enemyData); enemyGivenCounter++; return(g); }
public void SetEnemyType(EnemySO so) { enemySO = so; GetComponentInChildren <SetSpriteColour>().SetColour(enemySO.tint); GetComponent <IMoveVelocity>().SetMoveSpeed(enemySO.moveSpeed); GetComponent <DropItems>().SetDropTable(enemySO.dropTable); }
private void SpawnEnemy(EnemySO enemy) { EnemyScript enemyScript = Instantiate(enemy.enemyPrefab, spawnPoint.position, spawnPoint.rotation, enemiesHolder).GetComponent <EnemyScript>(); enemyScript.uiManager = uiManager; enemyScript.mEnemySO = enemy; }
public virtual void SetUpEnemyVariables(EnemySO enemyData) { speed = enemyData.speed; rotationSpeed = enemyData.rotationSpeed; oscilationSpeed = enemyData.oscilationSpeed; speedFactorWhenLightened = enemyData.speedFactorWhenLightened; oscilationsPerSecond = enemyData.oscilationsPerSecond; oscilationAmplitude = enemyData.oscilationAmplitude; immediateFacing = enemyData.immediateFacing; oscillationMovement = enemyData.oscillationMovement; initialHp = enemyData.initialHp; timeStuned = enemyData.timeStuned; ghostDamage = enemyData.ghostDamage; attackRadius = enemyData.attackRadius; attackDelay = enemyData.attackDelay; itemToDrop = enemyData.itemToDrop; //Start variables initialSpeed = speed; currentHp = initialHp; oscilatorLifeTime = -0.75f; target = GameManager.Instance.GetPlayer(); }
public override void SetUpEnemyVariables(EnemySO enemyData) { base.SetUpEnemyVariables(enemyData); if (currentState != null) { ChangeState(new AwakeState_N()); } }
public Enemy(EnemySO enemy) { Name = enemy.Name; HP = enemy.HP; DamageMin = enemy.DamageMin; DamageMax = enemy.DamageMax; XP = enemy.XP; ItemArray = Array.ConvertAll(enemy.ItemArray, new Converter <ItemSO, Item>(ItemSoToItem)); ItemChances = enemy.ItemChances; }
private void ShowDescription(EnemySO enemyData) { _levelSelectionUi.PlayClickSfx(); enemyImage.enabled = true; enemyImageShade.enabled = true; enemyImage.sprite = enemyData.enemyIcon; enemyImageShade.sprite = enemyData.enemyIcon; enemyDescription.text = enemyData.enemyDescription; enemyName.text = enemyData.enemyName; }
private void ShowEnemyDescription(EnemySO enemy) { if (towerPanel.activeSelf) { CloseTowerPanel(); } _selectedEnemy.SelectEnemy(); enemyImage.sprite = enemy.enemyIcon; shadeEnemyImage.sprite = enemy.enemyIcon; enemyDescription.text = enemy.enemyDescriptionShort; enemyPanel.SetActive(true); }
EnemyData Initialize(EnemySO enemySO) { EnemyData newEnemy; newEnemy.itemGenerationPercentage = enemySO.itemGenerationPercentage; newEnemy.minWaitTime = enemySO.minWaitTime; newEnemy.maxWaitTime = enemySO.maxWaitTime; newEnemy.type = enemySO.type; newEnemy.prefab = enemySO.prefab; newEnemy.height = newEnemy.prefab.GetComponent <SpriteRenderer>().size.y / 2f; newEnemy.width = newEnemy.prefab.GetComponent <SpriteRenderer>().size.x / 2f; return(newEnemy); }
public virtual void SetStartingValues(ScriptableObject SO) { config = (EnemySO)SO; health = config.maxHealth; stamina = config.maxStamina; agent = this.GetComponent <AIPath>(); agent.maxSpeed = config.speed; anim = GetComponentInChildren <Animator>(); if (anim == null) { anim = GetComponent <Animator>(); } anim.Play("Idle"); }
IEnumerator EnemySpawn() { yield return(new WaitForSeconds(currentWave.timeBetweenSpawns)); enemiesRemainingToSpawn--; RoadTile randomWaypoint = spawnTiles[Random.Range(0, spawnTiles.Length)]; EnemySO enemyData = currentEnemySet.enemyData; Enemy spawnedEnemy = Instantiate(enemyData.enemyModel, randomWaypoint.transform.position, Quaternion.identity).GetComponent <Enemy>(); spawnedEnemy.Init(enemyData, randomWaypoint); spawnedEnemy.OnDeath += OnEnemyDeath; _canSpawn = true; }
public EnemyRaw(GameObject gameObject, Transform transform, Enemy enemy, EnemySO enemySo, EnemyHealthBar healthBar, EnemySpawnController.OnDie onRespawn) : base(enemySo.Health, enemySo.Health, enemySo.MoveSpeed) { index = nextIndex++; GameObject = gameObject; Transform = transform; Enemy = enemy; this.enemySo = enemySo; this.healthBar = healthBar; damage = enemySo.Damage; attackDistance = enemySo.AttackDistance; chasingDistance = enemySo.ChasingDistance; endAttackDistance = enemySo.EndAttackDistance; endChasingDistance = enemySo.EndChasingDistance; enemies.Add(this); OnRespawn = onRespawn; }
/// <summary> /// spawns the enemy at the beginning of the set, /// adds it to the current level /// </summary> private void SpawnEnemy() { EnemySO eso = (EnemySO) ((ICollectionManager <EnemyType>)DefendState.Instance.enemyManager) .Get(enemySet[0].enemy); GameObject prefab = eso.prefab; HostileAgent ho = Instantiate( prefab, transform.position, Quaternion.identity, DefendState.Instance.enemyParent) .GetComponent <HostileAgent>(); // assign enemy path ((OrganicAgent)ho).AssignPath(pathToGoal); DefendState.CurrentLevel.AddEnemy(ho); // To Do: lots of casting bad }
public void Init(EnemySO enemyData, RoadTile startTile) { enemySo = enemyData; characterState = CharacterState.ALIVE; _enemyName = enemyData.enemyName; maxHealth = enemyData.health; health = maxHealth; _armour = enemyData.armour; _magicResistance = enemyData.magicResistance; movementSpeed = enemyData.speed; _navMeshAgent.speed = movementSpeed * _speedMultiplier; _bounty = enemyData.bounty; _currentTile = startTile; Vector2 rp = Random.insideUnitCircle * (_stopDistance - 1); _destination = startTile.transform.position + new Vector3(rp.x, startTile.transform.position.y, rp.y); _stopDistance = 3; }
public Enemy Assignment(EnemySO enemySO) { return(new Enemy(enemySO)); }
private void Start() { defaultEnemyType = enemyType; }
public void SetEnemyType(EnemySO _enemyType) { enemyType = _enemyType; }