DO-73 [Feat] 재대결 구현 및 버튼 추가
This commit is contained in:
parent
6c72083249
commit
bd7861bc19
@ -62,6 +62,14 @@ public class GameUIController : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnClickRevengeRequestButton()
|
||||||
|
{
|
||||||
|
GameManager.Instance.panelManager.OpenConfirmPanel("재대결 신청을 하시겠습니까?", () =>
|
||||||
|
{
|
||||||
|
_multiplayManager.RequestRevengeRequest();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void OnClickSettingsButton()
|
public void OnClickSettingsButton()
|
||||||
{
|
{
|
||||||
GameManager.Instance.panelManager.OpenSettingsPanel();
|
GameManager.Instance.panelManager.OpenSettingsPanel();
|
||||||
@ -111,11 +119,11 @@ public class GameUIController : MonoBehaviour
|
|||||||
{
|
{
|
||||||
profileImage.sprite = profileImageSprites[3];
|
profileImage.sprite = profileImageSprites[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
profileImage.transform.DOScale(1.5f, 0.3f).SetEase(Ease.InBack).OnComplete(() =>
|
profileImage.transform.DOScale(1.5f, 0.3f).SetEase(Ease.InBack).OnComplete(() =>
|
||||||
{
|
{
|
||||||
profileImage.transform.DOScale(1f, 0.3f).SetEase(Ease.OutBack);
|
profileImage.transform.DOScale(1f, 0.3f).SetEase(Ease.OutBack);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,80 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &634998020045031155
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7672225859872789597}
|
||||||
|
- component: {fileID: 4740804549096936842}
|
||||||
|
- component: {fileID: 4136038457757579293}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Image Background
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 0
|
||||||
|
--- !u!224 &7672225859872789597
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 634998020045031155}
|
||||||
|
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: 4501886400186872935}
|
||||||
|
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: 0}
|
||||||
|
m_SizeDelta: {x: 1080, y: 1920}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4740804549096936842
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 634998020045031155}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4136038457757579293
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 634998020045031155}
|
||||||
|
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 &1888922292368658029
|
--- !u!1 &1888922292368658029
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -152,7 +227,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 0
|
m_IsActive: 1
|
||||||
--- !u!224 &4501886400186872935
|
--- !u!224 &4501886400186872935
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -165,6 +240,8 @@ RectTransform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
|
- {fileID: 7672225859872789597}
|
||||||
|
- {fileID: 5931655356592755266}
|
||||||
- {fileID: 7400499721686926711}
|
- {fileID: 7400499721686926711}
|
||||||
- {fileID: 3975591051107611802}
|
- {fileID: 3975591051107611802}
|
||||||
- {fileID: 5598745296817777379}
|
- {fileID: 5598745296817777379}
|
||||||
@ -197,14 +274,14 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 21300000, guid: a99fa85777f9a5b4d86b859277707544, type: 3}
|
m_Sprite: {fileID: 0}
|
||||||
m_Type: 0
|
m_Type: 0
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
@ -245,6 +322,81 @@ MonoBehaviour:
|
|||||||
interval: 0.5
|
interval: 0.5
|
||||||
flipDuration: 0.3
|
flipDuration: 0.3
|
||||||
delayBetweenFlips: 1
|
delayBetweenFlips: 1
|
||||||
|
--- !u!1 &3738728334186617240
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5931655356592755266}
|
||||||
|
- component: {fileID: 4398238821743250823}
|
||||||
|
- component: {fileID: 1591676098588350328}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Simple Background
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5931655356592755266
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3738728334186617240}
|
||||||
|
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: 4501886400186872935}
|
||||||
|
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: 0}
|
||||||
|
m_SizeDelta: {x: 1080, y: 1920}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4398238821743250823
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3738728334186617240}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &1591676098588350328
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3738728334186617240}
|
||||||
|
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: 0, g: 0, b: 0, a: 0.5882353}
|
||||||
|
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: 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 &4677795762614618252
|
--- !u!1 &4677795762614618252
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -1457,7 +1457,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &405965270916774547
|
--- !u!224 &405965270916774547
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1713,7 +1713,7 @@ MonoBehaviour:
|
|||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_text: tester
|
m_text: "\uBC15\uD638\uB7AD"
|
||||||
m_isRightToLeft: 0
|
m_isRightToLeft: 0
|
||||||
m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||||
m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||||
@ -1799,7 +1799,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 0
|
m_IsActive: 1
|
||||||
--- !u!224 &8172929902404983356
|
--- !u!224 &8172929902404983356
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -443,7 +443,7 @@ RectTransform:
|
|||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 1}
|
m_AnchorMin: {x: 1, y: 1}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: -50, y: -85}
|
m_AnchoredPosition: {x: -50, y: -20}
|
||||||
m_SizeDelta: {x: 238, y: 150}
|
m_SizeDelta: {x: 238, y: 150}
|
||||||
m_Pivot: {x: 1, y: 1}
|
m_Pivot: {x: 1, y: 1}
|
||||||
--- !u!222 &2837002930647588383
|
--- !u!222 &2837002930647588383
|
||||||
@ -573,6 +573,7 @@ RectTransform:
|
|||||||
- {fileID: 4020956126151567600}
|
- {fileID: 4020956126151567600}
|
||||||
- {fileID: 3928015243027423495}
|
- {fileID: 3928015243027423495}
|
||||||
- {fileID: 3685916492953640732}
|
- {fileID: 3685916492953640732}
|
||||||
|
- {fileID: 2209730002497357653}
|
||||||
- {fileID: 5290633878409985}
|
- {fileID: 5290633878409985}
|
||||||
m_Father: {fileID: 2843270827267453358}
|
m_Father: {fileID: 2843270827267453358}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -980,6 +981,140 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &3263750824585473305
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3175828719531940865}
|
||||||
|
- component: {fileID: 1400882773468757735}
|
||||||
|
- component: {fileID: 7944951171029972067}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Text (TMP)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3175828719531940865
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3263750824585473305}
|
||||||
|
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: 2209730002497357653}
|
||||||
|
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: 9.0771}
|
||||||
|
m_SizeDelta: {x: 0, y: -18.1542}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &1400882773468757735
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3263750824585473305}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &7944951171029972067
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3263750824585473305}
|
||||||
|
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: "\uC7AC\uB300\uACB0"
|
||||||
|
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: 4284115536
|
||||||
|
m_fontColor: {r: 0.3137255, g: 0.4156863, b: 0.3529412, 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: 45
|
||||||
|
m_fontSizeBase: 45
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 0
|
||||||
|
m_fontSizeMax: 0
|
||||||
|
m_fontStyle: 1
|
||||||
|
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: 0
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 0
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
--- !u!1 &3273831091645394289
|
--- !u!1 &3273831091645394289
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1820,6 +1955,139 @@ RectTransform:
|
|||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 250, y: 300}
|
m_SizeDelta: {x: 250, y: 300}
|
||||||
m_Pivot: {x: 0, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
|
--- !u!1 &5063415558040939697
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2209730002497357653}
|
||||||
|
- component: {fileID: 2929683793708511395}
|
||||||
|
- component: {fileID: 3322322569906840127}
|
||||||
|
- component: {fileID: 743677256700942471}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Revenge Button
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &2209730002497357653
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5063415558040939697}
|
||||||
|
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: 3175828719531940865}
|
||||||
|
m_Father: {fileID: 4044003808430543235}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 1, y: 1}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: -50, y: -170}
|
||||||
|
m_SizeDelta: {x: 238, y: 150}
|
||||||
|
m_Pivot: {x: 1, y: 1}
|
||||||
|
--- !u!222 &2929683793708511395
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5063415558040939697}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &3322322569906840127
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5063415558040939697}
|
||||||
|
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.9607844, b: 0.8980393, 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: 05a670e614d7817429ee256ceb7efbe6, type: 3}
|
||||||
|
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 &743677256700942471
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5063415558040939697}
|
||||||
|
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: 2
|
||||||
|
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: 21300000, guid: 1cc2af2fc6476554ca42fb2ddfd7727f, type: 3}
|
||||||
|
m_PressedSprite: {fileID: 21300000, guid: 1cc2af2fc6476554ca42fb2ddfd7727f, type: 3}
|
||||||
|
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: 3322322569906840127}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 3933575647777291622}
|
||||||
|
m_TargetAssemblyTypeName: GameUIController, Assembly-CSharp
|
||||||
|
m_MethodName: OnClickRevengeRequestButton
|
||||||
|
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 &5258332010899716781
|
--- !u!1 &5258332010899716781
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -247,8 +247,11 @@ public class GameLogic : IDisposable
|
|||||||
private int _lastRow;
|
private int _lastRow;
|
||||||
private int _lastCol;
|
private int _lastCol;
|
||||||
|
|
||||||
|
// 멀티 플레이 관련
|
||||||
public MultiplayManager _multiplayManager;
|
public MultiplayManager _multiplayManager;
|
||||||
private string _roomId;
|
private string _roomId;
|
||||||
|
private string opponentNickname;
|
||||||
|
private int opponentImageIndex;
|
||||||
|
|
||||||
|
|
||||||
#region Renju Members
|
#region Renju Members
|
||||||
@ -331,6 +334,7 @@ public class GameLogic : IDisposable
|
|||||||
// break;
|
// break;
|
||||||
case Enums.GameType.MultiPlay:
|
case Enums.GameType.MultiPlay:
|
||||||
// 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요
|
// 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요
|
||||||
|
bool isFirstPlayer;
|
||||||
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
||||||
{
|
{
|
||||||
GameManager.Instance.panelManager.OpenLoadingPanel(true, true);
|
GameManager.Instance.panelManager.OpenLoadingPanel(true, true);
|
||||||
@ -355,13 +359,15 @@ public class GameLogic : IDisposable
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 선공, 후공 처리
|
// 선공, 후공 처리
|
||||||
bool isFirstPlayer = joinRoomData.isBlack;
|
isFirstPlayer = joinRoomData.isBlack;
|
||||||
|
|
||||||
|
opponentNickname = joinRoomData.opponentNickname;
|
||||||
|
opponentImageIndex = joinRoomData.opponentImageIndex;
|
||||||
if (isFirstPlayer)
|
if (isFirstPlayer)
|
||||||
{
|
{
|
||||||
Debug.Log("해당 플레이어가 선공 입니다");
|
Debug.Log("해당 플레이어가 선공 입니다");
|
||||||
firstPlayerState = new PlayerState(true, _multiplayManager, joinRoomData.roomId);
|
firstPlayerState = new PlayerState(true, _multiplayManager, joinRoomData.roomId);
|
||||||
secondPlayerState = new MultiPlayerState(false, _multiplayManager);
|
secondPlayerState = new MultiPlayerState(false, _multiplayManager);
|
||||||
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
||||||
{
|
{
|
||||||
GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, joinRoomData.opponentNickname);
|
GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, joinRoomData.opponentNickname);
|
||||||
@ -413,7 +419,8 @@ public class GameLogic : IDisposable
|
|||||||
}
|
}
|
||||||
// 선공, 후공 처리
|
// 선공, 후공 처리
|
||||||
isFirstPlayer = startGameData.isBlack;
|
isFirstPlayer = startGameData.isBlack;
|
||||||
|
opponentNickname = startGameData.opponentNickname;
|
||||||
|
opponentImageIndex = startGameData.opponentImageIndex;
|
||||||
if (isFirstPlayer)
|
if (isFirstPlayer)
|
||||||
{
|
{
|
||||||
Debug.Log("해당 플레이어가 선공 입니다");
|
Debug.Log("해당 플레이어가 선공 입니다");
|
||||||
@ -481,7 +488,7 @@ public class GameLogic : IDisposable
|
|||||||
Debug.Log("상대방의 무승부 요청 들어옴");
|
Debug.Log("상대방의 무승부 요청 들어옴");
|
||||||
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
||||||
{
|
{
|
||||||
GameManager.Instance.panelManager.OpenDrawConfirmPanel("무승부 요청을 승락하시겠습니까?", () =>
|
GameManager.Instance.panelManager.OpenDrawConfirmPanel("무승부 요청을 승낙하시겠습니까?", () =>
|
||||||
{
|
{
|
||||||
GameManager.Instance.panelManager.OpenEffectPanel(Enums.GameResult.Draw);
|
GameManager.Instance.panelManager.OpenEffectPanel(Enums.GameResult.Draw);
|
||||||
EndGame(Enums.GameResult.Draw);
|
EndGame(Enums.GameResult.Draw);
|
||||||
@ -528,23 +535,69 @@ public class GameLogic : IDisposable
|
|||||||
case Constants.MultiplayManagerState.RevengeRequestSent:
|
case Constants.MultiplayManagerState.RevengeRequestSent:
|
||||||
Debug.Log("재대결 요청: 전송 완료");
|
Debug.Log("재대결 요청: 전송 완료");
|
||||||
break;
|
break;
|
||||||
case Constants.MultiplayManagerState.RevengeAccepted:
|
case Constants.MultiplayManagerState.ReceiveRevengeRequest:
|
||||||
Debug.Log("재대결 요청: 승낙이 들어옴");
|
Debug.Log("상대방의 재대결 요청이 들어옴");
|
||||||
InitBoardForRevenge();
|
|
||||||
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
||||||
{
|
{
|
||||||
|
GameManager.Instance.panelManager.OpenDrawConfirmPanel("재대결 요청을 승낙하시겠습니까?", () =>
|
||||||
|
{
|
||||||
|
_multiplayManager.AcceptRevenge();
|
||||||
|
}, () =>
|
||||||
|
{
|
||||||
|
_multiplayManager.RejectRevenge();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case Constants.MultiplayManagerState.RevengeAccepted:
|
||||||
|
Debug.Log("재대결 요청: 승낙이 들어옴");
|
||||||
|
var revengeAcceptedData = data as RevengeData;
|
||||||
|
|
||||||
|
// TODO: 응답값 없을 때 서버에서 다시 받아오기 or AI 플레이로 넘기는 처리 필요
|
||||||
|
if (revengeAcceptedData == null)
|
||||||
|
{
|
||||||
|
Debug.Log("RevengeAccepted 응답값이 null 입니다");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 선공, 후공 처리
|
||||||
|
isFirstPlayer = revengeAcceptedData.isBlack;
|
||||||
|
|
||||||
|
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
||||||
|
{
|
||||||
|
// TODO: 응답 들어오기 전까지 로딩
|
||||||
|
GameManager.Instance.panelManager.OpenConfirmPanel("상대방이 재대결 요청을 승낙하였습니다.\n게임이 다시 시작됩니다.", () =>
|
||||||
|
{
|
||||||
|
InitBoardForRevenge(isFirstPlayer);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case Constants.MultiplayManagerState.RevengeConfirmed:
|
case Constants.MultiplayManagerState.RevengeConfirmed:
|
||||||
Debug.Log("재대결 요청: 승낙 완료");
|
Debug.Log("재대결 요청: 승낙 완료");
|
||||||
InitBoardForRevenge();
|
var revengConfirmedData = data as RevengeData;
|
||||||
|
|
||||||
|
// TODO: 응답값 없을 때 서버에서 다시 받아오기 or AI 플레이로 넘기는 처리 필요
|
||||||
|
if (revengConfirmedData == null)
|
||||||
|
{
|
||||||
|
Debug.Log("RevengeConfirmed 응답값이 null 입니다");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 선공, 후공 처리
|
||||||
|
isFirstPlayer = revengConfirmedData.isBlack;
|
||||||
|
|
||||||
|
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
||||||
|
{
|
||||||
|
GameManager.Instance.panelManager.OpenConfirmPanel("재대결 요청을 승낙하였습니다.\n게임이 다시 시작됩니다.", () =>
|
||||||
|
{
|
||||||
|
InitBoardForRevenge(isFirstPlayer);
|
||||||
|
});
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
case Constants.MultiplayManagerState.RevengeRejected:
|
case Constants.MultiplayManagerState.RevengeRejected:
|
||||||
Debug.Log("재대결 요청: 거부가 들어옴");
|
Debug.Log("재대결 요청: 거부가 들어옴");
|
||||||
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
UnityMainThreadDispatcher.Instance().Enqueue(() =>
|
||||||
{
|
{
|
||||||
GameManager.Instance.panelManager.OpenConfirmPanel("재대결 요청을 거부하였습니다.", () => { });
|
GameManager.Instance.panelManager.OpenConfirmPanel("상대방이 재대결 요청을 거부하였습니다.", () => { });
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case Constants.MultiplayManagerState.RevengeRejectionConfirmed:
|
case Constants.MultiplayManagerState.RevengeRejectionConfirmed:
|
||||||
@ -566,12 +619,13 @@ public class GameLogic : IDisposable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitBoardForRevenge()
|
private void InitBoardForRevenge(bool isFirstPlayer)
|
||||||
{
|
{
|
||||||
//보드 초기화
|
//보드 초기화
|
||||||
_board = new Enums.PlayerType[15, 15];
|
_board = new Enums.PlayerType[15, 15];
|
||||||
_totalStoneCounter = 0;
|
_totalStoneCounter = 0;
|
||||||
RequestDrawChance = true;
|
stoneController.InitStones();
|
||||||
|
RequestDrawChance = false;
|
||||||
|
|
||||||
selectedRow = -1;
|
selectedRow = -1;
|
||||||
selectedCol = -1;
|
selectedCol = -1;
|
||||||
@ -584,6 +638,32 @@ public class GameLogic : IDisposable
|
|||||||
|
|
||||||
//timer 초기화
|
//timer 초기화
|
||||||
fioTimer.InitTimer();
|
fioTimer.InitTimer();
|
||||||
|
|
||||||
|
Debug.Log("&&&&UserManager.Instance.imageIndex" + UserManager.Instance.imageIndex + "opponentImageIndex?: " + opponentImageIndex);
|
||||||
|
if (isFirstPlayer)
|
||||||
|
{
|
||||||
|
Debug.Log("해당 플레이어가 선공 입니다");
|
||||||
|
firstPlayerState = new PlayerState(true, _multiplayManager, _roomId);
|
||||||
|
secondPlayerState = new MultiPlayerState(false, _multiplayManager);
|
||||||
|
GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, opponentNickname);
|
||||||
|
GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, opponentImageIndex);
|
||||||
|
|
||||||
|
// 리플레이 데이터 업데이트
|
||||||
|
ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname, opponentNickname, UserManager.Instance.imageIndex, opponentImageIndex);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Log("해당 플레이어가 후공 입니다");
|
||||||
|
firstPlayerState = new MultiPlayerState(true, _multiplayManager);
|
||||||
|
secondPlayerState = new PlayerState(false, _multiplayManager, _roomId);
|
||||||
|
GameManager.Instance.InitPlayersName(opponentNickname, UserManager.Instance.Nickname);
|
||||||
|
GameManager.Instance.InitProfileImages(opponentImageIndex, UserManager.Instance.imageIndex);
|
||||||
|
|
||||||
|
// 리플레이 데이터 업데이트
|
||||||
|
ReplayManager.Instance.InitReplayData(opponentNickname, UserManager.Instance.Nickname, opponentImageIndex, UserManager.Instance.imageIndex);
|
||||||
|
}
|
||||||
|
// 첫 번째 플레이어(유저)부터 시작
|
||||||
|
SetState(firstPlayerState);
|
||||||
}
|
}
|
||||||
|
|
||||||
//AI닉네임 랜덤 생성
|
//AI닉네임 랜덤 생성
|
||||||
|
@ -122,7 +122,7 @@ public class GameManager : Singleton<GameManager>
|
|||||||
|
|
||||||
public bool GetRequestDrawChance()
|
public bool GetRequestDrawChance()
|
||||||
{
|
{
|
||||||
if (_gameLogic == null){ return false;}
|
if (_gameLogic == null) return false;
|
||||||
return _gameLogic.RequestDrawChance;
|
return _gameLogic.RequestDrawChance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,6 +61,14 @@ public class MessageData
|
|||||||
public string message { get; set; }
|
public string message { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class RevengeData
|
||||||
|
{
|
||||||
|
[JsonProperty("message")]
|
||||||
|
public string message { get; set; }
|
||||||
|
[JsonProperty("isBlack")]
|
||||||
|
public Boolean isBlack { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class MultiplayManager : IDisposable
|
public class MultiplayManager : IDisposable
|
||||||
{
|
{
|
||||||
private SocketIOUnity _socket;
|
private SocketIOUnity _socket;
|
||||||
@ -100,7 +108,7 @@ public class MultiplayManager : IDisposable
|
|||||||
_socket.On("drawRejectionConfirmed", DrawRejectionConfirmed);
|
_socket.On("drawRejectionConfirmed", DrawRejectionConfirmed);
|
||||||
// 재대결 관련
|
// 재대결 관련
|
||||||
_socket.On("receiveRevengeRequest", ReceiveRevengeRequest);
|
_socket.On("receiveRevengeRequest", ReceiveRevengeRequest);
|
||||||
_socket.On("revengeRequestSent", DrawRequestSent);
|
_socket.On("revengeRequestSent", RevengeRequestSent);
|
||||||
_socket.On("revengeAccepted", RevengeAccepted);
|
_socket.On("revengeAccepted", RevengeAccepted);
|
||||||
_socket.On("revengeConfirmed", RevengeConfirmed);
|
_socket.On("revengeConfirmed", RevengeConfirmed);
|
||||||
_socket.On("revengeRejected", RevengeRejected);
|
_socket.On("revengeRejected", RevengeRejected);
|
||||||
@ -337,6 +345,7 @@ public class MultiplayManager : IDisposable
|
|||||||
|
|
||||||
public void RequestRevengeRequest()
|
public void RequestRevengeRequest()
|
||||||
{
|
{
|
||||||
|
Debug.Log("RequestRevengeRequest: " + _roomId);
|
||||||
if (string.IsNullOrEmpty(_roomId))
|
if (string.IsNullOrEmpty(_roomId))
|
||||||
{
|
{
|
||||||
Debug.LogError("requestDraw 호출 실패: _roomId가 설정되지 않음");
|
Debug.LogError("requestDraw 호출 실패: _roomId가 설정되지 않음");
|
||||||
@ -371,16 +380,16 @@ public class MultiplayManager : IDisposable
|
|||||||
|
|
||||||
private void RevengeAccepted(SocketIOResponse response)
|
private void RevengeAccepted(SocketIOResponse response)
|
||||||
{
|
{
|
||||||
var data = response.GetValue<MessageData>();
|
var data = response.GetValue<RevengeData>();
|
||||||
|
|
||||||
_onMultiplayStateChanged?.Invoke(Constants.MultiplayManagerState.RevengeAccepted, data.message);
|
_onMultiplayStateChanged?.Invoke(Constants.MultiplayManagerState.RevengeAccepted, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RevengeConfirmed(SocketIOResponse response)
|
private void RevengeConfirmed(SocketIOResponse response)
|
||||||
{
|
{
|
||||||
var data = response.GetValue<MessageData>();
|
var data = response.GetValue<RevengeData>();
|
||||||
|
Debug.Log("data??: " + data.isBlack + data.message);
|
||||||
_onMultiplayStateChanged?.Invoke(Constants.MultiplayManagerState.RevengeConfirmed, data.message);
|
_onMultiplayStateChanged?.Invoke(Constants.MultiplayManagerState.RevengeConfirmed, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RejectRevenge()
|
public void RejectRevenge()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user