| 1234567891011121314151617181920212223242526272829303132333435 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Tilemaps;
- public class GridController : MonoBehaviour {
- [SerializeField] Tilemap highlightMap = null;
- [SerializeField] TileBase hilightTile = null;
- private IAction hilightAction;
- public IAction HilightAction { get => hilightAction; set => hilightAction = value; }
- // Update is called once per frame
- void Update() {
- if (Input.GetMouseButtonDown(0) && hilightAction != null && hilightAction.GetHilightEnabled()) {
- Vector3Int clickedPos = GetMousePosition();
- highlightMap.SetTile(clickedPos, hilightTile);
- // TODO needs better handling.. Should be in MoveAction???
- YesNoDilougueUI.Instance.ShowDialog("Are you sure you want to move here?",
- () => { Debug.Log("YES PRESSED"); /* Confirm the move and paint the path to take. */},
- () => { Debug.Log("NO PRESSED"); highlightMap.SetTile(clickedPos, null); });
- }
- }
- Vector3Int GetMousePosition() {
- Vector3 mousePos = Input.mousePosition;
- mousePos.z = -Camera.main.transform.position.z;
- Vector3 worldPoint = Camera.main.ScreenToWorldPoint(mousePos);
- return GameManagerScript.GetInstance().TileMap.WorldToCell(worldPoint);
- }
- }
|