-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCircle.cs
64 lines (51 loc) · 1.39 KB
/
Circle.cs
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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/*
* Basic drag-and-drop script.
* Can be instantiated by CircleSpawner
*/
public class Circle : MonoBehaviour
{
private float distX;
private float distY;
private bool isHeld = false;
// Update is called once per frame
void Update()
{
if (isHeld)
{
drag();
}
}
private void OnMouseDown()
{
Vector3 mousePos;
mousePos = Input.mousePosition;
mousePos = Camera.main.ScreenToWorldPoint(mousePos);
distX = mousePos.x - this.transform.localPosition.x;
distY = mousePos.y - this.transform.localPosition.y;
isHeld = true;
}
private void OnMouseUp()
{
isHeld = false;
}
private void drag()
{
Vector3 mousePos;
mousePos = Input.mousePosition;
mousePos = Camera.main.ScreenToWorldPoint(mousePos);
this.gameObject.transform.localPosition = new Vector3(mousePos.x - distX, mousePos.y - distY, 0);
}
/* OLD VERSION
public void SaveData(ref CircleData data)
{
data.position[0] = this.transform.localPosition.x;
data.position[1] = this.transform.localPosition.y;
}
public void LoadData(CircleData data)
{
this.transform.localPosition = new Vector3(data.position[0], data.position[1], 0);
}*/
}