/Scripts/AntRide.js

http://acid-and-base.googlecode.com/ · JavaScript · 62 lines · 47 code · 15 blank · 0 comment · 9 complexity · 9d9c9cfe661bc64cdabcfe9001e592a5 MD5 · raw file

  1. var inRange = false;
  2. var carried = false;
  3. function Update()
  4. {
  5. var ant = gameObject.Find("Happy Ant");
  6. var bred = gameObject.Find("Big Red");
  7. if(Input.GetKeyDown(KeyCode.E) && inRange){ // Hop on the ant
  8. Debug.Log("In range and E hit!");
  9. bred.GetComponent(CharacterMotor).enabled = false; // disable movement
  10. ant.GetComponent(Animation).enabled = true;
  11. ant.GetComponent(Animation).wrapMode = WrapMode.Once;
  12. ant.GetComponent(Animation).Play();
  13. carried = true;
  14. }
  15. if(carried){
  16. bred.GetComponent(Transform).rotation = gameObject.Find("Ant").GetComponent(Transform).rotation;
  17. bred.GetComponent(Transform).position = gameObject.Find("Happy Ant").GetComponent(Transform).position;
  18. bred.GetComponent(Transform).position.y += 1; // place big red on top of the ant
  19. }
  20. if(!ant.GetComponent(Animation).isPlaying){ // ant ride is over
  21. bred.GetComponent(CharacterMotor).enabled = true;
  22. ant.GetComponent(Animation).Rewind();
  23. ant.GetComponent(Animation).enabled = false;
  24. carried = false;
  25. }
  26. if(carried && Input.GetKeyDown(KeyCode.V)){ // Get off the Ant
  27. bred.GetComponent(CharacterMotor).enabled = true;
  28. ant.GetComponent(Animation).Rewind();
  29. ant.GetComponent(Animation).enabled = false;
  30. carried = false;
  31. }
  32. }
  33. function Reset ()
  34. {
  35. if (collider == null)
  36. gameObject.AddComponent(MeshCollider);
  37. collider.isTrigger = true;
  38. }
  39. function OnTriggerEnter(col : Collider) {
  40. if(col.GetComponent(CharacterController)){
  41. Debug.Log("Ant hit!");
  42. inRange = true;
  43. }
  44. }
  45. function OnTriggerExit(col : Collider){
  46. inRange = false;
  47. }