MoviePlayNode.cs
2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class MoviePlayNode : MonoBehaviour
{
[SerializeField]
private Text _textNode;
[SerializeField]
private Transform _dragTarget;
[SerializeField]
private float _moveSpeed;
[SerializeField]
private Collider2D _button;
private string _filename;
private NetworkUser _netNode;
private Vector3 _initPos;
private RectTransform _xform;
private void Start()
{
_initPos = _button.transform.position;
_xform = _button.transform.GetComponent<RectTransform>();
}
public void Initialize(string title, string filename, NetworkUser parent)
{
_textNode.text = title;
_filename = filename;
_netNode = parent;
gameObject.name = title;
}
private bool _isDragging = false;
public void Drag(UnityEngine.EventSystems.BaseEventData test)
{
_isDragging = true;
iTween.Stop(_button.gameObject);
var ped = (UnityEngine.EventSystems.PointerEventData)test;
_button.transform.position += Vector3.up * ped.delta.y;
if (_button.transform.position.y >= _dragTarget.position.y)
{
_isDragging = false;
PlayMovie();
}
if (_button.transform.position.y > _dragTarget.position.y)
_button.transform.position = new Vector3(_button.transform.position.x, _dragTarget.position.y, _button.transform.position.z);
if (_button.transform.position.y < _initPos.y)
_button.transform.position = new Vector3(_button.transform.position.x, _initPos.y, _button.transform.position.z);
}
public void DragEnd()
{
iTween.MoveTo(_button.gameObject, iTween.Hash(
"y", _initPos.y,
"speed", _moveSpeed
));
_isDragging = false;
_canPlay = true;
}
private bool _canPlay = true;
public void PlayMovie()
{
if (!_canPlay || _isDragging) return;
_netNode.CmdLoadVideo(_filename);
_canPlay = false;
}
}