Crafting System (WIP)

- crafting anvil interactable
- crafting UI and system (WIP)
This commit is contained in:
Pedro Gomes 2025-01-03 23:33:30 +00:00
parent 74a9c2b940
commit dc033fa6bb
19 changed files with 2763 additions and 270 deletions

View File

@ -0,0 +1,462 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &211891223012702636
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7870490292661654589}
- component: {fileID: 1914908118337357758}
- component: {fileID: 3655193586494389685}
m_Layer: 14
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7870490292661654589
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 211891223012702636}
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: 8809089216443887356}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1914908118337357758
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 211891223012702636}
m_CullTransparentMesh: 1
--- !u!114 &3655193586494389685
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 211891223012702636}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: d6030e0ece0c3654fbf1906113137259, 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!1 &3535219268438814658
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6619472521885665227}
- component: {fileID: 7684513129941051825}
- component: {fileID: 6013562594557934571}
m_Layer: 0
m_Name: Anvil
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6619472521885665227
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3535219268438814658}
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: 4654368964201875787}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7684513129941051825
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3535219268438814658}
m_Mesh: {fileID: 2274984026153331234, guid: dd6a351acc2491446a00759faf0ee278, type: 3}
--- !u!23 &6013562594557934571
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3535219268438814658}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: be2c382f522695c4fa3947ac8e1d4457, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &4654368964201875796
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4654368964201875787}
m_Layer: 0
m_Name: Visuals
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4654368964201875787
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964201875796}
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: 6619472521885665227}
m_Father: {fileID: 4654368964328857930}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4654368964328857940
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4654368964328857930}
- component: {fileID: 4654368964328857929}
- component: {fileID: 4654368964328857928}
- component: {fileID: 4654368964328857941}
m_Layer: 0
m_Name: CraftingAnvil_Interactable
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4654368964328857930
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964328857940}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 7.62, y: 0.058, z: 4.64}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4654368964201875787}
- {fileID: 4654368964684668332}
- {fileID: 8809089216443887356}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4654368964328857929
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964328857940}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4afb32f520b7975418b5e16d35ce41d6, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 2
interactableWithRange: 0
rangedRadius: 10
interactionTransform: {fileID: 4654368964328857930}
onJobsBoardInteracted: {fileID: 11400000, guid: 6fdafeb02f643784288165c82b34b6a6, type: 2}
onJobsBoardReleased: {fileID: 11400000, guid: ecc7e93ed1ad0474886e702393fecae7, type: 2}
onWorldJobsUIClosed: {fileID: 4654368964663929551}
--- !u!65 &4654368964328857928
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964328857940}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1.5, y: 2, z: 2}
m_Center: {x: 0, y: 0.5, z: 0}
--- !u!114 &4654368964328857941
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964328857940}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 787234e1264daa94da14beb933528e24, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 2
interactableWithRange: 0
rangedRadius: 10
interactionTransform: {fileID: 4654368964328857930}
onCraftingAnvilInteracted: {fileID: 11400000, guid: ea5b1486b69b4b74081317e4dc7721a8, type: 2}
onCraftingAnvilReleased: {fileID: 11400000, guid: 3a9a9b169b374f549ad556b0b60bbd9d, type: 2}
onCraftingUIClosed: {fileID: 4654368964663929551}
--- !u!1 &4654368964663929545
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4654368964663929544}
- component: {fileID: 4654368964663929551}
m_Layer: 0
m_Name: OnCraftingUIClosed
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4654368964663929544
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964663929545}
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: 4654368964684668332}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4654368964663929551
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964663929545}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b18d3d5defd7c6845a22a1583a92bfb1, type: 3}
m_Name:
m_EditorClassIdentifier:
Event: {fileID: 11400000, guid: 19e0da2e337f6ec41acfe39454c89911, type: 2}
Response:
m_PersistentCalls:
m_Calls: []
--- !u!1 &4654368964684668333
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4654368964684668332}
m_Layer: 0
m_Name: Listeners
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4654368964684668332
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4654368964684668333}
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: 4654368964663929544}
m_Father: {fileID: 4654368964328857930}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4964334900580798192
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8809089216443887356}
- component: {fileID: 1068142757725153497}
- component: {fileID: 1770802188167003781}
- component: {fileID: 8177500803971488673}
m_Layer: 14
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8809089216443887356
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4964334900580798192}
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.024999999, y: 0.024999999, z: 0.024999999}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 7870490292661654589}
m_Father: {fileID: 4654368964328857930}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 2.5}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &1068142757725153497
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4964334900580798192}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &1770802188167003781
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4964334900580798192}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 1
--- !u!114 &8177500803971488673
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4964334900580798192}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -942,6 +942,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
castBar: {fileID: 7384188163838916054}
castBarIcon: {fileID: 0}
imageToFill: {fileID: 7384188164727018356}
timer: 0
currentCastTime: 0
@ -1101,6 +1102,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
itemTooltip: {fileID: 7384188164705165157}
equippedItemTooltip: {fileID: 0}
statTooltip: {fileID: 7384188164946454298}
keyBinder: {fileID: 7384188164046161982}
--- !u!1 &7384188165553369670
@ -1317,7 +1319,11 @@ MonoBehaviour:
OnItemRightClickedEventWhileVendoring:
m_PersistentCalls:
m_Calls: []
OnItemRightClickedEventWhileCrafting:
m_PersistentCalls:
m_Calls: []
isVendoring: 0
isCrafting: 0
--- !u!1 &7384188165705523943
GameObject:
m_ObjectHideFlags: 0

View File

@ -2,137 +2,80 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Asteroid
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 5
m_ValidKeywords:
- _EMISSION
m_InvalidKeywords: []
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 2
serializedVersion: 3
m_TexEnvs:
data:
first:
name: _MainTex
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _BumpMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _DetailNormalMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _ParallaxMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _OcclusionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _EmissionMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _DetailMask
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _DetailAlbedoMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _MetallicGlossMap
second:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
data:
first:
name: _SrcBlend
second: 1
data:
first:
name: _DstBlend
second: 0
data:
first:
name: _Cutoff
second: .5
data:
first:
name: _Parallax
second: .0199999996
data:
first:
name: _ZWrite
second: 1
data:
first:
name: _Glossiness
second: .5
data:
first:
name: _BumpScale
second: 1
data:
first:
name: _OcclusionStrength
second: 1
data:
first:
name: _DetailNormalMapScale
second: 1
data:
first:
name: _UVSec
second: 0
data:
first:
name: _Mode
second: 0
data:
first:
name: _Metallic
second: 0
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
data:
first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
data:
first:
name: _Color
second: {r: .588235319, g: .588235319, b: .588235319, a: 1}
- _Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -1676,6 +1676,63 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &527521411958673836
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_RootOrder
value: 15
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalPosition.x
value: 7.62
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalPosition.y
value: 0.058
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalPosition.z
value: 4.64
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857930, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4654368964328857940, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
propertyPath: m_Name
value: CraftingAnvil_Interactable
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 6723d1b145d28d844a447d7dca0d484f, type: 3}
--- !u!1001 &1572652691376614697
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1e4ba8349e6a2524495943b52dec5837
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,14 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 83fe5321976e21d4b96c6d7182a5b8e2, type: 3}
m_Name: OnCraftingAnvilInteracted
m_EditorClassIdentifier:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ea5b1486b69b4b74081317e4dc7721a8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,14 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 83fe5321976e21d4b96c6d7182a5b8e2, type: 3}
m_Name: OnCraftingAnvilReleased
m_EditorClassIdentifier:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3a9a9b169b374f549ad556b0b60bbd9d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,14 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 83fe5321976e21d4b96c6d7182a5b8e2, type: 3}
m_Name: OnCraftingUIClosed
m_EditorClassIdentifier:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 19e0da2e337f6ec41acfe39454c89911
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: db0825e45f169af4c96f7ae4af73a155
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,80 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CraftingAnvilInteractable : Interactable
{
[Header("Events:")]
[SerializeField] private GameEvent onCraftingAnvilInteracted;
[SerializeField] private GameEvent onCraftingAnvilReleased;
[Header("Listeners:")]
[SerializeField] private GameEventListener onCraftingUIClosed;
bool isUIOpen = false;
Transform storedTransform;
protected override void Awake()
{
base.Awake();
onCraftingUIClosed.Response.AddListener(CloseInteraction);
}
public override void Interact(bool melee)
{
base.Interact(melee);
if (!melee) return;
isUIOpen = true;
onCraftingAnvilInteracted.Raise();
}
public override void OnFocused(Transform playerTransform, PlayerController playerController)
{
base.OnFocused(playerTransform, playerController);
storedTransform = playerTransform;
}
protected override void Update()
{
if (isFocus && !hasInteracted)
{
distance = Vector3.Distance(player.position, interactionTransform.position);
if (distance <= radius)
{
Interact(true);
hasInteracted = true;
Debug.Log($"crafting {this.transform.name} Interacted-Closeup");
}
else if (interactableWithRange)
{
if (distance <= rangedRadius)
{
Interact(false);
hasInteracted = true;
}
}
}
else if (isUIOpen)
{
distance = Vector3.Distance(storedTransform.position, interactionTransform.position);
if (distance >= radius)
{
OnDeFocus();
onCraftingAnvilReleased.Raise();
Debug.Log($"crafting {this.transform.name} released");
}
}
}
private void CloseInteraction()
{
isUIOpen = false;
OnDeFocus();
}
}

View File

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

View File

@ -0,0 +1,73 @@
using Kryz.CharacterStats.Examples;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CraftingUI : MonoBehaviour
{
public GameObject craftingUI;
public List<VendorSlotUI> slots = new List<VendorSlotUI>();
[SerializeField] private GameEvent onCraftingUIClosed;
[SerializeField] private GameEvent onVendorReleased;
[SerializeField] private GameEventListener onCraftingAnvilInteracted;
[SerializeField] private GameEventListener onCraftingAnvilReleased;
public EquippableItemInstance currentlySelectedCraftingItem;
private void Awake()
{
onCraftingAnvilInteracted.Response.AddListener(OpenCrafting);
onCraftingAnvilReleased.Response.AddListener(CloseCrafting);
Inventory.Instance.OnItemRightClickedEventWhileCrafting.AddListener(AddToCrafting);
craftingUI.SetActive(false);
}
private void InitializeCraftingUI()
{
for (int i = 0; i < slots.Count; i++) //TODO: Remove these extra slots or convert them into crafting stone slots (list of stones to apply)
{
slots[i].ClearSlot();
}
//TODO: Add currently selected crafting item to the crafting item slot if not already present
}
public void OpenCrafting()
{
InitializeCraftingUI();
craftingUI.SetActive(true);
Inventory.Instance.isVendoring = false;
Inventory.Instance.isCrafting = true;
Inventory.Instance.OpenInventory();
//Close remaining vendors in case there is one open to avoid conflicts
onVendorReleased.Raise();
}
public void CloseCrafting()
{
craftingUI.SetActive(false);
Inventory.Instance.isCrafting = false;
Inventory.Instance.CloseInventory();
onCraftingUIClosed.Raise();
}
private void AddToCrafting(ItemInstance item)
{
if (item is not EquippableItemInstance) return;
if (Inventory.Instance.RemoveItem(item))
{
CoinBag.Instance.ChangeAmount(item.sellPricePlayer);
ItemTooltip.Instance.HideTooltip();
EquippedItemTooltip.Instance.HideTooltip();
}
}
}

View File

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

View File

@ -9,6 +9,7 @@ public class VendorUI : MonoBehaviour
public List<VendorSlotUI> slots = new List<VendorSlotUI>();
[SerializeField] private GameEvent onVendorUIClosed;
[SerializeField] private GameEvent onCraftingAnvilReleased;
[SerializeField] private GameEventListener_VendorData onVendorInteracted;
[SerializeField] private GameEventListener onVendorReleased;
@ -51,6 +52,8 @@ public class VendorUI : MonoBehaviour
Inventory.Instance.isVendoring = true;
Inventory.Instance.isCrafting = false;
Inventory.Instance.OpenInventory();
//close any existing crafint UI to avoid conflicts
onCraftingAnvilReleased.Raise();
}
public void CloseVendor()