Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*\
- | |
- | Made by Jason Helman © Jason Tech And Games |
- | I do not condone the use of my work without my permission |
- | |
- \*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- using UnityEngine;
- public class MovementController : MonoBehaviour
- {
- public GameObject player;
- // public GameObject scriptHolder;
- // public static bool[,] playerBoard;
- public Vector2Int currentPlayerPos = new Vector2Int(0, 0);
- private LevelController levelController;
- private Vector2Int playerMovement = new Vector2Int(0, 0);
- private bool playerPosChanged = false;
- void Start()
- {
- levelController = GetComponent<LevelController>(); // this is going on the scriptHolder so doesn't need anything (it is technically a this.* etc)
- }
- void Update ()
- {
- playerMovement.x -= Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.LeftArrow) ? 1 : 0;
- playerMovement.x += Input.GetKeyDown(KeyCode.D) || Input.GetKeyDown(KeyCode.RightArrow) ? 1 : 0;
- playerMovement.y -= Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.UpArrow) ? 1 : 0;
- playerMovement.y += Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.DownArrow) ? 1 : 0;
- if (playerMovement.x != 0)
- if (currentPlayerPos.x + playerMovement.x >= 0 && currentPlayerPos.x + playerMovement.x < levelController.board.GetLength(0))
- {
- currentPlayerPos.x += playerMovement.x;
- playerPosChanged = true;
- }
- if (playerMovement.y != 0)
- if (currentPlayerPos.y + playerMovement.y >= 0 && currentPlayerPos.y + playerMovement.y < levelController.board.GetLength(1))
- {
- currentPlayerPos.y += playerMovement.y;
- playerPosChanged = true;
- }
- if (playerPosChanged)
- {
- playerMovement.x = 0;
- playerMovement.y = 0;
- player.transform.position = levelController.board[currentPlayerPos.x, currentPlayerPos.y].transform.position;
- }
- }
- public void CreatePlayerBoard(int length, int width)
- {
- // playerBoard = new bool[length, width];
- currentPlayerPos = new Vector2Int(length / 2 - (length % 2 == 0 ? 1 : 0), width / 2 - (width % 2 == 0 ? 1 : 0));
- player.transform.position = levelController.board[currentPlayerPos.x, currentPlayerPos.y].transform.position;
- // playerBoard[length / 2, width / 2] = true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement