GhostsPictureSave.cs
2.14 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
80
81
82
83
84
85
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GhostsPictureSave : MonoBehaviour
{
private static List<Ghost> ghosts;
private static List<int> ghostNumbers;
// static 처리이므로, 모든 함수는 static하게 작성한다.
public void Awake()
{
DontDestroyOnLoad(gameObject);
// 이 스크립트를 담은 오브젝트를 절대 파기하지않는다.
}
void Start()
{
ghosts = new List<Ghost>();
ghostNumbers = new List<int>();
}
public static int searchGhostIndex(int ghostNumber) { // 유령 고유넘버에 해당되는 유령의 리스트 위치 찾기. 없는경우 -1 리턴
int num = -1;
for (int i = 0; i < ghosts.Count; i++) {
if (ghosts[i].getNumber() == ghostNumber) {
num = i;
break;
}
}
return num;
}
public static bool CapturingGhost(Ghost g)
{ // 귀신을 잡으면 해당 귀신의 정보를 세이브하여 GhostsPictureSave에 넣음.
bool isduplicated = false;
if (!isGListEmpty()) //유령이 비지 않았다면 이미 잡힌 유령인지 중복도를 검사
{
for (int i = 0; i < gListLength(); i++)
{
if (getGhosts(i).getName() == g.getName())
{
isduplicated = true; //중복되었다면 귀신 추가 안함
// 사진만 새로 갱신
return false;
}
}
}
saveGhosts(g, g.getNumber());
return true;
}
public static Ghost getGhosts(int i) { // 반드시 i < ghosts.Count 조건하에 i를 호출할 것
return ghosts[i]; // i번째 유령종을 리턴함
}
public static void saveGhosts(Ghost g, int i) {
ghosts.Add(g);
ghostNumbers.Add(i);
}
public static bool isGListEmpty() {
if (ghosts.Count == 0)
{
return true;
}
else {
return false;
}
}
public static int gListLength() {
return ghosts.Count;
}
public static void makeGListEmpty() {
ghosts.Clear();
ghostNumbers.Clear();
}
void Update()
{
}
}