public EnemyBody BuildEnemyBody() { EnemyBody enemyBody = EnemyBodyPool.Get() as EnemyBody; enemyBody.gameObject.SetActive(true); return(enemyBody); }
/* * For now main combat loop: * -MainCombatLoop -- checks which turn it is * -Enemy Turn || PlayerTurn * -Rotate Order -- calls CheckForKo * -MainCombatLoop */ private void MainCombatLoop() { activeEnemy = turnOrder[0].GetComponent <EnemyBody>(); if (!playerTurn) { StartCoroutine(EnemyTurn()); } }
private void Start() { InitializeController(); enemyMovement = GetComponent <EnemyMovement>(); characterState = GetComponent <EnemyState>(); enemyBody = GetComponent <EnemyBody>(); characterInventory = GetComponent <EnemyInventory>(); enemyAI = GetComponent <EnemyAI>(); }
public void Target(int index) { targetIndex = index; target = turnOrder[index].GetComponent <EnemyBody>(); ClearEnemyColor(); target.GetComponent <Image>().color = Color.blue; StartCoroutine(PrepareAttack()); }
public override List <EnemyBody> GetAnyRequiredEnemies(Level level) { var spawnLoc = GetBossSpawnLocation(); Boss = EnemySpawner.SpawnBoss(spawnLoc).GetComponent <EnemyBody>(); Boss.xPos = spawnLoc.x; Boss.zPos = spawnLoc.y; (Boss.AI as BossBrain).BossRoom = this; return(new List <EnemyBody> { Boss.GetComponent <EnemyBody>() }); }
public EnemyAI(int direction, float moverate, EnemyBody someEnemy = null) { MoveRate = moverate; GameManager.instanse.Iteration += OnItteration; this.direction = (Direction)(direction % 4); someobject = someEnemy; if (someEnemy) { someobject.DestroySelf += ObjectDestroyed; } }
public void PlaceBoss(EnemyBody boss) { for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { var x = boss.xPos + i; var z = boss.zPos + j; map[x, z].tileEntityType = Roguelike.Tile.TileEntityType.boss; walkCostsMap[x, z] = map[x, z].GetPathfindingCost(); } } walkGrid.UpdateGrid(walkCostsMap); }
private void Start() { if (originalBody == null) { GameObject _parent = Instantiate(parentPrefab, transform.position, Quaternion.identity); originalBody = (EnemyBody)_parent.GetComponent <Enemy>().body.Clone(); Destroy(_parent); } if (originalBody == null) { originalBody = new TriangleEnemyBody(5, bulletPrefab, parentPrefab, corpsePrefab); } originalBody.sprite = GetComponent <SpriteRenderer>().sprite; originalBody.material = GetComponent <SpriteRenderer>().material; }
public virtual void TakeDamage(int _damage) { body.hp -= _damage; if (body.hp <= 0) { EnemyBody _newBody = (EnemyBody)body.Clone(); _newBody.hp = _newBody.startingHp; if (Random.Range(0f, 1f) <= bodySpawnChance) { GameObject corpse = Instantiate(corpsePrefab, transform.position, Quaternion.identity); corpse.GetComponent <Corpse>().originalBody = _newBody; corpse.transform.rotation = Quaternion.Euler(transform.rotation.x, transform.rotation.y, rb.rotation); } Destroy(gameObject); } }
public void Interact(PlayerController _player) { Material _newMaterial = new Material(originalBody.material); EnemyBody _newBody = (EnemyBody)originalBody.Clone(); _newBody.parent = _player.gameObject; _newMaterial.color = _player.originalMaterial.color; if (_player.body != null) { _player.body.Discard(_player); } _player.body = _newBody; _player.GetComponent <SpriteRenderer>().sprite = originalBody.sprite; _player.GetComponent <SpriteRenderer>().material = _newMaterial; _player.transform.position = transform.position; _player.transform.rotation = transform.rotation; Destroy(gameObject); }
public static EnemyData SaveEnemy(EnemyBody body) { var data = new EnemyData() { location = new SerializableVector2Int(body.xPos, body.zPos), health = body.Health.CurrentHealth, maxHealth = body.Health.MaxHealth, type = body.Type }; var ai = body.AI as BasicEnemyAI; if (ai != null) { data.state = ai.currentAIState; data.engaged = ai.engagedTarget != null; data.wonderTarget = ai.wanderTarget; } return(data); }
void OnTriggerEnter2D(Collider2D _collider) { /* * if (m_strTargetTag == "player") * { * Debug.Log(_collider.gameObject.tag); * } */ if (_collider.gameObject.tag == m_strTargetTag) { if (history.Contains(_collider.gameObject) == false) { if (m_strTargetTag == "enemy") { EnemyBody eb = _collider.gameObject.GetComponent <EnemyBody>(); if (eb != null) { eb.enemy.Damage(m_data, m_skill, m_weapon); } if (m_skill != null && m_skill.type == "brow") { eb.enemy.m_animatorBody.enabled = false; eb.IsAir = true; Rigidbody2D rb2 = eb.gameObject.GetComponent <Rigidbody2D>(); rb2.AddForce(new Vector2(1.0f, 0.5f) * 250); } } else if (m_strTargetTag == "player") { CharaBody ch = _collider.gameObject.GetComponent <CharaBody>(); if (ch != null) { ch.game_chara_main.Damage(m_data, m_skill); } } history.Add(_collider.gameObject); } } }
public void Start() { Body = GetComponent <EnemyBody>(); }