/Scripts/Item.js

http://acid-and-base.googlecode.com/ · JavaScript · 104 lines · 83 code · 11 blank · 10 comment · 32 complexity · 7b21b6a20efaecc86bba7bdf9f1bce06 MD5 · raw file

  1. enum itemEnum { Pseudo=0, saltShaker=1 }
  2. var itemType = itemEnum.Pseudo;
  3. private var pickedUp = false;
  4. var pickedUpBy = -1;
  5. // 0 = Red // 1 = Acid // 2 = Base
  6. private var itemEnter = false;
  7. private var holding = false;
  8. var showText = false;
  9. var itemName = "";
  10. var displayText = true;
  11. function Start ()
  12. {
  13. if (collider == null)
  14. gameObject.AddComponent(MeshCollider);
  15. collider.isTrigger = true;
  16. }
  17. function Update()
  18. {
  19. // this will pick up the item.
  20. if (Input.GetKeyDown(KeyCode.E) && itemEnter && !pickedUp)
  21. {
  22. holding = gameObject.Find("Big Red").GetComponent(ItemInventory).holdingItem;
  23. pickedUpBy = gameObject.Find("Master Controller Light").GetComponent(MasterController_edit).activePlayer;
  24. if (pickedUpBy == 0 && !pickedUp && !holding)
  25. {
  26. // set up pickup condition as true.
  27. pickedUp = true;
  28. gameObject.Find("Big Red").GetComponent(ItemInventory).holdingItem = true;
  29. }
  30. }
  31. else if (pickedUp)
  32. {
  33. // this will drop the item.
  34. if (Input.GetKeyDown(KeyCode.E))
  35. {
  36. pickedUp = false;
  37. gameObject.Find("Big Red").GetComponent(ItemInventory).holdingItem = false;
  38. //transform.position.y -= 1; // TEMPORARY CODE
  39. }
  40. if (pickedUpBy == 0)
  41. {
  42. // if it is picked up, make the item float above Red
  43. transform.position = gameObject.Find("Big Red").GetComponent(Transform).position;
  44. transform.position.y += 1; // item location (Y)
  45. //transform.position.z += 0.5;
  46. }
  47. else if (pickedUpBy == 1)
  48. {
  49. // nothing, acid cannot pick up items
  50. }
  51. else if (pickedUpBy == 2)
  52. {
  53. // nothing, base cannot pick up items
  54. }
  55. }
  56. }
  57. function Reset ()
  58. {
  59. if (collider == null)
  60. gameObject.AddComponent(MeshCollider);
  61. collider.isTrigger = true;
  62. }
  63. // when something collides with this object...
  64. function OnTriggerEnter(col : Collider)
  65. {
  66. var cmtr: CharacterMotor = col.GetComponent(CharacterMotor);
  67. var properties : Properties = col.GetComponent(Properties);
  68. if(cmtr == null)
  69. return;
  70. showText = true;
  71. if(properties != null)
  72. return;
  73. itemEnter = true;
  74. }
  75. function OnTriggerExit(col : Collider)
  76. {
  77. var cmtr: CharacterMotor = col.GetComponent(CharacterMotor);
  78. var properties : Properties = col.GetComponent(Properties);
  79. if(cmtr == null)
  80. return;
  81. showText = false;
  82. if(properties != null)
  83. return;
  84. itemEnter = false;
  85. }
  86. function OnGUI()
  87. {
  88. if (showText && displayText)
  89. {
  90. GUI.Box(Rect((Screen.width/2) - 100,50,200,40),""+itemName);
  91. }
  92. }
  93. @script AddComponentMenu("Third Person Props/Item")