Advertisement
JJCUBER

Untitled

Dec 29th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.67 KB | None | 0 0
  1. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*\
  2. |                                                               |
  3. |          Made by Jason Helman © Jason Tech And Games          |
  4. |   I do not condone the use of my work without my permission   |
  5. |                                                               |
  6. \*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  7.  
  8. using UnityEngine;
  9.  
  10. public class MovementController : MonoBehaviour
  11. {
  12.     public GameObject player;
  13.     // public GameObject scriptHolder;
  14.     // public static bool[,] playerBoard;
  15.     public Vector2Int currentPlayerPos = new Vector2Int(0, 0);
  16.  
  17.     private LevelController levelController;
  18.     private Vector2Int playerMovement = new Vector2Int(0, 0);
  19.     private bool playerPosChanged = false;
  20.  
  21.     void Start()
  22.     {
  23.         levelController = GetComponent<LevelController>(); // this is going on the scriptHolder so doesn't need anything (it is technically a this.* etc)
  24.     }
  25.  
  26.     void Update ()
  27.     {
  28.         playerMovement.x -= Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.LeftArrow) ? 1 : 0;
  29.         playerMovement.x += Input.GetKeyDown(KeyCode.D) || Input.GetKeyDown(KeyCode.RightArrow) ? 1 : 0;
  30.         playerMovement.y -= Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.UpArrow) ? 1 : 0;
  31.         playerMovement.y += Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.DownArrow) ? 1 : 0;
  32.  
  33.         if (playerMovement.x != 0)
  34.             if (currentPlayerPos.x + playerMovement.x >= 0 && currentPlayerPos.x + playerMovement.x < levelController.board.GetLength(0))
  35.             {
  36.                 currentPlayerPos.x += playerMovement.x;
  37.                 playerPosChanged = true;
  38.             }
  39.         if (playerMovement.y != 0)
  40.             if (currentPlayerPos.y + playerMovement.y >= 0 && currentPlayerPos.y + playerMovement.y < levelController.board.GetLength(1))
  41.             {
  42.                 currentPlayerPos.y += playerMovement.y;
  43.                 playerPosChanged = true;
  44.             }
  45.         if (playerPosChanged)
  46.         {
  47.             playerMovement.x = 0;
  48.             playerMovement.y = 0;
  49.             player.transform.position = levelController.board[currentPlayerPos.x, currentPlayerPos.y].transform.position;
  50.         }
  51.  
  52.     }
  53.  
  54.     public void CreatePlayerBoard(int length, int width)
  55.     {
  56.         // playerBoard = new bool[length, width];
  57.         currentPlayerPos = new Vector2Int(length / 2 - (length % 2 == 0 ? 1 : 0), width / 2 - (width % 2 == 0 ? 1 : 0));
  58.         player.transform.position = levelController.board[currentPlayerPos.x, currentPlayerPos.y].transform.position;
  59.         // playerBoard[length / 2, width / 2] = true;
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement