-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCircleSpawner.cs
64 lines (49 loc) · 1.44 KB
/
CircleSpawner.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;
/*
* Create new circles upon pressing button
* Inherits methods from IDataSaver
*/
public class CircleSpawner : MonoBehaviour, IDataSaver
{
public GameObject originalCircle;
public List<GameObject> circles;
private void Start()
{
circles = new List<GameObject>();
circles.Add(originalCircle);
}
//on button press
public void createCircle()
{
GameObject newObj = Instantiate(originalCircle, new Vector3(originalCircle.transform.position.x + 2,
originalCircle.transform.position.y + 2, 0), originalCircle.transform.rotation);
circles.Add(newObj);
originalCircle = newObj;
}
//on load game
private void loadCircles(Pos p)
{
GameObject newObj = Instantiate(originalCircle, new Vector3(p.x,
p.y, 0), originalCircle.transform.rotation);
circles.Add(newObj);
}
public void SaveData(ref CircleData data)
{
data.positions.Clear();
foreach (GameObject circle in circles)
{
Pos p = new Pos(circle.transform.localPosition.x, circle.transform.localPosition.y);
data.positions.Add(p);
}
}
public void LoadData(CircleData data)
{
foreach (Pos p in data.positions)
{
loadCircles(p);
}
circles.Remove(originalCircle);
}
}