// Use this for initialization void Start () { MoveDir = MovementStuff.IDLE; rightOffset = new Vector3(0.2f, 0, 0); frontOffset = new Vector3(0, 0, 0.2f); }
void CheckRay() { if (Physics.Raycast(transform.localPosition, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.forward, out hit, 0.5f)) { Debug.Log("wtf"); if (hit.collider.name == "Character") { Debug.Log("meow"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.BACKWARD; } } } } if (Physics.Raycast(transform.localPosition, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.forward, out hit, 0.5f)) { if (hit.collider.name == "Character") { Debug.Log("meow"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.FORWARD; } } } } if (Physics.Raycast(transform.localPosition, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.right, out hit, 0.5f)) { if (hit.collider.name == "Character") { Debug.Log("right"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.RIGHT; } } } } if (Physics.Raycast(transform.localPosition, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.right, out hit, 0.5f)) { if (hit.collider.name == "Character") { Debug.Log("Left"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.LEFT; } } } } }
void CheckRay() { if (Physics.Raycast(transform.localPosition, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.forward, out hit, 0.5f)) { Debug.Log("wtf"); if (hit.collider.name == "Character") { Debug.Log("meow"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.BACKWARD; } } } } if (Physics.Raycast(transform.localPosition, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.forward, out hit, 0.5f)) { if (hit.collider.name == "Character") { Debug.Log("meow"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.FORWARD; } } } } if (Physics.Raycast(transform.localPosition, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.right, out hit, 0.5f)) { if (hit.collider.name == "Character") { Debug.Log("right"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.RIGHT; } } } } if (Physics.Raycast(transform.localPosition, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.right, out hit, 0.5f)) { if (hit.collider.name == "Character") { Debug.Log("Left"); if (!move) { if (GamepadManager.buttonB) { MoveDir = MovementStuff.LEFT; } } } } }
void CheckMove() { switch (MoveDir) { case MovementStuff.FORWARD: if (Physics.Raycast(transform.localPosition, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.forward, out hit, 0.5f)) { Debug.Log("hit something"); if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(Vector3.forward / 10, Space.Self); move = true; } break; case MovementStuff.BACKWARD: if (Physics.Raycast(transform.localPosition, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.forward, out hit, 0.5f)) { Debug.Log("hit something"); if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(-Vector3.forward / 10, Space.Self); move = true; } break; case MovementStuff.LEFT: if (Physics.Raycast(transform.localPosition, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.right, out hit, 0.5f)) { if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(-Vector3.right / 10, Space.Self); move = true; } break; case MovementStuff.RIGHT: if (Physics.Raycast(transform.localPosition, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.right, out hit, 0.5f)) { if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(Vector3.right / 10, Space.Self); move = true; } break; case MovementStuff.IDLE: move = false; break; } }
// Use this for initialization void Start() { MoveDir = MovementStuff.IDLE; rightOffset = new Vector3(0.2f, 0, 0); frontOffset = new Vector3(0, 0, 0.2f); }
void CheckMove() { switch (MoveDir) { case MovementStuff.FORWARD: if (Physics.Raycast(transform.localPosition, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.forward, out hit, 0.5f)) { Debug.Log("hit something"); if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(Vector3.forward / 10, Space.Self); move = true; } break; case MovementStuff.BACKWARD: if (Physics.Raycast(transform.localPosition, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.forward, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.forward, out hit, 0.5f)) { Debug.Log("hit something"); if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(-Vector3.forward / 10, Space.Self); move = true; } break; case MovementStuff.LEFT: if (Physics.Raycast(transform.localPosition, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, -transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, -transform.right, out hit, 0.5f)) { if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(-Vector3.right / 10, Space.Self); move = true; } break; case MovementStuff.RIGHT: if (Physics.Raycast(transform.localPosition, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition + rightOffset, transform.right, out hit, 0.5f) || Physics.Raycast(transform.localPosition - rightOffset, transform.right, out hit, 0.5f)) { if (hit.collider.name != "Character") { MoveDir = MovementStuff.IDLE; } } else { gameObject.transform.Translate(Vector3.right / 10, Space.Self); move = true; } break; case MovementStuff.IDLE: move = false; break; } }