void Start() { m_playerScript = m_player.GetComponent <PlayerScript>(); m_frontScript = m_frontSprite.GetComponent <SpriteScript>(); m_backScript = m_backSprite.GetComponent <SpriteScript>(); m_rightScript = m_rightSprite.GetComponent <SpriteScript>(); m_leftScript = m_leftSprite.GetComponent <SpriteScript>(); m_lastState = m_playerScript.m_state; m_frontScript.PlayNext(SpriteScript.Sprite.FrontIdle, false); m_backScript.PlayNext(SpriteScript.Sprite.SideBackIdle, false); m_rightScript.PlayNext(SpriteScript.Sprite.SideFrontIdle, false); m_leftScript.PlayNext(SpriteScript.Sprite.SideBackIdle, false); }
void moveFromList() { if (Input.GetMouseButtonDown(0)) { Ray ray = cam.ScreenPointToRay(Input.mousePosition); RaycastHit hit; Physics.Raycast(ray, out hit); Vector3 Temppoint = new Vector3(hit.point.x, agent.transform.position.y, hit.point.z); //İf Click is out of walkable surface bounds do not add to list //Add position check for size bounds on walkable obj because of Nav mesh's Bake Area if (hit.collider != null && hit.collider.tag == "Enemy") { Vector3 closestPoint = hit.collider.ClosestPoint(GameObject.Find("Agent").GetComponent <Transform>().position); closestPoint.y = GameObject.Find("Agent").GetComponent <Transform>().position.y; Temppoint = closestPoint; Destroy(hit.collider.gameObject); } if (!(Temppoint.x == 0 || Temppoint.z == 0)) { vektor3list.Add(Temppoint); } } if (Input.GetKeyDown(KeyCode.E)) { //Error(Index was out of range) if list is empty if (vektor3list.Count > 0) { AgentState = PlayerScript.State.Play; } } switch (AgentState) { case PlayerScript.State.Check: if (vektor3list.Count == 0) { //When all items deleted From the Vector List Go back to start AgentState = PlayerScript.State.Stop; } else { AgentState = PlayerScript.State.Play; } break; case PlayerScript.State.Dec: //Remove The Vector that char. moved AgentState = PlayerScript.State.Check; vektor3list.RemoveAt(0); break; case PlayerScript.State.Play: //if not reached set dest. if (agent.transform.position != vektor3list[0]) { agent.destination = vektor3list[0]; } // if reached check and delete if (agent.transform.position == vektor3list[0]) { AgentState = PlayerScript.State.Dec; } break; } }
void Start() { AgentState = PlayerScript.State.Stop; SwichFlag = true;//Move Mode }
void UpdateState() { switch (m_playerScript.m_state) { case PlayerScript.State.Idle: { m_frontScript.PlayNext(SpriteScript.Sprite.FrontIdle, false); m_backScript.PlayNext(SpriteScript.Sprite.SideBackIdle, false); if (m_lastState == PlayerScript.State.Right) { m_rightScript.PlayNext(SpriteScript.Sprite.SideFrontIdle, false); m_leftScript.PlayNext(SpriteScript.Sprite.SideBackIdle, false); } if (m_lastState == PlayerScript.State.Left) { m_rightScript.PlayNext(SpriteScript.Sprite.SideBackIdle, false); m_leftScript.PlayNext(SpriteScript.Sprite.SideFrontIdle, false); } break; } case PlayerScript.State.Right: { if (m_playerScript.m_speedBoost != 0f) { m_frontScript.PlayNext(SpriteScript.Sprite.FrontRunEscape); m_backScript.PlayNext(SpriteScript.Sprite.FrontRunEscape); } else { m_frontScript.PlayNext(SpriteScript.Sprite.FrontRun); m_backScript.PlayNext(SpriteScript.Sprite.FrontRun); } m_rightScript.PlayNext(SpriteScript.Sprite.SideFrontRun); m_leftScript.PlayNext(SpriteScript.Sprite.SideBackRun); m_frontScript.ReverseSprite(false); m_backScript.ReverseSprite(true); m_rightScript.ReverseSprite(false); m_leftScript.ReverseSprite(false); m_lastState = PlayerScript.State.Right; break; } case PlayerScript.State.Left: { if (m_playerScript.m_speedBoost != 0f) { m_frontScript.PlayNext(SpriteScript.Sprite.FrontRunEscape); m_backScript.PlayNext(SpriteScript.Sprite.FrontRunEscape); } else { m_frontScript.PlayNext(SpriteScript.Sprite.FrontRun); m_backScript.PlayNext(SpriteScript.Sprite.FrontRun); } m_rightScript.PlayNext(SpriteScript.Sprite.SideBackRun); m_leftScript.PlayNext(SpriteScript.Sprite.SideFrontRun); m_frontScript.ReverseSprite(true); m_backScript.ReverseSprite(false); m_rightScript.ReverseSprite(true); m_leftScript.ReverseSprite(true); m_lastState = PlayerScript.State.Left; break; } case PlayerScript.State.Jump: { m_frontScript.PlayNext(SpriteScript.Sprite.FrontDash, true); m_backScript.PlayNext(SpriteScript.Sprite.BackDash, true); m_rightScript.PlayNext(SpriteScript.Sprite.SideDash, true); m_leftScript.PlayNext(SpriteScript.Sprite.SideDash, true); m_frontScript.ReverseSprite(false); m_backScript.ReverseSprite(false); m_rightScript.ReverseSprite(true); m_leftScript.ReverseSprite(false); break; } case PlayerScript.State.Stun: { m_frontScript.PlayNext(SpriteScript.Sprite.FrontFall, false); m_backScript.PlayNext(SpriteScript.Sprite.SideBackFall, false); if (m_lastState == PlayerScript.State.Right) { m_rightScript.PlayNext(SpriteScript.Sprite.SideBackFall, false); m_leftScript.PlayNext(SpriteScript.Sprite.FrontFall, false); } else { m_rightScript.PlayNext(SpriteScript.Sprite.FrontFall, false); m_leftScript.PlayNext(SpriteScript.Sprite.SideBackFall, false); } break; } } }