맵 선택 ui 변경 및 멀티샷 버그 수정

This commit is contained in:
Ino 2025-01-22 08:52:24 +09:00
parent 4644c2d74c
commit 377a61a842
14 changed files with 1681 additions and 76 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1,19 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class WorldMapPortalCard : CardBase
{
public Image[] images; // 0 배경
public TextMeshProUGUI[] texts; // 0 포탈
int m_Portal;
public override void Set<T>(T _base)
{
base.Set(_base);
m_Portal = int.Parse(_base.ToString());
texts[0].text = DSUtil.Format(318, m_Portal);
images[0].color = new Color(0, 0, 0, 0.7f);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ef4e85ec78c8fbc4bb2f7421ac072c09
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,324 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &722248691475903974
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5418154903977017836}
- component: {fileID: 1170356651304607880}
- component: {fileID: 3444315119098205806}
m_Layer: 5
m_Name: btnName
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5418154903977017836
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 722248691475903974}
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: 7780370456814985647}
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 &1170356651304607880
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 722248691475903974}
m_CullTransparentMesh: 1
--- !u!114 &3444315119098205806
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 722248691475903974}
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: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\uD3EC\uD0C81"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2}
m_sharedMaterial: {fileID: -6459762427321423278, guid: a387e325271126742ad15569dba1ac57,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 50
m_fontSizeBase: 50
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 10
m_fontSizeMax: 40
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 4096
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: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1171100570187345587
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5924117244586192531}
- component: {fileID: 5949540780422753052}
m_Layer: 5
m_Name: WorldMapPortalCard
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5924117244586192531
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1171100570187345587}
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: 7780370456814985647}
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: 480, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5949540780422753052
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1171100570187345587}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ef4e85ec78c8fbc4bb2f7421ac072c09, type: 3}
m_Name:
m_EditorClassIdentifier:
images:
- {fileID: 881156104262245695}
texts:
- {fileID: 3444315119098205806}
--- !u!1 &3974718827926755927
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7780370456814985647}
- component: {fileID: 3241886694245284399}
- component: {fileID: 881156104262245695}
- component: {fileID: 3277386784085480744}
- component: {fileID: 3416642186784057088}
m_Layer: 5
m_Name: btn_bg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7780370456814985647
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3974718827926755927}
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: 5418154903977017836}
m_Father: {fileID: 5924117244586192531}
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 &3241886694245284399
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3974718827926755927}
m_CullTransparentMesh: 1
--- !u!114 &881156104262245695
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3974718827926755927}
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.78431374}
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: 65f581562538e304cbbfe8ee3beab09c, 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 &3277386784085480744
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3974718827926755927}
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: 881156104262245695}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &3416642186784057088
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3974718827926755927}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ab4e7dba3733e584abb76cd4fbc0e116, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4688eb5b12c470e4fa1c5cd08fb7c279
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -237,7 +237,7 @@ public class MyActor : Actor
{
// -60 ~ 60 사이로 각도를 균등 분배
float angle = -(cal_angle * 0.5f) + (angleStep * i); // 시작 각도 -60에서 각 화살의 각도 계산
pb.transform.localEulerAngles = new Vector2(0f, angle);
pb.transform.localEulerAngles = new Vector2(0f, pb.transform.localEulerAngles.y + angle);
});
}
}

View File

@ -88,6 +88,8 @@ public class MessageInfo : MenuBase
void ConnectToServer()
{
return; // TODO 정인호 : 현재 서버 off로 인해 꺼둠
if (ws != null && ws.IsAlive) return;
ws = new WebSocket(ws_url);

View File

@ -20,12 +20,7 @@ public class BattleMapConfigTableData : TableDataBase
public eGameMode e_MapType; // 맵 화면 연출 구분을 위한 정보 (enum 값은 변경하지 않음)
ObscuredString _Scene;
public string s_Scene
{
get { return _Scene; }
set { _Scene = value; _Scene.RandomizeCryptoKey(); }
} // 사용 될 씬명
public string s_Scene;
ObscuredString _BGM;
public string s_BGM
@ -41,12 +36,7 @@ public class BattleMapConfigTableData : TableDataBase
set { _MapName = value; _MapName.RandomizeCryptoKey(); }
} // UI에 출력 될 맵 이름 텍스트 정보
ObscuredString _MapIcon;
public string s_MapIcon
{
get { return _MapIcon; }
set { _MapIcon = value; _MapIcon.RandomizeCryptoKey(); }
} // UI에 출력 될 맵 아이콘 또는 디오라마 정보
public string s_MapIcon;
ObscuredInt _Portals;
public int n_Portals
@ -65,7 +55,7 @@ public class BattleMapConfigTableData : TableDataBase
public class table_battlemapconfig : table_missionbase
{
public static table_battlemapconfig Ins;
List<BattleMapConfigTableData> tableDatas;
List<BattleMapConfigTableData> tableDatas, list_onlyChapter = new List<BattleMapConfigTableData>();
Dictionary<int, BattleMapConfigTableData> dic_Data = new Dictionary<int, BattleMapConfigTableData>();
protected override void Awake()
@ -77,15 +67,17 @@ public class table_battlemapconfig : table_missionbase
protected override void Start()
{
tableDatas = JsonConvert.DeserializeObject<List<BattleMapConfigTableData>>(json_last);
for (int i = 0; i < Get_DataList().Count; i++)
for (int i = 0; i < Get_DataList(false).Count; i++)
{
var temp = Get_DataList()[i];
var temp = Get_DataList(false)[i];
dic_Data.Add(temp.n_MapID, temp);
if (temp.n_Chapter > 0)
list_onlyChapter.Add(temp);
}
base.Start();
}
public List<BattleMapConfigTableData> Get_DataList() { return tableDatas; }
public List<BattleMapConfigTableData> Get_DataList(bool onlychapter) { return onlychapter ? list_onlyChapter : tableDatas; }
public BattleMapConfigTableData Get_Data(int mapid) { return dic_Data[mapid]; }
}

View File

@ -15,7 +15,7 @@ public class TabCardBase : CardBase
m_btn.onClick.AddListener(OnClick_Tab);
base.Set(_base);
m_Data = _base as TabUIData;
texts[0].text = table_localtext.Ins.Get_Text(m_Data.n_btnName);
texts[0].text = string.IsNullOrEmpty(m_Data.btnName) ? table_localtext.Ins.Get_Text(m_Data.n_btnName) : m_Data.btnName;
}
public override void Set_CardType(eUICardType _type)

View File

@ -12,8 +12,8 @@ public class TabUIData
public int n_btnName = 0;
public string btnName;
public Color color_bg_on = Color.gray;
public Color color_bg_off = Color.white;
public Color color_bg_on = Color.white;
public Color color_bg_off = Color.gray;
public Action onClick;
public Action<int> onTabAction; // 선택된 탭 설정, 탭 UI 상태 갱신

View File

@ -1,11 +1,48 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class MapChoiceUI_WorldMap : uScrollViewMgr
{
public TabUIBase m_Tab;
public TextMeshProUGUI[] texts; // 0 챕터이름
List<TabUIData> list_tab = new List<TabUIData>();
List<int> list_portal = new List<int>();
private void OnEnable()
{
Set_ScrollView(table_battlemapconfig.Ins.Get_DataList());
if (list_tab.Count == 0)
{
var tablst = table_battlemapconfig.Ins.Get_DataList(true);
for (int i = 0; i < tablst.Count; i++)
list_tab.Add(new TabUIData { onClick = Set_UI, btnName = DSUtil.Format(319, tablst[i].n_MapID - 2) });
m_Tab.Set(list_tab);
}
Set_UI();
}
public override void Set_UI()
{
var map = m_Tab.Get_Index() + 3;
var mapdata = table_battlemapconfig.Ins.Get_Data(map);
list_portal.Clear();
for (int i = 0; i < mapdata.n_Portals; i++)
list_portal.Add(i);
Set_ScrollView(list_portal);
texts[0].text = mapdata.Get_Name();
}
public void OnClick_Portal()
{
NewGameUI.Ins.m_MapChoiceUI.OnClick_Back();
var map = m_Tab.Get_Index() + 3;
MyValue.MyChoiceMapData.n_Difficult = 1; // TODO 정인호 : 나중에 선택한 난이도 넣어줄 것
MyValue.MyChoiceMapData.n_MapID = map;
MyValue.MyChoiceMapData.n_PortalIndex = 0; // TODO 정인호 : 선택한 웨이포인트 카드
InGameInfo.Ins.Load_Map(map);
}
}

View File

@ -18,10 +18,13 @@ public class uScrollViewMgr : BackKeyAdd
protected virtual void Init()
{
if (m_ScrollRect)
contentRt = m_ScrollRect.content;
else if (m_Content)
contentRt = m_Content.GetComponent<RectTransform>();
if (DSUtil.CheckNull(contentRt))
{
if (m_ScrollRect)
contentRt = m_ScrollRect.content;
else if (m_Content)
contentRt = m_Content.GetComponent<RectTransform>();
}
}
protected void CardBase_AllOff()
@ -44,6 +47,7 @@ public class uScrollViewMgr : BackKeyAdd
protected virtual void Set_ScrollView<T>(List<T> _lst)
{
Init();
CardBase_AllOff();
for (int i = 0; i < _lst.Count; i++)
@ -51,6 +55,7 @@ public class uScrollViewMgr : BackKeyAdd
}
protected virtual void Set_ScrollView_NotSet(int _makecount)
{
Init();
for (int i = 0; i < _makecount; i++)
{
if (list_CardBase.Count > i) { }