Skip to content

FunctionManager variables, functions #21

@rnrgll

Description

@rnrgll

Variables

싱글톤 생성

public static FunctionManager Instance { get; private set; }

함수 노드 버튼 & 함수 노드 인스턴스

함수 만들기로 함수를 생성했을 때 문제 풀이 화면의 '노드' 메뉴에 생성될 함수 버튼을 위한 변수.
해당 함수 버튼을 눌렀을 때 화면에 인스턴스로 생성될 함수 노드를 위한 변수

// 함수 노드 프리팹들(1번 유형~4번 유형 + 매개변수 개수 고려)
public GameObject[] functionPrefabs = new GameObject[6]; 

/* 함수 버튼 프리팹. 함수 만들기로 만든 함수 설정에 따라 이미지, 텍스트 등 교체필요.
 * FuncNode.cs를 가지고 있음.
 * FunctionManager가 버튼 생성시 onClick 메소드 연결해서 '노드' 메뉴의 적절한 위치에 넣어주어야 함 */
public GameObject funcBtnPrefab; 

// 함수 버튼의 이미지를 교체할 때 resource가 되는 이미지 리스트
public Sprite[] funcBtnImgs;

함수 설정과 관련된 변수들

  1. 타입
    타입 변수의 값을 변경하면 자동으로 파라미터, 매개변수 관련된 변수의 값이 변경된다.
public int Type
    {
        get
        {
            return type;
        }
        set
        {
            if (value == 0)
            {
                hasPara = false;
                hasPara1 = false;
                hasPara2 = false;
                hasReturn = false;
            }
            if (value >= 3)
            {
                hasPara = true;
            }
            else
            {
                hasPara = false;
            }
            if (value % 2 == 0)
            {
                hasReturn = true;
            }
            else
            {
                hasReturn = false;
            }
            type = value;
        }
    }
  1. 파라미터 여부 및 자료형, 반환 여부 및 자료형
    타입(자료형) : 0=int, 1=bool, 2=string, -1=초기화, 없음 (드롭다운 option index랑 동일값으로 한다)
bool hasPara = false;
bool hasReturn = false;

public bool hasPara1 = false;
public bool hasPara2 = false;

public int para1Type = -1;
public int para2Type = -1;
public int returnType = -1;
  1. 함수 이름, 매개변수 이름
private string funcName = null;
public string FunName
{
    get
    {
        return funcName;
    }
    set
    {
        funcName = value;
    }
}

private string para1Name = null;
private string para2Name = null;

public string Para1Name
{
    get
    {
        return para1Name;
    }
    set
    {
        para1Name = value;
    }
}
public string Para2Name
{
    get
    {
        return para2Name;
    }
    set
    {
        para2Name = value;
    }

}

함수 만들기 캔버스

// for create canvas instance
public GameObject canvasFuncMakePrefab; //함수 만들 때 사용될 캔버스 프리팹
public Transform spawnPoint; //스폰 지점으로 사용될 transform(기본(main) 캔버스로 할당)

만든 함수의 총 개수 및 리스트 관리

추후 함수를 modify(삭제 및 변경)할 때 사용될 변수들.
변경하거나 삭제할 함수를 선택하면 리스트에서 해당 함수와 관련된 캔버스, 노드를 찾아서 처리함.

 //현재 scene에서 만든 총 함수 개수 관리 (Modify function을 위함)
public int totalFunction = 0;
//함수 만들때 생성되는 canvas를 동적 배열에 저장
public List<GameObject> myfuncCanvas = new List<GameObject>();

//함수 노드 prefab의 핵심 컴포넌트
public List<FuncNode> myfuncNodes = new List<FuncNode>();

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions