플레이어 리스트 UI 작업 추가, UI시스템 방식 수정
This commit is contained in:
parent
909500e74e
commit
4e49ad7124
|
@ -32085,6 +32085,7 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
_characterRoot: {fileID: 8607678279704524677}
|
||||
_singleStageButton: {fileID: 8607678279483521074}
|
||||
_playerListButton: {fileID: 8607678279159893190}
|
||||
--- !u!1 &8607678279519452447
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -51292,7 +51293,7 @@ MonoBehaviour:
|
|||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: CHARACTER
|
||||
m_text: PLAYER
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 50c12c23294124aa48490c44ac65a9e4, type: 2}
|
||||
m_sharedMaterial: {fileID: 7746803525459343344, guid: 50c12c23294124aa48490c44ac65a9e4,
|
||||
|
|
|
@ -19055,6 +19055,128 @@ MonoBehaviour:
|
|||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &5588192970868326085
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6206984379070538658}
|
||||
- component: {fileID: 338784098782169810}
|
||||
- component: {fileID: 902278719487509366}
|
||||
m_Layer: 5
|
||||
m_Name: Point Light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6206984379070538658
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5588192970868326085}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 1.81}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7459603269180336631}
|
||||
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.38, y: 1.1}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!108 &338784098782169810
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5588192970868326085}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 10
|
||||
m_Type: 2
|
||||
m_Shape: 0
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Intensity: 10
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_InnerSpotAngle: 21.80208
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 0
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_UseCullingMatrixOverride: 0
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingLayerMask: 1
|
||||
m_Lightmapping: 4
|
||||
m_LightShadowCasterMode: 0
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 6570
|
||||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!114 &902278719487509366
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5588192970868326085}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 3
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_RenderingLayers: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_ShadowRenderingLayers: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 0
|
||||
--- !u!1 &5859963307509869375
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -20188,7 +20310,8 @@ RectTransform:
|
|||
m_LocalPosition: {x: 0, y: 0, z: 21}
|
||||
m_LocalScale: {x: 300, y: 300, z: 300}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Children:
|
||||
- {fileID: 6206984379070538658}
|
||||
m_Father: {fileID: 7459603270314721886}
|
||||
m_LocalEulerAnglesHint: {x: 8.328, y: 161.727, z: -3.896}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
|
@ -20988,6 +21111,7 @@ GameObject:
|
|||
- component: {fileID: 7459603269412839174}
|
||||
- component: {fileID: 7459603269412839168}
|
||||
- component: {fileID: 7459603269412839169}
|
||||
- component: {fileID: 4925477241957967913}
|
||||
m_Layer: 5
|
||||
m_Name: Button_Arrow_R
|
||||
m_TagString: Untagged
|
||||
|
@ -21052,6 +21176,50 @@ MonoBehaviour:
|
|||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &4925477241957967913
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7459603269412839175}
|
||||
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: 7459603269412839169}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &7459603269426521990
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -23778,6 +23946,7 @@ GameObject:
|
|||
- component: {fileID: 7459603270130791829}
|
||||
- component: {fileID: 7459603270130791831}
|
||||
- component: {fileID: 7459603270130791828}
|
||||
- component: {fileID: 4540790558316657538}
|
||||
m_Layer: 5
|
||||
m_Name: Button_Arrow_L
|
||||
m_TagString: Untagged
|
||||
|
@ -23842,6 +24011,50 @@ MonoBehaviour:
|
|||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &4540790558316657538
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7459603270130791834}
|
||||
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: 7459603270130791828}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &7459603270134483779
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -25038,6 +25251,7 @@ GameObject:
|
|||
- component: {fileID: 7459603270371822157}
|
||||
- component: {fileID: 7459603270371822159}
|
||||
- component: {fileID: 7459603270371822156}
|
||||
- component: {fileID: 8001649805687928187}
|
||||
m_Layer: 5
|
||||
m_Name: Button_Home
|
||||
m_TagString: Untagged
|
||||
|
@ -25103,6 +25317,50 @@ MonoBehaviour:
|
|||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &8001649805687928187
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7459603270371822002}
|
||||
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: 7459603270371822156}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &7459603270376292508
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -26584,6 +26842,7 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7459603270933694283}
|
||||
- component: {fileID: 404385109801692332}
|
||||
m_Layer: 5
|
||||
m_Name: UIPanelPlayerList
|
||||
m_TagString: Untagged
|
||||
|
@ -26615,6 +26874,30 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &404385109801692332
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7459603270933694280}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: aed7eae726c3c6a48bdd992d684750a9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_playerRoot: {fileID: 7459603269180336631}
|
||||
_selectButton: {fileID: 7459603269531572061}
|
||||
_prevButton: {fileID: 4540790558316657538}
|
||||
_nextButton: {fileID: 4925477241957967913}
|
||||
_backButton: {fileID: 7459603269466600724}
|
||||
_homeButton: {fileID: 8001649805687928187}
|
||||
_strSlider: {fileID: 259823808637671982}
|
||||
_rangeSlider: {fileID: 5692202979830137119}
|
||||
_speedSlider: {fileID: 2648011094927163633}
|
||||
_strText: {fileID: 7459603269834701088}
|
||||
_rangeText: {fileID: 7666985169112247169}
|
||||
_speedText: {fileID: 4975337925991424715}
|
||||
--- !u!1 &7459603270962932991
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -11,4 +11,9 @@ public static class Constants
|
|||
public static readonly float CAM_TURN_SPEED = 40;
|
||||
|
||||
public static readonly float JUMP_FORCE = 3f;
|
||||
|
||||
//임시 최대값 세팅
|
||||
public static readonly int STR_MAX = 60;
|
||||
public static readonly float RANGE_MAX = 3f;
|
||||
public static readonly float SPEED_MAX = 3f;
|
||||
}
|
||||
|
|
|
@ -6,6 +6,8 @@ using UnityEngine;
|
|||
|
||||
public class GameManager : UnitySingleton<GameManager>
|
||||
{
|
||||
|
||||
#region Player Data
|
||||
public PlayerInfo MainPlayer
|
||||
{
|
||||
get
|
||||
|
@ -13,6 +15,15 @@ public class GameManager : UnitySingleton<GameManager>
|
|||
return PlayerPrefsManager.LoadMainPlayer();
|
||||
}
|
||||
}
|
||||
|
||||
public int PlayerCount
|
||||
{
|
||||
get
|
||||
{
|
||||
return _playerData.Count;
|
||||
}
|
||||
}
|
||||
|
||||
private List<PlayerInfo> _playerData = new();
|
||||
|
||||
public void SetPlayerData(List<JPlayerData> dataList)
|
||||
|
@ -28,4 +39,19 @@ public class GameManager : UnitySingleton<GameManager>
|
|||
return _playerData.Find(arg => arg.Id == id);
|
||||
}
|
||||
|
||||
public PlayerInfo GetPlayerDataByIndex(int idx)
|
||||
{
|
||||
if(idx < 0 || idx >= PlayerCount)
|
||||
{
|
||||
Debug.LogError("Plyer index out of range!!");
|
||||
return null;
|
||||
}
|
||||
return _playerData[idx];
|
||||
}
|
||||
|
||||
public int GetPlayerDataIndex(PlayerInfo info)
|
||||
{
|
||||
return _playerData.FindIndex(arg => arg == info);
|
||||
}
|
||||
#endregion Player Data
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using FirstVillain.EventBus;
|
||||
using FirstVillain.Singleton;
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
@ -46,6 +47,10 @@ public class UIManager : UnitySingleton<UIManager>
|
|||
#region Open UI
|
||||
public UIBase OpenUI(E_UI_TYPE type)
|
||||
{
|
||||
if(_uiStack.Count > 0)
|
||||
{
|
||||
_uiStack.Peek().gameObject.SetActive(false);
|
||||
}
|
||||
if(_loadedUIDict.ContainsKey(type))
|
||||
{
|
||||
return GenerateUI(_loadedUIDict[type], E_UI_ROOT_TYPE.UI);
|
||||
|
@ -114,23 +119,25 @@ public class UIManager : UnitySingleton<UIManager>
|
|||
}
|
||||
|
||||
#region Close UI
|
||||
public void CloseUI(UIBase ui)
|
||||
public UIBase CloseUI()
|
||||
{
|
||||
switch(ui.UI_ROOT_TYPE)
|
||||
{
|
||||
case E_UI_ROOT_TYPE.UI:
|
||||
if (_uiStack.Count > 1)
|
||||
{
|
||||
var targetUI = _uiStack.Pop();
|
||||
targetUI.CloseAction();
|
||||
Destroy(targetUI.gameObject);
|
||||
}
|
||||
break;
|
||||
case E_UI_ROOT_TYPE.System:
|
||||
|
||||
var prevUI = _uiStack.Peek();
|
||||
prevUI.gameObject.SetActive(true);
|
||||
return prevUI;
|
||||
|
||||
}
|
||||
|
||||
public void CloseSystemUI(UIBase ui)
|
||||
{
|
||||
_systemUIList.Remove(ui);
|
||||
Destroy(ui.gameObject);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void CloseLoadingUI()
|
||||
|
@ -145,7 +152,6 @@ public class UIManager : UnitySingleton<UIManager>
|
|||
_loadingUI = null;
|
||||
}
|
||||
|
||||
|
||||
public void ReleaseUI()
|
||||
{
|
||||
while(_uiStack.Count > 0)
|
||||
|
@ -155,6 +161,8 @@ public class UIManager : UnitySingleton<UIManager>
|
|||
Destroy(ui.gameObject);
|
||||
}
|
||||
|
||||
EventBus.Instance.Publish(new EventStartLobby());
|
||||
|
||||
foreach (var systemUI in _systemUIList)
|
||||
{
|
||||
Destroy(systemUI.gameObject);
|
||||
|
|
|
@ -9,28 +9,62 @@ public class UIPanelLobby : UIBase
|
|||
[SerializeField] private Transform _characterRoot;
|
||||
|
||||
[SerializeField] private Button _singleStageButton;
|
||||
[SerializeField] private Button _playerListButton;
|
||||
|
||||
|
||||
private PlayerInfo _curPlayerInfo;
|
||||
private GameObject _curPlayerPrefab;
|
||||
public override void Open()
|
||||
{
|
||||
InitButtons();
|
||||
|
||||
var main = AddressableManager.Instance.Spawn(GameManager.Instance.MainPlayer.UIPrefabName, _characterRoot);
|
||||
main.SetActive(false);
|
||||
main.ResetTransform();
|
||||
UpdatePlayer();
|
||||
base.Open();
|
||||
main.SetActive(true);
|
||||
|
||||
_curPlayerPrefab.SetActive(true);
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if(_curPlayerInfo != GameManager.Instance.MainPlayer)
|
||||
{
|
||||
if (_curPlayerPrefab != null)
|
||||
{
|
||||
AddressableManager.Instance.Release(_curPlayerPrefab);
|
||||
UpdatePlayer();
|
||||
_curPlayerPrefab.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void UpdatePlayer()
|
||||
{
|
||||
_curPlayerInfo = GameManager.Instance.MainPlayer;
|
||||
_curPlayerPrefab = AddressableManager.Instance.Spawn(GameManager.Instance.MainPlayer.UIPrefabName, _characterRoot);
|
||||
_curPlayerPrefab.SetActive(false);
|
||||
_curPlayerPrefab.ResetTransform();
|
||||
}
|
||||
|
||||
private void InitButtons()
|
||||
{
|
||||
_singleStageButton.AddButtonListener(OnClickSingleStage);
|
||||
_playerListButton.AddButtonListener(OnClickPlayerList);
|
||||
}
|
||||
|
||||
#region OnClick
|
||||
|
||||
private void OnClickSingleStage()
|
||||
{
|
||||
SceneLoadManager.Instance.LoadSceneAsync("Stage_Single", UnityEngine.SceneManagement.LoadSceneMode.Single, OnLoadSingleStageComplete);
|
||||
}
|
||||
|
||||
private void OnClickPlayerList()
|
||||
{
|
||||
UIManager.Instance.OpenUI(E_UI_TYPE.UIPanelPlayerList);
|
||||
}
|
||||
|
||||
#endregion OnClick
|
||||
|
||||
private void OnLoadSingleStageComplete()
|
||||
{
|
||||
EventBus.Instance.Publish(new EventStartStage(GameManager.Instance.MainPlayer, E_STAGE_TYPE.Single_TimeAttack));
|
||||
|
|
|
@ -1,8 +1,119 @@
|
|||
using FirstVillain.EventBus;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class UIPanelPlayerList : UIBase
|
||||
{
|
||||
[SerializeField] private Transform _playerRoot;
|
||||
|
||||
[SerializeField] private Button _selectButton;
|
||||
[SerializeField] private Button _prevButton;
|
||||
[SerializeField] private Button _nextButton;
|
||||
[SerializeField] private Button _backButton;
|
||||
[SerializeField] private Button _homeButton;
|
||||
|
||||
[SerializeField] private Slider _strSlider;
|
||||
[SerializeField] private Slider _rangeSlider;
|
||||
[SerializeField] private Slider _speedSlider;
|
||||
|
||||
[SerializeField] private TextMeshProUGUI _strText;
|
||||
[SerializeField] private TextMeshProUGUI _rangeText;
|
||||
[SerializeField] private TextMeshProUGUI _speedText;
|
||||
|
||||
private PlayerInfo _curPlayerInfo;
|
||||
private int _curPlayerIdx;
|
||||
private GameObject _curPlayerPrefab;
|
||||
|
||||
public override void Open()
|
||||
{
|
||||
_curPlayerInfo = PlayerPrefsManager.LoadMainPlayer();
|
||||
|
||||
_curPlayerIdx = GameManager.Instance.GetPlayerDataIndex(_curPlayerInfo);
|
||||
|
||||
_selectButton.AddButtonListener(OnClickSelectPlayer);
|
||||
_prevButton.AddButtonListener(OnClickPrevButton);
|
||||
_nextButton.AddButtonListener(OnClickNextButton);
|
||||
_backButton.AddButtonListener(OnClickBack);
|
||||
_homeButton.AddButtonListener(OnClickHome);
|
||||
|
||||
UpdateData();
|
||||
|
||||
base.Open();
|
||||
}
|
||||
|
||||
private void UpdateData()
|
||||
{
|
||||
LoadPlayerPrefab();
|
||||
|
||||
_strSlider.value = _curPlayerInfo.STR / (float)Constants.STR_MAX;
|
||||
_rangeSlider.value = _curPlayerInfo.RANGE / Constants.RANGE_MAX;
|
||||
_speedSlider.value = _curPlayerInfo.SPEED / Constants.SPEED_MAX;
|
||||
|
||||
_strText.SetText(_curPlayerInfo.STR.ToString());
|
||||
_rangeText.SetText(((int)_curPlayerInfo.RANGE * 10).ToString());
|
||||
_speedText.SetText(((int)_curPlayerInfo.SPEED * 10).ToString());
|
||||
}
|
||||
|
||||
private void LoadPlayerPrefab()
|
||||
{
|
||||
if(_curPlayerPrefab != null)
|
||||
{
|
||||
AddressableManager.Instance.Release(_curPlayerPrefab);
|
||||
}
|
||||
_curPlayerPrefab = AddressableManager.Instance.Spawn(_curPlayerInfo.UIPrefabName, _playerRoot);
|
||||
_curPlayerPrefab.ResetTransform();
|
||||
_curPlayerPrefab.transform.localPosition = Vector3.zero;
|
||||
}
|
||||
#region OnClick
|
||||
private void OnClickPrevButton()
|
||||
{
|
||||
if(--_curPlayerIdx < 0)
|
||||
{
|
||||
_curPlayerIdx += GameManager.Instance.PlayerCount;
|
||||
}
|
||||
|
||||
_curPlayerInfo = GameManager.Instance.GetPlayerDataByIndex(_curPlayerIdx);
|
||||
|
||||
UpdateData();
|
||||
}
|
||||
|
||||
private void OnClickNextButton()
|
||||
{
|
||||
if(++_curPlayerIdx >= GameManager.Instance.PlayerCount)
|
||||
{
|
||||
_curPlayerIdx -= GameManager.Instance.PlayerCount;
|
||||
}
|
||||
|
||||
_curPlayerInfo = GameManager.Instance.GetPlayerDataByIndex(_curPlayerIdx);
|
||||
|
||||
UpdateData();
|
||||
}
|
||||
|
||||
private void OnClickSelectPlayer()
|
||||
{
|
||||
PlayerPrefsManager.SaveMainPlayer(_curPlayerInfo.Id);
|
||||
}
|
||||
|
||||
private void OnClickBack()
|
||||
{
|
||||
UIManager.Instance.CloseUI();
|
||||
}
|
||||
|
||||
private void OnClickHome()
|
||||
{
|
||||
UIManager.Instance.ReleaseUI();
|
||||
}
|
||||
#endregion OnClick
|
||||
|
||||
public override void CloseAction()
|
||||
{
|
||||
if(_curPlayerPrefab != null)
|
||||
{
|
||||
AddressableManager.Instance.Release(_curPlayerPrefab);
|
||||
}
|
||||
base.CloseAction();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ public class UIBase : MonoBehaviour
|
|||
|
||||
public void Close()
|
||||
{
|
||||
UIManager.Instance.CloseUI(this);
|
||||
UIManager.Instance.CloseUI();
|
||||
}
|
||||
|
||||
public virtual void CloseAction()
|
||||
|
|
Loading…
Reference in New Issue
Block a user