Button drag stuff works. Just need to set up client / server stuff
Showing
3 changed files
with
56 additions
and
0 deletions
No preview for this file type
No preview for this file type
| ... | @@ -6,18 +6,74 @@ public class MoviePlayNode : MonoBehaviour | ... | @@ -6,18 +6,74 @@ public class MoviePlayNode : MonoBehaviour |
| 6 | { | 6 | { |
| 7 | [SerializeField] | 7 | [SerializeField] |
| 8 | private Text _textNode; | 8 | private Text _textNode; |
| 9 | + [SerializeField] | ||
| 10 | + private Transform _dragTarget; | ||
| 11 | + [SerializeField] | ||
| 12 | + private float _moveSpeed; | ||
| 13 | + [SerializeField] | ||
| 14 | + private Collider2D _button; | ||
| 15 | + | ||
| 9 | private string _filename; | 16 | private string _filename; |
| 10 | private NetworkUser _netNode; | 17 | private NetworkUser _netNode; |
| 18 | + private Vector3 _initPos; | ||
| 19 | + private RectTransform _xform; | ||
| 20 | + | ||
| 21 | + private void Start() | ||
| 22 | + { | ||
| 23 | + _initPos = _button.transform.position; | ||
| 24 | + _xform = _button.transform.GetComponent<RectTransform>(); | ||
| 25 | + } | ||
| 11 | 26 | ||
| 12 | public void Initialize(string title, string filename, NetworkUser parent) | 27 | public void Initialize(string title, string filename, NetworkUser parent) |
| 13 | { | 28 | { |
| 14 | _textNode.text = title; | 29 | _textNode.text = title; |
| 15 | _filename = filename; | 30 | _filename = filename; |
| 16 | _netNode = parent; | 31 | _netNode = parent; |
| 32 | + | ||
| 33 | + gameObject.name = title; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + private bool _isDragging = false; | ||
| 37 | + | ||
| 38 | + public void Drag(UnityEngine.EventSystems.BaseEventData test) | ||
| 39 | + { | ||
| 40 | + _isDragging = true; | ||
| 41 | + iTween.Stop(_button.gameObject); | ||
| 42 | + | ||
| 43 | + var ped = (UnityEngine.EventSystems.PointerEventData)test; | ||
| 44 | + _button.transform.position += Vector3.up * ped.delta.y; | ||
| 45 | + | ||
| 46 | + if (_button.transform.position.y >= _dragTarget.position.y) | ||
| 47 | + { | ||
| 48 | + _isDragging = false; | ||
| 49 | + PlayMovie(); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + if (_button.transform.position.y > _dragTarget.position.y) | ||
| 53 | + _button.transform.position = new Vector3(_button.transform.position.x, _dragTarget.position.y, _button.transform.position.z); | ||
| 54 | + | ||
| 55 | + if (_button.transform.position.y < _initPos.y) | ||
| 56 | + _button.transform.position = new Vector3(_button.transform.position.x, _initPos.y, _button.transform.position.z); | ||
| 17 | } | 57 | } |
| 18 | 58 | ||
| 59 | + public void DragEnd() | ||
| 60 | + { | ||
| 61 | + iTween.MoveTo(_button.gameObject, iTween.Hash( | ||
| 62 | + "y", _initPos.y, | ||
| 63 | + "speed", _moveSpeed | ||
| 64 | + )); | ||
| 65 | + | ||
| 66 | + _isDragging = false; | ||
| 67 | + _canPlay = true; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + private bool _canPlay = true; | ||
| 71 | + | ||
| 19 | public void PlayMovie() | 72 | public void PlayMovie() |
| 20 | { | 73 | { |
| 74 | + if (!_canPlay || _isDragging) return; | ||
| 75 | + | ||
| 21 | _netNode.CmdLoadVideo(_filename); | 76 | _netNode.CmdLoadVideo(_filename); |
| 77 | + _canPlay = false; | ||
| 22 | } | 78 | } |
| 23 | } | 79 | } | ... | ... |
-
Please register or sign in to post a comment