Degullmok-client/Assets/Script/Game/StoneController.cs
2025-03-14 10:04:38 +09:00

42 lines
1.1 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StoneController : MonoBehaviour
{
[SerializeField] private Stone[] stones;
public delegate void OnStoneClicked(int row, int col);
public OnStoneClicked OnStoneClickedDelegate;
//네이밍 필요
public const int BoardValue = 15;
//Stone 객체들 초기화 함수 호출
public void InitStones()
{
for (int i = 0; i < stones.Length; i++)
{
stones[i].InitStone(i, (index) =>
{
var rowIndex = index / BoardValue;
var colIndex = index % BoardValue;
OnStoneClickedDelegate?.Invoke(rowIndex, colIndex);
});
}
}
//스톤 타입변경
public void SetStoneType(Enums.StoneType stoneType, int row, int col)
{
var index = BoardValue * row + col;
stones[index].SetStone(stoneType);
}
//스톤상태변경
public void SetStoneState(Enums.StoneState state,int row, int col)
{
var index = BoardValue * row + col;
stones[index].SetState(state);
}
}