// Start is called before the first frame update public void Init(LevelManager lM) { levelManager = lM; for (int i = 0; i < enemiesList.Count; i++) { enemiesList[i].Init(levelManager); //enemiesList[i].enemyStats.Init(enemiesList[i].enemyID); levelManager.AddEnemy(enemiesList[i].transform); Physics2D.IgnoreCollision(enemiesList[i].GetComponent <CapsuleCollider2D>(), goalSprite.GetComponent <CapsuleCollider2D>()); enemiesList[i].transform.SetParent(levelManager.CharacterPanel.transform); } for (int i = 0; i < sceneryList.Count; i++) { sceneryList[i].transform.SetParent(levelManager.SceneryPanel.transform); } aStarManager.grid.Init(); goalSprite.Off(); Reset(); }
void GridCreation() { int i = 0; int ID = 0; Grid = new GameObject[GridXHeight, GridZHeight]; LM.SetEnemeies(); for (int x = 0; x < GridXHeight; x += 1) { for (int z = 0; z < GridZHeight; z += 1) { int currentPiece = int.Parse(Level[x].Substring(z, 1)); if (Level[x].Substring(z, 1) != "0") { i++; Grid[x, z] = Instantiate(block1); Grid[x, z].transform.position = new Vector3(this.transform.position.x + x /*- (0.02f * x)*/, this.transform.position.y, this.transform.position.z + z /*- (0.02f * z)*/); Grid[x, z].transform.parent = transform.gameObject.transform; Grid[x, z].name = x.ToString("00") + z.ToString("00"); } else { Grid[x, z] = null; } if (Level[x].Substring(z, 1) == "2") { var temp = Instantiate(Columns, new Vector3(Grid[x, z].transform.position.x, Grid[x, z].transform.position.y + +(Grid[x, z].transform.lossyScale.y / 2), Grid[x, z].transform.position.z), Quaternion.identity); temp.name = "Column"; temp.transform.parent = transform; Grid[x, z].GetComponent <GridSquare>().SetAbove(true); } if (currentPiece >= 4 && currentPiece < 8) { var temp = Instantiate(Walker, new Vector3(Grid[x, z].transform.position.x, Grid[x, z].transform.position.y + (Grid[x, z].transform.lossyScale.y / 2), Grid[x, z].transform.position.z), Quaternion.identity); temp.name = "Walker"; temp.transform.parent = transform; int currentDir = currentPiece - 4; switch (currentDir) { case 0: temp.GetComponent <PathWalkerAI>().currentDir = new Vector2(1, 0); break; case 1: temp.GetComponent <PathWalkerAI>().currentDir = new Vector2(-1, 0); break; case 2: temp.GetComponent <PathWalkerAI>().currentDir = new Vector2(0, 1); break; case 3: temp.GetComponent <PathWalkerAI>().currentDir = new Vector2(0, -1); break; } IEnemy enemy = (IEnemy)temp.GetComponent(typeof(IEnemy)); enemy.SetPos(new Vector2(x, z)); enemy.SetRotation(currentDir); enemy.SetLM(GetComponent <LevelManager>()); if (temp.GetComponent <PathFinding>() != null) { temp.GetComponent <PathFinding>().CurrentGridPosition = new Vector2(x, z); } Grid[x, z].GetComponent <GridSquare>().SetAbove(true); EnemyID newID = new EnemyID(ID, temp); enemy.SetID(newID); LM.AddEnemy(newID); ID++; } if (currentPiece >= 8 && currentPiece < 12) { var temp = Instantiate(Turret, new Vector3(Grid[x, z].transform.position.x, Grid[x, z].transform.position.y + (Grid[x, z].transform.lossyScale.y / 2), Grid[x, z].transform.position.z), Quaternion.identity); temp.name = "Turret"; temp.transform.parent = transform; int currentDir = currentPiece - 4; IEnemy enemy = (IEnemy)temp.GetComponent(typeof(IEnemy)); enemy.SetPos(new Vector2(x, z)); enemy.SetRotation(currentDir); enemy.SetLM(GetComponent <LevelManager>()); if (temp.GetComponent <PathFinding>() != null) { temp.GetComponent <PathFinding>().CurrentGridPosition = new Vector2(x, z); } Grid[x, z].GetComponent <GridSquare>().SetAbove(true); EnemyID newID = new EnemyID(ID, temp); enemy.SetID(newID); LM.AddEnemy(newID); ID++; } if (currentPiece >= 12 && currentPiece < 16) { var temp = Instantiate(Sniper, new Vector3(Grid[x, z].transform.position.x, Grid[x, z].transform.position.y + (Grid[x, z].transform.lossyScale.y / 2), Grid[x, z].transform.position.z), Quaternion.identity); temp.name = "Sniper"; temp.transform.parent = transform; int currentDir = currentPiece - 4; IEnemy enemy = (IEnemy)temp.GetComponent(typeof(IEnemy)); enemy.SetPos(new Vector2(x, z)); enemy.SetRotation(currentDir); enemy.SetLM(GetComponent <LevelManager>()); if (temp.GetComponent <PathFinding>() != null) { temp.GetComponent <PathFinding>().CurrentGridPosition = new Vector2(x, z); } Grid[x, z].GetComponent <GridSquare>().SetAbove(true); EnemyID newID = new EnemyID(ID, temp); enemy.SetID(newID); LM.AddEnemy(newID); ID++; } if (Level[x].Substring(z, 1) == "3") { var temp = Instantiate(Player, new Vector3(Grid[x, z].transform.position.x, Grid[x, z].transform.position.y + 1, Grid[x, z].transform.position.z), Quaternion.identity); temp.name = "Player"; temp.transform.parent = transform; PlayerMovement player = temp.GetComponent <PlayerMovement>(); player.CurrentSquare = new Vector2(x, z); Grid[x, z].GetComponent <GridSquare>().SetAbove(true); LM.setPlayer(temp); } } } SetDestination(); }