From bf5c386a1ae7c6385a0df870f9db73c1e41f56e2 Mon Sep 17 00:00:00 2001 From: berichan Date: Fri, 2 Oct 2020 14:46:38 +0100 Subject: [PATCH] (1.5.0) Add legacy villager loading and friendship changes --- .../NativeFileSO/Scripts/SupportedFileType.cs | 20 +- ACNHMS_Source/Assets/Scenes/MainScene.unity | 811 +++++++++++++++++- .../ACNHMS/AdditionalPanel/UI_Villager.cs | 14 +- .../VillagerSelector/UI_VillagerData.cs | 13 + .../ACNHMS/Files/UI_NFSOACNHHandler.cs | 1 + .../Structures/Villager/VillagerConverter.cs | 64 ++ .../Villager/VillagerConverter.cs.meta | 11 + .../ProjectSettings/ProjectSettings.asset | 2 +- 8 files changed, 899 insertions(+), 37 deletions(-) create mode 100644 ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs create mode 100644 ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs.meta diff --git a/ACNHMS_Source/Assets/NativeFileSO/Scripts/SupportedFileType.cs b/ACNHMS_Source/Assets/NativeFileSO/Scripts/SupportedFileType.cs index 40527bb1..d99fa00a 100644 --- a/ACNHMS_Source/Assets/NativeFileSO/Scripts/SupportedFileType.cs +++ b/ACNHMS_Source/Assets/NativeFileSO/Scripts/SupportedFileType.cs @@ -203,7 +203,7 @@ public class SupportedFileType { /// /// The preset that matches NHI (New Horizons Inventory) files - /// with a .pdf file extension. + /// with a .nhi file extension. /// public static readonly SupportedFileType NHI = new SupportedFileType { @@ -217,7 +217,7 @@ public class SupportedFileType { /// /// The preset that matches NHV (New Horizons Villager) files - /// with a .pdf file extension. + /// with a .nhv file extension. /// public static readonly SupportedFileType NHV = new SupportedFileType { @@ -229,9 +229,23 @@ public class SupportedFileType { MimeType = "*/*" }; + /// + /// The preset that matches NHV2 (New Horizons Villager 1.5.0+) files + /// with a .nhv2 file extension. + /// + public static readonly SupportedFileType NHV2 = new SupportedFileType + { + + Name = "NHV2", + Extension = "nhv2", + Owner = true, + AppleUTI = "public.data|public.content", + MimeType = "*/*" + }; + /// /// The preset that matches NHVH (New Horizons Villager House) files - /// with a .pdf file extension. + /// with a .nhvh file extension. /// public static readonly SupportedFileType NHVH = new SupportedFileType { diff --git a/ACNHMS_Source/Assets/Scenes/MainScene.unity b/ACNHMS_Source/Assets/Scenes/MainScene.unity index 805fac20..65d36bfc 100644 --- a/ACNHMS_Source/Assets/Scenes/MainScene.unity +++ b/ACNHMS_Source/Assets/Scenes/MainScene.unity @@ -2466,7 +2466,7 @@ MonoBehaviour: m_LineSpacing: 1 m_Text: 'Save villager - (*.nhv)' + (*.nhv2)' --- !u!222 &60621957 CanvasRenderer: m_ObjectHideFlags: 0 @@ -5072,7 +5072,7 @@ RectTransform: m_Children: - {fileID: 1461285509} m_Father: {fileID: 2013809965} - m_RootOrder: 21 + m_RootOrder: 25 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -5890,7 +5890,7 @@ RectTransform: m_Children: - {fileID: 733033456} m_Father: {fileID: 2013809965} - m_RootOrder: 22 + m_RootOrder: 26 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -6154,6 +6154,86 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 161464468} m_CullTransparentMesh: 0 +--- !u!1 &161625714 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 161625715} + - component: {fileID: 161625717} + - component: {fileID: 161625716} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &161625715 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161625714} + 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_Children: [] + m_Father: {fileID: 1920014096} + m_RootOrder: 0 + 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!114 &161625716 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161625714} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 36 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Load legacy villager + + (*.nhv)' +--- !u!222 &161625717 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 161625714} + m_CullTransparentMesh: 0 --- !u!1 &166029397 GameObject: m_ObjectHideFlags: 0 @@ -6701,7 +6781,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2013809965} - m_RootOrder: 13 + m_RootOrder: 17 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -9549,7 +9629,7 @@ RectTransform: m_Children: - {fileID: 1192103900} m_Father: {fileID: 2013809965} - m_RootOrder: 20 + m_RootOrder: 24 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -11630,7 +11710,7 @@ RectTransform: m_Children: - {fileID: 1442679796} m_Father: {fileID: 2013809965} - m_RootOrder: 14 + m_RootOrder: 18 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -17891,7 +17971,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -175, y: -275.00003} + m_AnchoredPosition: {x: -175, y: -346} m_SizeDelta: {x: 197.29767, y: -36.864754} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &385566025 @@ -18589,11 +18669,11 @@ RectTransform: m_Children: - {fileID: 311385503} m_Father: {fileID: 2015993445} - m_RootOrder: 9 + m_RootOrder: 10 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: 185, y: -268} + m_AnchoredPosition: {x: 185, y: -345} m_SizeDelta: {x: 288.98328, y: 63.135246} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &402817556 @@ -22069,6 +22149,7 @@ MonoBehaviour: ThreadSleepTime: {fileID: 745860283} PlayerNamesToChange: - {fileID: 1840044886} + - {fileID: 797081359} --- !u!1 &489599303 GameObject: m_ObjectHideFlags: 0 @@ -25289,7 +25370,7 @@ RectTransform: - {fileID: 1851030125} - {fileID: 1628464061} m_Father: {fileID: 2013809965} - m_RootOrder: 24 + m_RootOrder: 28 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -25545,6 +25626,146 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 585236234} m_CullTransparentMesh: 0 +--- !u!1 &587355526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 587355527} + - component: {fileID: 587355530} + - component: {fileID: 587355529} + - component: {fileID: 587355528} + m_Layer: 5 + m_Name: Friendship + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &587355527 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587355526} + 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_Children: + - {fileID: 755036799} + - {fileID: 605809252} + m_Father: {fileID: 2013809965} + m_RootOrder: 12 + 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: 206.92, y: -117} + m_SizeDelta: {x: 229.99701, y: 45.984985} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &587355528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587355526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 587355529} + m_TextComponent: {fileID: 605809253} + m_Placeholder: {fileID: 755036800} + m_ContentType: 2 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 4 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 1 + m_CharacterLimit: 3 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 0 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!114 &587355529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587355526} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 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 &587355530 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587355526} + m_CullTransparentMesh: 0 --- !u!1 &587615470 GameObject: m_ObjectHideFlags: 0 @@ -26163,6 +26384,84 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 602930219} m_CullTransparentMesh: 0 +--- !u!1 &605809251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 605809252} + - component: {fileID: 605809254} + - component: {fileID: 605809253} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &605809252 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605809251} + 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_Children: [] + m_Father: {fileID: 587355527} + m_RootOrder: 1 + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &605809253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605809251} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0 +--- !u!222 &605809254 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605809251} + m_CullTransparentMesh: 0 --- !u!1 &612539279 GameObject: m_ObjectHideFlags: 0 @@ -29025,7 +29324,7 @@ RectTransform: m_Children: - {fileID: 1774969170} m_Father: {fileID: 2013809965} - m_RootOrder: 19 + m_RootOrder: 23 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -30604,6 +30903,84 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 749762764} m_CullTransparentMesh: 0 +--- !u!1 &749867498 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 749867499} + - component: {fileID: 749867501} + - component: {fileID: 749867500} + m_Layer: 5 + m_Name: Text (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &749867499 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 749867498} + 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_Children: [] + m_Father: {fileID: 2013809965} + m_RootOrder: 9 + 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: -65.41304, y: -98.4} + m_SizeDelta: {x: 346.7875, y: 38.86728} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &749867500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 749867498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7735849, g: 0.7735849, b: 0.7735849, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 45 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Friendship with +--- !u!222 &749867501 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 749867498} + m_CullTransparentMesh: 0 --- !u!1 &750934927 GameObject: m_ObjectHideFlags: 0 @@ -30796,6 +31173,84 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_IsOn: 0 +--- !u!1 &755036798 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 755036799} + - component: {fileID: 755036801} + - component: {fileID: 755036800} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &755036799 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 755036798} + 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_Children: [] + m_Father: {fileID: 587355527} + m_RootOrder: 0 + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &755036800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 755036798} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Value +--- !u!222 &755036801 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 755036798} + m_CullTransparentMesh: 0 --- !u!1 &755649925 GameObject: m_ObjectHideFlags: 0 @@ -31546,7 +32001,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2013809965} - m_RootOrder: 10 + m_RootOrder: 14 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -32461,6 +32916,84 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 794352949} m_CullTransparentMesh: 0 +--- !u!1 &797081357 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 797081358} + - component: {fileID: 797081360} + - component: {fileID: 797081359} + m_Layer: 5 + m_Name: Text (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &797081358 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 797081357} + 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_Children: [] + m_Father: {fileID: 2013809965} + m_RootOrder: 10 + 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: -65.41304, y: -137.27} + m_SizeDelta: {x: 346.7875, y: 38.86728} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &797081359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 797081357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7735849, g: 0.7735849, b: 0.7735849, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 45 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Current Player +--- !u!222 &797081360 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 797081357} + m_CullTransparentMesh: 0 --- !u!1 &797572542 GameObject: m_ObjectHideFlags: 0 @@ -33754,7 +34287,7 @@ RectTransform: m_Children: - {fileID: 1354197451} m_Father: {fileID: 2013809965} - m_RootOrder: 9 + m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -38353,7 +38886,7 @@ MonoBehaviour: m_LineSpacing: 1 m_Text: 'Load villager - (*.nhv)' + (*.nhv2)' --- !u!222 &991388197 CanvasRenderer: m_ObjectHideFlags: 0 @@ -39995,7 +40528,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2015993445} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -43863,7 +44396,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2015993445} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -47400,7 +47933,7 @@ RectTransform: - {fileID: 2038938476} - {fileID: 1026021224} m_Father: {fileID: 2013809965} - m_RootOrder: 11 + m_RootOrder: 15 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -51118,7 +51651,7 @@ RectTransform: - {fileID: 1145125349} - {fileID: 1304193845} m_Father: {fileID: 2013809965} - m_RootOrder: 15 + m_RootOrder: 19 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -51648,7 +52181,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 41b314fe2ff09544092d888e73f07217, type: 3} m_Name: m_EditorClassIdentifier: - LastEditorDateTime: 2020/08/29 21:08:00 + LastEditorDateTime: 2020/10/02 14:39:39 TextToSet: {fileID: 1900255556} --- !u!1 &1387983482 GameObject: @@ -55346,12 +55879,12 @@ RectTransform: m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} m_Children: [] m_Father: {fileID: 2015993445} - m_RootOrder: 10 + m_RootOrder: 11 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: -174, y: -182.1} - m_SizeDelta: {x: 764.61584, y: 698.4198} + m_AnchoredPosition: {x: -174, y: -215.5} + m_SizeDelta: {x: 764.61584, y: 831.98596} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1471458926 MonoBehaviour: @@ -60759,7 +61292,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2013809965} - m_RootOrder: 18 + m_RootOrder: 22 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -61502,7 +62035,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2013809965} - m_RootOrder: 12 + m_RootOrder: 16 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -64182,7 +64715,7 @@ RectTransform: - {fileID: 1160063131} - {fileID: 648390778} m_Father: {fileID: 2013809965} - m_RootOrder: 25 + m_RootOrder: 29 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -66782,7 +67315,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2013809965} - m_RootOrder: 17 + m_RootOrder: 21 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -68689,6 +69222,84 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1854941632} m_CullTransparentMesh: 0 +--- !u!1 &1862542723 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1862542724} + - component: {fileID: 1862542726} + - component: {fileID: 1862542725} + m_Layer: 5 + m_Name: Text (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1862542724 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862542723} + 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_Children: [] + m_Father: {fileID: 2013809965} + m_RootOrder: 11 + 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: 53, y: -113.33} + m_SizeDelta: {x: 37.18068, y: 62.34072} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1862542725 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862542723} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7735849, g: 0.7735849, b: 0.7735849, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 54 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: ':' +--- !u!222 &1862542726 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862542723} + m_CullTransparentMesh: 0 --- !u!1 &1862943033 GameObject: m_ObjectHideFlags: 0 @@ -69917,7 +70528,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2013809965} - m_RootOrder: 16 + m_RootOrder: 20 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -70226,11 +70837,11 @@ RectTransform: m_LocalScale: {x: 0.92942, y: 0.92942, z: 0.92942} m_Children: [] m_Father: {fileID: 2015993445} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -331, y: -275} + m_AnchoredPosition: {x: -331, y: -345} m_SizeDelta: {x: 94.12013, y: 22.708237} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1903189654 @@ -71300,6 +71911,136 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1919405939} m_CullTransparentMesh: 0 +--- !u!1 &1920014095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1920014096} + - component: {fileID: 1920014099} + - component: {fileID: 1920014098} + - component: {fileID: 1920014097} + m_Layer: 5 + m_Name: ButtonLV_Legacy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1920014096 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1920014095} + 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_Children: + - {fileID: 161625715} + m_Father: {fileID: 2015993445} + m_RootOrder: 5 + 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: -175, y: -260.6} + m_SizeDelta: {x: 297.29767, y: 63.135246} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1920014097 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1920014095} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 1920014098} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2015993446} + m_MethodName: LoadLegacyVillagerData + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1920014098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1920014095} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 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 &1920014099 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1920014095} + m_CullTransparentMesh: 0 --- !u!1 &1921980101 GameObject: m_ObjectHideFlags: 0 @@ -71903,7 +72644,7 @@ RectTransform: m_Children: - {fileID: 188107880} m_Father: {fileID: 2013809965} - m_RootOrder: 23 + m_RootOrder: 27 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -73649,7 +74390,7 @@ RectTransform: m_Children: - {fileID: 60621955} m_Father: {fileID: 2015993445} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -74782,6 +75523,10 @@ RectTransform: - {fileID: 1428672296} - {fileID: 14635769} - {fileID: 1302153469} + - {fileID: 749867499} + - {fileID: 797081358} + - {fileID: 1862542724} + - {fileID: 587355527} - {fileID: 851296970} - {fileID: 773488490} - {fileID: 1264786228} @@ -74826,6 +75571,7 @@ MonoBehaviour: SaveVillagerLabel: {fileID: 733033457} MainVillagerTexture: {fileID: 1429444257} VillagerPhrase: {fileID: 1302153470} + VillagerFriendship: {fileID: 587355528} MovingOutToggle: {fileID: 14635770} ReloadVillagerToggle: {fileID: 694512374} ForceMoveOutToggle: {fileID: 316139702} @@ -74879,6 +75625,7 @@ RectTransform: - {fileID: 693200268} - {fileID: 680584762} - {fileID: 266397712} + - {fileID: 1920014096} - {fileID: 1983317427} - {fileID: 1903189653} - {fileID: 1156127546} @@ -74886,7 +75633,7 @@ RectTransform: - {fileID: 402817555} - {fileID: 1471458925} m_Father: {fileID: 2013809965} - m_RootOrder: 26 + m_RootOrder: 30 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} diff --git a/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/UI_Villager.cs b/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/UI_Villager.cs index 4f653b24..76c63adc 100644 --- a/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/UI_Villager.cs +++ b/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/UI_Villager.cs @@ -23,7 +23,7 @@ public class UI_Villager : IUI_Additional public Text VillagerName, SaveVillagerLabel; public RawImage MainVillagerTexture; - public InputField VillagerPhrase; + public InputField VillagerPhrase, VillagerFriendship; public Toggle MovingOutToggle, ReloadVillagerToggle, ForceMoveOutToggle; public InputField VillagerRamOffset, VillagerHouseRamOffset; public Button DataButton; @@ -59,6 +59,7 @@ void Start() } VillagerPhrase.onValueChanged.AddListener(delegate { loadedVillager.CatchPhrase = VillagerPhrase.text; }); + VillagerFriendship.onValueChanged.AddListener(delegate { VillagerFriendship.text = setCurrentPlayerFriendship(int.Parse(VillagerFriendship.text)).ToString(); }); MovingOutToggle.onValueChanged.AddListener(delegate { loadedVillager.MovingOut = MovingOutToggle.isOn; }); ForceMoveOutToggle.onValueChanged.AddListener(delegate { ushort[] flags = loadedVillager.GetEventFlagsSave(); @@ -72,6 +73,16 @@ void Start() DataButton.interactable = false; } + int setCurrentPlayerFriendship(int nVal) + { + if (nVal > byte.MaxValue) + nVal = byte.MaxValue; + var mem = loadedVillager.GetMemory(UI_Settings.GetPlayerIndex()); + mem.Friendship = (byte)nVal; + loadedVillager.SetMemory(mem, UI_Settings.GetPlayerIndex()); + return nVal; + } + private void loadAllVillagers() { try @@ -191,6 +202,7 @@ public void VillagerToUI(Villager2 v) { VillagerName.text = GameInfo.Strings.GetVillager(v.InternalName); VillagerPhrase.text = v.CatchPhrase; + VillagerFriendship.text = v.GetMemory(UI_Settings.GetPlayerIndex()).Friendship.ToString(); MainVillagerTexture.texture = SpriteBehaviour.PullTextureFromParser(villagerSprites, v.InternalName); MovingOutToggle.isOn = v.MovingOut; ForceMoveOutToggle.isOn = v.GetEventFlagsSave()[24] != 0; diff --git a/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/VillagerSelector/UI_VillagerData.cs b/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/VillagerSelector/UI_VillagerData.cs index c1960e19..9df4ced0 100644 --- a/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/VillagerSelector/UI_VillagerData.cs +++ b/ACNHMS_Source/Assets/Scripts/ACNHMS/AdditionalPanel/VillagerSelector/UI_VillagerData.cs @@ -12,6 +12,13 @@ public class UI_VillagerData : MonoBehaviour public Text VillagerName; public RawImage VillagerImg; + public void LoadLegacyVillagerData() + { + doFileHandlerCheck(); + + UI_NFSOACNHHandler.LastInstanceOfNFSO.OpenFile("nhv", sendLegacyVillagerData, Villager1.SIZE); + } + public void LoadVillagerData() { doFileHandlerCheck(); @@ -44,6 +51,12 @@ public void SaveCurrentHouse() UI_NFSOACNHHandler.LastInstanceOfNFSO.SaveFile(name, toSave); } + private void sendLegacyVillagerData(byte[] data) + { + var v2 = VillagerConverter.Convert12(data); + sendVillagerData(v2); + } + private void sendVillagerData(byte[] data) { RootUIVillager.WriteVillagerDataVillager(new Villager2(data)); diff --git a/ACNHMS_Source/Assets/Scripts/ACNHMS/Files/UI_NFSOACNHHandler.cs b/ACNHMS_Source/Assets/Scripts/ACNHMS/Files/UI_NFSOACNHHandler.cs index c895147c..5f8fb840 100644 --- a/ACNHMS_Source/Assets/Scripts/ACNHMS/Files/UI_NFSOACNHHandler.cs +++ b/ACNHMS_Source/Assets/Scripts/ACNHMS/Files/UI_NFSOACNHHandler.cs @@ -14,6 +14,7 @@ public class UI_NFSOACNHHandler : MonoBehaviour SupportedFileType.Any, SupportedFileType.NHI, SupportedFileType.NHV, + SupportedFileType.NHV2, SupportedFileType.NHVH}; public Toggle EmptySpacesOnly; diff --git a/ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs b/ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs new file mode 100644 index 00000000..2f3bb31e --- /dev/null +++ b/ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs @@ -0,0 +1,64 @@ +using System; + +namespace NHSE.Core +{ + public static class VillagerConverter + { + public static bool IsCompatible(int size, int expect) + { + switch (expect) + { + case Villager1.SIZE: + case Villager2.SIZE: + return size == Villager1.SIZE || size == Villager2.SIZE; + + default: + return false; + } + } + + public static byte[] Convert12(byte[] v1) + { + byte[] v2 = new byte[Villager2.SIZE]; + + // Copy pre-GSaveLightMemory[160] + Array.Copy(v1, 0, v2, 0, 0x2f84); + + // Copy each entry, with each adding 0xC empty bytes. + for (int i = 0; i < 160; i++) + { + var src = 0x2f84 + (0x14C * i); + var dest = 0x2f84 + (0x158 * i); + + Array.Copy(v1, src, v2, dest, 0x14C); + } + + // Copy after-GSaveLightMemory[160] + Array.Copy(v1, 0xff04, v2, 0x10684, v1.Length - 0xff04); + + return v2; + } + + public static byte[] Convert21(byte[] v2) + { + byte[] v1 = new byte[Villager1.SIZE]; + + // Copy pre-GSaveLightMemory[160] + Array.Copy(v2, 0, v1, 0, 0x2f84); + + // Copy each entry, with each skipping last 0xC bytes. + for (int i = 0; i < 160; i++) + { + var src = 0x2f84 + (0x14C * i); + var dest = 0x2f84 + (0x158 * i); + + Array.Copy(v2, dest, v1, src, 0x14C); + } + + // Copy after-GSaveLightMemory[160] + Array.Copy(v2, 0x10684, v1, 0xff04, v2.Length - 0x10684); + + return v1; + } + } +} diff --git a/ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs.meta b/ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs.meta new file mode 100644 index 00000000..9cd7c079 --- /dev/null +++ b/ACNHMS_Source/Assets/Scripts/Core/Structures/Villager/VillagerConverter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 166f3736abd42c04da383e72ca68301a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ACNHMS_Source/ProjectSettings/ProjectSettings.asset b/ACNHMS_Source/ProjectSettings/ProjectSettings.asset index b3eb3abf..7df43cd2 100644 --- a/ACNHMS_Source/ProjectSettings/ProjectSettings.asset +++ b/ACNHMS_Source/ProjectSettings/ProjectSettings.asset @@ -121,7 +121,7 @@ PlayerSettings: 16:10: 0 16:9: 0 Others: 1 - bundleVersion: 0.72 + bundleVersion: 0.73 preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0