diff --git a/Assets/Prefab/Stone.prefab b/Assets/Prefab/Stone.prefab index 7420e21..6f1c7b3 100644 --- a/Assets/Prefab/Stone.prefab +++ b/Assets/Prefab/Stone.prefab @@ -72,7 +72,7 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 0 + m_SortingOrder: 1 m_Sprite: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -159,13 +159,13 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 1 + m_SortingOrder: 2 m_Sprite: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 - m_Size: {x: 1, y: 1} + m_Size: {x: 0.90909094, y: 1} m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 0 @@ -206,9 +206,9 @@ BoxCollider2D: m_Offset: {x: 0, y: 0} m_SpriteTilingProperty: border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 1} - oldSize: {x: 0.32, y: 0.32} - newSize: {x: 1, y: 1} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.90909094, y: 1} + newSize: {x: 0.90909094, y: 1} adaptiveTilingThreshold: 0.5 drawMode: 0 adaptiveTiling: 0 diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index 6a35702..1bc6379 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -4788,6 +4788,50 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9726acf6f82a3644ba31eda5ef496991, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &679766976 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 679766978} + - component: {fileID: 679766977} + m_Layer: 0 + m_Name: GameManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &679766977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 679766976} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &679766978 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 679766976} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.61458844, y: 0.6942672, z: 0.050395608} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &681290285 PrefabInstance: m_ObjectHideFlags: 0 @@ -6923,7 +6967,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 1546406515} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -11403,6 +11448,139 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9726acf6f82a3644ba31eda5ef496991, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1546406514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1546406515} + - component: {fileID: 1546406518} + - component: {fileID: 1546406517} + - component: {fileID: 1546406516} + m_Layer: 5 + m_Name: Confirm Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1546406515 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546406514} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1833960969} + m_Father: {fileID: 943817728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 200} + m_SizeDelta: {x: 200, y: 100} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1546406516 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546406514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1546406517} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 679766977} + m_TargetAssemblyTypeName: GameManager, Assembly-CSharp + m_MethodName: OnClickConfirmButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1546406517 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546406514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1546406518 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546406514} + m_CullTransparentMesh: 1 --- !u!1001 &1547541401 PrefabInstance: m_ObjectHideFlags: 0 @@ -12549,7 +12727,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8f82a74d5e1f8de44af5f574b2934a95, type: 3} m_Name: m_EditorClassIdentifier: - stone: + stones: - {fileID: 358603301} - {fileID: 1403742904} - {fileID: 980368313} @@ -14232,6 +14410,140 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9726acf6f82a3644ba31eda5ef496991, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1833960968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1833960969} + - component: {fileID: 1833960971} + - component: {fileID: 1833960970} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1833960969 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833960968} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1546406515} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1833960970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833960968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Confirm + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 50 + m_fontSizeBase: 50 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1833960971 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833960968} + m_CullTransparentMesh: 1 --- !u!1001 &1837203185 PrefabInstance: m_ObjectHideFlags: 0 @@ -17396,3 +17708,4 @@ SceneRoots: - {fileID: 684932260} - {fileID: 307507522} - {fileID: 1632066875} + - {fileID: 679766978} diff --git a/Assets/Script/Common.meta b/Assets/Script/Common.meta new file mode 100644 index 0000000..8006c57 --- /dev/null +++ b/Assets/Script/Common.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e35a31c2a91fd549b0a4f27e6182516 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/Common/Singleton.cs b/Assets/Script/Common/Singleton.cs new file mode 100644 index 0000000..4198ebf --- /dev/null +++ b/Assets/Script/Common/Singleton.cs @@ -0,0 +1,43 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; + +public abstract class Singleton : MonoBehaviour where T : Component +{ + private static T _instance; + + public static T Instance + { + get + { + if (_instance == null) + { + _instance = FindObjectOfType(); + if (_instance == null) + { + GameObject obj = new GameObject(); + obj.name = typeof(T).Name; + _instance = obj.AddComponent(); + } + } + return _instance; + } + } + + private void Awake() + { + if (_instance == null) + { + _instance = this as T; + DontDestroyOnLoad(this); + SceneManager.sceneLoaded += OnSceneLoaded; + } + else + { + Destroy(this); + } + } + + protected abstract void OnSceneLoaded(Scene scene, LoadSceneMode mode); +} diff --git a/Assets/Script/Common/Singleton.cs.meta b/Assets/Script/Common/Singleton.cs.meta new file mode 100644 index 0000000..915a1de --- /dev/null +++ b/Assets/Script/Common/Singleton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e13fc6c9dfc929c4e89272159634d78a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/Game/Enums.cs b/Assets/Script/Game/Enums.cs index 7273d2e..e36974e 100644 --- a/Assets/Script/Game/Enums.cs +++ b/Assets/Script/Game/Enums.cs @@ -2,9 +2,11 @@ public class Enums { public enum GameResult{None, Win, Lose, Draw} - public enum PlayerTpe{None, PlayerA, PlayerB} + public enum PlayerType{None, PlayerA, PlayerB} public enum StoneType{ None, Black, White } public enum StoneState{ None, Selected, Blocked, LastPositioned } + + public enum GameType{ None, SinglePlay, MultiPlay } } diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index f342d98..2a8da67 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -4,5 +4,56 @@ using UnityEngine; public class GameLogic : MonoBehaviour { + private Enums.PlayerType[,] _board; + private StoneController _stoneController; + public Enums.PlayerType currentTurn; + public int selectedRow; + public int selectedCol; + public GameLogic(StoneController stoneController, Enums.GameType gameType) + { + //보드 초기화 + _board = new Enums.PlayerType[15, 15]; + _stoneController = stoneController; + + SetTurn(Enums.PlayerType.PlayerA); + } + + private void SetTurn(Enums.PlayerType player) + { + currentTurn = player; + _stoneController.OnStoneClickedDelegate = (row, col) => + { + if (selectedRow != row || selectedCol != col) + { + SetNewStoneState(Enums.StoneState.None,selectedRow, selectedCol); + } + selectedRow = row; + selectedCol = col; + SetNewStoneState(Enums.StoneState.Selected, row, col); + }; + } + + + public void SetNewBoardValue(Enums.PlayerType playerType, int row, int col) + { + if (playerType == Enums.PlayerType.PlayerA) + { + _stoneController.SetStoneType(Enums.StoneType.Black, row, col); + _stoneController.SetStoneState(Enums.StoneState.LastPositioned, row, col); + _board[row, col] = Enums.PlayerType.PlayerA; + } + if (playerType == Enums.PlayerType.PlayerB) + { + _stoneController.SetStoneType(Enums.StoneType.Black, row, col); + _stoneController.SetStoneState(Enums.StoneState.LastPositioned, row, col); + _board[row, col] = Enums.PlayerType.PlayerB; + } + + } + + private void SetNewStoneState(Enums.StoneState state, int row, int col) + { + _stoneController.SetStoneState(state, row, col); + } } diff --git a/Assets/Script/Game/GameManager.cs b/Assets/Script/Game/GameManager.cs new file mode 100644 index 0000000..2e0deb1 --- /dev/null +++ b/Assets/Script/Game/GameManager.cs @@ -0,0 +1,49 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; + + +public class GameManager : Singleton +{ + private Enums.GameType _gameType; + private GameLogic _gameLogic; + private StoneController _stoneController; + private Canvas _canvas; + + private void Awake() + { + //게임 씬에서 확인하기 위한 임시 코드 + _gameType = Enums.GameType.SinglePlay; + } + + private void Start() + { + //게임 씬에서 확인하기 위한 임시 코드 + _stoneController = GameObject.FindObjectOfType(); + _stoneController.InitStones(); + _gameLogic = new GameLogic(_stoneController, _gameType); + } + + public void OnClickConfirmButton() + { + _gameLogic.SetNewBoardValue(_gameLogic.currentTurn, _gameLogic.selectedRow,_gameLogic.selectedCol); + } + + private void ChangeToGameScene(Enums.GameType gameType) + { + _gameType = gameType; + SceneManager.LoadScene("Game"); + } + + protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + if (scene.name == "Game") + { + _stoneController = GameObject.FindObjectOfType(); + _stoneController.InitStones(); + _gameLogic = new GameLogic(_stoneController, _gameType); + } + _canvas = GameObject.Find("Canvas").GetComponent(); + } +} diff --git a/Assets/Script/Game/GameManager.cs.meta b/Assets/Script/Game/GameManager.cs.meta new file mode 100644 index 0000000..19ca2f6 --- /dev/null +++ b/Assets/Script/Game/GameManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 35a4c6d5d3a97b444b968e68ec8bb9f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/Game/StoneController.cs b/Assets/Script/Game/StoneController.cs index 4c8b828..20e9e5f 100644 --- a/Assets/Script/Game/StoneController.cs +++ b/Assets/Script/Game/StoneController.cs @@ -5,29 +5,36 @@ using UnityEngine; public class StoneController : MonoBehaviour { - [SerializeField] private Stone[] stone; - private delegate void OnStoneClicked(int row, int col); - private OnStoneClicked _onStoneClickedDelegate; - - private void Start() - { - InitStones(); - } + [SerializeField] private Stone[] stones; + public delegate void OnStoneClicked(int row, int col); + public OnStoneClicked OnStoneClickedDelegate; + //네이밍 필요 + public const int BoardValue = 15; //Stone 객체들 초기화 함수 호출 - private void InitStones() + public void InitStones() { - for (int i = 0; i < stone.Length; i++) + for (int i = 0; i < stones.Length; i++) { - stone[i].InitStone(i, (index) => + stones[i].InitStone(i, (index) => { - var rowIndex = index / 15; - var colIndex = index % 15; - _onStoneClickedDelegate?.Invoke(rowIndex, colIndex); - - //임시 확인 코드 - stone[index].SetStone(Enums.StoneType.White); + 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); + } } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 53457f5..080f563 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -8,4 +8,7 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/Main.unity guid: 2cda990e2423bbf4892e6590ba056729 + - enabled: 1 + path: Assets/Scenes/Game.unity + guid: 90d8e06582d54504c8033aab27b15564 m_configObjects: {}