private void PlaceStairs(Map mapGenerate) { var firstPoss = mapGenerate.fullBoard.Where(x => x is Floor).Take(2); var ds = new Downstair(mapGenerate.Game, firstPoss.First().PositionCell); var us = new Upstair(mapGenerate.Game, firstPoss.Last().PositionCell); mapGenerate.fullBoard.RemoveAll <Cell>(firstPoss.Contains); mapGenerate.fullBoard.Add(ds); mapGenerate.fullBoard.Add(us); }
// Update is called once per frame void Update() { player = GameObject.FindObjectOfType <PlayerController>(); barricade1 = GameObject.Find("barricade1").GetComponent <Barricade>(); barricade2 = GameObject.Find("barricade2").GetComponent <Barricade>(); barricade3 = GameObject.Find("barricade3").GetComponent <Barricade>(); barricade4 = GameObject.Find("barricade4").GetComponent <Barricade>(); upstair = GameObject.Find("upstair").GetComponent <Upstair>(); downstair = GameObject.Find("downstair").GetComponent <Downstair>(); if (player.transform.position.y > transform.position.y + 2f) { playerIsUpperThanEnemy = 1; } else if (player.transform.position.y + 2f < transform.position.y) { playerIsUpperThanEnemy = 2; } else { playerIsUpperThanEnemy = 0; } if (breaking == false) { if (playerIsUpperThanEnemy == 0 && player.transform.position.x > transform.position.x) { myRigidbody.velocity = new Vector3(activeMoveSpeed, myRigidbody.velocity.y, 0f); transform.localScale = new Vector3(1f, 1f, 1f); if (enemy == 2) { actzombie_range(); } } else if (playerIsUpperThanEnemy == 0 && player.transform.position.x < transform.position.x) { myRigidbody.velocity = new Vector3(-activeMoveSpeed, myRigidbody.velocity.y, 0f); transform.localScale = new Vector3(-1f, 1f, 1f); if (enemy == 2) { actzombie_range(); } } else if (playerIsUpperThanEnemy == 1 && upstair.transform.position.x > transform.position.x) { myRigidbody.velocity = new Vector3(activeMoveSpeed, myRigidbody.velocity.y, 0f); transform.localScale = new Vector3(1f, 1f, 1f); if (enemy == 2) { actzombie_range(); } } else if (playerIsUpperThanEnemy == 1 && upstair.transform.position.x < transform.position.x) { myRigidbody.velocity = new Vector3(-activeMoveSpeed, myRigidbody.velocity.y, 0f); transform.localScale = new Vector3(-1f, 1f, 1f); if (enemy == 2) { actzombie_range(); } } else if (playerIsUpperThanEnemy == 2 && downstair.transform.position.x > transform.position.x) { myRigidbody.velocity = new Vector3(activeMoveSpeed, myRigidbody.velocity.y, 0f); transform.localScale = new Vector3(1f, 1f, 1f); if (enemy == 2) { actzombie_range(); } } else if (playerIsUpperThanEnemy == 2 && downstair.transform.position.x < transform.position.x) { myRigidbody.velocity = new Vector3(-activeMoveSpeed, myRigidbody.velocity.y, 0f); transform.localScale = new Vector3(-1f, 1f, 1f); if (enemy == 2) { actzombie_range(); } } } if (hp <= 0) { //myAnim.SetBool("die", true); Destroy(gameObject); } if (this.myAnim.GetCurrentAnimatorStateInfo(0).IsName("Zombie_die")) { Destroy(gameObject); } hitTimer += Time.deltaTime; if (hitTimer > 0.01f) { canHit = true; } }