void Start() { foreach (Transform thisWall in wallContainer) { TheWall newWall = new TheWall(); newWall.HP = maxWallHP; newWall.wall = thisWall.gameObject; thisWall.name = "Wall " + wallLabel; WallDict.Add("Wall " + wallLabel++, newWall); } ListenFor("onZombieHitWall"); }
void onZombieHitWall(Notification n) { GameObject wall = (GameObject)n.data["Wall"]; TheWall selectWall = WallDict[wall.name]; Debug.Log(selectWall.HP); if (selectWall.HP < 1) { WallDict.Remove(wall.name); //Destroy (selectWall.wall); } else { selectWall.HP--; } }
private void Awake() { Instance = this; }
/// <summary> /// Draw maze, player, trail, and exit /// </summary> private void Draw() { Bitmap bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height); Graphics graphics = Graphics.FromImage(bitmap); graphics.FillRectangle(Brushes.Gray, 0, 0, pictureBox1.Width, pictureBox1.Height); Image image; Image image2; image = Image.FromFile("images/exitSquare.png"); image2 = Image.FromFile("images/playerSquare.png"); SizeF sizeCell = new SizeF((float)pictureBox1.Width / sizeMatrix, (float)pictureBox1.Height / sizeMatrix); //map out maze with class function //draw edge walls //draw top TheWall.BuildVerticalWall(matrix, sizeMatrix, 0, 0); //draw bottom TheWall.BuildVerticalWall(matrix, sizeMatrix, 9, 0); //draw left TheWall.BuildHorizontalWall(matrix, sizeMatrix, 0, 0); //draw right TheWall.BuildHorizontalWall(matrix, sizeMatrix, 9, 0); //draw vertical walls TheWall.BuildVerticalWall(matrix, sizeMatrix / 2, 7, 2); TheWall.BuildVerticalWall(matrix, sizeMatrix / 2, 5, 2); TheWall.BuildHorizontalWall(matrix, sizeMatrix - 6, 5, 2); TheWall.BuildHorizontalWall(matrix, sizeMatrix - 6, 3, 2); TheWall.BuildHorizontalWall(matrix, sizeMatrix - 6, 2, 2); TheWall.BuildHorizontalWall(matrix, sizeMatrix - 6, 7, 2); //draw horizontal walls TheWall.BuildHorizontalWall(matrix, sizeMatrix - 1, 7, 5); TheWall.BuildHorizontalWall(matrix, sizeMatrix - 2, 5, 5); //draw 2d array for (int i = 0; i < sizeMatrix; i++) { for (int j = 0; j < sizeMatrix; j++) { //fill grid with boxes if (matrix[i, j] == 0) { graphics.FillRectangle(Brushes.White, i * sizeCell.Width + 1, j * sizeCell.Height + 1, sizeCell.Width - 2, sizeCell.Height - 2); } //draw exit else if (matrix[i, j] == (int)MatrixObject.Exit) { graphics.DrawImage(image, i * sizeCell.Width + 1, j * sizeCell.Height + 1, sizeCell.Width - 2, sizeCell.Height - 2); } //draw player else if (matrix[i, j] == 1) { graphics.DrawImage(image2, i * sizeCell.Width + 1, j * sizeCell.Height + 1, sizeCell.Width - 2, sizeCell.Height - 2); } //draw wall else if (matrix[i, j] == 3) { graphics.FillRectangle(Brushes.Black, i * sizeCell.Width + 1, j * sizeCell.Height + 1, sizeCell.Width - 2, sizeCell.Height - 2); } //draw trail else { graphics.FillRectangle(Brushes.Blue, i * sizeCell.Width + 1, j * sizeCell.Height + 1, sizeCell.Width - 2, sizeCell.Height - 2); } } } //display game pictureBox1.Image = bitmap; }