Tile.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using Cinemachine;
  4. using UnityEngine;
  5. using UnityEngine.EventSystems;
  6. using UnityEngine.UI;
  7. public class Tile : MonoBehaviour, IDropHandler {
  8. [SerializeField] Color baseColor, offsetColor;
  9. [SerializeField] GameObject hilight;
  10. public void Init(bool isOffset) {
  11. GetComponent<SpriteRenderer>().color = isOffset ? offsetColor : baseColor;
  12. }
  13. private void OnMouseExit() {
  14. hilight.SetActive(false);
  15. }
  16. private void OnMouseEnter() {
  17. hilight.SetActive(true);
  18. }
  19. private void OnMouseOver() {
  20. if (Input.GetMouseButtonUp(0)) {
  21. CinemachineVirtualCamera vcam = GameManagerScript.getInstance().getActiveCamera().GetComponent<CinemachineVirtualCamera>();
  22. vcam.Follow = transform;
  23. } else if (Input.GetMouseButtonUp(1)) {
  24. CinemachineVirtualCamera vcam = GameManagerScript.getInstance().getActiveCamera().GetComponent<CinemachineVirtualCamera>();
  25. vcam.Follow = GameManagerScript.getInstance().getGridTargetGroup().transform;
  26. }
  27. }
  28. public void OnDrop(PointerEventData eventData) {
  29. Debug.Log("OnDrop Called");
  30. if (eventData.pointerDrag != null) {
  31. eventData.pointerDrag.GetComponent<RectTransform>().anchoredPosition = GetComponent<RectTransform>().anchoredPosition;
  32. }
  33. }
  34. }