diff --git a/Assembly-CSharp-Editor.csproj b/Assembly-CSharp-Editor.csproj index e20c515..633cc89 100644 --- a/Assembly-CSharp-Editor.csproj +++ b/Assembly-CSharp-Editor.csproj @@ -49,7 +49,6 @@ - diff --git a/Assets/Prefabs/Core.prefab b/Assets/Prefabs/Core.prefab index 27c25e5..76060dc 100644 --- a/Assets/Prefabs/Core.prefab +++ b/Assets/Prefabs/Core.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 2964705630284685173} - component: {fileID: 2236804103334722056} - component: {fileID: -7963177287827765112} + - component: {fileID: 7481534291960023794} m_Layer: 7 m_Name: Core m_TagString: Untagged @@ -49,7 +50,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject - GlobalObjectIdHash: 615747208 + GlobalObjectIdHash: 3998537868 InScenePlacedSourceGlobalObjectIdHash: 615747208 DeferredDespawnTick: 0 Ownership: 1 @@ -82,9 +83,9 @@ MonoBehaviour: destroyEffectPrefab: {fileID: 0} depositAll: 1 depositAmountPerInteraction: 10 - interactionAnimationTrigger: Deposit + interactionAnimationTrigger: equipmentData: - socketName: RightHand + socketName: equipmentPrefab: {fileID: 0} attachOnStart: 1 detachOnEnd: 1 @@ -138,7 +139,7 @@ BoxCollider: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 3 - m_Size: {x: 10, y: 10, z: 10} + m_Size: {x: 8, y: 8, z: 8} m_Center: {x: 0, y: 5, z: 0} --- !u!114 &-7963177287827765112 MonoBehaviour: @@ -155,8 +156,29 @@ MonoBehaviour: showInExploredAreas: 1 updateInterval: 0.2 renderers: [] + enableDistantVisibility: 1 + heightVisibilityMultiplier: 2 + minHeightForDistantVisibility: 3 useExploredMaterial: 0 exploredMaterial: {fileID: 0} +--- !u!114 &7481534291960023794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8124290768227340041} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9674643eb301f6c45875564495e1bb66, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Northbound.InteractableHoverUI + iconImage: {fileID: 2030466806768584547, guid: 74efcc25fc6310e4f9fbea1c636de6dd, type: 3} + textText: {fileID: 0} + uiContainer: {fileID: 1681682409161624864, guid: 74efcc25fc6310e4f9fbea1c636de6dd, type: 3} + heightOffset: 2.5 + fadeSpeed: 5 + scaleMultiplier: 0.01 --- !u!1001 &1237105051606736037 PrefabInstance: m_ObjectHideFlags: 0 @@ -167,15 +189,15 @@ PrefabInstance: m_Modifications: - target: {fileID: -8679921383154817045, guid: 0402c4b1e07c04444b61bea1d63d7880, type: 3} propertyPath: m_LocalScale.x - value: 5 + value: 4 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 0402c4b1e07c04444b61bea1d63d7880, type: 3} propertyPath: m_LocalScale.y - value: 5 + value: 4 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 0402c4b1e07c04444b61bea1d63d7880, type: 3} propertyPath: m_LocalScale.z - value: 5 + value: 4 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 0402c4b1e07c04444b61bea1d63d7880, type: 3} propertyPath: m_LocalPosition.x diff --git a/Assets/Scenes/GameMain.unity b/Assets/Scenes/GameMain.unity index bed4aa3..cb0c5a6 100644 --- a/Assets/Scenes/GameMain.unity +++ b/Assets/Scenes/GameMain.unity @@ -119,6 +119,17 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!114 &22654986 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1581287801753859020, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + m_PrefabInstance: {fileID: 2788152497867758910} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI --- !u!1 &61373298 GameObject: m_ObjectHideFlags: 0 @@ -157,6 +168,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 228462577495887354, guid: 11e3760dda2c0164abf759c18d918893, type: 3} m_PrefabInstance: {fileID: 1061936651} m_PrefabAsset: {fileID: 0} +--- !u!114 &150119076 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2582867002339244114, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + m_PrefabInstance: {fileID: 2788152497867758910} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI --- !u!1 &306979656 GameObject: m_ObjectHideFlags: 0 @@ -310,6 +332,17 @@ MonoBehaviour: m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} m_EffectDistance: {x: 1, y: -1} m_UseGraphicAlpha: 1 +--- !u!114 &426416072 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3527438615093708816, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + m_PrefabInstance: {fileID: 2788152497867758910} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI --- !u!1 &447015514 GameObject: m_ObjectHideFlags: 0 @@ -467,7 +500,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1053830688} - - {fileID: 768754085} + - {fileID: 1458057163} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -488,8 +521,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Assembly-CSharp::Northbound.BuildingQuickslotUI quickslotPanel: {fileID: 768754084} + descriptionPanel: {fileID: 1586182732} slotContainer: {fileID: 1859567750} slotButtonPrefab: {fileID: 3177185491562410701, guid: d2319e04c5a7d0545a6a351abae7a9c2, type: 3} + buildingNameText: {fileID: 150119076} + buildingDescriptionText: {fileID: 22654986} + buildingCostText: {fileID: 426416072} maxSlots: 8 --- !u!4 &500303526 stripped Transform: @@ -979,19 +1016,19 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 768754084} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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: 1859567750} - m_Father: {fileID: 457600247} + m_Father: {fileID: 1458057163} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: 50} - m_SizeDelta: {x: 800, y: 100} - m_Pivot: {x: 0.5, y: 0.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 200, y: 20} + m_SizeDelta: {x: 800, y: 160} + m_Pivot: {x: 0, y: 0} --- !u!114 &768754086 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1005,7 +1042,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0.392} + 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 @@ -1515,7 +1552,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::Northbound.NetworkConnectionHelper serverIP: 59.18.227.134 port: 40445 - autoStartAsHost: 0 + autoStartAsHost: 1 onlyInEditor: 1 --- !u!4 &1036857644 Transform: @@ -1866,6 +1903,11 @@ Transform: m_Children: [] m_Father: {fileID: 640318137} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!224 &1282800775 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + m_PrefabInstance: {fileID: 2069864971232230321} + m_PrefabAsset: {fileID: 0} --- !u!1 &1290143989 GameObject: m_ObjectHideFlags: 0 @@ -2174,6 +2216,84 @@ Transform: m_Children: [] m_Father: {fileID: 640318137} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1458057162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1458057163} + - component: {fileID: 1458057165} + - component: {fileID: 1458057164} + m_Layer: 5 + m_Name: BuildPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1458057163 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1458057162} + 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: 1282800775} + - {fileID: 768754085} + - {fileID: 1586182733} + m_Father: {fileID: 457600247} + 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: 1200, y: 600} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1458057164 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1458057162} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1458057165 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1458057162} + m_CullTransparentMesh: 1 --- !u!1001 &1536695129 PrefabInstance: m_ObjectHideFlags: 0 @@ -2248,6 +2368,16 @@ Transform: m_CorrespondingSourceObject: {fileID: 922888705413710451, guid: 5662d0b0d0eb5f54290edd8dd0980b57, type: 3} m_PrefabInstance: {fileID: 1536695129} m_PrefabAsset: {fileID: 0} +--- !u!1 &1586182732 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6755115372469082952, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + m_PrefabInstance: {fileID: 2788152497867758910} + m_PrefabAsset: {fileID: 0} +--- !u!224 &1586182733 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + m_PrefabInstance: {fileID: 2788152497867758910} + m_PrefabAsset: {fileID: 0} --- !u!1 &1701756764 GameObject: m_ObjectHideFlags: 0 @@ -2804,6 +2934,103 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 11e3760dda2c0164abf759c18d918893, type: 3} +--- !u!1001 &2069864971232230321 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1458057163} + m_Modifications: + - target: {fileID: 7069311196915176776, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_Name + value: BuildButton + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_SizeDelta.x + value: 160 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_SizeDelta.y + value: 160 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_AnchoredPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_AnchoredPosition.y + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8873176760615364646, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a470599cc0481164ab487ecf39b1ebd0, type: 3} --- !u!1001 &2588157855179843872 PrefabInstance: m_ObjectHideFlags: 0 @@ -2869,6 +3096,103 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 5662d0b0d0eb5f54290edd8dd0980b57, type: 3} +--- !u!1001 &2788152497867758910 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1458057163} + m_Modifications: + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_SizeDelta.x + value: 600 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_SizeDelta.y + value: 200 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_AnchoredPosition.y + value: 200 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 745486873390744388, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6755115372469082952, guid: 348c7681306990746bb7cab7a386be1e, type: 3} + propertyPath: m_Name + value: DescriptionPanel + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 348c7681306990746bb7cab7a386be1e, type: 3} --- !u!1001 &4786254629656932894 PrefabInstance: m_ObjectHideFlags: 0 @@ -2877,6 +3201,10 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 576429380} m_Modifications: + - target: {fileID: -7963177287827765112, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3} + propertyPath: updateInterval + value: 0.2 + objectReference: {fileID: 0} - target: {fileID: 1287070985890992582, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3} propertyPath: equipmentData.socketName value: @@ -2957,7 +3285,8 @@ PrefabInstance: propertyPath: m_Name value: Core objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 7481534291960023794, guid: e56926eda34629f4fbf3e4c53f0f8bd4, type: 3} m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: [] diff --git a/Assets/Scripts/BuildingQuickslotUI.cs b/Assets/Scripts/BuildingQuickslotUI.cs index d360727..2d465af 100644 --- a/Assets/Scripts/BuildingQuickslotUI.cs +++ b/Assets/Scripts/BuildingQuickslotUI.cs @@ -16,8 +16,12 @@ namespace Northbound [Header("UI References")] [SerializeField] private GameObject quickslotPanel; + [SerializeField] private GameObject descriptionPanel; [SerializeField] private Transform slotContainer; [SerializeField] private GameObject slotButtonPrefab; + [SerializeField] private TextMeshProUGUI buildingNameText; + [SerializeField] private TextMeshProUGUI buildingDescriptionText; + [SerializeField] private TextMeshProUGUI buildingCostText; [Header("Settings")] [SerializeField] private int maxSlots = 8; @@ -65,30 +69,15 @@ namespace Northbound quickslotPanel.SetActive(false); } + if (descriptionPanel != null) + { + descriptionPanel.SetActive(false); + } + InitializeSlots(); } - private void Update() - { - if (quickslotPanel != null && quickslotPanel.activeSelf) - { - UpdateCostDisplays(); - } - } - /// - /// 모든 슬롯의 비용 표시 업데이트 - /// - public void UpdateCostDisplays() - { - foreach (var slot in slotButtons) - { - if (slot != null) - { - slot.UpdateCostDisplay(); - } - } - } /// /// 퀵슬롯 Input Actions 초기화 및 구독 (직접 참조) @@ -246,6 +235,11 @@ namespace Northbound quickslotPanel.SetActive(true); } + if (descriptionPanel != null) + { + descriptionPanel.SetActive(true); + } + // 퀵슬롯 입력 활성화 EnableQuickslotActions(true); @@ -268,6 +262,11 @@ namespace Northbound quickslotPanel.SetActive(false); } + if (descriptionPanel != null) + { + descriptionPanel.SetActive(false); + } + // 퀵슬롯 입력 비활성화 DisableQuickslotActions(); @@ -308,9 +307,45 @@ namespace Northbound buildingPlacement.SetSelectedBuilding(index); } + // Description Panel 업데이트 + UpdateDescriptionPanel(); + Debug.Log($"[BuildingQuickslotUI] 건물 선택됨: {slotButtons[index].GetBuildingName()} (인덱스: {index})"); } + /// + /// Description Panel 업데이트 + /// + private void UpdateDescriptionPanel() + { + if (currentSelectedIndex < 0 || currentSelectedIndex >= slotButtons.Count) + return; + + var selectedSlot = slotButtons[currentSelectedIndex]; + if (selectedSlot == null || selectedSlot.BuildingData == null) + return; + + var buildingData = selectedSlot.BuildingData; + + if (buildingNameText != null) + { + buildingNameText.text = buildingData.buildingName; + } + + if (buildingDescriptionText != null) + { + buildingDescriptionText.text = buildingData.memo; + } + + if (buildingCostText != null) + { + var coreResourceManager = CoreResourceManager.Instance; + bool canAfford = coreResourceManager != null && coreResourceManager.CanAfford(buildingData.mana); + string costTextT = canAfford ? $"{buildingData.mana}" : $"{buildingData.mana}"; + buildingCostText.text = $"{costTextT}"; + } + } + /// /// 현재 선택된 건물 인덱스 /// diff --git a/Assets/Scripts/BuildingSlotButton.cs b/Assets/Scripts/BuildingSlotButton.cs index e7a8ec7..e1865f9 100644 --- a/Assets/Scripts/BuildingSlotButton.cs +++ b/Assets/Scripts/BuildingSlotButton.cs @@ -14,9 +14,7 @@ namespace Northbound { [Header("UI References")] [SerializeField] private Image iconImage; - [SerializeField] private TextMeshProUGUI nameText; [SerializeField] private TextMeshProUGUI hotkeyText; - [SerializeField] private TextMeshProUGUI costText; [SerializeField] private Image backgroundImage; [SerializeField] private Button button; @@ -26,6 +24,8 @@ namespace Northbound [SerializeField] private Color hoverColor = new Color(0.3f, 0.3f, 0.3f, 1f); private TowerData buildingData; + + public TowerData BuildingData => buildingData; private int slotIndex; private BuildingQuickslotUI quickslotUI; private bool isSelected = false; @@ -53,20 +53,7 @@ namespace Northbound UpdateVisuals(); } - /// - /// 비용 표시 업데이트 (자원 변화 시 호출) - /// - public void UpdateCostDisplay() - { - if (nameText != null && buildingData != null) - { - var coreResourceManager = CoreResourceManager.Instance; - bool canAfford = coreResourceManager != null && coreResourceManager.CanAfford(buildingData.mana); - string costTextT = canAfford ? $"{buildingData.mana}" : $"{buildingData.mana}"; - nameText.text = $"{buildingData.buildingName}"; - costText.text = $"Cost: {costTextT}"; - } - } + /// /// UI 업데이트 @@ -76,7 +63,6 @@ namespace Northbound if (buildingData == null) return; // 아이콘 설정 - /* if (iconImage != null && buildingData.icon != null) { iconImage.sprite = buildingData.icon; @@ -86,17 +72,6 @@ namespace Northbound { iconImage.enabled = false; } - */ - iconImage.enabled = false; - // 이름 설정 - if (nameText != null) - { - var coreResourceManager = CoreResourceManager.Instance; - bool canAfford = coreResourceManager != null && coreResourceManager.CanAfford(buildingData.mana); - string costTextT = canAfford ? $"{buildingData.mana}" : $"{buildingData.mana}"; - nameText.text = $"{buildingData.buildingName}"; - costText.text = $"Cost: {costTextT}"; - } // 배경 색상 UpdateBackgroundColor(); diff --git a/Assets/Scripts/CreepCamp.cs b/Assets/Scripts/CreepCamp.cs index 500e7e2..30410ec 100644 --- a/Assets/Scripts/CreepCamp.cs +++ b/Assets/Scripts/CreepCamp.cs @@ -44,12 +44,10 @@ namespace Northbound { creepPrefabs.Clear(); creepPrefabs.AddRange(prefabs); - Debug.Log($"[CreepCamp] SetCreepPrefabs called with {prefabs.Count} prefabs. Current count: {creepPrefabs.Count}"); } private void SpawnCreeps() { - Debug.Log($"[CreepCamp] Starting creep spawn at Z={_zPosition:F1}, strength={campStrength:F2}x, prefabs={creepPrefabs.Count}"); if (creepPrefabs.Count == 0) { @@ -88,13 +86,11 @@ namespace Northbound continue; } - Debug.Log($"[CreepCamp] Spawning {selectedCreep.name} (cost: {creepData.cost}, remaining: {remainingCost:F2})"); SpawnCreep(selectedCreep); remainingCost -= creepData.cost; spawnedCount++; } - Debug.Log($"[CreepCamp] Spawned {spawnedCount} creeps at Z={_zPosition:F1} with strength {campStrength:F2}x"); } private GameObject SelectCreepByCost(float remainingCost) diff --git a/Assets/Scripts/CreepDataComponent.cs b/Assets/Scripts/CreepDataComponent.cs index 1b1b8a4..2a5debb 100644 --- a/Assets/Scripts/CreepDataComponent.cs +++ b/Assets/Scripts/CreepDataComponent.cs @@ -55,8 +55,6 @@ namespace Northbound { navAgent.speed = creepData.moveSpeed; } - - Debug.Log($"[CreepDataComponent] Applied data for {creepData.id} ({creepData.memo})", this); } } } diff --git a/Assets/Scripts/Editor/NetworkUIBuilder.cs b/Assets/Scripts/Editor/NetworkUIBuilder.cs deleted file mode 100644 index f1e4677..0000000 --- a/Assets/Scripts/Editor/NetworkUIBuilder.cs +++ /dev/null @@ -1,176 +0,0 @@ -using UnityEngine; -using UnityEngine.UI; -using UnityEditor; - -namespace Northbound.Editor -{ - public class NetworkUIBuilder - { - [MenuItem("GameObject/Network/Create Network Join UI")] - public static void CreateNetworkJoinUI() - { - Canvas canvas = FindOrCreateCanvas(); - GameObject panel = CreatePanel(canvas.transform); - - InputField ipInput = CreateInputField(panel.transform, "IP Input", "127.0.0.1", 150); - InputField portInput = CreateInputField(panel.transform, "Port Input", "7777", 100); - - Button joinButton = CreateButton(panel.transform, "Join", new Vector2(0, -80)); - Button hostButton = CreateButton(panel.transform, "Host", new Vector2(-60, -80)); - Button disconnectButton = CreateButton(panel.transform, "Disconnect", new Vector2(60, -80)); - - Text statusText = CreateStatusText(panel.transform); - - NetworkJoinUI networkJoinUI = panel.AddComponent(); - networkJoinUI.SetUIReferences(panel, ipInput, portInput, joinButton, hostButton, disconnectButton, statusText); - - Selection.activeGameObject = panel; - Debug.Log("[NetworkUIBuilder] Network Join UI created!"); - } - - private static Canvas FindOrCreateCanvas() - { - Canvas[] canvases = Object.FindObjectsByType(FindObjectsSortMode.None); - - if (canvases.Length > 0) - { - return canvases[0]; - } - - GameObject canvasObj = new GameObject("NetworkCanvas"); - Canvas canvas = canvasObj.AddComponent(); - canvas.renderMode = RenderMode.ScreenSpaceOverlay; - canvasObj.AddComponent(); - canvasObj.AddComponent(); - - return canvas; - } - - private static GameObject CreatePanel(Transform parent) - { - GameObject panel = new GameObject("NetworkJoinPanel"); - panel.transform.SetParent(parent, false); - - RectTransform rect = panel.AddComponent(); - rect.anchorMin = new Vector2(0.5f, 0.5f); - rect.anchorMax = new Vector2(0.5f, 0.5f); - rect.pivot = new Vector2(0.5f, 0.5f); - rect.sizeDelta = new Vector2(300, 250); - rect.anchoredPosition = Vector2.zero; - - Image image = panel.AddComponent(); - image.color = new Color(0.1f, 0.1f, 0.1f, 0.95f); - - return panel; - } - - private static InputField CreateInputField(Transform parent, string name, string placeholder, float width) - { - GameObject fieldObj = new GameObject(name); - fieldObj.transform.SetParent(parent, false); - - RectTransform rect = fieldObj.AddComponent(); - rect.anchorMin = new Vector2(0.5f, 0.5f); - rect.anchorMax = new Vector2(0.5f, 0.5f); - rect.pivot = new Vector2(0.5f, 0.5f); - rect.sizeDelta = new Vector2(width, 30); - - int yPos = name.Contains("IP") ? 80 : 40; - rect.anchoredPosition = new Vector2(0, yPos); - - Image bgImage = fieldObj.AddComponent(); - bgImage.color = new Color(0.2f, 0.2f, 0.2f, 1f); - - InputField inputField = fieldObj.AddComponent(); - inputField.textComponent = CreateTextComponent(fieldObj.transform, ""); - inputField.text = placeholder; - inputField.contentType = InputField.ContentType.Standard; - - Text placeholderText = CreateTextComponent(fieldObj.transform, placeholder); - placeholderText.color = new Color(0.5f, 0.5f, 0.5f, 0.5f); - inputField.placeholder = placeholderText; - - Text label = CreateTextComponent(parent, name.ToUpper()); - RectTransform labelRect = label.GetComponent(); - labelRect.anchoredPosition = new Vector2(-width / 2 - 30, yPos); - - return inputField; - } - - private static Button CreateButton(Transform parent, string text, Vector2 position) - { - GameObject buttonObj = new GameObject(text + "Button"); - buttonObj.transform.SetParent(parent, false); - - RectTransform rect = buttonObj.AddComponent(); - rect.anchorMin = new Vector2(0.5f, 0.5f); - rect.anchorMax = new Vector2(0.5f, 0.5f); - rect.pivot = new Vector2(0.5f, 0.5f); - rect.sizeDelta = new Vector2(80, 30); - rect.anchoredPosition = position; - - Image bgImage = buttonObj.AddComponent(); - bgImage.color = new Color(0.3f, 0.5f, 0.8f, 1f); - - Button button = buttonObj.AddComponent