Advertisement
Guest User

Untitled

a guest
Oct 20th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class Calc : MonoBehaviour
  5. {
  6. public TextMesh displayText;
  7. public GameObject[] numButtons = new GameObject[10];
  8. public GameObject[] Operators = new GameObject[4];
  9. public bool isRunning = false;
  10.  
  11. string prevNumb = "";
  12. float sum;
  13. float number;
  14. // Use this for initialization
  15. void Start()
  16. {
  17.  
  18. }
  19.  
  20. public float Calculate(float a, float b, string r)
  21. {
  22. switch (r) {
  23. case "+": return a + b;
  24. break;
  25.  
  26. case "-": return a - b;
  27. break;
  28.  
  29. case "/": return a / b;
  30. break;
  31.  
  32. case "*": return a * b;
  33. break;
  34. }
  35. return 0; // ha med denna om den gnäller på att funktionen inte returnerar något
  36. }
  37.  
  38. // Update is called once per frame
  39. void Update()
  40. {
  41. Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  42. RaycastHit hit;
  43.  
  44. if (Input.GetMouseButtonDown(0))
  45. {
  46. if (Physics.Raycast(ray, out hit, 1000))
  47. {
  48. // Turns calculator ON
  49. if (hit.transform.gameObject.name == "ON")
  50. {
  51. isRunning = true;
  52. prevNumb = "";
  53. displayText.text = "0";
  54. }
  55.  
  56. // Turns calculator OFF
  57. if (hit.transform.gameObject.name == "OFF")
  58. {
  59. isRunning = false;
  60. prevNumb = "";
  61. displayText.text = "";
  62. }
  63.  
  64. if (isRunning == true)
  65. {
  66.  
  67. // Checks if the button is a number
  68. for (int i = 0; i < numButtons.Length; i++)
  69. {
  70. if (hit.transform.gameObject == numButtons[i].gameObject)
  71. {
  72. print(prevNumb + numButtons[i]);
  73. displayText.text = prevNumb + numButtons[i].name;
  74. prevNumb += numButtons[i].name;
  75. }
  76. }
  77.  
  78. // Checks if the button is an operator
  79. for (int i = 0; i < Operators.Length; i++)
  80. {
  81. if (hit.transform.gameObject == Operators[i].gameObject)
  82. {
  83. number = float.Parse(prevNumb);
  84. prevNumb = "";
  85. sum = Calculate(sum, number, Operators[i].name);
  86. displayText.text = number.ToString();
  87. print(Operators[i]); // denna kan du ha kvar som debugtext, men ska bort sen tycker jag
  88.  
  89. }
  90.  
  91. if (hit.transform.gameObject.name == "=")
  92. {
  93. Calculate (sum, number, Operators[i].name);
  94. }
  95. }
  96. }
  97. }
  98. }
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement