워리어 콤보 모작 개발일지

워리어콤보 모작 개발일지 - 01 [3 Match Puzzle][연습]

다모아 2023. 9. 11. 18:01

뭔가 잘 모르겠어서 따라하고있다.

참고

https://ninezmk2.blogspot.com/2019/11/blog-post.html

 

1. 유니티 3매치 퍼즐 프로젝트 만들기

유니티 3매치 퍼즐 게임 개발 과정을 공유하는 블로그입니다.

ninezmk2.blogspot.com


3matchPuzzle.txt
0.00MB

 

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

//Block Enum 
public enum BlockType
{
    EMPTY = 0,
    BASIC = 1,
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Block
{
    private BlockType m_BlockType;
    public BlockType type
    {
        get { return m_BlockType; }
        set { m_BlockType = value; }
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//Cell Enum 역할인 것 같다.
public enum CellType
{
    EMPTY = 0, 
    BASIC = 1,
    FIXTURE = 2,
    JELLY = 3,
}
using System.Collections;
using System.Collections.Generic;
using UnityEditor.U2D.Aseprite;
using UnityEngine;

//보드의 배경을 구성한다, 변하지 않는 데이터라 DataManager의 역할이랑 비슷하다고 본다
public class Cell
{
    protected CellType m_CellType;
    public CellType type
    {
        get { return m_CellType; }
        set { m_CellType = value; }
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//게임판의 크기를 저장할 Stage다.
public class Stage
{
    private int m_nRow;
    private int m_nCol;
    public int maxRow { get { return m_nRow; } }
    public int maxCol { get { return m_nCol; } }

    private Board m_Board;
    public Board board { get { return m_Board; } }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//현재 스테이지를 총괄하는 역할
public class StageController : MonoBehaviour
{
    //초기화 여부 상태 true or false
    private bool m_blnit;
    private Stage m_Stage;

    void Start()
    {
        this.InitStage();    
    }

    //초기화스테이지
    void InitStage()
    {
        // m_blnit가 true라면 반환해라
        if (m_blnit)
            return;

        this.m_blnit = true;
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//보드를 구성하는 데이터 저장소임.
public class Board
{
    private int m_nRow; //열
    private int m_nCol; //행

    public int maxRow { get { return m_nRow; } }
    public int maxCol { get { return m_nCol; } }

    //2중 배열의 Cell 생성 --> 보드구성
    private Cell[,] m_Cells;
    public Cell[,] cells { get { return m_Cells; } }

    //2중 배열의 Block 생성 --> 보드구성
    private Block[,] m_Blocks;
    public Block[,] blocks { get { return m_Blocks; } }

    //생성자
    public Board(int nRow, int nCol)
    {
        this.m_nRow = nRow;
        this.m_nCol = nCol;

        this.m_Cells = new Cell[nRow, nCol];
        this.m_Blocks = new Block[nRow, nCol];
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraAgent : MonoBehaviour
{
    [SerializeField]
    private Camera m_TargetCamera;
    [SerializeField]
    private float m_BoardUnit;

    // Start is called before the first frame update
    void Start()
    {
        this.m_TargetCamera.orthographicSize = this.m_BoardUnit / this.m_TargetCamera.aspect;
    }
}