Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.54 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class Player_Pos : MonoBehaviour {
  6. public GameObject Pawn;
  7. public GameObject Cube;
  8. public GameObject Ind1;
  9. public GameObject Ind2;
  10. float x_value;
  11. float y_value;
  12. float z_value;
  13. float rot_cube = 90f;
  14. float x_rot_value;
  15. float y_rot_value;
  16. float z_rot_value;
  17. const float unit = 0.0225f;
  18. const float unit_otherstuff = 0.225f;
  19. float PawnChangeLocation;
  20. float PawnStrikeAnim;
  21. float PawnOriginalScale;
  22. int PawnFrames;
  23. private Queue<IEnumerator> ButtonPressesOrder = new Queue<IEnumerator>();
  24. private bool SthInQueue = false;
  25. private bool Stop = false;
  26. int maze_number;
  27. Vector3 PawnNewX;
  28. Vector3 PawnNewNX;
  29. Vector3 PawnNewY;
  30. Vector3 PawnNewNY;
  31. Vector3 PawnNewZ;
  32. Vector3 PawnNewNZ;
  33. public Vector3 Destination;
  34. public KMSelectable Forward;
  35. public KMSelectable Backward;
  36. public KMSelectable Right;
  37. public KMSelectable Left;
  38. public KMSelectable Up;
  39. public KMSelectable Down;
  40.  
  41.  
  42. Vector3 PawnLast;
  43. // Use this for initialization
  44. void Start () {
  45.  
  46. readPawn();
  47. maze_number = Random.Range(1, 5);
  48. Debug.Log("You're on Maze ");
  49. if (maze_number == 1)
  50. {
  51. Ind1.transform.localPosition = new Vector3(Ind1.transform.localPosition.x + (2 * unit_otherstuff), Ind1.transform.localPosition.y - (3 * unit_otherstuff), Ind1.transform.localPosition.z + (4 * unit_otherstuff));
  52. Ind2.transform.localPosition = new Vector3(Ind2.transform.localPosition.x + (3 * unit_otherstuff), Ind2.transform.localPosition.y - (4 * unit_otherstuff), Ind2.transform.localPosition.z + (1 * unit_otherstuff));
  53.  
  54. }
  55. else if (maze_number == 2)
  56. {
  57. Ind1.transform.localPosition = new Vector3(Ind1.transform.localPosition.x + (3 * unit_otherstuff), Ind1.transform.localPosition.y - (4 * unit_otherstuff), Ind1.transform.localPosition.z + (1 * unit_otherstuff));
  58. Ind2.transform.localPosition = new Vector3(Ind2.transform.localPosition.x + (1 * unit_otherstuff), Ind2.transform.localPosition.y - (2 * unit_otherstuff), Ind2.transform.localPosition.z + (3 * unit_otherstuff));
  59. }
  60. else if (maze_number == 3)
  61. {
  62. Ind1.transform.localPosition = new Vector3(Ind1.transform.localPosition.x + (4 * unit_otherstuff), Ind1.transform.localPosition.y - (2 * unit_otherstuff), Ind1.transform.localPosition.z + (3 * unit_otherstuff));
  63. Ind2.transform.localPosition = new Vector3(Ind2.transform.localPosition.x + (1 * unit_otherstuff), Ind2.transform.localPosition.y - (5 * unit_otherstuff), Ind2.transform.localPosition.z + (3 * unit_otherstuff));
  64. }
  65. else if (maze_number == 4)
  66. {
  67. Ind1.transform.localPosition = new Vector3(Ind1.transform.localPosition.x + (2 * unit_otherstuff), Ind1.transform.localPosition.y - (2 * unit_otherstuff), Ind1.transform.localPosition.z + (4 * unit_otherstuff));
  68. Ind2.transform.localPosition = new Vector3(Ind2.transform.localPosition.x + (1 * unit_otherstuff), Ind2.transform.localPosition.y - (3 * unit_otherstuff), Ind2.transform.localPosition.z + (4 * unit_otherstuff));
  69. }
  70. else
  71. {
  72. Ind1.transform.localPosition = new Vector3(Ind1.transform.localPosition.x + (1 * unit_otherstuff), Ind1.transform.localPosition.y - (2 * unit_otherstuff), Ind1.transform.localPosition.z + (3 * unit_otherstuff));
  73. Ind2.transform.localPosition = new Vector3(Ind2.transform.localPosition.x + (2 * unit_otherstuff), Ind2.transform.localPosition.y - (4 * unit_otherstuff), Ind2.transform.localPosition.z + (4 * unit_otherstuff));
  74. }
  75.  
  76. x_value = Pawn.transform.localPosition.x + ((unit * Random.Range(1, 5)) - unit);
  77. y_value = Pawn.transform.localPosition.y - (unit * Random.Range(1, 5)) + unit;
  78. z_value = Pawn.transform.localPosition.z + (unit * Random.Range(1, 5)) - unit;
  79.  
  80.  
  81. x_rot_value = (Random.Range(0, 4) * rot_cube);
  82. y_rot_value = (Random.Range(0, 4) * rot_cube);
  83. z_rot_value = (Random.Range(0, 4) * rot_cube);
  84. Pawn.transform.localPosition = new Vector3(x_value, y_value, z_value);
  85. Cube.transform.eulerAngles = new Vector3(x_rot_value,y_rot_value,z_rot_value);
  86. Forward.OnInteract += delegate () { ButtonPressesOrder.Enqueue(MoveForward()); return false; };
  87. Backward.OnInteract += delegate () { ButtonPressesOrder.Enqueue(MoveBackward()); return false; };
  88. Left.OnInteract += delegate () { ButtonPressesOrder.Enqueue(MoveLeft()); return false; };
  89. Right.OnInteract += delegate () { ButtonPressesOrder.Enqueue(MoveRight()); return false; };
  90. Up.OnInteract += delegate () { ButtonPressesOrder.Enqueue(MoveUp()); return false; };
  91. Down.OnInteract += delegate () { ButtonPressesOrder.Enqueue(MoveDown()); return false; };
  92. }
  93.  
  94. // Update is called once per frame
  95. void Update () {
  96.  
  97. if (!SthInQueue && ButtonPressesOrder.Count>0)
  98. {
  99. IEnumerator Task = ButtonPressesOrder.Dequeue();
  100. SthInQueue = true;
  101. StartCoroutine(Task);
  102.  
  103.  
  104. }
  105.  
  106.  
  107. }
  108. IEnumerator MoveForward()
  109. {
  110. readPawn();
  111. if (!(Pawn.transform.localPosition.y <= 0.0265f))
  112. {
  113. while (!(Pawn.transform.localPosition == PawnNewY) && !(Stop))
  114. {
  115.  
  116. yield return null;
  117. PawnChangeLocation = Pawn.transform.localPosition.y - (0.05f * unit);
  118. Pawn.transform.localPosition = new Vector3(Pawn.transform.localPosition.x, PawnChangeLocation, Pawn.transform.localPosition.z);
  119. }
  120. Debug.Log("Go Forward");
  121. }
  122. else
  123. {
  124. GetComponent<KMBombModule>().HandleStrike();
  125. }
  126. SthInQueue = false;
  127.  
  128. }
  129. IEnumerator MoveBackward()
  130. {
  131. readPawn();
  132. if(!(Pawn.transform.localPosition.y >= 0.1165f))
  133. {
  134. while (!(Pawn.transform.localPosition == PawnNewNY) && !(Stop))
  135. {
  136. yield return null;
  137. PawnChangeLocation = Pawn.transform.localPosition.y + (0.05f * unit);
  138. Pawn.transform.localPosition = new Vector3(Pawn.transform.localPosition.x, PawnChangeLocation, Pawn.transform.localPosition.z);
  139. }
  140. Debug.Log("Go Backward");
  141. }
  142. else
  143. {
  144. GetComponent<KMBombModule>().HandleStrike();
  145.  
  146. }
  147. SthInQueue = false;
  148.  
  149. }
  150. IEnumerator MoveUp()
  151. {
  152. readPawn();
  153. if (!(Pawn.transform.localPosition.z >= 0.0698f))
  154. {
  155. while (!(Pawn.transform.localPosition == PawnNewZ) && !(Stop))
  156. {
  157. yield return null;
  158. PawnChangeLocation = Pawn.transform.localPosition.z + (0.05f * unit);
  159. Pawn.transform.localPosition = new Vector3(Pawn.transform.localPosition.x, Pawn.transform.localPosition.y, PawnChangeLocation);
  160. }
  161. Debug.Log("Go Up");
  162. }
  163. else
  164. {
  165. GetComponent<KMBombModule>().HandleStrike();
  166. }
  167. SthInQueue = false;
  168. }
  169. IEnumerator MoveDown()
  170. {
  171.  
  172. readPawn();
  173. if (!(Pawn.transform.localPosition.z <= -0.0202f))
  174. {
  175. while (!(Pawn.transform.localPosition == PawnNewNZ) && !(Stop))
  176. {
  177.  
  178. yield return null;
  179. PawnChangeLocation = Pawn.transform.localPosition.z - (0.05f * unit);
  180. Pawn.transform.localPosition = new Vector3(Pawn.transform.localPosition.x, Pawn.transform.localPosition.y, PawnChangeLocation);
  181. }
  182. Debug.Log("Go Down");
  183. }
  184. else
  185. {
  186. GetComponent<KMBombModule>().HandleStrike();
  187. }
  188. SthInQueue = false;
  189. }
  190. IEnumerator MoveLeft()
  191. {
  192. readPawn();
  193. if (!(Pawn.transform.localPosition.x <= -0.0662f))
  194. {
  195. while (!(Pawn.transform.localPosition == PawnNewNX) && !(Stop))
  196. {
  197. yield return null;
  198. PawnChangeLocation = Pawn.transform.localPosition.x - (0.05f * unit);
  199. Pawn.transform.localPosition = new Vector3(PawnChangeLocation, Pawn.transform.localPosition.y, Pawn.transform.localPosition.z);
  200. }
  201. Debug.Log("Go Left");
  202. }
  203. else
  204. {
  205. GetComponent<KMBombModule>().HandleStrike();
  206.  
  207. }
  208. SthInQueue = false;
  209. }
  210. IEnumerator MoveRight()
  211. {
  212. readPawn();
  213. if (!(Pawn.transform.localPosition.x >= 0.0238f))
  214. {
  215. while (!(Pawn.transform.localPosition == PawnNewX) && !(Stop))
  216. {
  217. yield return null;
  218. PawnChangeLocation = Pawn.transform.localPosition.x + (0.05f * unit);
  219. Pawn.transform.localPosition = new Vector3(PawnChangeLocation, Pawn.transform.localPosition.y, Pawn.transform.localPosition.z);
  220. }
  221. Debug.Log("Go Right");
  222. }
  223. else
  224. {
  225. GetComponent<KMBombModule>().HandleStrike();
  226. }
  227. SthInQueue = false;
  228. }
  229. void readPawn()
  230. {
  231. PawnLast = Pawn.transform.localPosition;
  232. PawnNewX = new Vector3(Pawn.transform.localPosition.x + unit, Pawn.transform.localPosition.y, Pawn.transform.localPosition.z);
  233. PawnNewNX = new Vector3(Pawn.transform.localPosition.x - unit, Pawn.transform.localPosition.y, Pawn.transform.localPosition.z);
  234. PawnNewY = new Vector3(Pawn.transform.localPosition.x, Pawn.transform.localPosition.y - unit, Pawn.transform.localPosition.z);
  235. PawnNewNY = new Vector3(Pawn.transform.localPosition.x, Pawn.transform.localPosition.y + unit, Pawn.transform.localPosition.z);
  236. PawnNewZ = new Vector3(Pawn.transform.localPosition.x, Pawn.transform.localPosition.y, Pawn.transform.localPosition.z + unit);
  237. PawnNewNZ = new Vector3(Pawn.transform.localPosition.x, Pawn.transform.localPosition.y, Pawn.transform.localPosition.z - unit);
  238. }
  239. private void OnTriggerEnter(Collider other)
  240. {
  241. if (other.tag == "Wall")
  242. {
  243. Stop = true;
  244. Debug.Log("You hit a wall");
  245. HandleStrike();
  246. }
  247. }
  248.  
  249. private void HandleStrike()
  250. {
  251. GetComponent<KMBombModule>().HandleStrike();
  252. Pawn.transform.position = PawnLast;
  253. }
  254.  
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement