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