Merge branch 'main' into DO-4-AI-Controller
This commit is contained in:
commit
a59fce7048
13
.idea/.idea.Main/.idea/.gitignore
generated
vendored
Normal file
13
.idea/.idea.Main/.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# 디폴트 무시된 파일
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Rider에서 무시된 파일
|
||||
/contentModel.xml
|
||||
/projectSettingsUpdater.xml
|
||||
/modules.xml
|
||||
/.idea.Main.iml
|
||||
# 에디터 기반 HTTP 클라이언트 요청
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
8
.idea/.idea.Main/.idea/indexLayout.xml
generated
Normal file
8
.idea/.idea.Main/.idea/indexLayout.xml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
6
.idea/.idea.Main/.idea/vcs.xml
generated
Normal file
6
.idea/.idea.Main/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@ -178,7 +178,6 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 271965289}
|
||||
- component: {fileID: 271965290}
|
||||
- component: {fileID: 271965292}
|
||||
m_Layer: 0
|
||||
m_Name: GameManager
|
||||
m_TagString: Untagged
|
||||
@ -471,6 +470,231 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &1545261105
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1867732347}
|
||||
m_Modifications:
|
||||
- target: {fileID: 180756268084732627, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 180756268084732627, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 180756268084732627, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 180756268084732627, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 713532354933724924, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 713532354933724924, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 713532354933724924, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||
value:
|
||||
objectReference: {fileID: 1545261107}
|
||||
- target: {fileID: 713532354933724924, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 713532354933724924, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||
value: OnClickGameStart
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 713532354933724924, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
|
||||
value: MainPanelController, Assembly-CSharp
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 713532354933724924, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
|
||||
value: UnityEngine.Object, UnityEngine
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4282069284025755619, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8564394481744056992, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Main Panel
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
--- !u!224 &1545261106 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 6110152713294678410, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
m_PrefabInstance: {fileID: 1545261105}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &1545261107 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7488082087611091670, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
m_PrefabInstance: {fileID: 1545261105}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b4dc3fd9e59f47df80e344680d1b9803, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1867732343
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -548,7 +772,7 @@ Canvas:
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_AdditionalShaderChannelsFlag: 25
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
|
@ -19,6 +19,12 @@ public class AdManager : MonoBehaviour
|
||||
// 보상형 전면 광고 로드
|
||||
public void LoadRewardedInterstitialAd()
|
||||
{
|
||||
if (rewardedInterstitialAd != null)
|
||||
{
|
||||
rewardedInterstitialAd.Destroy(); // 기존 광고 객체 해제
|
||||
rewardedInterstitialAd = null;
|
||||
}
|
||||
|
||||
AdRequest request = new AdRequest();
|
||||
|
||||
RewardedInterstitialAd.Load(adUnitId, request,
|
||||
@ -30,7 +36,6 @@ public class AdManager : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.Log("보상형 전면 광고 로드 성공");
|
||||
rewardedInterstitialAd = ad;
|
||||
|
||||
// 광고 종료 이벤트 설정
|
||||
@ -39,14 +44,14 @@ public class AdManager : MonoBehaviour
|
||||
}
|
||||
|
||||
// 보상형 전면 광고 실행
|
||||
public void ShowRewardedInterstitialAd()
|
||||
public void ShowRewardedInterstitialAd(CanvasGroup shopPanel)
|
||||
{
|
||||
if (rewardedInterstitialAd != null && rewardedInterstitialAd.CanShowAd())
|
||||
{
|
||||
rewardedInterstitialAd.Show((Reward reward) => //서버에서 500코인을 고정으로 반환하기 때문에 reward는 사용하지 않음.
|
||||
{
|
||||
// 코인 지급 로직
|
||||
GrantReward();
|
||||
GrantReward(shopPanel);
|
||||
});
|
||||
}
|
||||
else
|
||||
@ -58,20 +63,19 @@ public class AdManager : MonoBehaviour
|
||||
// 광고 닫힘 이벤트 처리
|
||||
private void HandleAdClosed()
|
||||
{
|
||||
Debug.Log("보상형 전면 광고 닫힘, 새로운 광고 로드.");
|
||||
LoadRewardedInterstitialAd(); // 광고가 닫힌 후 다시 로드
|
||||
}
|
||||
|
||||
// 코인 지급 함수
|
||||
private void GrantReward()
|
||||
private void GrantReward(CanvasGroup shopPanel)
|
||||
{
|
||||
NetworkManager.Instance.WatchAdForCoins((coinsAdded) =>
|
||||
{
|
||||
// UI 업데이트
|
||||
GameManager.Instance.panelManager.UpdateCoinsPanelUI(coinsAdded);
|
||||
GameManager.Instance.panelManager.UpdateCoinsPanelUI(coinsAdded, shopPanel);
|
||||
}, () =>
|
||||
{
|
||||
Debug.Log("광고 시청 후 코인 추가 실패!");
|
||||
Debug.Log("광고 시청 후 코인 추가 실패");
|
||||
});
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &8786799901643631561
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7455536569977767830}
|
||||
- component: {fileID: 2424336103342601865}
|
||||
m_Layer: 0
|
||||
m_Name: Admob
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7455536569977767830
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8786799901643631561}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2424336103342601865
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8786799901643631561}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 644acbaf5d5791242b26c1b1b0a0ceeb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
@ -413,8 +413,8 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: c06da2c324d0fee43b8b1998cf9fcd09, type: 3}
|
||||
m_Type: 1
|
||||
m_Sprite: {fileID: 21300000, guid: 05a670e614d7817429ee256ceb7efbe6, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
|
@ -34,8 +34,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -25, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 100}
|
||||
m_AnchoredPosition: {x: 0.5, y: 0}
|
||||
m_SizeDelta: {x: 250, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8644449565768019552
|
||||
CanvasRenderer:
|
||||
@ -168,8 +168,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 176.9, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 100}
|
||||
m_AnchoredPosition: {x: 200, y: 0}
|
||||
m_SizeDelta: {x: 160, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7968533753814083057
|
||||
CanvasRenderer:
|
||||
@ -356,6 +356,7 @@ GameObject:
|
||||
- component: {fileID: 5750108967662755581}
|
||||
- component: {fileID: 6941609111617388457}
|
||||
- component: {fileID: -8178793116256795857}
|
||||
- component: {fileID: 1941271810694746857}
|
||||
m_Layer: 5
|
||||
m_Name: ShopScrollItem
|
||||
m_TagString: Untagged
|
||||
@ -413,8 +414,8 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: c06da2c324d0fee43b8b1998cf9fcd09, type: 3}
|
||||
m_Type: 1
|
||||
m_Sprite: {fileID: 21300000, guid: 05a670e614d7817429ee256ceb7efbe6, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
@ -491,5 +492,15 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 4d28917ad20c19e428cbf98ba5609e69, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
profileSprites:
|
||||
- {fileID: 21300000, guid: 307bff9630735f342852f28b1cd5d300, type: 3}
|
||||
--- !u!114 &1941271810694746857
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7605012172595602668}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 644acbaf5d5791242b26c1b1b0a0ceeb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
|
@ -350,7 +350,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: -392, y: -56.72364}
|
||||
m_AnchoredPosition: {x: -392, y: -5.317383}
|
||||
m_SizeDelta: {x: 784, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &2389273839879143832
|
||||
|
@ -294,12 +294,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 03aef985a8b802a409630fdcab7be09b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
settingsPanel: {fileID: 2861881646994438329, guid: ea820246b5075c54d9f614291ca41c5d, type: 3}
|
||||
confirmPanel: {fileID: 8145365568262946399, guid: 76f1fe6b5243faf4f9b8caee7312d336, type: 3}
|
||||
rankingPanel: {fileID: 154459105952450598, guid: bf4bb18aa323fe748b3eb1d537503596, type: 3}
|
||||
shopPanel: {fileID: 8190964574954487140, guid: eb257b0a685b2254f860f294ce8cba54, type: 3}
|
||||
giboPanel: {fileID: 3090474328172188941, guid: c63914e01332f8d479ada92325335e41, type: 3}
|
||||
_canvas: {fileID: 6741227126671320411}
|
||||
--- !u!222 &71273024816384741
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -347,63 +341,6 @@ MonoBehaviour:
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!1001 &523594383261405864
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8786799901643631561, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Admob
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
--- !u!1 &658145525140724706
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1747,4 +1684,3 @@ SceneRoots:
|
||||
- {fileID: 656468223}
|
||||
- {fileID: 937655098394579964}
|
||||
- {fileID: 1842188762}
|
||||
- {fileID: 523594383261405864}
|
||||
|
@ -16,8 +16,8 @@ public class MainPanelButtonController : MonoBehaviour
|
||||
{
|
||||
ShopItem shopItem = new ShopItem
|
||||
{
|
||||
Name = "코인500개 ",
|
||||
Price = "광고"
|
||||
name = "광고) 코인500개 ",
|
||||
price = 0
|
||||
};
|
||||
shopItems.Add(shopItem);
|
||||
}
|
||||
@ -25,13 +25,12 @@ public class MainPanelButtonController : MonoBehaviour
|
||||
{
|
||||
ShopItem shopItem = new ShopItem
|
||||
{
|
||||
Name = "코인"+i*1000+"개 ",
|
||||
Price = (i * 1000)+ "원"
|
||||
name = i*1000+"개 ",
|
||||
price = i * 1000
|
||||
};
|
||||
shopItems.Add(shopItem);
|
||||
}
|
||||
}
|
||||
|
||||
GameManager.Instance.panelManager.OpenShopPanel(shopItems);
|
||||
}
|
||||
|
||||
@ -39,4 +38,9 @@ public class MainPanelButtonController : MonoBehaviour
|
||||
{
|
||||
GameManager.Instance.panelManager.OpenReplayPanel();
|
||||
}
|
||||
|
||||
//public void OpenRankingPanelClick()
|
||||
//{
|
||||
//GameManager.Instance.panelManager.OnRankingPanelClick();
|
||||
//}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c9598d78723880e4f8026beb096f28c4
|
||||
guid: 93bfed50167472f489a27f0518070ed5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
|
@ -248,17 +248,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
mainPanel: {fileID: 8564394481744056992, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
signinPanel: {fileID: 925522282249935710, guid: e14c9b2925f0ddb4192af743e5cc166a, type: 3}
|
||||
signupPanel: {fileID: 3181524094944658765, guid: 8827fe7caa3145e40b1369cc42f8697d, type: 3}
|
||||
settingsPanel: {fileID: 2861881646994438329, guid: ea820246b5075c54d9f614291ca41c5d, type: 3}
|
||||
confirmPanel: {fileID: 8145365568262946399, guid: 76f1fe6b5243faf4f9b8caee7312d336, type: 3}
|
||||
rankingPanel: {fileID: 154459105952450598, guid: bf4bb18aa323fe748b3eb1d537503596, type: 3}
|
||||
shopPanel: {fileID: 8190964574954487140, guid: eb257b0a685b2254f860f294ce8cba54, type: 3}
|
||||
giboPanel: {fileID: 3090474328172188941, guid: c63914e01332f8d479ada92325335e41, type: 3}
|
||||
loadingPanel: {fileID: 1942997847427067673, guid: 634a60576b4855940a97d1e7447b9fcc, type: 3}
|
||||
mainBgm: {fileID: 8300000, guid: 1d9c7fb20aa822c48933d00b6bd6a757, type: 3}
|
||||
profileSprites: []
|
||||
panelManagerPrefab: {fileID: 3475740041361426276, guid: 085ca07ca90c92545b2594bd13412701, type: 3}
|
||||
audioManagerPrefab: {fileID: 2946408323859178723, guid: e829818dce39a5d4383e061111bed871, type: 3}
|
||||
--- !u!224 &183715513
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -346,63 +337,52 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &634833532
|
||||
PrefabInstance:
|
||||
--- !u!1 &1280076947
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1280076949}
|
||||
- component: {fileID: 1280076948}
|
||||
m_Layer: 0
|
||||
m_Name: MainPanelManager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1280076948
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1280076947}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0696b08f74b24325a7b378405f6170af, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
loadingPanelController: {fileID: 1454248679793356470, guid: 634a60576b4855940a97d1e7447b9fcc, type: 3}
|
||||
mainPanelController: {fileID: 7488082087611091670, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
--- !u!4 &1280076949
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1280076947}
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7455536569977767830, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8786799901643631561, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Admob
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: c401513426cb83c4e8759c73d8be4c3a, type: 3}
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1340395578
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -604,4 +584,4 @@ SceneRoots:
|
||||
- {fileID: 183715513}
|
||||
- {fileID: 1340395582}
|
||||
- {fileID: 521295933}
|
||||
- {fileID: 634833532}
|
||||
- {fileID: 1280076949}
|
||||
|
@ -1,682 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 3
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 0
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 0
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 500
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 2
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1001 &150251232
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 759297939}
|
||||
m_Modifications:
|
||||
- target: {fileID: 180756268084732627, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 180756268084732627, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 180756268084732627, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 180756268084732627, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 837160915965981132, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||
value: OnclickRecordButton
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1316706425349991338, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: replayPanel
|
||||
value:
|
||||
objectReference: {fileID: 3090474328172188941, guid: c63914e01332f8d479ada92325335e41, type: 3}
|
||||
- target: {fileID: 4282069284025755619, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4733773333797619672, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5033979732381400892, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8446481687955831510, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8564394481744056992, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Main Panel Test LIN
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8768541925252566370, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
--- !u!1 &519420028
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 519420032}
|
||||
- component: {fileID: 519420031}
|
||||
- component: {fileID: 519420029}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &519420029
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 519420028}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &519420031
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 519420028}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 1
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 0
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 0
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 0
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &519420032
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 519420028}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||
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!1 &759297935
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 759297939}
|
||||
- component: {fileID: 759297938}
|
||||
- component: {fileID: 759297937}
|
||||
- component: {fileID: 759297936}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &759297936
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 759297935}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!114 &759297937
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 759297935}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UiScaleMode: 0
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 800, y: 600}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!223 &759297938
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 759297935}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 0
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_AdditionalShaderChannelsFlag: 25
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!224 &759297939
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 759297935}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 972014384}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!224 &972014384 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 6110152713294678410, guid: 6f42a47846f21b044b1cda32a9516609, type: 3}
|
||||
m_PrefabInstance: {fileID: 150251232}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1017982169
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1017982171}
|
||||
- component: {fileID: 1017982172}
|
||||
m_Layer: 0
|
||||
m_Name: GameManager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1017982171
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1017982169}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1017982172
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1017982169}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: da4e7b6c90ef1dd49a95d0f1716dedc7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
signinPanel: {fileID: 925522282249935710, guid: e14c9b2925f0ddb4192af743e5cc166a, type: 3}
|
||||
signupPanel: {fileID: 3181524094944658765, guid: 8827fe7caa3145e40b1369cc42f8697d, type: 3}
|
||||
canvas: {fileID: 759297938}
|
||||
profileSprites: []
|
||||
--- !u!1 &1231053598
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1231053601}
|
||||
- component: {fileID: 1231053600}
|
||||
- component: {fileID: 1231053599}
|
||||
m_Layer: 0
|
||||
m_Name: EventSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1231053599
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1231053598}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_HorizontalAxis: Horizontal
|
||||
m_VerticalAxis: Vertical
|
||||
m_SubmitButton: Submit
|
||||
m_CancelButton: Cancel
|
||||
m_InputActionsPerSecond: 10
|
||||
m_RepeatDelay: 0.5
|
||||
m_ForceModuleActive: 0
|
||||
--- !u!114 &1231053600
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1231053598}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 10
|
||||
--- !u!4 &1231053601
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1231053598}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1464921194
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1464921196}
|
||||
- component: {fileID: 1464921195}
|
||||
m_Layer: 0
|
||||
m_Name: StoneController
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1464921195
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1464921194}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8f82a74d5e1f8de44af5f574b2934a95, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
stones: []
|
||||
--- !u!4 &1464921196
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1464921194}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 540, y: 960, z: 0}
|
||||
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!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 519420032}
|
||||
- {fileID: 1017982171}
|
||||
- {fileID: 759297939}
|
||||
- {fileID: 1231053601}
|
||||
- {fileID: 1464921196}
|
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e949607640ea834428ceb6b9157aff2e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -1,290 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 3
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 0
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &1100315178
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1100315181}
|
||||
- component: {fileID: 1100315180}
|
||||
- component: {fileID: 1100315179}
|
||||
m_Layer: 0
|
||||
m_Name: EventSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1100315179
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1100315178}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_HorizontalAxis: Horizontal
|
||||
m_VerticalAxis: Vertical
|
||||
m_SubmitButton: Submit
|
||||
m_CancelButton: Cancel
|
||||
m_InputActionsPerSecond: 10
|
||||
m_RepeatDelay: 0.5
|
||||
m_ForceModuleActive: 0
|
||||
--- !u!114 &1100315180
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1100315178}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 10
|
||||
--- !u!4 &1100315181
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1100315178}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1603784401
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1603784404}
|
||||
- component: {fileID: 1603784403}
|
||||
- component: {fileID: 1603784402}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &1603784402
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1603784401}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &1603784403
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1603784401}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 1
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &1603784404
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1603784401}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||
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!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 1603784404}
|
||||
- {fileID: 1100315181}
|
@ -1,150 +0,0 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GameManagerTestLIN : Singleton<GameManagerTestLIN>
|
||||
{
|
||||
[SerializeField] private GameObject signinPanel;
|
||||
[SerializeField] private GameObject signupPanel;
|
||||
|
||||
[SerializeField] private Canvas canvas;
|
||||
private UserManager _userManager; // UserManager 인스턴스 관리
|
||||
|
||||
private Enums.GameType _gameType;
|
||||
private GameLogic _gameLogic;
|
||||
private StoneController _stoneController;
|
||||
private Canvas _canvas;
|
||||
|
||||
public Sprite[] profileSprites; //패널에서 사용할 테스트 배열
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// UserManager가 없으면 생성
|
||||
if (UserManager.Instance == null)
|
||||
{
|
||||
GameObject userManagerObj = new GameObject("UserManager");
|
||||
_userManager = userManagerObj.AddComponent<UserManager>();
|
||||
|
||||
//TODO: 게임 내에서 기보 타입 적용하기
|
||||
_gameType = Enums.GameType.Replay;
|
||||
}
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Debug.Log(UserManager.Instance.Nickname);
|
||||
//TODO: 기보 타입으로 들어왔을 때 데이터 로드 테스트 수정할것
|
||||
ReplayManager.Instance.InitReplayBoard(ReplayManager.Instance.LoadReplayDatas()[9]);
|
||||
|
||||
|
||||
//게임 씬에서 확인하기 위한 임시 코드
|
||||
}
|
||||
|
||||
private void TryAutoSignin()
|
||||
{
|
||||
NetworkManager.Instance.GetInfo((userInfo) =>
|
||||
{
|
||||
Debug.Log("자동 로그인 성공");
|
||||
|
||||
UpdateMainPanelUI();
|
||||
// ScoreData.SetScore(userInfo.score);
|
||||
// OpenConfirmPanel(userInfo.nickname + "님 로그인 성공하였습니다.", () => { });
|
||||
}, () =>
|
||||
{
|
||||
Debug.Log("자동 로그인 실패");
|
||||
// 로그인 화면
|
||||
OpenSigninPanel();
|
||||
});
|
||||
}
|
||||
|
||||
private void UpdateMainPanelUI()
|
||||
{
|
||||
MainPanelController mainPanel = FindObjectOfType<MainPanelController>();
|
||||
if (mainPanel != null)
|
||||
{
|
||||
mainPanel.UpdateUserInfo();
|
||||
}
|
||||
}
|
||||
|
||||
public void OpenSigninPanel()
|
||||
{
|
||||
if (canvas != null)
|
||||
{
|
||||
var signinPanelObject = Instantiate(signinPanel, canvas.transform);
|
||||
}
|
||||
}
|
||||
|
||||
public void OpenSignupPanel()
|
||||
{
|
||||
if (canvas != null)
|
||||
{
|
||||
var signupPanelObject = Instantiate(signupPanel, canvas.transform);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnClickConfirmButton()
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(_gameLogic.currentTurn, _gameLogic.selectedRow,_gameLogic.selectedCol);
|
||||
|
||||
}
|
||||
|
||||
public void OnClickReplayNextButton()
|
||||
{
|
||||
Move nextMove = ReplayManager.Instance.GetNextMove();
|
||||
if (nextMove != null)
|
||||
{
|
||||
if (nextMove.stoneType.Equals(Enums.StoneType.Black.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerA, nextMove.columnIndex, nextMove.rowIndex);
|
||||
|
||||
}
|
||||
else if (nextMove.stoneType.Equals(Enums.StoneType.White.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerB, nextMove.columnIndex, nextMove.rowIndex);
|
||||
}
|
||||
ReplayManager.Instance.PushMove(nextMove);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnClickReplayUndoButton()
|
||||
{
|
||||
Move targetMove = ReplayManager.Instance.PopMove();
|
||||
if (targetMove != null)
|
||||
{
|
||||
if (targetMove.stoneType.Equals(Enums.StoneType.Black.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerA, targetMove.columnIndex, targetMove.rowIndex);
|
||||
|
||||
}
|
||||
else if (targetMove.stoneType.Equals(Enums.StoneType.White.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerB, targetMove.columnIndex, targetMove.rowIndex);
|
||||
}
|
||||
ReplayManager.Instance.PushUndoMove(targetMove);
|
||||
//TODO: 화면상에서 돌 치우기
|
||||
}
|
||||
}
|
||||
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>();
|
||||
_stoneController.InitStones();
|
||||
_gameLogic = new GameLogic(_stoneController, _gameType);
|
||||
}
|
||||
else if (scene.name == "Replay")
|
||||
{
|
||||
_stoneController = GameObject.FindObjectOfType<StoneController>();
|
||||
_stoneController.InitStones();
|
||||
_gameLogic = new GameLogic(_stoneController, Enums.GameType.Replay);
|
||||
}
|
||||
_canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
using System;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class MainPanelControllerTestLIN : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private TextMeshProUGUI nicknameText;
|
||||
[SerializeField] private TextMeshProUGUI ratingText;
|
||||
[SerializeField] private Button signOutButton;
|
||||
[SerializeField] private GameObject replayPanel;
|
||||
|
||||
public void UpdateUserInfo()
|
||||
{
|
||||
if (UserManager.Instance == null) return;
|
||||
|
||||
nicknameText.text = UserManager.Instance.Nickname;
|
||||
ratingText.text = $"{UserManager.Instance.Rating}급";
|
||||
}
|
||||
|
||||
public void OnSignOutClick()
|
||||
{
|
||||
NetworkManager.Instance.SignOut(() =>
|
||||
{
|
||||
Debug.Log("로그아웃 성공");
|
||||
|
||||
// 로그인 화면
|
||||
GameManager.Instance.panelManager.OpenSigninPanel();
|
||||
}, () =>
|
||||
{
|
||||
Debug.Log("로그아웃 실패");
|
||||
// OpenConfirmPanel("로그아웃 되었습니다.", () => { });
|
||||
});
|
||||
}
|
||||
|
||||
public void OnclickRecordButton()
|
||||
{
|
||||
Instantiate(replayPanel, GetComponent<Transform>());
|
||||
}
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 67ce17de423b0644bb099f5272a48faf
|
||||
timeCreated: 1741848912
|
@ -6020,6 +6020,50 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 9726acf6f82a3644ba31eda5ef496991, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &820078853
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 820078855}
|
||||
- component: {fileID: 820078854}
|
||||
m_Layer: 0
|
||||
m_Name: OmokAI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &820078854
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 820078853}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 576baa0fe98d40608bf48109ba5ed788, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &820078855
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 820078853}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 540, y: 1760, z: 0}
|
||||
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 &831992430
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -8175,6 +8219,8 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1118625358}
|
||||
- component: {fileID: 1118625360}
|
||||
- component: {fileID: 1118625359}
|
||||
m_Layer: 0
|
||||
m_Name: GameManager
|
||||
m_TagString: Untagged
|
||||
@ -8197,6 +8243,116 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1118625359
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1118625357}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
panelManagerPrefab: {fileID: 3475740041361426276, guid: 085ca07ca90c92545b2594bd13412701, type: 3}
|
||||
audioManagerPrefab: {fileID: 2946408323859178723, guid: e829818dce39a5d4383e061111bed871, type: 3}
|
||||
--- !u!82 &1118625360
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1118625357}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
--- !u!1001 &1121996003
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -17421,7 +17577,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7155909258766834886, guid: b1a31da84076a534cae7cb20a7913a93, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: '[Canvas] Game UI'
|
||||
value: Canvas
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
@ -17438,3 +17594,4 @@ SceneRoots:
|
||||
- {fileID: 307507522}
|
||||
- {fileID: 1632066875}
|
||||
- {fileID: 1118625358}
|
||||
- {fileID: 820078855}
|
||||
|
@ -1,5 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 88b1093ef5e1f3b4db329a67d13e8920
|
||||
guid: ab181dd2d256816418fb8c9451e5114a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
@ -56,6 +56,7 @@ MonoBehaviour:
|
||||
coinsRemoveAudioClip: {fileID: 8300000, guid: 585a9de0fb7ee4163af5c559ba5b2364, type: 3}
|
||||
coinsAddAudioClip: {fileID: 8300000, guid: 1ec44182fa76a4b3eb1459c0a6d9a8ab, type: 3}
|
||||
coinsEmptyAudioClip: {fileID: 8300000, guid: 908a78cb991984977bea42916bed8684, type: 3}
|
||||
ShopPanel: {fileID: 8190964574954487140, guid: eb257b0a685b2254f860f294ce8cba54, type: 3}
|
||||
--- !u!82 &5499754916380040505
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
|
957
Assets/Resources/Prefabs/Panels/LeaderboardPanel.prefab
Normal file
957
Assets/Resources/Prefabs/Panels/LeaderboardPanel.prefab
Normal file
@ -0,0 +1,957 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1858212639388121281
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8740302936727227434}
|
||||
- component: {fileID: 2911450618660204948}
|
||||
- component: {fileID: 2729261171078307673}
|
||||
- component: {fileID: 4465141290128179683}
|
||||
m_Layer: 5
|
||||
m_Name: Viewport
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8740302936727227434
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858212639388121281}
|
||||
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: 227489081374553986}
|
||||
m_Father: {fileID: 1188344226235047902}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!222 &2911450618660204948
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858212639388121281}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2729261171078307673
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858212639388121281}
|
||||
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: 10917, 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!114 &4465141290128179683
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1858212639388121281}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ShowMaskGraphic: 1
|
||||
--- !u!1 &2602607401298266001
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7490092893895923112}
|
||||
- component: {fileID: 6169341149558268219}
|
||||
- component: {fileID: 3721233377363418243}
|
||||
- component: {fileID: 5371985941544601491}
|
||||
m_Layer: 5
|
||||
m_Name: BackButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7490092893895923112
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2602607401298266001}
|
||||
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: 8762241190862130675}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 40, y: -40}
|
||||
m_SizeDelta: {x: 73, y: 72}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6169341149558268219
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2602607401298266001}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3721233377363418243
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2602607401298266001}
|
||||
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: 21300000, guid: 2f19224efc36c9b49978cafd03ede1bb, type: 3}
|
||||
m_Type: 0
|
||||
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!114 &5371985941544601491
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2602607401298266001}
|
||||
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: 3721233377363418243}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 1589736077307570888}
|
||||
m_TargetAssemblyTypeName: LeaderBoardController, Assembly-CSharp
|
||||
m_MethodName: OnBackButtonClicked
|
||||
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!1 &2785421385886275932
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1188344226235047902}
|
||||
- component: {fileID: 824343901473742242}
|
||||
- component: {fileID: 5935536530219116604}
|
||||
- component: {fileID: 5597239689940996301}
|
||||
m_Layer: 5
|
||||
m_Name: Scroll View
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1188344226235047902
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2785421385886275932}
|
||||
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: 8740302936727227434}
|
||||
- {fileID: 2084150948806744478}
|
||||
m_Father: {fileID: 8762241190862130675}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -112.84912}
|
||||
m_SizeDelta: {x: 1080, y: 1694.3018}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &824343901473742242
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2785421385886275932}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5935536530219116604
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2785421385886275932}
|
||||
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: 0.392}
|
||||
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: 10917, 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!114 &5597239689940996301
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2785421385886275932}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 227489081374553986}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_MovementType: 1
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
m_DecelerationRate: 0.135
|
||||
m_ScrollSensitivity: 100
|
||||
m_Viewport: {fileID: 8740302936727227434}
|
||||
m_HorizontalScrollbar: {fileID: 0}
|
||||
m_VerticalScrollbar: {fileID: 3478506922544614059}
|
||||
m_HorizontalScrollbarVisibility: 2
|
||||
m_VerticalScrollbarVisibility: 2
|
||||
m_HorizontalScrollbarSpacing: -3
|
||||
m_VerticalScrollbarSpacing: -15
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &3181524094944658765
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8762241190862130675}
|
||||
- component: {fileID: 4993086751705209787}
|
||||
- component: {fileID: 1589736077307570888}
|
||||
m_Layer: 5
|
||||
m_Name: LeaderboardPanel
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8762241190862130675
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3181524094944658765}
|
||||
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: 1077369489077175616}
|
||||
- {fileID: 2617138196515233625}
|
||||
- {fileID: 1188344226235047902}
|
||||
- {fileID: 7490092893895923112}
|
||||
m_Father: {fileID: 0}
|
||||
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!222 &4993086751705209787
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3181524094944658765}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1589736077307570888
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3181524094944658765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 22c0a17498af7724eb5d30a3c4842cd6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
rankingPrefab: {fileID: 6168169319149270731, guid: 124ba02c0639b9d47ac579bba38ca366, type: 3}
|
||||
content: {fileID: 227489081374553986}
|
||||
MainPanel: {fileID: 8564394481744056992, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
leaderboardPanel: {fileID: 3181524094944658765}
|
||||
verticalScrollbar: {fileID: 3478506922544614059}
|
||||
--- !u!1 &3442993592452086091
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6426375569495705012}
|
||||
- component: {fileID: 4414425374122294416}
|
||||
- component: {fileID: 1267745435525440738}
|
||||
m_Layer: 5
|
||||
m_Name: GameObject
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6426375569495705012
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3442993592452086091}
|
||||
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: 1077369489077175616}
|
||||
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!222 &4414425374122294416
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3442993592452086091}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1267745435525440738
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3442993592452086091}
|
||||
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: 21300000, guid: a99fa85777f9a5b4d86b859277707544, type: 3}
|
||||
m_Type: 0
|
||||
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!1 &3568653418969612126
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 227489081374553986}
|
||||
- component: {fileID: 6416582684501908282}
|
||||
- component: {fileID: 2816695216852066709}
|
||||
m_Layer: 5
|
||||
m_Name: Content
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &227489081374553986
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3568653418969612126}
|
||||
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: 8740302936727227434}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0.000034332275}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &6416582684501908282
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3568653418969612126}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 100
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 50
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &2816695216852066709
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3568653418969612126}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 1
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &4202334049855500581
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7474148160458665859}
|
||||
- component: {fileID: 4694224218495704662}
|
||||
- component: {fileID: 1512016701637479686}
|
||||
m_Layer: 5
|
||||
m_Name: Handle
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7474148160458665859
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4202334049855500581}
|
||||
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: 7306518210413313676}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4694224218495704662
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4202334049855500581}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1512016701637479686
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4202334049855500581}
|
||||
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: 0.2847969, b: 0, 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!1 &5452094549188284008
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2084150948806744478}
|
||||
- component: {fileID: 3478506922544614059}
|
||||
- component: {fileID: 6301460630123320729}
|
||||
- component: {fileID: 1849839432792571899}
|
||||
m_Layer: 5
|
||||
m_Name: Scrollbar Vertical
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2084150948806744478
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5452094549188284008}
|
||||
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: 7306518210413313676}
|
||||
m_Father: {fileID: 1188344226235047902}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 20, y: 0}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!114 &3478506922544614059
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5452094549188284008}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, 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: 0.28627452, b: 0, a: 1}
|
||||
m_HighlightedColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
m_PressedColor: {r: 0.93710685, g: 0.33299702, b: 0.33299702, a: 1}
|
||||
m_SelectedColor: {r: 0.8409424, g: 0.9685534, b: 0.57564956, 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: 1512016701637479686}
|
||||
m_HandleRect: {fileID: 7474148160458665859}
|
||||
m_Direction: 2
|
||||
m_Value: 0
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!222 &6301460630123320729
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5452094549188284008}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1849839432792571899
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5452094549188284008}
|
||||
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: 0.59607846}
|
||||
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: 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!1 &6747908716986530392
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7306518210413313676}
|
||||
m_Layer: 5
|
||||
m_Name: Sliding Area
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7306518210413313676
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6747908716986530392}
|
||||
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: 7474148160458665859}
|
||||
m_Father: {fileID: 2084150948806744478}
|
||||
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!1 &7787380462476439032
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1077369489077175616}
|
||||
m_Layer: 5
|
||||
m_Name: Background
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1077369489077175616
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7787380462476439032}
|
||||
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: 6426375569495705012}
|
||||
m_Father: {fileID: 8762241190862130675}
|
||||
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!1 &8628303920766820772
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2617138196515233625}
|
||||
- component: {fileID: 5432856254510042803}
|
||||
- component: {fileID: 3937315107675367904}
|
||||
m_Layer: 5
|
||||
m_Name: Title Text (TMP)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2617138196515233625
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8628303920766820772}
|
||||
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: 8762241190862130675}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -115}
|
||||
m_SizeDelta: {x: 0, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!222 &5432856254510042803
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8628303920766820772}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3937315107675367904
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8628303920766820772}
|
||||
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: Ranking
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||
m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, 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: 100
|
||||
m_fontSizeBase: 100
|
||||
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}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c401513426cb83c4e8759c73d8be4c3a
|
||||
guid: 1260c2be24f60c547af05635e06e0441
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
@ -120,7 +120,19 @@ MonoBehaviour:
|
||||
m_TargetGraphic: {fileID: 3015309825845733259}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 7488082087611091670}
|
||||
m_TargetAssemblyTypeName: MainPanelController, Assembly-CSharp
|
||||
m_MethodName: OnLeaderboardButtonClick
|
||||
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!1 &683375887058748135
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -375,7 +387,19 @@ MonoBehaviour:
|
||||
m_TargetGraphic: {fileID: 6468719718473664808}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 0}
|
||||
m_TargetAssemblyTypeName: PanelManager, Assembly-CSharp
|
||||
m_MethodName: OpenSettingsPanel
|
||||
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!1 &1637449823560643887
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -386,7 +410,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 2720476515686469179}
|
||||
- component: {fileID: 7796730417217941349}
|
||||
- component: {fileID: 8890768496808647529}
|
||||
- component: {fileID: 5873276942444222861}
|
||||
m_Layer: 5
|
||||
m_Name: Buttons
|
||||
m_TagString: Untagged
|
||||
@ -444,7 +468,7 @@ MonoBehaviour:
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &8890768496808647529
|
||||
--- !u!114 &5873276942444222861
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -453,7 +477,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 1637449823560643887}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c9598d78723880e4f8026beb096f28c4, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 93bfed50167472f489a27f0518070ed5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &2440131775796007731
|
||||
@ -845,7 +869,7 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 8890768496808647529}
|
||||
- m_Target: {fileID: 5873276942444222861}
|
||||
m_TargetAssemblyTypeName: MainPanelButtonController, Assembly-CSharp
|
||||
m_MethodName: OnShopPanelClick
|
||||
m_Mode: 1
|
||||
@ -1093,7 +1117,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: "16\uAE09"
|
||||
m_text: "18\uAE09"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||
m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||
@ -1283,9 +1307,9 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 8890768496808647529}
|
||||
m_TargetAssemblyTypeName: MainPanelButtonController, Assembly-CSharp
|
||||
m_MethodName: OpenReplayPanelClick
|
||||
- m_Target: {fileID: 0}
|
||||
m_TargetAssemblyTypeName: PanelManager, Assembly-CSharp
|
||||
m_MethodName: OpenReplayPanel
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
@ -1690,7 +1714,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: "\uD14C\uC2A4\uD2B801"
|
||||
m_text: "\uBC15\uC77C\uD658"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||
m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||
@ -1934,6 +1958,7 @@ MonoBehaviour:
|
||||
profileImages:
|
||||
- {fileID: 4381601883819518242}
|
||||
- {fileID: 6837262359343561592}
|
||||
rankingButton: {fileID: 202560210887412943}
|
||||
--- !u!1 &9186617826613474881
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -545,7 +545,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: -392, y: -2.9951172}
|
||||
m_AnchoredPosition: {x: -392, y: -0.0053710938}
|
||||
m_SizeDelta: {x: 784, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &5526954107552917871
|
||||
|
@ -102,7 +102,7 @@ GameObject:
|
||||
- component: {fileID: 4433003410674354461}
|
||||
- component: {fileID: 7284996522760678143}
|
||||
- component: {fileID: 9008029491930858052}
|
||||
- component: {fileID: 5051480494068645349}
|
||||
- component: {fileID: 1799015040358630920}
|
||||
m_Layer: 5
|
||||
m_Name: Replay Panel
|
||||
m_TagString: Untagged
|
||||
@ -180,7 +180,7 @@ CanvasGroup:
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &5051480494068645349
|
||||
--- !u!114 &1799015040358630920
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -189,13 +189,12 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 3090474328172188941}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dd8226d0f420f6e45b27896f8c57b9c1, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 43d3a140ef05b96439c226fb3de1178e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
panelRectTransform: {fileID: 1819504122199746525}
|
||||
scrollItemPrefab: {fileID: 7605012172595602668, guid: bef1de10a3cc5834a95a8689a2de2bb7, type: 3}
|
||||
content: {fileID: 7514948643227889924}
|
||||
replayCellPrefab: {fileID: 6381393519116383223, guid: e4d9ccbb1a6d7b1408923e47b6e7b690, type: 3}
|
||||
--- !u!1 &3668037476601755215
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -316,7 +315,7 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 5051480494068645349}
|
||||
- m_Target: {fileID: 0}
|
||||
m_TargetAssemblyTypeName: ScrollPanelController, Assembly-CSharp
|
||||
m_MethodName: OnClickCloseButton
|
||||
m_Mode: 1
|
||||
|
1330
Assets/Resources/Prefabs/Ranking.prefab
Normal file
1330
Assets/Resources/Prefabs/Ranking.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f72acd812737e54da767a0a48b4a60d
|
||||
DefaultImporter:
|
||||
guid: 124ba02c0639b9d47ac579bba38ca366
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
@ -122,6 +122,107 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &390032766
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 390032770}
|
||||
- component: {fileID: 390032769}
|
||||
- component: {fileID: 390032768}
|
||||
- component: {fileID: 390032767}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &390032767
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 390032766}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!114 &390032768
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 390032766}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UiScaleMode: 0
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 800, y: 600}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!223 &390032769
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 390032766}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 0
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!224 &390032770
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 390032766}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!1 &519420028
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -214,6 +315,74 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &900927548
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 900927551}
|
||||
- component: {fileID: 900927550}
|
||||
- component: {fileID: 900927549}
|
||||
m_Layer: 0
|
||||
m_Name: EventSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &900927549
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 900927548}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_HorizontalAxis: Horizontal
|
||||
m_VerticalAxis: Vertical
|
||||
m_SubmitButton: Submit
|
||||
m_CancelButton: Cancel
|
||||
m_InputActionsPerSecond: 10
|
||||
m_RepeatDelay: 0.5
|
||||
m_ForceModuleActive: 0
|
||||
--- !u!114 &900927550
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 900927548}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 10
|
||||
--- !u!4 &900927551
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 900927548}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1017982169
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -223,7 +392,8 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1017982171}
|
||||
- component: {fileID: 1017982170}
|
||||
- component: {fileID: 1017982173}
|
||||
- component: {fileID: 1017982172}
|
||||
m_Layer: 0
|
||||
m_Name: GameManager
|
||||
m_TagString: Untagged
|
||||
@ -231,22 +401,6 @@ GameObject:
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1017982170
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1017982169}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b945f44e6cbf420a9f40dc21b5f2e365, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
signinPanel: {fileID: 925522282249935710, guid: e14c9b2925f0ddb4192af743e5cc166a, type: 3}
|
||||
signupPanel: {fileID: 3181524094944658765, guid: 8827fe7caa3145e40b1369cc42f8697d, type: 3}
|
||||
canvas: {fileID: 0}
|
||||
_userManager: {fileID: 0}
|
||||
--- !u!4 &1017982171
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -262,9 +416,168 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1017982172
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1017982169}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
panelManagerPrefab: {fileID: 3475740041361426276, guid: 085ca07ca90c92545b2594bd13412701, type: 3}
|
||||
audioManagerPrefab: {fileID: 2946408323859178723, guid: e829818dce39a5d4383e061111bed871, type: 3}
|
||||
--- !u!82 &1017982173
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1017982169}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
--- !u!1 &1472647225
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1472647227}
|
||||
- component: {fileID: 1472647226}
|
||||
m_Layer: 0
|
||||
m_Name: MainPanelManager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1472647226
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1472647225}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0696b08f74b24325a7b378405f6170af, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
loadingPanelController: {fileID: 1454248679793356470, guid: 634a60576b4855940a97d1e7447b9fcc, type: 3}
|
||||
mainPanelController: {fileID: 7488082087611091670, guid: e1835a90a4d722a4b99be61179de8789, type: 3}
|
||||
--- !u!4 &1472647227
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1472647225}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 519420032}
|
||||
- {fileID: 1017982171}
|
||||
- {fileID: 390032770}
|
||||
- {fileID: 900927551}
|
||||
- {fileID: 1472647227}
|
||||
|
@ -5198,6 +5198,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 679766978}
|
||||
- component: {fileID: 679766977}
|
||||
- component: {fileID: 679766979}
|
||||
m_Layer: 0
|
||||
m_Name: GameManager
|
||||
m_TagString: Untagged
|
||||
@ -5217,16 +5218,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
mainPanel: {fileID: 0}
|
||||
signinPanel: {fileID: 0}
|
||||
signupPanel: {fileID: 0}
|
||||
settingsPanel: {fileID: 0}
|
||||
confirmPanel: {fileID: 8145365568262946399, guid: 76f1fe6b5243faf4f9b8caee7312d336, type: 3}
|
||||
rankingPanel: {fileID: 0}
|
||||
shopPanel: {fileID: 0}
|
||||
giboPanel: {fileID: 0}
|
||||
canvas: {fileID: 2704399793934511678}
|
||||
profileSprites: []
|
||||
panelManagerPrefab: {fileID: 3475740041361426276, guid: 085ca07ca90c92545b2594bd13412701, type: 3}
|
||||
audioManagerPrefab: {fileID: 2946408323859178723, guid: e829818dce39a5d4383e061111bed871, type: 3}
|
||||
--- !u!4 &679766978
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -5242,6 +5235,102 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!82 &679766979
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 679766976}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
--- !u!1001 &681290285
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -18687,7 +18776,19 @@ MonoBehaviour:
|
||||
m_TargetGraphic: {fileID: 3806122117153528265}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 6113787613455091454}
|
||||
m_TargetAssemblyTypeName: ReplayController, Assembly-CSharp
|
||||
m_MethodName: OnclickExitButton
|
||||
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!1 &2180157736468784195
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -18825,7 +18926,7 @@ GameObject:
|
||||
- component: {fileID: 182763848042457448}
|
||||
- component: {fileID: 5649645114534718557}
|
||||
m_Layer: 5
|
||||
m_Name: Player Name Text
|
||||
m_Name: PlayerB Name Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@ -18944,7 +19045,7 @@ GameObject:
|
||||
- component: {fileID: 1750532428139497284}
|
||||
- component: {fileID: 4888719462519445862}
|
||||
m_Layer: 5
|
||||
m_Name: Player Name Text
|
||||
m_Name: PlayerA Name Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@ -19364,6 +19465,10 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: bda9793c3fea2104199340f907378533, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
playerANicknameText: {fileID: 4888719462519445862}
|
||||
playerBNicknameText: {fileID: 5649645114534718557}
|
||||
playerAImage: {fileID: 8274101518570821972}
|
||||
playerBImage: {fileID: 1516328598779423605}
|
||||
--- !u!224 &6390176559513736999
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2,6 +2,7 @@ using System;
|
||||
using UnityEngine;
|
||||
using DG.Tweening;
|
||||
using TMPro;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
|
||||
@ -66,7 +67,7 @@ public class CoinsPanelController : MonoBehaviour
|
||||
if (isAdd)
|
||||
{
|
||||
var currentHeartCount = coinsCountText.text;
|
||||
coinsCountText.text = (int.Parse(currentHeartCount) + 100).ToString();
|
||||
coinsCountText.text = (int.Parse(currentHeartCount) + 500).ToString();
|
||||
// 코인 텍스트 100씩 증가
|
||||
}
|
||||
else
|
||||
@ -93,13 +94,15 @@ public class CoinsPanelController : MonoBehaviour
|
||||
/// 코인 추가 함수
|
||||
/// </summary>
|
||||
/// <param name="coinsCount"> 추가할 코인 수량</param>
|
||||
/// <param name="shopPanel">상점 패널 캔버스 그룹</param>
|
||||
/// <param name="action">애니메이션 종료 후 동작 EX) 코인 수량 변경</param>
|
||||
public void AddCoins(int coinsCount, Action action)
|
||||
public void AddCoins(int coinsCount, CanvasGroup shopPanel,Action action)
|
||||
{
|
||||
Sequence sequence = DOTween.Sequence();
|
||||
shopPanel.blocksRaycasts = false; //코인 중복 추가 방지 코드
|
||||
|
||||
Sequence sequence = DOTween.Sequence();
|
||||
// i += a 반복 횟수 조절, 100개 단위로 상승 차감 시 100으로 설정
|
||||
for (int i = 0; i < coinsCount; i+=100)
|
||||
for (int i = 0; i < coinsCount; i+=500)
|
||||
{
|
||||
sequence.AppendCallback(() =>
|
||||
{
|
||||
@ -115,6 +118,10 @@ public class CoinsPanelController : MonoBehaviour
|
||||
});
|
||||
sequence.AppendInterval(0.5f);
|
||||
}
|
||||
sequence.OnComplete(() =>
|
||||
{
|
||||
shopPanel.blocksRaycasts = true; //구매 후 클릭 활성화
|
||||
});
|
||||
}
|
||||
|
||||
public void EmptyCoins()
|
||||
|
@ -3,4 +3,8 @@
|
||||
public const string ServerURL = "http://localhost:3000";
|
||||
public const string GameServerURL = "ws://localhost:3000";
|
||||
public const int BoardSize = 15;
|
||||
public const int ReplayMaxRecordSize = 10;
|
||||
public const int WIN_COUNT = 5;
|
||||
//무승부 확인을 위한 최소 착수 수
|
||||
public const int MinCountForDrawCheck = 150;
|
||||
}
|
@ -4,6 +4,6 @@ using UnityEngine;
|
||||
|
||||
public class ShopItem
|
||||
{
|
||||
public string Name;
|
||||
public string Price;
|
||||
public string name;
|
||||
public int price;
|
||||
}
|
||||
|
@ -12,10 +12,10 @@ public abstract class BasePlayerState
|
||||
|
||||
public void ProcessMove(GameLogic gameLogic, Enums.PlayerType playerType, int row, int col)
|
||||
{
|
||||
|
||||
gameLogic.fioTimer.PauseTimer();
|
||||
|
||||
gameLogic.SetNewBoardValue(playerType, row, col);
|
||||
gameLogic.CountStoneCounter();
|
||||
|
||||
if (gameLogic.CheckGameWin(playerType, row, col))
|
||||
{
|
||||
@ -24,10 +24,23 @@ public abstract class BasePlayerState
|
||||
}
|
||||
else
|
||||
{
|
||||
//TODO: 무승부 확인
|
||||
if (gameLogic.TotalStoneCounter >= Constants.MinCountForDrawCheck)
|
||||
{
|
||||
if (gameLogic.CheckGameDraw())
|
||||
{
|
||||
GameManager.Instance.panelManager.OpenConfirmPanel($"Game Over: Draw",() =>{});
|
||||
gameLogic.EndGame();
|
||||
}
|
||||
else
|
||||
{
|
||||
HandleNextTurn(gameLogic);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
HandleNextTurn(gameLogic);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,7 +98,6 @@ public class AIState: BasePlayerState
|
||||
public override void OnEnter(GameLogic gameLogic)
|
||||
{
|
||||
gameLogic.fioTimer.StartTimer();
|
||||
//TODO: AI이식
|
||||
OmokAI.Instance.StartBestMoveSearch(gameLogic.GetBoard(), (bestMove) =>
|
||||
{
|
||||
if(bestMove.HasValue)
|
||||
@ -137,16 +149,22 @@ public class GameLogic : MonoBehaviour
|
||||
public StoneController stoneController;
|
||||
public Enums.PlayerType currentTurn;
|
||||
public Enums.GameType gameType;
|
||||
//총 착수된 돌 카운터
|
||||
public int _totalStoneCounter;
|
||||
public int TotalStoneCounter{get{return _totalStoneCounter;}}
|
||||
|
||||
public BasePlayerState firstPlayerState;
|
||||
public BasePlayerState secondPlayerState;
|
||||
private BasePlayerState _currentPlayerState;
|
||||
//타이머
|
||||
public FioTimer fioTimer;
|
||||
|
||||
private const int WIN_COUNT = 5;
|
||||
//선택된 좌표
|
||||
public int selectedRow;
|
||||
public int selectedCol;
|
||||
//마지막 배치된 좌표
|
||||
private int _lastRow;
|
||||
private int _lastCol;
|
||||
|
||||
#region Renju Members
|
||||
// 렌주룰 금수 검사기
|
||||
@ -156,9 +174,6 @@ public class GameLogic : MonoBehaviour
|
||||
private List<Vector2Int> _forbiddenMoves = new List<Vector2Int>();
|
||||
#endregion
|
||||
|
||||
private int _lastRow;
|
||||
private int _lastCol;
|
||||
|
||||
private static int[][] _directions = new int[][]
|
||||
{
|
||||
new int[] {1, 0}, // 수직
|
||||
@ -173,6 +188,7 @@ public class GameLogic : MonoBehaviour
|
||||
_board = new Enums.PlayerType[15, 15];
|
||||
this.stoneController = stoneController;
|
||||
this.gameType = gameType;
|
||||
_totalStoneCounter = 0;
|
||||
|
||||
selectedRow = -1;
|
||||
selectedCol = -1;
|
||||
@ -210,7 +226,6 @@ public class GameLogic : MonoBehaviour
|
||||
//TODO: 기보 매니저에게 플레이어 닉네임 넘겨주기
|
||||
ReplayManager.Instance.InitReplayData("PlayerA","nicknameB");
|
||||
|
||||
|
||||
switch (gameType)
|
||||
{
|
||||
case Enums.GameType.SinglePlay:
|
||||
@ -226,10 +241,10 @@ public class GameLogic : MonoBehaviour
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public Enums.PlayerType[,] GetBoard()
|
||||
//돌 카운터 증가 함수
|
||||
public void CountStoneCounter()
|
||||
{
|
||||
return _board;
|
||||
_totalStoneCounter++;
|
||||
}
|
||||
|
||||
//착수 버튼 클릭시 호출되는 함수
|
||||
@ -331,7 +346,7 @@ public class GameLogic : MonoBehaviour
|
||||
public void EndGame()
|
||||
{
|
||||
SetState(null);
|
||||
|
||||
//TODO: 게임 종료 후 행동 구현
|
||||
}
|
||||
|
||||
//승리 확인 함수
|
||||
@ -342,7 +357,7 @@ public class GameLogic : MonoBehaviour
|
||||
var (count, _) = CountStones(_board, row, col, dir, player);
|
||||
|
||||
// 자기 자신 포함하여 5개 이상일 시 true 반환
|
||||
if (count + 1 >= WIN_COUNT)
|
||||
if (count + 1 >= Constants.WIN_COUNT)
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -388,6 +403,55 @@ public class GameLogic : MonoBehaviour
|
||||
return (count, openEnds);
|
||||
}
|
||||
|
||||
public Enums.PlayerType[,] GetBoard()
|
||||
{
|
||||
return _board;
|
||||
}
|
||||
//무승부 확인
|
||||
public bool CheckGameDraw()
|
||||
{
|
||||
if (CheckIsFull(_board)) return true; // 빈 칸이 없으면 무승부
|
||||
bool playerAHasChance = CheckFiveChance(_board, Enums.PlayerType.PlayerA);
|
||||
bool playerBHasChance = CheckFiveChance(_board, Enums.PlayerType.PlayerB);
|
||||
return !(playerAHasChance || playerBHasChance); // 둘 다 기회가 없으면 무승부
|
||||
}
|
||||
|
||||
//연속되는 5개가 만들어질 기회가 있는지 판단
|
||||
private bool CheckFiveChance(Enums.PlayerType[,] board, Enums.PlayerType player)
|
||||
{
|
||||
var tempBoard = (Enums.PlayerType[,])board.Clone();
|
||||
int size = board.GetLength(0);
|
||||
for (int row = 0; row < size; row++)
|
||||
{
|
||||
for (int col = 0; col < size; col++)
|
||||
{
|
||||
if (tempBoard[row, col] != Enums.PlayerType.None) continue;
|
||||
tempBoard[row, col] = player;
|
||||
foreach (var dir in _directions)
|
||||
{
|
||||
var (count, _) = CountStones(tempBoard, row, col, dir, player);
|
||||
|
||||
// 자기 자신 포함하여 5개 이상일 시 true 반환
|
||||
if (count + 1 >= Constants.WIN_COUNT) return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//보드가 꽉 찼는지 확인
|
||||
private static bool CheckIsFull(Enums.PlayerType[,] board)
|
||||
{
|
||||
int size = board.GetLength(0);
|
||||
for (int row = 0; row < size; row++)
|
||||
{
|
||||
for (int col = 0; col < size; col++)
|
||||
{
|
||||
if (board[row, col] == Enums.PlayerType.None) return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#region Renju Rule Detector
|
||||
// 금수 위치 업데이트 및 표시
|
||||
private void UpdateForbiddenMoves()
|
||||
|
@ -31,10 +31,10 @@ public class GameManager : Singleton<GameManager>
|
||||
|
||||
//게임 씬에서 확인하기 위한 임시 코드
|
||||
// _canvas = canvas.GetComponent<Canvas>();
|
||||
// _stoneController = GameObject.FindObjectOfType<StoneController>();
|
||||
// _stoneController.InitStones();
|
||||
// var fioTimer = FindObjectOfType<FioTimer>();
|
||||
// _gameLogic = new GameLogic(_stoneController, _gameType, fioTimer);
|
||||
_stoneController = GameObject.FindObjectOfType<StoneController>();
|
||||
_stoneController.InitStones();
|
||||
var fioTimer = FindObjectOfType<FioTimer>();
|
||||
_gameLogic = new GameLogic(_stoneController, _gameType, fioTimer);
|
||||
}
|
||||
|
||||
private void InitPanels()
|
||||
@ -51,7 +51,6 @@ public class GameManager : Singleton<GameManager>
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("착수 위치를 선택 해주세요");
|
||||
//TODO: 착수할 위치를 선택하라는 동작
|
||||
}
|
||||
}
|
||||
@ -75,12 +74,6 @@ public class GameManager : Singleton<GameManager>
|
||||
var fioTimer = FindObjectOfType<FioTimer>();
|
||||
_gameLogic = new GameLogic(_stoneController, _gameType, fioTimer);
|
||||
}
|
||||
else if (scene.name == "Replay")
|
||||
{
|
||||
_stoneController = GameObject.FindObjectOfType<StoneController>();
|
||||
_stoneController.InitStones();
|
||||
_gameLogic = new GameLogic(_stoneController, Enums.GameType.Replay);
|
||||
}
|
||||
}
|
||||
//임시 재시작 재대결
|
||||
public void RetryGame()
|
||||
@ -90,39 +83,4 @@ public class GameManager : Singleton<GameManager>
|
||||
_gameLogic.SetState(_gameLogic.firstPlayerState);
|
||||
}
|
||||
|
||||
#region ReplayControll
|
||||
|
||||
public void ReplayNext(Move nextMove )
|
||||
{
|
||||
// 보드에 돌을 설정하기 위해 gameLogic의 SetNewBoardValue호출
|
||||
if (nextMove.stoneType.Equals(Enums.StoneType.Black.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerA, nextMove.columnIndex, nextMove.rowIndex);
|
||||
|
||||
}
|
||||
else if (nextMove.stoneType.Equals(Enums.StoneType.White.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerB, nextMove.columnIndex, nextMove.rowIndex);
|
||||
}
|
||||
// 돌이 놓인 내역을 ReplayManager에도 반영
|
||||
ReplayManager.Instance.PushMove(nextMove);
|
||||
}
|
||||
|
||||
public void ReplayUndo(Move targetMove)
|
||||
{
|
||||
if (targetMove.stoneType.Equals(Enums.StoneType.Black.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerA, targetMove.columnIndex, targetMove.rowIndex);
|
||||
|
||||
}
|
||||
else if (targetMove.stoneType.Equals(Enums.StoneType.White.ToString()))
|
||||
{
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerB, targetMove.columnIndex, targetMove.rowIndex);
|
||||
}
|
||||
ReplayManager.Instance.PushUndoMove(targetMove);
|
||||
//TODO: 화면상에서 돌 치우기
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
@ -10,6 +10,7 @@ public class MainPanelController : MonoBehaviour
|
||||
[SerializeField] private TextMeshProUGUI ratingText;
|
||||
[SerializeField] private Button signOutButton;
|
||||
[SerializeField] private GameObject[] profileImages;
|
||||
[SerializeField] private Button rankingButton;
|
||||
|
||||
private int _selectedImageIndex;
|
||||
|
||||
@ -72,6 +73,11 @@ public class MainPanelController : MonoBehaviour
|
||||
});
|
||||
}
|
||||
|
||||
public void OnLeaderboardButtonClick()
|
||||
{
|
||||
GameManager.Instance.panelManager.OpenRankingPanel(); // GameManager를 통해 리더보드 열기
|
||||
}
|
||||
|
||||
//대국 시작 버튼 클릭
|
||||
public void OnClickGameStart()
|
||||
{
|
||||
|
@ -47,6 +47,8 @@ public class NetworkManager : Singleton<NetworkManager>
|
||||
else
|
||||
{
|
||||
var result = www.downloadHandler.text;
|
||||
success?.Invoke();
|
||||
|
||||
// 회원가입 성공 팝업 표시
|
||||
GameManager.Instance.panelManager.OpenConfirmPanel("회원 가입이 완료 되었습니다.", () =>
|
||||
{
|
||||
@ -374,20 +376,29 @@ public class NetworkManager : Singleton<NetworkManager>
|
||||
}
|
||||
}
|
||||
|
||||
//코인 구매 함수
|
||||
public void PurchaseCoins(Action<int> success, Action failure)
|
||||
|
||||
/// <summary>
|
||||
/// 코인 구매 함수
|
||||
/// </summary>
|
||||
/// <param name="amount">충전양</param>
|
||||
/// <param name="paymentId">결제ID(??)</param>
|
||||
/// <param name="paymentType">결제타입(카드,구글페이)</param>
|
||||
/// <param name="success"></param>
|
||||
/// <param name="failure"></param>
|
||||
public void PurchaseCoins(int amount, string paymentId, string paymentType, Action<int> success, Action failure)
|
||||
{
|
||||
StartCoroutine(PurchaseCoinsCoroutine(success, failure));
|
||||
StartCoroutine(PurchaseCoinsCoroutine(amount, paymentId, paymentType, success, failure));
|
||||
}
|
||||
|
||||
private IEnumerator PurchaseCoinsCoroutine(Action<int> success, Action failure)
|
||||
private IEnumerator PurchaseCoinsCoroutine(int amount, string paymentId, string paymentType, Action<int> success, Action failure)
|
||||
{
|
||||
string jsonString = "{\"adCompleted\": true}"; //테스트를 위해 ture로 설정
|
||||
byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonString);
|
||||
string url = Constants.ServerURL + "/coins/purchase"; // 서버 엔드포인트
|
||||
PurchaseData purchaseData = new PurchaseData(amount, paymentId, paymentType);
|
||||
string jsonString = JsonUtility.ToJson(purchaseData);
|
||||
|
||||
using (UnityWebRequest www =
|
||||
new UnityWebRequest(Constants.ServerURL + "/coins/recharge/ad", UnityWebRequest.kHttpVerbPOST))
|
||||
using (UnityWebRequest www = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST))
|
||||
{
|
||||
byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonString);
|
||||
www.uploadHandler = new UploadHandlerRaw(bodyRaw);
|
||||
www.downloadHandler = new DownloadHandlerBuffer();
|
||||
www.SetRequestHeader("Content-Type", "application/json");
|
||||
@ -406,26 +417,29 @@ public class NetworkManager : Singleton<NetworkManager>
|
||||
|
||||
yield return www.SendWebRequest();
|
||||
|
||||
if (www.result == UnityWebRequest.Result.ConnectionError ||
|
||||
www.result == UnityWebRequest.Result.ProtocolError)
|
||||
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
|
||||
{
|
||||
Debug.Log("광고 시청 후 코인 충전 실패: " + www.error);
|
||||
Debug.LogError("결제 요청 실패: " + www.error);
|
||||
failure?.Invoke();
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = www.downloadHandler.text;
|
||||
var rechargeResult = JsonUtility.FromJson<CoinsAdResult>(result);
|
||||
var purchaseResult = JsonUtility.FromJson<CoinsPurchaseResult>(result);
|
||||
|
||||
if (rechargeResult.result == "SUCCESS")
|
||||
if (purchaseResult.result == "SUCCESS")
|
||||
{
|
||||
Debug.Log("광고 시청으로 코인 충전 완료: " + rechargeResult.recharged);
|
||||
Debug.Log($"결제 완료 {purchaseResult.purchased} 코인 충전됨, 현재 코인: {purchaseResult.currentCoins}");
|
||||
|
||||
// 유저 데이터 갱신
|
||||
UserManager.Instance.SetCoinsInfo();
|
||||
success?.Invoke(rechargeResult.recharged);
|
||||
|
||||
// 최신 코인 개수를 성공 콜백으로 전달
|
||||
success?.Invoke(purchaseResult.purchased);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("광고 시청 후 충전 실패: " + rechargeResult.result);
|
||||
Debug.LogError("결제 후 코인 충전 실패: " + purchaseResult.result);
|
||||
failure?.Invoke();
|
||||
}
|
||||
}
|
||||
|
31
Assets/Script/Main/ScoreCellController.cs
Normal file
31
Assets/Script/Main/ScoreCellController.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ScoreCellController : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Image profileImage;
|
||||
[SerializeField] private TMP_Text nicknameText;
|
||||
[SerializeField] private TMP_Text scoreText;
|
||||
[SerializeField] private TMP_Text winRateText;
|
||||
[SerializeField] private TMP_Text winText;
|
||||
[SerializeField] private TMP_Text loseText;
|
||||
|
||||
[SerializeField] private List<Sprite> profileSprites;
|
||||
|
||||
public void SetCellInfo(ScoreInfo item)
|
||||
{
|
||||
nicknameText.text = item.nickname;
|
||||
scoreText.text = item.score.ToString();
|
||||
winRateText.text = item.winRate.ToString("F2");
|
||||
winText.text = item.win.ToString();
|
||||
loseText.text = item.lose.ToString();
|
||||
|
||||
if (profileImage != null && item.imageIndex != null)
|
||||
{
|
||||
profileImage.sprite = profileSprites[item.imageIndex]; // 프로필 이미지 (Sprite 할당)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dd8226d0f420f6e45b27896f8c57b9c1
|
||||
guid: f2f69892cc9e75e43a699627c577b4a5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
11
Assets/Script/Main/ScoreListWrapper.cs
Normal file
11
Assets/Script/Main/ScoreListWrapper.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
[Serializable]
|
||||
public class ScoreListWrapper
|
||||
{
|
||||
public List<ScoreInfo> leaderboardDatas; // 여러 개의 ScoreInfo를 담을 리스트
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: da4e7b6c90ef1dd49a95d0f1716dedc7
|
||||
guid: 873dbba9a01f08c409db64d4e90c3017
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
@ -25,6 +25,11 @@ public struct ScoreInfo
|
||||
public string email;
|
||||
public string nickname;
|
||||
public int score;
|
||||
public float winRate;
|
||||
public int win;
|
||||
public int lose;
|
||||
public int totalGames;
|
||||
public int imageIndex;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
@ -55,14 +60,13 @@ public class SigninPanelController : MonoBehaviour
|
||||
|
||||
NetworkManager.Instance.Signin(signinData, (signinResult) =>
|
||||
{
|
||||
if (mainPanel == null) mainPanel = FindObjectOfType<MainPanelManager>();
|
||||
Destroy(gameObject);
|
||||
|
||||
// 유저 정보 저장
|
||||
UserManager.Instance.SetUserInfo(signinResult);
|
||||
|
||||
// 메인 패널 정보 갱신
|
||||
mainPanel.UpdateMainPanelUI(GameManager.Instance.panelManager.OpenMainPanel);
|
||||
Destroy(gameObject);
|
||||
}, result =>
|
||||
{
|
||||
if (result == 0)
|
||||
|
@ -20,6 +20,19 @@ public class CoinsInfoResult
|
||||
public int coins;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 코인 구매 응답 클래스
|
||||
/// </summary>
|
||||
public class CoinsPurchaseResult
|
||||
{
|
||||
public string result;
|
||||
public string message;
|
||||
public int purchased; // 충전된 코인량
|
||||
public int currentCoins; // 현재 보유 코인량
|
||||
}
|
||||
/// <summary>
|
||||
/// 광고 시청 응답 클래스
|
||||
/// </summary>
|
||||
public class CoinsAdResult
|
||||
{
|
||||
public string result;
|
||||
@ -28,6 +41,25 @@ public class CoinsAdResult
|
||||
public int currentCoins; // 현재 보유 코인량
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 코인 구매 요청 데이터 클래스
|
||||
/// </summary>
|
||||
public class PurchaseData
|
||||
{
|
||||
public int amount;
|
||||
public string paymentId;
|
||||
public string paymentType;
|
||||
|
||||
public PurchaseData(int amount, string paymentId, string paymentType)
|
||||
{
|
||||
this.amount = amount;
|
||||
this.paymentId = paymentId;
|
||||
this.paymentType = paymentType;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class UserManager : Singleton<UserManager>
|
||||
{
|
||||
public string UserId { get; private set; }
|
||||
|
@ -1,9 +1,20 @@
|
||||
public class ForbiddenDetectorBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 흑색 돌
|
||||
/// </summary>
|
||||
private protected Enums.PlayerType Black = Enums.PlayerType.PlayerA;
|
||||
/// <summary>
|
||||
/// 빈칸
|
||||
/// </summary>
|
||||
private protected Enums.PlayerType Space = Enums.PlayerType.None;
|
||||
|
||||
// 8방향을 나타내는 델타 배열 (가로, 세로, 대각선 방향)
|
||||
/// <summary>
|
||||
/// 흰색 돌, 렌주룰 내에선 벽으로도 활용
|
||||
/// </summary>
|
||||
private protected Enums.PlayerType White = Enums.PlayerType.PlayerB;
|
||||
/// <summary>
|
||||
/// 8방향을 나타내는 델타 배열 (가로, 세로, 대각선 방향)
|
||||
/// </summary>
|
||||
private protected readonly int[,] Directions = new int[8, 2]
|
||||
{
|
||||
{ 1, 0 }, // 오른쪽
|
||||
@ -16,11 +27,13 @@
|
||||
{ 1, -1 } // 오른쪽 위
|
||||
};
|
||||
|
||||
// 방향 쌍을 정의 (반대 방향끼리 쌍을 이룸)
|
||||
// 0-4: 가로 방향 쌍 (동-서)
|
||||
// 1-5: 대각선 방향 쌍 (남동-북서)
|
||||
// 2-6: 세로 방향 쌍 (남-북)
|
||||
// 3-7: 대각선 방향 쌍 (남서-북동)
|
||||
/// <summary>
|
||||
/// 방향 쌍을 정의 (반대 방향끼리 쌍을 이룸)
|
||||
/// 0-4: 가로 방향 쌍 (동-서)
|
||||
/// 1-5: 대각선 방향 쌍 (남동-북서)
|
||||
/// 2-6: 세로 방향 쌍 (남-북)
|
||||
/// 3-7: 대각선 방향 쌍 (남서-북동)
|
||||
/// </summary>
|
||||
private protected readonly int[,] DirectionPairs = { { 0, 4 }, { 1, 5 }, { 2, 6 }, { 3, 7 } };
|
||||
|
||||
// 15*15 보드 사이즈
|
||||
|
@ -30,12 +30,9 @@ public class RenjuDoubleFourDetector: ForbiddenDetectorBase
|
||||
/// </summary>
|
||||
private bool CheckDoubleFour(Enums.PlayerType[,] board, int row, int col)
|
||||
{
|
||||
// 각각 두개의 라인에서 쌍사를 형성하는 경우
|
||||
if (FindDoubleLineFour(board, row, col)) return true;
|
||||
|
||||
// true : 일직선으로 쌍사가 만들어지는 특수 패턴
|
||||
// false : 모든 경우에도 쌍사가 만들어지지 않음
|
||||
return FindSingleLineDoubleFour(board, row, col);
|
||||
return FindDoubleLineFour(board, row, col) || // 각각 두개의 라인에서 쌍사를 형성하는 경우
|
||||
FindSingleLineDoubleFour(board, row, col); // 일직선으로 쌍사가 만들어지는 특수 패턴
|
||||
}
|
||||
|
||||
private bool FindDoubleLineFour(Enums.PlayerType[,] board, int row, int col)
|
||||
@ -136,7 +133,7 @@ public class RenjuDoubleFourDetector: ForbiddenDetectorBase
|
||||
}
|
||||
else
|
||||
{
|
||||
linePattern[centerIndex + i] = Space; // 범위 밖은 빈칸으로 처리
|
||||
linePattern[centerIndex + i] = White; // 범위 밖은 백돌로 처리
|
||||
}
|
||||
}
|
||||
|
||||
@ -152,7 +149,7 @@ public class RenjuDoubleFourDetector: ForbiddenDetectorBase
|
||||
}
|
||||
else
|
||||
{
|
||||
linePattern[centerIndex - i] = Space; // 범위 밖은 빈칸으로 처리
|
||||
linePattern[centerIndex - i] = White; // 범위 밖은 백돌로 처리
|
||||
}
|
||||
}
|
||||
|
||||
@ -181,7 +178,7 @@ public class RenjuDoubleFourDetector: ForbiddenDetectorBase
|
||||
}
|
||||
}
|
||||
|
||||
// 정확히 4개의 돌이 있고, 1개의 빈칸이 있으면 4로 판정
|
||||
// 4개의 돌이 있고, 1개의 빈칸이 있으면 4로 판정
|
||||
// (현재 위치는 흑으로 이미 설정되어 있음)
|
||||
if (stoneCount == 4)
|
||||
{
|
||||
|
@ -1,3 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0daf1f2b8cbe4b19adc0e42db7a15991
|
||||
timeCreated: 1742270734
|
||||
fileFormatVersion: 2
|
||||
guid: f997e95272e950240a6e9e2f8a99fdfa
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
@ -1,8 +1,25 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// 렌주 쌍삼(3-3) 금수 판정을 위한 개선된 클래스
|
||||
/// 렌주 국제 규칙 9.3에 따라 쌍삼의 예외 상황까지 정확히 판별
|
||||
/// </summary>
|
||||
public class RenjuDoubleThreeDetector : ForbiddenDetectorBase
|
||||
{
|
||||
// 열린 3 패턴 정보를 저장하는 구조체
|
||||
private struct OpenThreeInfo
|
||||
{
|
||||
public int direction; // 방향 인덱스
|
||||
public List<Vector2Int> emptyPositions; // 빈 좌표들 (4를 만들 수 있는 위치)
|
||||
|
||||
public OpenThreeInfo(int dir)
|
||||
{
|
||||
direction = dir;
|
||||
emptyPositions = new List<Vector2Int>();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 쌍삼(3-3) 여부를 검사합니다.
|
||||
/// </summary>
|
||||
@ -15,12 +32,635 @@ public class RenjuDoubleThreeDetector: ForbiddenDetectorBase
|
||||
// 임시로 돌 배치
|
||||
board[row, col] = Black;
|
||||
|
||||
// 쌍삼 검사
|
||||
// bool isThreeThree = CheckThreeThree(board, row, col);
|
||||
// 쌍삼 기본 검사 (열린 3이 2개 이상인지)
|
||||
List<OpenThreeInfo> openThrees = FindAllOpenThrees(board, row, col);
|
||||
|
||||
// 원래 상태로 되돌림
|
||||
board[row, col] = Space;
|
||||
|
||||
// 열린 3이 2개 미만이면 쌍삼이 아님
|
||||
if (openThrees.Count < 2)
|
||||
return false;
|
||||
|
||||
// 렌주 규칙 9.3에 따른 예외 케이스 확인
|
||||
return !CheckDoubleThreeExceptions(board, row, col, openThrees);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 모든 방향에서 열린 3을 찾아 반환합니다.
|
||||
/// </summary>
|
||||
private List<OpenThreeInfo> FindAllOpenThrees(Enums.PlayerType[,] board, int row, int col)
|
||||
{
|
||||
List<OpenThreeInfo> openThrees = new List<OpenThreeInfo>();
|
||||
|
||||
// 4개의 방향 쌍에 대해 검사 (대각선 및 직선 포함)
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
int dir1 = DirectionPairs[i, 0];
|
||||
int dir2 = DirectionPairs[i, 1];
|
||||
|
||||
// 열린 3 정보 획득
|
||||
OpenThreeInfo threeInfo = new OpenThreeInfo(i);
|
||||
if (FindOpenThreeInDirection(board, row, col, dir1, dir2, ref threeInfo))
|
||||
{
|
||||
openThrees.Add(threeInfo);
|
||||
}
|
||||
}
|
||||
|
||||
return openThrees;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 특정 방향에서 열린 3을 찾고 관련 정보를 채웁니다.
|
||||
/// </summary>
|
||||
private bool FindOpenThreeInDirection(Enums.PlayerType[,] board, int row, int col, int dir1, int dir2, ref OpenThreeInfo threeInfo)
|
||||
{
|
||||
// 라인 패턴 추출
|
||||
Enums.PlayerType[] linePattern = ExtractLinePattern(board, row, col, dir1, dir2);
|
||||
int centerIndex = 5; // 중앙 인덱스 (현재 위치)
|
||||
|
||||
// 연속된 열린 3 또는 한 칸 떨어진 열린 3 확인
|
||||
if (FindConsecutiveOpenThree(linePattern, centerIndex, ref threeInfo, row, col, dir1, dir2) ||
|
||||
FindGappedOpenThree(linePattern, centerIndex, ref threeInfo, row, col, dir1, dir2))
|
||||
{
|
||||
// 열린 3이 발견됨
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 라인 패턴을 추출합니다.
|
||||
/// </summary>
|
||||
private Enums.PlayerType[] ExtractLinePattern(Enums.PlayerType[,] board, int row, int col, int dir1, int dir2)
|
||||
{
|
||||
Enums.PlayerType[] linePattern = new Enums.PlayerType[11];
|
||||
int centerIndex = 5; // 중앙 인덱스 (현재 위치)
|
||||
|
||||
// 현재 위치 설정
|
||||
linePattern[centerIndex] = Black;
|
||||
|
||||
// dir1 방향으로 패턴 채우기
|
||||
for (int i = 1; i <= 5; i++)
|
||||
{
|
||||
int newRow = row + Directions[dir1, 0] * i;
|
||||
int newCol = col + Directions[dir1, 1] * i;
|
||||
|
||||
if (IsInBounds(newRow, newCol))
|
||||
{
|
||||
linePattern[centerIndex + i] = board[newRow, newCol];
|
||||
}
|
||||
else
|
||||
{
|
||||
linePattern[centerIndex + i] = White; // 범위 밖은 벽으로 처리하여 일관성 유지
|
||||
}
|
||||
}
|
||||
|
||||
// dir2 방향으로 패턴 채우기
|
||||
for (int i = 1; i <= 5; i++)
|
||||
{
|
||||
int newRow = row + Directions[dir2, 0] * i;
|
||||
int newCol = col + Directions[dir2, 1] * i;
|
||||
|
||||
if (IsInBounds(newRow, newCol))
|
||||
{
|
||||
linePattern[centerIndex - i] = board[newRow, newCol];
|
||||
}
|
||||
else
|
||||
{
|
||||
linePattern[centerIndex - i] = White; // 범위 밖은 벽으로 처리하여 일관성 유지
|
||||
}
|
||||
}
|
||||
|
||||
return linePattern;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 연속된 열린 3 패턴을 찾고 관련 정보를 채웁니다.
|
||||
/// </summary>
|
||||
private bool FindConsecutiveOpenThree(Enums.PlayerType[] linePattern, int centerIndex, ref OpenThreeInfo threeInfo, int row, int col, int dir1, int dir2)
|
||||
{
|
||||
// 연속된 3개의 돌 패턴 (●●●)
|
||||
for (int start = centerIndex - 2; start <= centerIndex; start++)
|
||||
{
|
||||
// 범위 체크
|
||||
if (start < 0 || start + 2 >= linePattern.Length)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 3개의 연속된 돌 확인
|
||||
bool isConsecutiveThree = true;
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if (linePattern[start + i] != Black)
|
||||
{
|
||||
isConsecutiveThree = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isConsecutiveThree)
|
||||
{
|
||||
// 양쪽이 모두 열려있는지 확인
|
||||
bool isLeftOpen = (start - 1 >= 0) && (linePattern[start - 1] == Space);
|
||||
bool isRightOpen = (start + 3 < linePattern.Length) && (linePattern[start + 3] == Space);
|
||||
|
||||
// 양쪽이 모두 열려있으면 열린 3
|
||||
if (isLeftOpen && isRightOpen)
|
||||
{
|
||||
// 추가 검증: 더 확장해서 열려있는지 확인
|
||||
bool isExtendedLeftOpen = IsExtendedOpen(linePattern, start - 1, -1);
|
||||
bool isExtendedRightOpen = IsExtendedOpen(linePattern, start + 3, 1);
|
||||
|
||||
if (isExtendedLeftOpen && isExtendedRightOpen)
|
||||
{
|
||||
// 4를 만들 수 있는 위치 저장
|
||||
if (isLeftOpen)
|
||||
{
|
||||
int leftRow = row + Directions[dir2, 0] * (centerIndex - (start - 1));
|
||||
int leftCol = col + Directions[dir2, 1] * (centerIndex - (start - 1));
|
||||
if (IsInBounds(leftRow, leftCol))
|
||||
{
|
||||
threeInfo.emptyPositions.Add(new Vector2Int(leftCol, leftRow));
|
||||
}
|
||||
}
|
||||
|
||||
if (isRightOpen)
|
||||
{
|
||||
int rightRow = row + Directions[dir1, 0] * ((start + 3) - centerIndex);
|
||||
int rightCol = col + Directions[dir1, 1] * ((start + 3) - centerIndex);
|
||||
if (IsInBounds(rightRow, rightCol))
|
||||
{
|
||||
threeInfo.emptyPositions.Add(new Vector2Int(rightCol, rightRow));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 한 칸 떨어진 열린 3 패턴을 찾고 관련 정보를 채웁니다.
|
||||
/// </summary>
|
||||
private bool FindGappedOpenThree(Enums.PlayerType[] linePattern, int centerIndex, ref OpenThreeInfo threeInfo, int row, int col, int dir1, int dir2)
|
||||
{
|
||||
// 한 칸 떨어진 패턴 확인 (●●○● 또는 ●○●●)
|
||||
for (int start = Mathf.Max(0, centerIndex - 3); start <= Mathf.Min(linePattern.Length - 4, centerIndex); start++)
|
||||
{
|
||||
// 패턴 내에 돌과 빈칸 개수 확인
|
||||
int stoneCount = 0;
|
||||
int gapCount = 0;
|
||||
int gapPosition = -1;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (linePattern[start + i] == Black)
|
||||
{
|
||||
stoneCount++;
|
||||
}
|
||||
else if (linePattern[start + i] == Space)
|
||||
{
|
||||
gapCount++;
|
||||
gapPosition = start + i;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 상대 돌이나 벽이 있으면 패턴이 깨짐
|
||||
stoneCount = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 3개의 돌과 1개의 빈칸으로 구성된 패턴
|
||||
if (stoneCount == 3 && gapCount == 1)
|
||||
{
|
||||
// 양쪽이 모두 열려있는지 확인
|
||||
bool isLeftOpen = (start - 1 >= 0) && (linePattern[start - 1] == Space);
|
||||
bool isRightOpen = (start + 4 < linePattern.Length) && (linePattern[start + 4] == Space);
|
||||
|
||||
// 한쪽이라도 열려있으면 잠재적 열린 3
|
||||
if (isLeftOpen || isRightOpen)
|
||||
{
|
||||
// 빈칸에 돌을 놓았을 때 열린 4가 되는지 확인
|
||||
if (CheckIfCreatesOpenFour(linePattern, gapPosition))
|
||||
{
|
||||
// 4를 만들 수 있는 위치 저장 (빈칸 위치)
|
||||
int gapRow = row;
|
||||
int gapCol = col;
|
||||
|
||||
// 빈칸의 보드 좌표 계산
|
||||
int offset = gapPosition - centerIndex;
|
||||
if (offset > 0)
|
||||
{
|
||||
gapRow += Directions[dir1, 0] * offset;
|
||||
gapCol += Directions[dir1, 1] * offset;
|
||||
}
|
||||
else if (offset < 0)
|
||||
{
|
||||
gapRow += Directions[dir2, 0] * (-offset);
|
||||
gapCol += Directions[dir2, 1] * (-offset);
|
||||
}
|
||||
|
||||
if (IsInBounds(gapRow, gapCol))
|
||||
{
|
||||
threeInfo.emptyPositions.Add(new Vector2Int(gapCol, gapRow));
|
||||
}
|
||||
|
||||
// 장목이 되는지 확인 (장목이 되면 열린 3이 아님)
|
||||
if (CheckIfCreatesOverline(linePattern, gapPosition))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 특정 방향으로 추가로 열려있는지 확인합니다.
|
||||
/// </summary>
|
||||
private bool IsExtendedOpen(Enums.PlayerType[] linePattern, int startPos, int direction)
|
||||
{
|
||||
// 한 칸 더 확장해서 확인
|
||||
int nextPos = startPos + direction;
|
||||
if (nextPos >= 0 && nextPos < linePattern.Length)
|
||||
{
|
||||
// 다음 칸이 상대 돌이나 벽이면 확장 불가
|
||||
if (linePattern[nextPos] == White)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 범위를 벗어나면 확장 불가
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 빈칸에 돌을 놓았을 때 열린 4가 되는지 확인합니다.
|
||||
/// </summary>
|
||||
private bool CheckIfCreatesOpenFour(Enums.PlayerType[] linePattern, int position)
|
||||
{
|
||||
// 시뮬레이션: 빈칸에 돌을 놓아봄
|
||||
Enums.PlayerType[] testPattern = new Enums.PlayerType[linePattern.Length];
|
||||
System.Array.Copy(linePattern, testPattern, linePattern.Length);
|
||||
testPattern[position] = Black;
|
||||
|
||||
// 놓은 위치를 포함해 연속된 4가 있는지 확인
|
||||
for (int start = Mathf.Max(0, position - 3); start <= position; start++)
|
||||
{
|
||||
// 범위 체크
|
||||
if (start + 3 >= testPattern.Length)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 4개의 연속된 돌 확인
|
||||
bool isConsecutiveFour = true;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (testPattern[start + i] != Black)
|
||||
{
|
||||
isConsecutiveFour = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isConsecutiveFour)
|
||||
{
|
||||
// 양쪽이 모두 열려있는지 확인 (열린 4)
|
||||
bool isLeftOpen = (start - 1 >= 0) && (testPattern[start - 1] == Space);
|
||||
bool isRightOpen = (start + 4 < testPattern.Length) && (testPattern[start + 4] == Space);
|
||||
|
||||
if (isLeftOpen || isRightOpen)
|
||||
{
|
||||
return true; // 열린 4나 반열린 4가 됨
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 빈칸에 돌을 놓았을 때 장목(6목 이상)이 되는지 확인합니다.
|
||||
/// </summary>
|
||||
private bool CheckIfCreatesOverline(Enums.PlayerType[] linePattern, int position)
|
||||
{
|
||||
// 시뮬레이션: 빈칸에 돌을 놓아봄
|
||||
Enums.PlayerType[] testPattern = new Enums.PlayerType[linePattern.Length];
|
||||
System.Array.Copy(linePattern, testPattern, linePattern.Length);
|
||||
testPattern[position] = Black;
|
||||
|
||||
// 놓은 위치 주변의 최대 연속 돌 수 계산
|
||||
int maxLength = 1; // 놓은 돌 포함
|
||||
|
||||
// 오른쪽 방향 연속 돌 세기
|
||||
for (int i = position + 1; i < testPattern.Length && testPattern[i] == Black; i++)
|
||||
{
|
||||
maxLength++;
|
||||
}
|
||||
|
||||
// 왼쪽 방향 연속 돌 세기
|
||||
for (int i = position - 1; i >= 0 && testPattern[i] == Black; i--)
|
||||
{
|
||||
maxLength++;
|
||||
}
|
||||
|
||||
// 6목 이상이면 장목
|
||||
return maxLength >= 6;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 렌주 규칙 9.3에 따른 쌍삼 예외 케이스를 확인합니다.
|
||||
/// </summary>
|
||||
private bool CheckDoubleThreeExceptions(Enums.PlayerType[,] board, int row, int col, List<OpenThreeInfo> openThrees)
|
||||
{
|
||||
// 예외 케이스 1: 하나의 삼만 열린 사가 될 수 있는 경우 (9.3 a항)
|
||||
bool canFormOpenFourWithoutDoubleFour = CheckExceptionCanFormOneFour(board, row, col, openThrees);
|
||||
|
||||
// 예외 케이스 2: 9.3 b항 (복잡한 연쇄 체크)
|
||||
bool isMeetExceptionB = CheckExceptionB(board, row, col, openThrees);
|
||||
|
||||
// 어느 하나라도 예외 조건을 만족하면 쌍삼이 아님
|
||||
return canFormOpenFourWithoutDoubleFour || isMeetExceptionB;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 예외 케이스 1: 하나의 삼만 열린 사가 될 수 있고 쌍사가 형성되지 않는 경우 (9.3 a항)
|
||||
/// </summary>
|
||||
private bool CheckExceptionCanFormOneFour(Enums.PlayerType[,] board, int row, int col, List<OpenThreeInfo> openThrees)
|
||||
{
|
||||
int canFormFourCount = 0;
|
||||
|
||||
// 각 열린 3에 대해, 4를 만들 수 있는지 확인
|
||||
foreach (var threeInfo in openThrees)
|
||||
{
|
||||
foreach (var emptyPos in threeInfo.emptyPositions)
|
||||
{
|
||||
// 빈 위치에 돌을 놓았을 때 열린 4가 되는지 확인
|
||||
board[emptyPos.y, emptyPos.x] = Black;
|
||||
|
||||
// 쌍사가 형성되는지 확인
|
||||
bool formsDoubleFour = CheckDoubleFour(board, emptyPos.y, emptyPos.x);
|
||||
|
||||
// 원래 상태로 복원
|
||||
board[emptyPos.y, emptyPos.x] = Space;
|
||||
|
||||
// 쌍사 없이 4를 만들 수 있으면 카운트 증가
|
||||
if (!formsDoubleFour)
|
||||
{
|
||||
canFormFourCount++;
|
||||
// 디버깅
|
||||
// Debug.Log($"Can form four at ({emptyPos.x}, {emptyPos.y}) without double four");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 하나의 삼만 쌍사 없이 4로 만들 수 있는 경우
|
||||
return canFormFourCount == 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 예외 케이스 2: 9.3 b항의 복잡한 연쇄 체크
|
||||
/// </summary>
|
||||
private bool CheckExceptionB(Enums.PlayerType[,] board, int row, int col, List<OpenThreeInfo> openThrees)
|
||||
{
|
||||
// 이 부분은 매우 복잡한 렌주 규칙 9.3 b항을 구현해야 합니다.
|
||||
// 기본적인 구현만 제공하며, 필요에 따라 확장 가능합니다.
|
||||
|
||||
// 각 열린 3에 대해, 4를 만들 때 다른 쌍삼이 형성되는지 확인
|
||||
foreach (var threeInfo in openThrees)
|
||||
{
|
||||
bool canFormFourWithoutChainDoubleThree = false;
|
||||
|
||||
foreach (var emptyPos in threeInfo.emptyPositions)
|
||||
{
|
||||
// 빈 위치에 돌을 놓았을 때
|
||||
board[emptyPos.y, emptyPos.x] = Black;
|
||||
|
||||
// 다른 쌍삼이 형성되는지 확인 (연쇄 체크)
|
||||
bool formsOtherDoubleThree = false;
|
||||
|
||||
// 다른 모든 빈 위치에 대해 쌍삼 체크
|
||||
for (int r = 0; r < BoardSize; r++)
|
||||
{
|
||||
for (int c = 0; c < BoardSize; c++)
|
||||
{
|
||||
if (board[r, c] == Space)
|
||||
{
|
||||
// 임시로 돌 배치하여 쌍삼 체크
|
||||
board[r, c] = Black;
|
||||
bool isDoubleThree = CheckSimpleDoubleThree(board, r, c);
|
||||
board[r, c] = Space;
|
||||
|
||||
if (isDoubleThree)
|
||||
{
|
||||
formsOtherDoubleThree = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (formsOtherDoubleThree) break;
|
||||
}
|
||||
|
||||
// 원래 상태로 복원
|
||||
board[emptyPos.y, emptyPos.x] = Space;
|
||||
|
||||
// 연쇄 쌍삼이 형성되지 않으면 예외 조건 만족
|
||||
if (!formsOtherDoubleThree)
|
||||
{
|
||||
canFormFourWithoutChainDoubleThree = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 하나의 삼이라도 연쇄 쌍삼 없이 4를 만들 수 있으면 예외 조건 만족
|
||||
if (canFormFourWithoutChainDoubleThree)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 단순 쌍삼 체크 (연쇄 검사용, 재귀 호출 방지)
|
||||
/// </summary>
|
||||
private bool CheckSimpleDoubleThree(Enums.PlayerType[,] board, int row, int col)
|
||||
{
|
||||
int openThreeCount = 0;
|
||||
|
||||
// 4개의 방향 쌍에 대해 검사
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
int dir1 = DirectionPairs[i, 0];
|
||||
int dir2 = DirectionPairs[i, 1];
|
||||
|
||||
// 간단한 열린 3 체크
|
||||
if (CheckSimpleOpenThree(board, row, col, dir1, dir2))
|
||||
{
|
||||
openThreeCount++;
|
||||
if (openThreeCount >= 2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 단순 열린 3 체크 (연쇄 검사용)
|
||||
/// </summary>
|
||||
private bool CheckSimpleOpenThree(Enums.PlayerType[,] board, int row, int col, int dir1, int dir2)
|
||||
{
|
||||
Enums.PlayerType[] linePattern = ExtractLinePattern(board, row, col, dir1, dir2);
|
||||
int centerIndex = 5;
|
||||
|
||||
// 연속된 열린 3 패턴 체크
|
||||
for (int start = centerIndex - 2; start <= centerIndex; start++)
|
||||
{
|
||||
if (start < 0 || start + 2 >= linePattern.Length)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
bool isConsecutiveThree = true;
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if (linePattern[start + i] != Black)
|
||||
{
|
||||
isConsecutiveThree = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isConsecutiveThree)
|
||||
{
|
||||
bool isLeftOpen = (start - 1 >= 0) && (linePattern[start - 1] == Space);
|
||||
bool isRightOpen = (start + 3 < linePattern.Length) && (linePattern[start + 3] == Space);
|
||||
|
||||
if (isLeftOpen && isRightOpen)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 한 칸 떨어진 열린 3 패턴 체크 (간단 구현)
|
||||
for (int start = centerIndex - 3; start <= centerIndex; start++)
|
||||
{
|
||||
if (start < 0 || start + 3 >= linePattern.Length)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
int stoneCount = 0;
|
||||
int gapCount = 0;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (linePattern[start + i] == Black)
|
||||
{
|
||||
stoneCount++;
|
||||
}
|
||||
else if (linePattern[start + i] == Space)
|
||||
{
|
||||
gapCount++;
|
||||
}
|
||||
else
|
||||
{
|
||||
stoneCount = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (stoneCount == 3 && gapCount == 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 쌍사 여부를 확인합니다 (예외 처리용)
|
||||
/// </summary>
|
||||
private bool CheckDoubleFour(Enums.PlayerType[,] board, int row, int col)
|
||||
{
|
||||
int fourCount = 0;
|
||||
|
||||
// 4개의 방향 쌍에 대해 검사
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
int dir1 = DirectionPairs[i, 0];
|
||||
int dir2 = DirectionPairs[i, 1];
|
||||
|
||||
if (CheckFourInDirection(board, row, col, dir1, dir2))
|
||||
{
|
||||
fourCount++;
|
||||
if (fourCount >= 2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 특정 방향에서 4가 형성되는지 확인합니다.
|
||||
/// </summary>
|
||||
private bool CheckFourInDirection(Enums.PlayerType[,] board, int row, int col, int dir1, int dir2)
|
||||
{
|
||||
Enums.PlayerType[] linePattern = ExtractLinePattern(board, row, col, dir1, dir2);
|
||||
int centerIndex = 5;
|
||||
|
||||
// 윈도우 슬라이딩으로 연속된 4를 검사
|
||||
for (int start = 0; start <= 7; start++)
|
||||
{
|
||||
// 현재 위치가 이 윈도우에 포함되는지 확인
|
||||
bool currentPositionInWindow = (start <= centerIndex && centerIndex < start + 4);
|
||||
if (!currentPositionInWindow) continue;
|
||||
|
||||
// 윈도우 내의 돌 개수 세기
|
||||
int stoneCount = 0;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (linePattern[start + i] == Black)
|
||||
{
|
||||
stoneCount++;
|
||||
}
|
||||
}
|
||||
|
||||
// 4개의 돌이 있으면 4로 판정
|
||||
if (stoneCount == 4)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,11 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
public class RenjuForbiddenMoveDetector
|
||||
public class RenjuForbiddenMoveDetector : ForbiddenDetectorBase
|
||||
{
|
||||
// 렌주 룰 금수 감지기 생성
|
||||
private RenjuRuleChecker _ruleChecker = new RenjuRuleChecker();
|
||||
private RenjuOverlineDetector _overlineDetactor = new();
|
||||
private RenjuDoubleFourDetector _doubleFourDetactor = new();
|
||||
private RenjuDoubleThreeDetector _doubleThreeDetector = new();
|
||||
|
||||
/// <summary>
|
||||
/// 렌주 룰로 금수 리스트를 반환하는 함수
|
||||
@ -14,6 +17,120 @@ public class RenjuForbiddenMoveDetector
|
||||
/// <returns>금수 좌표를 담은 리스트</returns>
|
||||
public List<Vector2Int> RenjuForbiddenMove(Enums.PlayerType[,] board)
|
||||
{
|
||||
return _ruleChecker.GetForbiddenMoves(board);
|
||||
|
||||
var forbiddenCount = 0;
|
||||
List<Vector2Int> forbiddenMoves = new();
|
||||
List<Vector2Int> tempForbiddenMoves = new();
|
||||
for (int row = 0; row < BoardSize; row++)
|
||||
{
|
||||
for (int col = 0; col < BoardSize; col++)
|
||||
{
|
||||
// ** 비어 있지 않으면 검사할 필요 없음 **
|
||||
if (!IsEmptyPosition(board, row, col)) continue;
|
||||
|
||||
// 장목 검사
|
||||
if (_overlineDetactor.IsOverline(board, row, col))
|
||||
{
|
||||
forbiddenCount++;
|
||||
Debug.Log("장목 금수 좌표 X축 : " + row + ", Y축 : " + col);
|
||||
forbiddenMoves.Add(new Vector2Int(row, col));
|
||||
continue;
|
||||
}
|
||||
|
||||
// 4-4 검사
|
||||
if (_doubleFourDetactor.IsDoubleFour(board, row, col))
|
||||
{
|
||||
forbiddenCount++;
|
||||
Debug.Log("사사 금수 좌표 X축 : " + row + ", Y축 : " + col);
|
||||
forbiddenMoves.Add(new Vector2Int(row, col));
|
||||
continue;
|
||||
}
|
||||
|
||||
if(forbiddenCount > 0) continue;
|
||||
|
||||
// 3-3 검사
|
||||
if (_doubleThreeDetector.IsDoubleThree(board, row, col))
|
||||
{
|
||||
tempForbiddenMoves.Add(new Vector2Int(row, col));
|
||||
// if (!SimulateDoubleFour(tempBoard))
|
||||
// {
|
||||
// Debug.Log("삼삼 금수 좌표 X축 : " + row + ", Y축 : " + col);
|
||||
// forbiddenMoves.Add(new Vector2Int(row, col));
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var pos in tempForbiddenMoves)
|
||||
{
|
||||
board[pos.x, pos.y] = Black;
|
||||
if (!SimulateDoubleFour(board)&& !SimulateOverline(board))
|
||||
{
|
||||
Debug.Log("X: "+pos.x + "Y: "+ pos.y);
|
||||
forbiddenMoves.Add(new Vector2Int(pos.x, pos.y));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Debug.Log(DebugBoard(board));
|
||||
return forbiddenMoves;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private bool SimulateDoubleFour(Enums.PlayerType[,] board)
|
||||
{
|
||||
for (int row = 0; row < BoardSize; row++)
|
||||
{
|
||||
for (int col = 0; col < BoardSize; col++)
|
||||
{
|
||||
if (_doubleFourDetactor.IsDoubleFour(board, row, col))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool SimulateOverline(Enums.PlayerType[,] board)
|
||||
{
|
||||
for (int row = 0; row < BoardSize; row++)
|
||||
{
|
||||
for (int col = 0; col < BoardSize; col++)
|
||||
{
|
||||
if (_overlineDetactor.IsOverline(board, row, col))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 보드 상태를 시각적으로 출력하는 디버깅 함수
|
||||
/// </summary>
|
||||
/// <param name="board">현재 보드 상태</param>
|
||||
/// <returns>보드의 시각적 표현 문자열</returns>
|
||||
private string DebugBoard(Enums.PlayerType[,] board)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
for (int row = 0; row < BoardSize; row++)
|
||||
{
|
||||
for (int col = 0; col < BoardSize; col++)
|
||||
{
|
||||
sb.Append(board[row, col] switch
|
||||
{
|
||||
Enums.PlayerType.None => "□",
|
||||
Enums.PlayerType.PlayerA => "●",
|
||||
Enums.PlayerType.PlayerB => "○",
|
||||
_ => "?"
|
||||
});
|
||||
}
|
||||
sb.AppendLine(); // 줄바꿈 추가
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8618553c3e244abdb040fb7378dd4b65
|
||||
timeCreated: 1741939566
|
||||
fileFormatVersion: 2
|
||||
guid: 4440d621b56f2ce459d819497911892b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
@ -1,51 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// 렌주 규칙의 모든 금수 규칙(3-3, 4-4, 장목)을 검사하는 통합 클래스
|
||||
/// </summary>
|
||||
public class RenjuRuleChecker: ForbiddenDetectorBase
|
||||
{
|
||||
private RenjuOverlineDetector _overlineDetactor = new();
|
||||
private RenjuDoubleFourDetector _doubleFourDetactor = new();
|
||||
private RenjuDoubleThreeDetector _doubleThreeDetector = new();
|
||||
|
||||
public List<Vector2Int> GetForbiddenMoves(Enums.PlayerType[,] board)
|
||||
{
|
||||
List<Vector2Int> forbiddenMoves = new();
|
||||
for (int row = 0; row < BoardSize; row++)
|
||||
{
|
||||
for (int col = 0; col < BoardSize; col++)
|
||||
{
|
||||
// ** 비어 있지 않으면 검사할 필요 없음 **
|
||||
if (!IsEmptyPosition(board, row, col)) continue;
|
||||
|
||||
// 장목 검사
|
||||
if (_overlineDetactor.IsOverline(board, row, col))
|
||||
{
|
||||
Debug.Log("장목 금수 좌표 X축 : " + row + ", Y축 : " + col);
|
||||
forbiddenMoves.Add(new Vector2Int(row, col));
|
||||
continue;
|
||||
}
|
||||
|
||||
// 4-4 검사
|
||||
if (_doubleFourDetactor.IsDoubleFour(board, row, col))
|
||||
{
|
||||
Debug.Log("사사 금수 좌표 X축 : " + row + ", Y축 : " + col);
|
||||
forbiddenMoves.Add(new Vector2Int(row, col));
|
||||
continue;
|
||||
}
|
||||
|
||||
// 3-3 검사
|
||||
if (_doubleThreeDetector.IsDoubleThree(board, row, col))
|
||||
{
|
||||
Debug.Log("삼삼 금수 좌표 X축 : " + row + ", Y축 : " + col);
|
||||
forbiddenMoves.Add(new Vector2Int(row, col));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return forbiddenMoves;
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 083e8b9070ed407b8744d4cacd0d53dc
|
||||
timeCreated: 1742256498
|
@ -1,30 +1,39 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ReplayController : MonoBehaviour
|
||||
{
|
||||
void Awake()
|
||||
[SerializeField] private TMP_Text playerANicknameText;
|
||||
[SerializeField] private TMP_Text playerBNicknameText;
|
||||
[SerializeField] private Image playerAImage;
|
||||
[SerializeField] private Image playerBImage;
|
||||
void Start()
|
||||
{
|
||||
//TODO: 리플레이매니저 데이터로 화면 초기화
|
||||
InitReplayUI();
|
||||
//TODO: 프로필 이미지 불러오기
|
||||
}
|
||||
|
||||
public void OnclickExitButton()
|
||||
{
|
||||
|
||||
//TODO: 메인씬으로 다시 넘어갈 때 호출해야하는 함수 등등이 있을지....
|
||||
SceneManager.LoadScene("Main-Jay");
|
||||
}
|
||||
|
||||
public void OnclickFirstButton()
|
||||
{
|
||||
|
||||
ReplayManager.Instance.ReplayFirst();
|
||||
}
|
||||
|
||||
public void OnclickUndoButton()
|
||||
{
|
||||
Move targetMove = ReplayManager.Instance.PopMove();
|
||||
Move targetMove = ReplayManager.Instance.PopPlacedMove();
|
||||
if (targetMove != null)
|
||||
{
|
||||
GameManager.Instance.ReplayUndo(targetMove);
|
||||
ReplayManager.Instance.ReplayUndo(targetMove);
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,14 +42,19 @@ public class ReplayController : MonoBehaviour
|
||||
Move nextMove = ReplayManager.Instance.GetNextMove();
|
||||
if (nextMove != null)
|
||||
{
|
||||
GameManager.Instance.ReplayNext(nextMove);
|
||||
ReplayManager.Instance.ReplayNext(nextMove);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnClickFinishButton()
|
||||
{
|
||||
|
||||
ReplayManager.Instance.ReplayFinish();
|
||||
}
|
||||
|
||||
public void InitReplayUI()
|
||||
{
|
||||
playerANicknameText.text = ReplayManager.Instance.GetPlayerANickname();
|
||||
playerBNicknameText.text = ReplayManager.Instance.GetPlayerBNickname();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -42,6 +42,8 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
private Stack<Move> _undoStack;
|
||||
private int _moveIndex;
|
||||
|
||||
private GameLogic _gameLogic;
|
||||
private StoneController _stoneController;
|
||||
|
||||
public void InitReplayBoard(ReplayRecord replayRecord)
|
||||
{
|
||||
@ -70,7 +72,7 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
_placedStoneStack.Push(storedMove);
|
||||
}
|
||||
|
||||
public Move PopMove()
|
||||
public Move PopPlacedMove()
|
||||
{
|
||||
if (_placedStoneStack.Count == 0)
|
||||
return null;
|
||||
@ -78,7 +80,7 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
return move;
|
||||
}
|
||||
|
||||
public void PushUndoMove(Move storedMove)
|
||||
private void PushUndoMove(Move storedMove)
|
||||
{
|
||||
_undoStack.Push(storedMove);
|
||||
}
|
||||
@ -165,13 +167,14 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
return records;
|
||||
}
|
||||
|
||||
// 최대 저장 개수만큼 기보데이터가 저장, 유지되도록 하는 함수
|
||||
private void RecordCountChecker()
|
||||
{
|
||||
try
|
||||
{
|
||||
string path = Application.persistentDataPath;
|
||||
var files = Directory.GetFiles(path, "*.json");
|
||||
if (files.Length <= 10)
|
||||
if (files.Length <= Constants.ReplayMaxRecordSize)
|
||||
return;
|
||||
File.Delete(files[0]);
|
||||
RecordCountChecker();
|
||||
@ -182,36 +185,74 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
}
|
||||
}
|
||||
|
||||
// 기보 데이터 하나를 선택해서 매니저에 저장(씬 이동 후 데이터 활용을 위해)
|
||||
public void SetReplayData(ReplayRecord replayRecord)
|
||||
{
|
||||
_selectedReplayRecord = replayRecord;
|
||||
}
|
||||
|
||||
protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||
#region ReplayController에서 호출할 함수들
|
||||
public void ReplayNext(Move nextMove)
|
||||
{
|
||||
if (scene.name == "Replay")
|
||||
// 보드에 돌을 설정하기 위해 gameLogic의 SetNewBoardValue호출
|
||||
if (nextMove.stoneType.Equals(Enums.StoneType.Black.ToString()))
|
||||
{
|
||||
if (_selectedReplayRecord != null)
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerA, nextMove.columnIndex, nextMove.rowIndex);
|
||||
|
||||
}
|
||||
else if (nextMove.stoneType.Equals(Enums.StoneType.White.ToString()))
|
||||
{
|
||||
InitReplayBoard(_selectedReplayRecord);
|
||||
_gameLogic.SetNewBoardValue(Enums.PlayerType.PlayerB, nextMove.columnIndex, nextMove.rowIndex);
|
||||
}
|
||||
// 돌이 놓인 내역을 ReplayManager에도 반영
|
||||
ReplayManager.Instance.PushMove(nextMove);
|
||||
}
|
||||
|
||||
// TODO: 데이터 잘못 가져왔을 때 어떻게 처리할지 고민하기
|
||||
// Main으로 강제 전환 ?
|
||||
public void ReplayUndo(Move targetMove)
|
||||
{
|
||||
ReplayManager.Instance.PushUndoMove(targetMove);
|
||||
_gameLogic.RemoveStone(targetMove.columnIndex, targetMove.rowIndex);
|
||||
}
|
||||
|
||||
public void ReplayFirst()
|
||||
{
|
||||
while (_placedStoneStack.Count > 0)
|
||||
{
|
||||
ReplayUndo(_placedStoneStack.Pop());
|
||||
}
|
||||
}
|
||||
|
||||
#region for tests
|
||||
|
||||
public void OnClickSaveButton(string winnerPlayerType = "PlayerA")
|
||||
public void ReplayFinish()
|
||||
{
|
||||
if(winnerPlayerType == Enums.PlayerType.PlayerA.ToString())
|
||||
SaveReplayData(Enums.PlayerType.PlayerA);
|
||||
else
|
||||
SaveReplayData(Enums.PlayerType.PlayerB);
|
||||
while(_placedStoneStack.Count < _selectedReplayRecord.moves.Count)
|
||||
{
|
||||
ReplayNext(GetNextMove());
|
||||
}
|
||||
}
|
||||
|
||||
public string GetPlayerANickname()
|
||||
{
|
||||
return _selectedReplayRecord.playerA;
|
||||
}
|
||||
|
||||
public string GetPlayerBNickname()
|
||||
{
|
||||
return _selectedReplayRecord.playerB;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||
{
|
||||
if (scene.name == "Replay")
|
||||
{
|
||||
InitReplayBoard(_selectedReplayRecord);
|
||||
|
||||
//게임 매니저에서 가져온 코드입니다.
|
||||
_stoneController = GameObject.FindObjectOfType<StoneController>();
|
||||
_stoneController.InitStones();
|
||||
_gameLogic = new GameLogic(_stoneController, Enums.GameType.Replay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,8 @@ using UnityEngine.UI;
|
||||
|
||||
public class ShopItemController : MonoBehaviour
|
||||
{
|
||||
|
||||
ShopItem _shopItem;
|
||||
public Sprite[] profileSprites;
|
||||
AdManager _adManager;
|
||||
|
||||
public void Init(ShopItem shopItem)
|
||||
{
|
||||
@ -16,20 +15,35 @@ public class ShopItemController : MonoBehaviour
|
||||
var itemImage = GetComponentsInChildren<Image>()[1];
|
||||
var itemText = GetComponentsInChildren<TextMeshProUGUI>();
|
||||
|
||||
itemText[0].text = this._shopItem.Name;
|
||||
itemText[1].text = this._shopItem.Price;
|
||||
itemText[0].text = this._shopItem.name;
|
||||
itemText[1].text = this._shopItem.price+"원";
|
||||
|
||||
}
|
||||
|
||||
public void OnClickShopItem()
|
||||
{
|
||||
if (_shopItem.Price == "광고")
|
||||
var shopPanel = GetComponentInParent<CanvasGroup>(); //코인 구매시 상점 패널의 캔버스 그룹 raycast를 비활성화하여 중복클릭 방지.
|
||||
|
||||
if (_shopItem.price == 0)
|
||||
{
|
||||
//보상형 전면 광고 로드
|
||||
FindObjectOfType<AdManager>().ShowRewardedInterstitialAd(); //Todo FindOf 함수 수정
|
||||
_adManager = GetComponent<AdManager>();
|
||||
_adManager.ShowRewardedInterstitialAd(shopPanel);
|
||||
}
|
||||
else
|
||||
{
|
||||
//todo 가격별로 구매하기
|
||||
|
||||
NetworkManager.Instance.PurchaseCoins(
|
||||
_shopItem.price, // 충전할 코인 개수
|
||||
_shopItem.name, // 결제 ID
|
||||
"GooglePay", // 결제 방식 (GooglePay, PayPal 등)
|
||||
(coins) => {
|
||||
GameManager.Instance.panelManager.UpdateCoinsPanelUI(coins,shopPanel);
|
||||
},
|
||||
() => {
|
||||
Debug.LogError("결제 후 코인 충전 실패");
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
119
Assets/Script/UI/PanelController/LeaderBoardController.cs
Normal file
119
Assets/Script/UI/PanelController/LeaderBoardController.cs
Normal file
@ -0,0 +1,119 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
|
||||
public class LeaderBoardController : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private GameObject rankingPrefab; // Ranking 프리팹을 참조 (Horizontal Layout)
|
||||
[SerializeField] private Transform content; // Vertical Layout Group
|
||||
[SerializeField] private GameObject MainPanel;
|
||||
[SerializeField] private GameObject leaderboardPanel;
|
||||
[SerializeField] private Scrollbar verticalScrollbar;// LeaderboardPanel 참조
|
||||
|
||||
private bool isLeaderboardLoaded = false;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
OnClickLeaderboardButton();
|
||||
}
|
||||
|
||||
public void OnClickLeaderboardButton()
|
||||
{
|
||||
if (isLeaderboardLoaded) return; // 이미 리더보드가 로드되었으면 중복 호출 방지
|
||||
|
||||
leaderboardPanel.SetActive(true);
|
||||
StartCoroutine(GetLeaderboardData());
|
||||
isLeaderboardLoaded = true;
|
||||
}
|
||||
|
||||
private IEnumerator GetLeaderboardData()
|
||||
{
|
||||
string url = Constants.ServerURL + "/leaderboard/"; // 서버의 리더보드 데이터 URL
|
||||
|
||||
UnityWebRequest www = UnityWebRequest.Get(url); // GET 요청으로 데이터 받기
|
||||
yield return www.SendWebRequest(); // 요청 전송 대기
|
||||
|
||||
// 요청이 실패했을 때
|
||||
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
|
||||
{
|
||||
Debug.LogError("Error: " + www.error);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 성공적으로 데이터를 받아온 경우
|
||||
string jsonResponse = www.downloadHandler.text; // 응답으로 받은 JSON 데이터
|
||||
|
||||
// JSON을 ScoreInfo 리스트로 파싱
|
||||
ScoreListWrapper wrapper = JsonUtility.FromJson<ScoreListWrapper>(jsonResponse);
|
||||
List<ScoreInfo> leaderboardItems = wrapper.leaderboardDatas;
|
||||
|
||||
// Show 메서드를 통해 데이터를 표시
|
||||
Show(leaderboardItems);
|
||||
}
|
||||
}
|
||||
|
||||
public void Show(List<ScoreInfo> leaderboardItems)
|
||||
{
|
||||
// 기존 셀 삭제 (리스트가 갱신될 때마다)
|
||||
foreach (Transform child in content)
|
||||
{
|
||||
Destroy(child.gameObject);
|
||||
}
|
||||
|
||||
// 받은 데이터로 셀 생성
|
||||
foreach (var item in leaderboardItems)
|
||||
{
|
||||
CreateCell(item); // 셀 생성
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateCell(ScoreInfo item)
|
||||
{
|
||||
// Ranking 프리팹을 content의 자식으로 생성
|
||||
var scoreCellObj = Instantiate(rankingPrefab, content);
|
||||
|
||||
// Ranking 프리팹에 포함된 ScoreCellController를 찾아서 설정
|
||||
var scoreCellController = scoreCellObj.GetComponent<ScoreCellController>();
|
||||
|
||||
if (scoreCellController != null)
|
||||
{
|
||||
// 각 항목에 대한 UI 설정
|
||||
scoreCellController.SetCellInfo(item); // ScoreInfo로 셀 정보 설정
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("ScoreCellController가 Ranking 프리팹에 없습니다.");
|
||||
}
|
||||
}
|
||||
|
||||
// BackButton 클릭 시 호출되는 메소드
|
||||
public void OnBackButtonClicked()
|
||||
{
|
||||
leaderboardPanel.SetActive(false); // LeaderboardPanel 숨기기
|
||||
MainPanel.SetActive(true); // SignInPanel 보이게 하기
|
||||
}
|
||||
|
||||
private List<ScoreInfo> LoadOfflineLeaderboard()
|
||||
{
|
||||
List<ScoreInfo> leaderboard = new List<ScoreInfo>();
|
||||
|
||||
// 오프라인 데이터 로딩 (PlayerPrefs 사용 예시)
|
||||
string savedData = PlayerPrefs.GetString("OfflineLeaderboard", string.Empty);
|
||||
|
||||
if (!string.IsNullOrEmpty(savedData))
|
||||
{
|
||||
// 저장된 JSON 데이터를 파싱하여 리더보드 리스트로 변환
|
||||
leaderboard = JsonUtility.FromJson<ScoreListWrapper>(savedData).leaderboardDatas;
|
||||
}
|
||||
|
||||
return leaderboard;
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
Destroy(gameObject); // 자기 자신을 삭제
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 22c0a17498af7724eb5d30a3c4842cd6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -19,7 +19,6 @@ public class PanelManager : MonoBehaviour
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
SetCanvas();
|
||||
// Prefabs 폴더에서 모든 패널 프리팹 로드
|
||||
GameObject[] prefabs = Resources.LoadAll<GameObject>("Prefabs/Panels");
|
||||
|
||||
@ -31,7 +30,7 @@ public class PanelManager : MonoBehaviour
|
||||
Debug.Log($"총 {panelPrefabs.Count}개의 패널이 로드됨.");
|
||||
}
|
||||
|
||||
private void SetCanvas()
|
||||
void Start()
|
||||
{
|
||||
if (_canvas == null)
|
||||
{
|
||||
@ -119,12 +118,17 @@ public class PanelManager : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
public void OpenRankingPanel(List<RankingItem> rankingItems)
|
||||
public void OpenRankingPanel()
|
||||
{
|
||||
if (_canvas != null)
|
||||
{
|
||||
var settingsPanelObject = GetPanel("Ranking Panel");
|
||||
settingsPanelObject.GetComponent<RankingPanelController>().Show(rankingItems);
|
||||
var settingsPanelObject = GetPanel("LeaderboardPanel");
|
||||
var leaderboardController = settingsPanelObject.GetComponent<LeaderBoardController>();
|
||||
|
||||
if (leaderboardController != null)
|
||||
{
|
||||
leaderboardController.OnClickLeaderboardButton(); // 이 메서드를 호출하여 데이터를 로드하고 Show()가 실행되도록 합니다.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -142,7 +146,7 @@ public class PanelManager : MonoBehaviour
|
||||
if (_canvas != null)
|
||||
{
|
||||
var replayPanelObject = GetPanel("Replay Panel");
|
||||
replayPanelObject.GetComponent<ReplayPanelController>().Show();
|
||||
replayPanelObject.GetComponent<ReplayPanelItemsController>().Show();
|
||||
}
|
||||
}
|
||||
|
||||
@ -156,37 +160,18 @@ public class PanelManager : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
|
||||
//랭킹 패널 생성
|
||||
public void OnRankingPanelClick()
|
||||
{
|
||||
List<RankingItem> rankingItems = new List<RankingItem>(); //테스트 데이터 리스트 생성
|
||||
for (int i = 0; i < 30; i++)
|
||||
{
|
||||
RankingItem rankingItem = new RankingItem
|
||||
{
|
||||
ProfileSpriteIndex = Random.Range(0, 2),
|
||||
Name = i.ToString(),
|
||||
WinRate = Random.Range(0f, 1f)
|
||||
};
|
||||
rankingItems.Add(rankingItem);
|
||||
}
|
||||
|
||||
OpenRankingPanel(rankingItems);
|
||||
}
|
||||
|
||||
//상점 패널 생성
|
||||
public void OnShopPanelClick()
|
||||
{
|
||||
|
||||
List<ShopItem> shopItems = new List<ShopItem>(); //테스트 데이터 리스트 생성
|
||||
for (int i = 0; i < 10; i++)
|
||||
List<ShopItem> shopItems = new List<ShopItem>(); //상점 데이터 리스트 생성
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
if (i == 0) //광고 항목
|
||||
{
|
||||
ShopItem shopItem = new ShopItem
|
||||
{
|
||||
Name = "코인10개",
|
||||
Price = "광고"
|
||||
name = "광고) 코인500개 ",
|
||||
price = 0
|
||||
};
|
||||
shopItems.Add(shopItem);
|
||||
}
|
||||
@ -194,21 +179,21 @@ public class PanelManager : MonoBehaviour
|
||||
{
|
||||
ShopItem shopItem = new ShopItem
|
||||
{
|
||||
Name = "코인"+i+"개",
|
||||
Price = (i * 1000)+ "원"
|
||||
name = i*1000+"개 ",
|
||||
price = i * 1000
|
||||
};
|
||||
shopItems.Add(shopItem);
|
||||
}
|
||||
}
|
||||
|
||||
OpenShopPanel(shopItems);
|
||||
GameManager.Instance.panelManager.OpenShopPanel(shopItems);
|
||||
}
|
||||
|
||||
public void UpdateCoinsPanelUI(int coinsChanged)
|
||||
//코인 패널 코인 갱신
|
||||
public void UpdateCoinsPanelUI(int coinsChanged, CanvasGroup shopPanel)
|
||||
{
|
||||
if (_coinsPanel != null)
|
||||
{
|
||||
_coinsPanel.AddCoins(coinsChanged, () =>
|
||||
_coinsPanel.AddCoins(coinsChanged, shopPanel, () =>
|
||||
{
|
||||
|
||||
});
|
||||
|
@ -2,7 +2,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class ReplayPanelController : ScrollPanelController
|
||||
public class ReplayPanelItemsController : ScrollPanelController
|
||||
{
|
||||
|
||||
private string _myNickname;
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 43d3a140ef05b96439c226fb3de1178e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -8,10 +8,10 @@ public class CoinUITestScript : MonoBehaviour
|
||||
|
||||
public void OnClickAddCoin()
|
||||
{
|
||||
coinsPanelController.AddCoins(100, () =>
|
||||
{
|
||||
Debug.Log("Add coin 후 동작");
|
||||
});
|
||||
// coinsPanelController.AddCoins(100, () =>
|
||||
// {
|
||||
// Debug.Log("Add coin 후 동작");
|
||||
// });
|
||||
}
|
||||
|
||||
public void OnClickRemoveCoin()
|
||||
|
@ -306,7 +306,11 @@ PrefabInstance:
|
||||
m_Modifications:
|
||||
- target: {fileID: 626368541760032086, guid: 65aac0e22fe25aa42b9cf7df776a854d, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: '[Canvas] Game UI'
|
||||
value: Canvas
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1250546304786973426, guid: 65aac0e22fe25aa42b9cf7df776a854d, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6113787613246818512, guid: 65aac0e22fe25aa42b9cf7df776a854d, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
@ -21706,6 +21710,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 1260188604546925059}
|
||||
- component: {fileID: 5677811662396631252}
|
||||
- component: {fileID: 5677811662396631253}
|
||||
m_Layer: 0
|
||||
m_Name: GameManager
|
||||
m_TagString: Untagged
|
||||
@ -33884,10 +33889,104 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
signinPanel: {fileID: 0}
|
||||
signupPanel: {fileID: 0}
|
||||
canvas: {fileID: 0}
|
||||
profileSprites: []
|
||||
panelManagerPrefab: {fileID: 3475740041361426276, guid: 085ca07ca90c92545b2594bd13412701, type: 3}
|
||||
audioManagerPrefab: {fileID: 2946408323859178723, guid: e829818dce39a5d4383e061111bed871, type: 3}
|
||||
--- !u!82 &5677811662396631253
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3626119060319719757}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
--- !u!61 &5684907091474785187
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -17,4 +17,7 @@ EditorBuildSettings:
|
||||
- enabled: 1
|
||||
path: Assets/LYC/GameCopyLYC.unity
|
||||
guid: c7eedd59cc78a7648a2168fd25540b88
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/Replay.unity
|
||||
guid: 393dbf55b04641847ae9b882a54856af
|
||||
m_configObjects: {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user