Merge branch 'main' into DO-46-게임-씬-보조-기능-추가
This commit is contained in:
commit
6db731c6d0
@ -418,6 +418,81 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &6725069296890934698
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4035312119661202039}
|
||||||
|
- component: {fileID: 8616790052716066886}
|
||||||
|
- component: {fileID: 2590408022327786383}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: DrawImage
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &4035312119661202039
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6725069296890934698}
|
||||||
|
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: 782808433606758938}
|
||||||
|
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: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &8616790052716066886
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6725069296890934698}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &2590408022327786383
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6725069296890934698}
|
||||||
|
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: 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 &6889607079215043674
|
--- !u!1 &6889607079215043674
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -447,6 +522,7 @@ 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: 4035312119661202039}
|
||||||
- {fileID: 6243070150297500116}
|
- {fileID: 6243070150297500116}
|
||||||
- {fileID: 379352358508670316}
|
- {fileID: 379352358508670316}
|
||||||
m_Father: {fileID: 423109112585897887}
|
m_Father: {fileID: 423109112585897887}
|
||||||
@ -614,5 +690,6 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
winImage: {fileID: 5279064539717668063}
|
winImage: {fileID: 5279064539717668063}
|
||||||
loseImage: {fileID: 7205159236927224312}
|
loseImage: {fileID: 7205159236927224312}
|
||||||
|
drawImage: {fileID: 2590408022327786383}
|
||||||
playerNicknameText: {fileID: 1459786160726782322}
|
playerNicknameText: {fileID: 1459786160726782322}
|
||||||
recordDateText: {fileID: 857776554898951878}
|
recordDateText: {fileID: 857776554898951878}
|
||||||
|
BIN
Assets/Resources/Click Sound.mp3
Normal file
BIN
Assets/Resources/Click Sound.mp3
Normal file
Binary file not shown.
23
Assets/Resources/Click Sound.mp3.meta
Normal file
23
Assets/Resources/Click Sound.mp3.meta
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cff2e6cf7f46a074d86955b3b6fd499a
|
||||||
|
AudioImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 7
|
||||||
|
defaultSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
loadType: 0
|
||||||
|
sampleRateSetting: 0
|
||||||
|
sampleRateOverride: 44100
|
||||||
|
compressionFormat: 1
|
||||||
|
quality: 1
|
||||||
|
conversionMode: 0
|
||||||
|
preloadAudioData: 0
|
||||||
|
platformSettingOverrides: {}
|
||||||
|
forceToMono: 0
|
||||||
|
normalize: 1
|
||||||
|
loadInBackground: 0
|
||||||
|
ambisonic: 0
|
||||||
|
3D: 1
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/Resources/Close Sound.mp3
Normal file
BIN
Assets/Resources/Close Sound.mp3
Normal file
Binary file not shown.
23
Assets/Resources/Close Sound.mp3.meta
Normal file
23
Assets/Resources/Close Sound.mp3.meta
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e7c0f32158a3e5b46bc3b59035aba898
|
||||||
|
AudioImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 7
|
||||||
|
defaultSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
loadType: 0
|
||||||
|
sampleRateSetting: 0
|
||||||
|
sampleRateOverride: 44100
|
||||||
|
compressionFormat: 1
|
||||||
|
quality: 1
|
||||||
|
conversionMode: 0
|
||||||
|
preloadAudioData: 0
|
||||||
|
platformSettingOverrides: {}
|
||||||
|
forceToMono: 0
|
||||||
|
normalize: 1
|
||||||
|
loadInBackground: 0
|
||||||
|
ambisonic: 0
|
||||||
|
3D: 1
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -10,6 +10,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 2402232447803946232}
|
- component: {fileID: 2402232447803946232}
|
||||||
- component: {fileID: 3667565604047053759}
|
- component: {fileID: 3667565604047053759}
|
||||||
|
- component: {fileID: 841089304725320238}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Audio Manager
|
m_Name: Audio Manager
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -45,3 +46,102 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
mainBgm: {fileID: 8300000, guid: 1d9c7fb20aa822c48933d00b6bd6a757, type: 3}
|
mainBgm: {fileID: 8300000, guid: 1d9c7fb20aa822c48933d00b6bd6a757, type: 3}
|
||||||
|
clickSound: {fileID: 8300000, guid: cff2e6cf7f46a074d86955b3b6fd499a, type: 3}
|
||||||
|
closeSound: {fileID: 8300000, guid: e7c0f32158a3e5b46bc3b59035aba898, type: 3}
|
||||||
|
sfxVolume: 0
|
||||||
|
--- !u!82 &841089304725320238
|
||||||
|
AudioSource:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2946408323859178723}
|
||||||
|
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
|
||||||
|
@ -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: "\uD638\uB7AD\uC774"
|
||||||
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
|
||||||
|
@ -148,7 +148,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
handleImage: {fileID: 6756679498073114696}
|
handleImage: {fileID: 6756679498073114696}
|
||||||
clickSound: {fileID: 8300000, guid: 6296b07572c34d4439bb8bb660025449, type: 3}
|
clickSound: {fileID: 8300000, guid: cff2e6cf7f46a074d86955b3b6fd499a, type: 3}
|
||||||
--- !u!82 &6428684691423417346
|
--- !u!82 &6428684691423417346
|
||||||
AudioSource:
|
AudioSource:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -994,7 +994,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
handleImage: {fileID: 1822478720763898751}
|
handleImage: {fileID: 1822478720763898751}
|
||||||
clickSound: {fileID: 8300000, guid: 6296b07572c34d4439bb8bb660025449, type: 3}
|
clickSound: {fileID: 8300000, guid: cff2e6cf7f46a074d86955b3b6fd499a, type: 3}
|
||||||
--- !u!82 &9145795730378986889
|
--- !u!82 &9145795730378986889
|
||||||
AudioSource:
|
AudioSource:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -134,6 +134,7 @@ GameObject:
|
|||||||
- component: {fileID: 390032769}
|
- component: {fileID: 390032769}
|
||||||
- component: {fileID: 390032768}
|
- component: {fileID: 390032768}
|
||||||
- component: {fileID: 390032767}
|
- component: {fileID: 390032767}
|
||||||
|
- component: {fileID: 390032771}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Canvas
|
m_Name: Canvas
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -223,6 +224,18 @@ RectTransform:
|
|||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0, y: 0}
|
m_Pivot: {x: 0, y: 0}
|
||||||
|
--- !u!225 &390032771
|
||||||
|
CanvasGroup:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 390032766}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Alpha: 1
|
||||||
|
m_Interactable: 1
|
||||||
|
m_BlocksRaycasts: 1
|
||||||
|
m_IgnoreParentGroups: 0
|
||||||
--- !u!1 &519420028
|
--- !u!1 &519420028
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -18363,8 +18363,8 @@ MonoBehaviour:
|
|||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_text: Player B
|
m_text: Player B
|
||||||
m_isRightToLeft: 0
|
m_isRightToLeft: 0
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||||
m_fontSharedMaterials: []
|
m_fontSharedMaterials: []
|
||||||
m_fontMaterial: {fileID: 0}
|
m_fontMaterial: {fileID: 0}
|
||||||
m_fontMaterials: []
|
m_fontMaterials: []
|
||||||
@ -18762,8 +18762,8 @@ MonoBehaviour:
|
|||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_text: Player A
|
m_text: Player A
|
||||||
m_isRightToLeft: 0
|
m_isRightToLeft: 0
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2}
|
||||||
m_fontSharedMaterials: []
|
m_fontSharedMaterials: []
|
||||||
m_fontMaterial: {fileID: 0}
|
m_fontMaterial: {fileID: 0}
|
||||||
m_fontMaterials: []
|
m_fontMaterials: []
|
||||||
|
@ -3,13 +3,20 @@
|
|||||||
[RequireComponent(typeof(AudioSource))]
|
[RequireComponent(typeof(AudioSource))]
|
||||||
public class AudioManager : MonoBehaviour
|
public class AudioManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
[Header("Sound")]
|
[Header("BGM")]
|
||||||
[SerializeField] private AudioClip mainBgm;
|
[SerializeField] private AudioClip mainBgm;
|
||||||
|
[Header("SFX")]
|
||||||
|
[SerializeField] private AudioClip clickSound;
|
||||||
|
[SerializeField] private AudioClip closeSound;
|
||||||
|
|
||||||
private AudioSource audioSource;
|
private AudioSource audioSource;
|
||||||
|
|
||||||
|
[HideInInspector] public float sfxVolume;
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
PlayMainBGM();
|
PlayMainBGM();
|
||||||
|
sfxVolume = 1.0f; //테스트 코드
|
||||||
}
|
}
|
||||||
|
|
||||||
// 배경음악 시작
|
// 배경음악 시작
|
||||||
@ -23,7 +30,7 @@ public class AudioManager : MonoBehaviour
|
|||||||
// 배경음악이 설정되면 재생
|
// 배경음악이 설정되면 재생
|
||||||
audioSource.clip = mainBgm; // 음악 클립 설정
|
audioSource.clip = mainBgm; // 음악 클립 설정
|
||||||
audioSource.loop = true; // 반복 재생
|
audioSource.loop = true; // 반복 재생
|
||||||
audioSource.volume = 0.2f; // 볼륨
|
audioSource.volume = 0.1f; // 볼륨
|
||||||
audioSource.Play(); // 음악 시작
|
audioSource.Play(); // 음악 시작
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -36,4 +43,14 @@ public class AudioManager : MonoBehaviour
|
|||||||
audioSource.Stop(); // 배경음악 멈추기
|
audioSource.Stop(); // 배경음악 멈추기
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void PlayClickSound()
|
||||||
|
{
|
||||||
|
audioSource.PlayOneShot(clickSound, sfxVolume);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PlayCloseSound()
|
||||||
|
{
|
||||||
|
audioSource.PlayOneShot(closeSound, sfxVolume);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ public class ReplayCell : MonoBehaviour
|
|||||||
{
|
{
|
||||||
[SerializeField] private Image winImage;
|
[SerializeField] private Image winImage;
|
||||||
[SerializeField] private Image loseImage;
|
[SerializeField] private Image loseImage;
|
||||||
|
[SerializeField] private Image drawImage;
|
||||||
[SerializeField] private TMP_Text playerNicknameText;
|
[SerializeField] private TMP_Text playerNicknameText;
|
||||||
[SerializeField] private TMP_Text recordDateText;
|
[SerializeField] private TMP_Text recordDateText;
|
||||||
|
|
||||||
@ -18,7 +19,7 @@ public class ReplayCell : MonoBehaviour
|
|||||||
private string _opponentNickname;
|
private string _opponentNickname;
|
||||||
|
|
||||||
|
|
||||||
//유저가 이겼을 경우 '승'(파랑)이미지 졌을 경우'패'(빨강)이미지
|
//TODO:승, 패 외에 무승부 반영하기. bool => int
|
||||||
public void SetWinImage(bool isWin)
|
public void SetWinImage(bool isWin)
|
||||||
{
|
{
|
||||||
if (isWin == true)
|
if (isWin == true)
|
||||||
@ -32,6 +33,28 @@ public class ReplayCell : MonoBehaviour
|
|||||||
winImage.gameObject.SetActive(false);
|
winImage.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//TODO: 무승부 이미지 제작해서 에디터에 추가해주세요
|
||||||
|
public void SetWinImage(Enums.GameResult gameResult)
|
||||||
|
{
|
||||||
|
switch(gameResult)
|
||||||
|
{
|
||||||
|
case Enums.GameResult.Win:
|
||||||
|
winImage.gameObject.SetActive(true);
|
||||||
|
loseImage.gameObject.SetActive(false);
|
||||||
|
drawImage.gameObject.SetActive(false);
|
||||||
|
break;
|
||||||
|
case Enums.GameResult.Lose:
|
||||||
|
winImage.gameObject.SetActive(false);
|
||||||
|
loseImage.gameObject.SetActive(true);
|
||||||
|
drawImage.gameObject.SetActive(false);
|
||||||
|
break;
|
||||||
|
case Enums.GameResult.Draw:
|
||||||
|
winImage.gameObject.SetActive(false);
|
||||||
|
loseImage.gameObject.SetActive(false);
|
||||||
|
drawImage.gameObject.SetActive(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void SetMyPlayerType(Enums.PlayerType myPlayerType)
|
public void SetMyPlayerType(Enums.PlayerType myPlayerType)
|
||||||
{
|
{
|
||||||
|
@ -13,14 +13,12 @@ public class ReplayController : MonoBehaviour
|
|||||||
[SerializeField] private GameObject[] userBProfileImages;
|
[SerializeField] private GameObject[] userBProfileImages;
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
// InitReplayUI();
|
InitReplayUI();
|
||||||
//TODO: 프로필 이미지 불러오기
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnclickExitButton()
|
public void OnclickExitButton()
|
||||||
{
|
{
|
||||||
//TODO: 메인씬으로 다시 넘어갈 때 호출해야하는 함수 등등이 있을지....
|
SceneManager.LoadScene("Main");
|
||||||
SceneManager.LoadScene("Main-Jay");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnclickFirstButton()
|
public void OnclickFirstButton()
|
||||||
@ -53,10 +51,16 @@ public class ReplayController : MonoBehaviour
|
|||||||
|
|
||||||
public void InitReplayUI()
|
public void InitReplayUI()
|
||||||
{
|
{
|
||||||
|
//유저 닉네임 설정
|
||||||
|
//TODO: 유니티 에디터에서 폰트 설정바꾸기
|
||||||
playerANicknameText.text = ReplayManager.Instance.GetPlayerANickname();
|
playerANicknameText.text = ReplayManager.Instance.GetPlayerANickname();
|
||||||
playerBNicknameText.text = ReplayManager.Instance.GetPlayerBNickname();
|
playerBNicknameText.text = ReplayManager.Instance.GetPlayerBNickname();
|
||||||
|
|
||||||
//TODO: ReplayManager에서 프로필 인덱스 가져와서 SetUserProfileImages호출하기
|
//프로필 이미지 설정
|
||||||
|
int playerAProgileIndex = ReplayManager.Instance.GetPlayerAProfileIndex();
|
||||||
|
int playerBProgileIndex = ReplayManager.Instance.GetPlayerBProfileIndex();
|
||||||
|
SetUserProfileImages(playerAProgileIndex, userAProfileImages);
|
||||||
|
SetUserProfileImages(playerBProgileIndex, userBProfileImages);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetUserProfileImages(int imageIndex,GameObject[] profileImages)
|
private void SetUserProfileImages(int imageIndex,GameObject[] profileImages)
|
||||||
|
@ -11,12 +11,10 @@ public class ReplayRecord
|
|||||||
public string gameDate;
|
public string gameDate;
|
||||||
public string playerA;
|
public string playerA;
|
||||||
public string playerB;
|
public string playerB;
|
||||||
|
public Enums.GameResult gameResult;
|
||||||
|
public int playerAPofileImageIndex;
|
||||||
|
public int playerBPofileImageIndex;
|
||||||
public List<Move> moves = new List<Move>();
|
public List<Move> moves = new List<Move>();
|
||||||
//TODO: winnerPlayerType삭제
|
|
||||||
public string winnerPlayerType;
|
|
||||||
public string gameResult; //무승부를 반영하기위해 승자가 아닌 게임 결과를 저장.
|
|
||||||
public string playerAPofileImageIndex;
|
|
||||||
public string playerBPofileImageIndex;
|
|
||||||
}
|
}
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class Move
|
public class Move
|
||||||
@ -100,8 +98,8 @@ public class ReplayManager : Singleton<ReplayManager>
|
|||||||
_recordingReplayData = new ReplayRecord();
|
_recordingReplayData = new ReplayRecord();
|
||||||
_recordingReplayData.playerA = playerANickname;
|
_recordingReplayData.playerA = playerANickname;
|
||||||
_recordingReplayData.playerB = playerBNickname;
|
_recordingReplayData.playerB = playerBNickname;
|
||||||
_recordingReplayData.playerAPofileImageIndex = playerBNickname.ToString();
|
_recordingReplayData.playerAPofileImageIndex = playerAProfileIndex;
|
||||||
_recordingReplayData.playerBPofileImageIndex = playerAProfileIndex.ToString();
|
_recordingReplayData.playerBPofileImageIndex = playerBProfileIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
///<summary>
|
///<summary>
|
||||||
@ -116,36 +114,13 @@ public class ReplayManager : Singleton<ReplayManager>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 게임 종료 후 호출하여 리플레이 데이터를 저장합니다.
|
/// 게임 종료 후 호출하여 리플레이 데이터를 저장합니다.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void SaveReplayData(Enums.PlayerType winnerPlayerType)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
string time = DateTime.Now.ToString(("yyyy-MM-dd HH_mm_ss"));
|
|
||||||
_recordingReplayData.gameDate = time;
|
|
||||||
_recordingReplayData.winnerPlayerType = winnerPlayerType.ToString();
|
|
||||||
|
|
||||||
|
|
||||||
string json = JsonUtility.ToJson(_recordingReplayData, true);
|
|
||||||
|
|
||||||
|
|
||||||
string path = Path.Combine(Application.persistentDataPath, $"{time}.json");
|
|
||||||
File.WriteAllText(path, json);
|
|
||||||
|
|
||||||
//최신 데이터 10개만 유지되도록 저장
|
|
||||||
RecordCountChecker();
|
|
||||||
}
|
|
||||||
catch(Exception e)
|
|
||||||
{
|
|
||||||
Debug.LogError($"An error occurred while saving replay data:{e.Message}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void SaveReplayDataResult(Enums.GameResult gameResultType)
|
public void SaveReplayDataResult(Enums.GameResult gameResultType)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string time = DateTime.Now.ToString(("yyyy-MM-dd HH_mm_ss"));
|
string time = DateTime.Now.ToString(("yyyy-MM-dd HH_mm_ss"));
|
||||||
_recordingReplayData.gameDate = time;
|
_recordingReplayData.gameDate = time;
|
||||||
_recordingReplayData.gameResult = gameResultType.ToString();
|
_recordingReplayData.gameResult = gameResultType;
|
||||||
|
|
||||||
// Json데이터로 변환해서 저장
|
// Json데이터로 변환해서 저장
|
||||||
string json = JsonUtility.ToJson(_recordingReplayData, true);
|
string json = JsonUtility.ToJson(_recordingReplayData, true);
|
||||||
@ -265,8 +240,16 @@ public class ReplayManager : Singleton<ReplayManager>
|
|||||||
{
|
{
|
||||||
return _selectedReplayRecord.playerB;
|
return _selectedReplayRecord.playerB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetPlayerAProfileIndex()
|
||||||
|
{
|
||||||
|
return _selectedReplayRecord.playerAPofileImageIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetPlayerBProfileIndex()
|
||||||
|
{
|
||||||
|
return _selectedReplayRecord.playerBPofileImageIndex;
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||||
|
@ -22,6 +22,8 @@ public class LeaderBoardController : MonoBehaviour
|
|||||||
|
|
||||||
public void OnClickLeaderboardButton()
|
public void OnClickLeaderboardButton()
|
||||||
{
|
{
|
||||||
|
GameManager.Instance.audioManager.PlayClickSound();
|
||||||
|
|
||||||
if (isLeaderboardLoaded) return; // 이미 리더보드가 로드되었으면 중복 호출 방지
|
if (isLeaderboardLoaded) return; // 이미 리더보드가 로드되었으면 중복 호출 방지
|
||||||
|
|
||||||
leaderboardPanel.SetActive(true);
|
leaderboardPanel.SetActive(true);
|
||||||
@ -69,6 +71,8 @@ public class LeaderBoardController : MonoBehaviour
|
|||||||
// BackButton 클릭 시 호출되는 메소드
|
// BackButton 클릭 시 호출되는 메소드
|
||||||
public void OnBackButtonClicked()
|
public void OnBackButtonClicked()
|
||||||
{
|
{
|
||||||
|
GameManager.Instance.audioManager.PlayCloseSound();
|
||||||
|
|
||||||
leaderboardPanel.SetActive(false); // LeaderboardPanel 숨기기
|
leaderboardPanel.SetActive(false); // LeaderboardPanel 숨기기
|
||||||
MainPanel.SetActive(true); // SignInPanel 보이게 하기
|
MainPanel.SetActive(true); // SignInPanel 보이게 하기
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,8 @@ public class PanelController : MonoBehaviour
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void Show()
|
public void Show()
|
||||||
{
|
{
|
||||||
|
GameManager.Instance.audioManager.PlayClickSound();
|
||||||
|
|
||||||
if (backGroundCanvasGroup == null)
|
if (backGroundCanvasGroup == null)
|
||||||
{
|
{
|
||||||
backGroundCanvasGroup = GetComponent<CanvasGroup>();
|
backGroundCanvasGroup = GetComponent<CanvasGroup>();
|
||||||
@ -42,6 +44,8 @@ public class PanelController : MonoBehaviour
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void Hide(PanelControllerHideDelegate hideDelegate = null)
|
public void Hide(PanelControllerHideDelegate hideDelegate = null)
|
||||||
{
|
{
|
||||||
|
GameManager.Instance.audioManager.PlayCloseSound();
|
||||||
|
|
||||||
backGroundCanvasGroup.alpha = 1;
|
backGroundCanvasGroup.alpha = 1;
|
||||||
panelRectTransform.localScale = Vector3.one;
|
panelRectTransform.localScale = Vector3.one;
|
||||||
|
|
||||||
|
@ -25,9 +25,9 @@ public class ReplayPanelItemsController : ScrollPanelController
|
|||||||
|
|
||||||
// ReplayManager에서 가져온 기보 데이터들을 패널 셀에 초기화
|
// ReplayManager에서 가져온 기보 데이터들을 패널 셀에 초기화
|
||||||
records = ReplayManager.Instance.LoadReplayDatas();
|
records = ReplayManager.Instance.LoadReplayDatas();
|
||||||
|
|
||||||
foreach (var replayRecord in records)
|
foreach (var replayRecord in records)
|
||||||
{
|
{
|
||||||
|
Debug.Log($"{replayRecord.gameDate}의 결과는 {replayRecord.gameResult}");
|
||||||
var replayCellButtonObject = Instantiate(scrollItemPrefab, content.transform);
|
var replayCellButtonObject = Instantiate(scrollItemPrefab, content.transform);
|
||||||
ReplayCell replayCell = replayCellButtonObject.GetComponent<ReplayCell>();
|
ReplayCell replayCell = replayCellButtonObject.GetComponent<ReplayCell>();
|
||||||
|
|
||||||
@ -35,7 +35,8 @@ public class ReplayPanelItemsController : ScrollPanelController
|
|||||||
string opponentNickname = myPlayerType==Enums.PlayerType.PlayerA ? replayRecord.playerB : replayRecord.playerA;
|
string opponentNickname = myPlayerType==Enums.PlayerType.PlayerA ? replayRecord.playerB : replayRecord.playerA;
|
||||||
|
|
||||||
replayCell.SetMyPlayerType(myPlayerType);
|
replayCell.SetMyPlayerType(myPlayerType);
|
||||||
replayCell.SetWinImage(myPlayerType.ToString().Equals(replayRecord.winnerPlayerType));
|
replayCell.SetWinImage(replayRecord.gameResult);
|
||||||
|
|
||||||
replayCell.SetOpponentPlayerNickname(opponentNickname);
|
replayCell.SetOpponentPlayerNickname(opponentNickname);
|
||||||
replayCell.SetRecordDate(replayRecord.gameDate);
|
replayCell.SetRecordDate(replayRecord.gameDate);
|
||||||
replayCell.SetReplayRecord(replayRecord);
|
replayCell.SetReplayRecord(replayRecord);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user