private void SpawnEnemy(int lane) { GameObject tmp = null; EnemyType result = RandomSpawnFunc(laneDataList[lane].mainType); if (result.Equals(EnemyType.Null) || continuousLock[lane] == 2 || btLock[lane] > 0) { continuousLock[lane] = 0; btLock[lane]--; return; } if (result.Equals(laneDataList[lane].mainType)) { tmp = Instantiate(laneDataList[lane].prefab, laneDataList[lane].spawnPoint, Quaternion.identity); } else if (result.Equals(EnemyType.Healthy)) { tmp = Instantiate(prefabHealthy, laneDataList[lane].spawnPoint, Quaternion.identity); } else if (result.Equals(EnemyType.BT)) { tmp = Instantiate(prefabBT, laneDataList[lane].spawnPoint, Quaternion.identity); btLock[lane] = btBlockCount; } continuousLock[lane]++; tmp.name = lane.ToString(); tmp.GetComponent <EnemyController>().OnEnemyStopInteract += RemoveStack; laneDataList[lane].enemyStack.Enqueue(tmp.GetComponent <EnemyController>()); }
void Update() { if (haveSoul && jumpTime <= Time.time) { if (Input.GetButtonDown("Fire1")) /*Jump Attack*/ { if (type.Equals(EnemyType.Jump)) { jumpAttack(direction); } else if (type.Equals(EnemyType.Slash)) { } } if (Input.GetButtonDown("Fire2")) { prefab = Instantiate(soul, transform.position, transform.rotation); prefab.SendMessage("SetDirection", direction); haveSoul = false; this.gameObject.tag = "Enemy"; moveDirection = Vector2.zero; } } }
void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Bullet") { hitPoints--; if (hitPoints == 0) { animator.SetTrigger("die"); } } else if (collision.gameObject.tag == "Player") { collision.gameObject.GetComponent <CharacterController2D>().GetHit(); } else if (collision.gameObject.tag == "Pet") { if (type.Equals(EnemyType.MONSTER)) { collision.gameObject.GetComponent <PetController>().GetHit(); } else if (type.Equals(EnemyType.GHOST_FOOD) || type.Equals(EnemyType.GHOST_HEALTH) || type.Equals(EnemyType.GHOST_MIND)) { collision.gameObject.GetComponent <PossessionController>().Possess(type); animator.SetTrigger("possess"); } } }
public void SetEnemyTypeAndIndex(EnemyType type, int index = 0) { enemyType = type; if (enemyType.Equals(EnemyType.Normal)) { enemyIndex = index; } }
public GameObject CreateBoss(Vector3 spawnPosition, string enemyTag, int enemyLayer, Vector3 enemyScale, float colliderRadius, int animationNumber, bool enemyCounter, EnemyType enemyType, int[] enemyItem, int enemyNumber, float[] enemyHP) { GameObject enemy = enemyPool.GetChild(0).gameObject; enemy.SetActive(true); enemy.transform.position = spawnPosition; enemy.gameObject.tag = enemyTag; enemy.gameObject.layer = enemyLayer; enemy.transform.SetParent(enemyParent); enemy.transform.localScale = enemyScale; CircleCollider2D circleCollider2D = enemy.GetComponent <CircleCollider2D>(); circleCollider2D.enabled = true; circleCollider2D.radius = colliderRadius; Animator animator = enemy.GetComponent <Animator>(); animator.runtimeAnimatorController = characterAnimatorController[animationNumber]; EnemyStatus enemyStatus = enemy.GetComponent <EnemyStatus>(); enemyStatus.SetCounter(enemyCounter); enemyStatus.SetEnemyType(enemyType); enemyStatus.SetEnemyItem(enemyItem); if (enemyType.Equals(EnemyType.ENEMYTYPE_BOSS)) { enemyStatus.SetEnemyNumber(0); enemyStatus.SetEnemyBossNumber(enemyNumber); } else if (enemyType.Equals(EnemyType.ENEMYTYPE_NONE)) { enemyStatus.SetEnemyNumber(0); enemyStatus.SetEnemyBossNumber(0); } else { enemyStatus.SetEnemyNumber(enemyNumber); enemyStatus.SetEnemyBossNumber(0); } enemyStatus.SetEnemyMaxHPArray(enemyHP); enemyStatus.SetEnemyCurrentHP(enemyStatus.GetEnemyMaxHPArray()[0]); return(enemy); }
private void Start() { rb = GetComponent <Rigidbody2D>(); sprite = GetComponentInChildren <SpriteRenderer>(); player = GameManager.instance.player.gameObject; playerCombat = player.GetComponent <PlayerCombat>(); maxHealth = health; startcolor = GetComponentInChildren <SpriteRenderer>().color; if (type.Equals(EnemyType.Patrol)) { InvokeRepeating("ChangeDirection", changeDirectionTime, changeDirectionTime); } }
// Use this for initialization when manager is enabled with "setActive" void OnEnable() { Debug.Log("OnEnabled BattleManager"); // Prevent to init on very first start of the game if (GameManager.instance != null && GameManager.instance.isBattle) { WordsRepository = XmlManager.Deserialize <WordsRepository>(); WordLevel wordLevel = EmotionMenager.GetInstance().WordLevelDifficulty(); ActiveWord = new WordToType(WordsRepository.GetRandomWord(wordLevel), WordSpawner.SpawnWord()); // get random enemy from prefabs Debug.Log("Init enemy:"); EnemyType enemyType = getEnemyType(); Debug.Log(enemyType); if (enemyType.Equals(EnemyType.Wolf)) { Debug.Log("Loading Wolf."); enemy = Instantiate(Resources.Load("Prefabs/WolfBattle", typeof(GameObject)), enemyPosition.position, Quaternion.identity) as GameObject; } else if (enemyType.Equals(EnemyType.Zombie)) { Debug.Log("Loading Zombie."); enemy = Instantiate(Resources.Load("Prefabs/Zombie1Battle", typeof(GameObject)), enemyPosition.position, Quaternion.identity) as GameObject; } Debug.Log(enemy); // enemy.transform.parent = enemyPosition; //set up player&enemy health text Debug.Log("Player health: "); Debug.Log(playerInBattle.GetComponent <PlayerInBattle>().health); Debug.Log("Enemy health: "); Debug.Log(enemy.GetComponent <EnemyInBattle>().health); maxEnemyHealth = enemy.GetComponent <EnemyInBattle>().health; playerHealth.text = playerInBattle.GetComponent <PlayerInBattle>().health + "/" + Player.maxHealth; enemyHealth.text = enemy.GetComponent <EnemyInBattle>().health + "/" + enemy.GetComponent <EnemyInBattle>().health; headline.text = "Fight!"; } }
public void increaseScore(EnemyType enemyType) { if (enemyType.Equals(EnemyType.BIG_FISH)) { highScore += 1; } else { highScore += 3; } ScoreBoard.score = highScore; if (highScore >= prevBestScore) { prevBestScore = highScore; } }
public void increaseScore(EnemyType enemyType) { if (enemyType.Equals(EnemyType.BIG_FISH)) highScore += 1; else highScore += 3; ScoreBoard.score = highScore; if (highScore >= prevBestScore) { prevBestScore = highScore; } }
public GameObject CreateMinion(Vector3 spawnPosition, string enemyTag, int enemyLayer, Vector3 enemyScale, float colliderRadius, int animationNumber, bool enemyCounter, EnemyType enemyType, int[] enemyItem, int enemyNumber, float enemyHP, int enemyPatternNumber, int enemyCounterPatternNumber, float enemyAttackWaitTime, float enemyAttackDelayTime, bool isPatternOnce, bool isPatternRepeat, int enemyFireCount, float enemyAttackRepeatTime, int enemyCustomPatternNumber = 0, bool isAutoDestroy = false, float waitTime = 0.0f) { GameObject enemy = enemyPool.GetChild(0).gameObject; enemy.SetActive(true); enemy.transform.position = spawnPosition; enemy.gameObject.tag = enemyTag; enemy.gameObject.layer = enemyLayer; enemy.transform.SetParent(enemyParent); enemy.transform.localScale = enemyScale; CircleCollider2D circleCollider2D = enemy.GetComponent <CircleCollider2D>(); circleCollider2D.enabled = true; circleCollider2D.radius = colliderRadius; Animator animator = enemy.GetComponent <Animator>(); animator.runtimeAnimatorController = characterAnimatorController[animationNumber]; EnemyStatus enemyStatus = enemy.GetComponent <EnemyStatus>(); enemyStatus.SetCounter(enemyCounter); enemyStatus.SetEnemyType(enemyType); enemyStatus.SetEnemyItem(enemyItem); if (enemyType.Equals(EnemyType.ENEMYTYPE_BOSS)) { enemyStatus.SetEnemyNumber(0); enemyStatus.SetEnemyBossNumber(enemyNumber); } else if (enemyType.Equals(EnemyType.ENEMYTYPE_NONE)) { enemyStatus.SetEnemyNumber(0); enemyStatus.SetEnemyBossNumber(0); } else { enemyStatus.SetEnemyNumber(enemyNumber); enemyStatus.SetEnemyBossNumber(0); } enemyStatus.SetEnemyMaxHP(enemyHP); enemyStatus.SetEnemyCurrentHP(enemyStatus.GetEnemyMaxHP()); EnemyFire enemyFire = enemy.GetComponent <EnemyFire>(); enemyFire.SetEnemyPatternNumber(enemyPatternNumber); enemyFire.SetEnemyCounterPatternNumber(enemyCounterPatternNumber); enemyFire.SetEnemyAttackWaitTime(enemyAttackWaitTime); enemyFire.SetEnemyAttackDelayTime(enemyAttackDelayTime); enemyFire.SetEnemyPatternOnce(isPatternOnce); enemyFire.SetEnemyPatternRepeat(isPatternRepeat); enemyFire.SetEnemyFireCount(enemyFireCount); enemyFire.SetEnemyAttackRepeatTime(enemyAttackRepeatTime); enemyFire.SetEnemyCustomPatternNumber(enemyCustomPatternNumber); EnemyDestroy enemyDestroy = enemy.GetComponent <EnemyDestroy>(); if (isAutoDestroy.Equals(true)) { StartCoroutine(enemyDestroy.EnemyAutoDestroy(waitTime)); } return(enemy); }