GhostsPictureSave.cs 2.14 KB
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()
    {
        
    }
}