오늘의 학습 키워드

CustomEditor

 

공부한 내용

CustomEditor

게임 플레이 중에 바로 변화를 보기 위해 CustomEditor를 이용하게 되었다.

왜 저번처럼 CustomWindow를 사용하지 않고 CustomEditor를 사용했나면 GameManager의 기능은 모든 씬 전체에 영향을 주는 것이 아니고 존재하지도 않기 때문에 이 스크립트가 존재할 때만 적용할 생각이기 때문이다. 

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

[CustomEditor(typeof(GameManager))]
public class GameHelperEditor : Editor
{
    GameManager gm;

    private void OnEnable()
    {
        gm = (GameManager)target;
    }

    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        EditorGUILayout.LabelField("Helper", new GUIStyle(EditorStyles.label)
        {
            alignment = TextAnchor.MiddleCenter,
        });

        if (GUILayout.Button("AddScore100"))
        {
            gm.AddScore(100);
        }
        if (GUILayout.Button("IncreaseLife"))
        {
            gm.IncreaseLife();
        }
        if (GUILayout.Button("DecreaseLife"))
        {
            gm.DecreaseLife();
        }
        if (GUILayout.Button("GameClear"))
        {
            gm.Clear();
        }
        if (GUILayout.Button("GameOver"))
        {
            gm.Over();
        }
    }
}

 

 

오늘의 회고

  오늘은 다른 팀원의 작업을 도와주면서 버그를 잡는 작업을 많이 했던 것 같다. 내일 제출이기 때문에 우리가 목표로 한 작업들까지는 버그가 없이 잘 동작해야 한다고 생각을 해서 이 부분에 집중을 했다. 그리고 CustomEditor를 사용하면서 버그가 검출이 됐는데 아 이래서 처음부터 테스트용 목적으로 에디터를 만들어 놓는구나 하는 생각이 들었다.

 내일은 이번에 진행한 프로젝트의 제출일이다. 내일은 readme 작성과 영상을 찍고 제출하는 것을 할 생각이다. 내일도 파이팅!

+ Recent posts