private void GenerateBat(float x, float y) { EnemyData newEnemy = ScriptableObject.CreateInstance <EnemyData>(); newEnemy.Create(batData, transform.position.x, transform.position.y, StaticData.RandomLevel()); GameObject g = Instantiate(new GameObject(), Vector3.zero, Quaternion.identity); GameObject enemy = Instantiate(_enemy, new Vector3(x, y, 0), Quaternion.identity, g.transform); Animator animator = enemy.GetComponentInChildren <Animator>(); SetAnimation(newEnemy, animator); enemy.GetComponent <Attack>().Create(newEnemy, _players, animator); enemy.GetComponent <EnemiesLive>().Create(newEnemy, _playerDatas); enemy.GetComponent <EnemiesMovement>().Create(newEnemy, _players, _playerDatas, _blockingLayer, animator); enemy.GetComponent <Pathfinding>().Create(newEnemy); enemy.GetComponentInChildren <SpriteRenderer>().sprite = newEnemy.Sprite; enemy.GetComponent <BoxCollider2D>().size = new Vector3(newEnemy.ColliderX, newEnemy.ColliderY); enemy.GetComponent <BoxCollider2D>().offset = new Vector2(0, newEnemy.ColliderY / 2); enemy.GetComponentInChildren <CircleCollider2D>().radius = 30f; enemy.transform.GetChild(2).transform.position = new Vector3(x, y, 0) + new Vector3(0, newEnemy.EffectY + 0.181f, 0); enemy.transform.GetChild(3).transform.position = new Vector3(x, y, 0) + new Vector3(-0.44f, newEnemy.EffectY, 0); enemy.transform.GetChild(4).transform.position = new Vector3(x, y, 0) + new Vector3(0, newEnemy.EffectY, 0); }
private void CreateEnemy(EnemyData enemyData, float x, float y, List <PlayerData> playerDatas) { EnemyData newEnemy = ScriptableObject.CreateInstance <EnemyData>(); newEnemy.Create(enemyData, x, y, StaticData.RandomLevel()); GameObject enemy = Instantiate(Enemy, new Vector3(x, y, 0), Quaternion.identity); enemiesList.Add(enemy); Animator animator = enemy.GetComponentInChildren <Animator>(); SetAnimation(newEnemy, animator); enemy.GetComponent <Attack>().Create(newEnemy, players, animator); enemy.GetComponent <EnemiesLive>().Create(newEnemy, playerDatas); enemy.GetComponent <EnemiesMovement>().Create(newEnemy, players, playerDatas, BlockingLayer, animator); enemy.GetComponent <Pathfinding>().Create(newEnemy); enemy.GetComponentInChildren <SpriteRenderer>().sprite = newEnemy.Sprite; enemy.GetComponent <BoxCollider2D>().size = new Vector2(newEnemy.ColliderX, newEnemy.ColliderY); enemy.GetComponent <BoxCollider2D>().offset = new Vector2(0, newEnemy.ColliderY / 2); enemy.transform.GetChild(2).transform.position = new Vector3(x, y, 0) + new Vector3(0, newEnemy.EffectY + 0.181f, 0); enemy.transform.GetChild(3).transform.position = new Vector3(x, y, 0) + new Vector3(-0.44f, newEnemy.EffectY, 0); enemy.transform.GetChild(4).transform.position = new Vector3(x, y, 0) + new Vector3(0, newEnemy.EffectY, 0); }