✨ Save state across scenes & finished Quest interactions
This commit is contained in:
parent
2fc7d5061b
commit
3f66591822
@ -86,6 +86,9 @@ PrefabInstance:
|
|||||||
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: d17453879435f2149b8e7c5efef8fb4e, type: 3}
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: d17453879435f2149b8e7c5efef8fb4e, type: 3}
|
||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: 551273734587190997}
|
addedObject: {fileID: 551273734587190997}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: d17453879435f2149b8e7c5efef8fb4e, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: -7050144180352489672}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: d17453879435f2149b8e7c5efef8fb4e, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: d17453879435f2149b8e7c5efef8fb4e, type: 3}
|
||||||
--- !u!1 &2630037540465012823 stripped
|
--- !u!1 &2630037540465012823 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
@ -104,6 +107,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 9a881c5714daa538f8fa52539a6fc646, type: 3}
|
m_Script: {fileID: 11500000, guid: 9a881c5714daa538f8fa52539a6fc646, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
blueberryCount: 3
|
||||||
emptyBush: {fileID: 8661470530288400513, guid: fcc8beee856f5484ba1e4466f8aedb46, type: 3}
|
emptyBush: {fileID: 8661470530288400513, guid: fcc8beee856f5484ba1e4466f8aedb46, type: 3}
|
||||||
PlayBushesEvent:
|
PlayBushesEvent:
|
||||||
idInternal: 0
|
idInternal: 0
|
||||||
@ -134,3 +138,17 @@ SphereCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Radius: 0.64
|
m_Radius: 0.64
|
||||||
m_Center: {x: 0, y: 0.57, z: 0}
|
m_Center: {x: 0, y: 0.57, z: 0}
|
||||||
|
--- !u!114 &-7050144180352489672
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2630037540465012823}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f1c09e61be8049e4089c30fd8ea36a7f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
uid: 00ba2dc2-f346-4c3d-bc1f-636adf56082a
|
||||||
|
type: 1
|
||||||
|
@ -85,7 +85,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: f1c09e61be8049e4089c30fd8ea36a7f, type: 3}
|
m_Script: {fileID: 11500000, guid: f1c09e61be8049e4089c30fd8ea36a7f, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
uid: 744b16d2-d1bf-4074-a967-a3c2caf16ecc
|
uid: 229f30d1-7342-4a11-8746-0139dcbefcab
|
||||||
type: 2
|
type: 2
|
||||||
--- !u!1001 &2343360094618611992
|
--- !u!1001 &2343360094618611992
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
|
47
blueberryPeak/Assets/Prefabs/game/StateManager.prefab
Normal file
47
blueberryPeak/Assets/Prefabs/game/StateManager.prefab
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1469131783969527291
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7089947114587616522}
|
||||||
|
- component: {fileID: 2746166930782798835}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: StateManager
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7089947114587616522
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1469131783969527291}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 314, y: 45.990005, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &2746166930782798835
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1469131783969527291}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 1583dcf9011d5a142af4d8b1610298df, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
currentSceneIndex: 0
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8c34cc63b3722f245be837e67f74992f
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1020,63 +1020,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 124528176}
|
m_PrefabInstance: {fileID: 124528176}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &134862462
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 0}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 1.432251
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 4.0769615
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: -3.753543
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: -8679921383154817045, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 919132149155446097, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Fox_House
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 67614fa75482f9344bb5c3428398638d, type: 3}
|
|
||||||
--- !u!1001 &151361210
|
--- !u!1001 &151361210
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1935,22 +1878,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 268051631}
|
m_PrefabInstance: {fileID: 268051631}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &288744875 stripped
|
|
||||||
GameObject:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 2030155835593061689, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 1531267697844782104}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!114 &288744880 stripped
|
|
||||||
MonoBehaviour:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 6385820191761614647, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 1531267697844782104}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 288744875}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 82c6be17482ec2847b23775deb9b5ca7, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
--- !u!1001 &292597895
|
--- !u!1001 &292597895
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -2470,15 +2397,15 @@ PrefabInstance:
|
|||||||
- target: {fileID: 3123357398500628543, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
- target: {fileID: 3123357398500628543, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
||||||
propertyPath: dialogManager
|
propertyPath: dialogManager
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 288744880}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3123357398500628543, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
- target: {fileID: 3123357398500628543, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
||||||
propertyPath: dialogManagerObject
|
propertyPath: dialogManagerObject
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 288744875}
|
objectReference: {fileID: 1671044935}
|
||||||
- target: {fileID: 3740866600301396226, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
- target: {fileID: 3740866600301396226, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
||||||
propertyPath: cameraTransform
|
propertyPath: cameraTransform
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 934616501}
|
objectReference: {fileID: 1296656953}
|
||||||
- target: {fileID: 7563270112099016041, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
- target: {fileID: 7563270112099016041, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Luna
|
value: Luna
|
||||||
@ -3019,6 +2946,11 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 442645533}
|
m_PrefabInstance: {fileID: 442645533}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &448660793 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2630037540465012823, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2699808308164711631}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &464447489
|
--- !u!1001 &464447489
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -3749,63 +3681,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 638687327}
|
m_PrefabInstance: {fileID: 638687327}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &644764757
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 0}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 12.93
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 5.69
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 4.62
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8080420989084569541, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Camera
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
--- !u!1001 &645237588
|
--- !u!1001 &645237588
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -4209,6 +4084,11 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 689541243}
|
m_PrefabInstance: {fileID: 689541243}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &703421485 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2630037540465012823, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 4462347664803557153}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &713901128
|
--- !u!1 &713901128
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -4218,6 +4098,7 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 713901129}
|
- component: {fileID: 713901129}
|
||||||
|
- component: {fileID: 713901130}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: StateManager
|
m_Name: StateManager
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -4240,6 +4121,28 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &713901130
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 713901128}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 1583dcf9011d5a142af4d8b1610298df, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
currentSceneIndex: 0
|
||||||
|
BerryBushData: []
|
||||||
|
TwigData: []
|
||||||
|
NPCData: []
|
||||||
|
PlayerData:
|
||||||
|
uid:
|
||||||
|
position: {x: 0, y: 0, z: 0}
|
||||||
|
rotation: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
inventory: []
|
||||||
|
blueberryCount: 0
|
||||||
--- !u!1001 &717145944
|
--- !u!1001 &717145944
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -5360,6 +5263,25 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1771154901}
|
m_Father: {fileID: 1771154901}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &902268970 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 8358918113582884329, guid: 752d00c28e3278343b00df87a0486005, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2143013923956880322}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &902268975
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 902268970}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f1c09e61be8049e4089c30fd8ea36a7f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
uid: a0b0c25f-6f2b-4c61-b398-7a9ddeef04c3
|
||||||
|
type: 3
|
||||||
--- !u!1001 &916341880
|
--- !u!1001 &916341880
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -5503,11 +5425,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 931947759}
|
m_PrefabInstance: {fileID: 931947759}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!4 &934616501 stripped
|
|
||||||
Transform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 8538518650932330681, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 644764757}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1001 &941618660
|
--- !u!1001 &941618660
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -6215,6 +6132,63 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 8044303137933371746, guid: d35cab8b21f7e447c94954e58c9c3528, type: 3}
|
m_CorrespondingSourceObject: {fileID: 8044303137933371746, guid: d35cab8b21f7e447c94954e58c9c3528, type: 3}
|
||||||
m_PrefabInstance: {fileID: 916341880}
|
m_PrefabInstance: {fileID: 916341880}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1001 &1077262244
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1735147224235397921, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Stick
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -1.62
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0.5786003
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: -2.1611595
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2194414921720918247, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: a18767e7dba904ad48463d5962ebab56, type: 3}
|
||||||
--- !u!1001 &1082384625
|
--- !u!1001 &1082384625
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -6800,6 +6774,20 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 3401367369672272621, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
m_CorrespondingSourceObject: {fileID: 3401367369672272621, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
m_PrefabInstance: {fileID: 4462347664803557153}
|
m_PrefabInstance: {fileID: 4462347664803557153}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &1241509684
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 703421485}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f1c09e61be8049e4089c30fd8ea36a7f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
uid: 640f1b45-4c1e-4f60-9c10-8dc222c6122e
|
||||||
|
type: 1
|
||||||
--- !u!1 &1272620832
|
--- !u!1 &1272620832
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -7066,6 +7054,11 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1287831706}
|
m_PrefabInstance: {fileID: 1287831706}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!4 &1296656953 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 8538518650932330681, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1671129617}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &1316996589
|
--- !u!1001 &1316996589
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -7908,6 +7901,20 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 3401367369672272621, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
m_CorrespondingSourceObject: {fileID: 3401367369672272621, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
m_PrefabInstance: {fileID: 2699808308164711631}
|
m_PrefabInstance: {fileID: 2699808308164711631}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &1524098920
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 448660793}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f1c09e61be8049e4089c30fd8ea36a7f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
uid: 84ec2b86-600f-4eff-92c5-c2dfdc8d4b13
|
||||||
|
type: 1
|
||||||
--- !u!1001 &1524962397
|
--- !u!1001 &1524962397
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -8641,6 +8648,67 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1592681507}
|
m_PrefabInstance: {fileID: 1592681507}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1001 &1603372945
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -8.87068
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0.98
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: -1.8824902
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1745689670249651042, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2264011724657500812, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: SceneSwitcher
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7419702660099155392, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
|
propertyPath: switchToScene
|
||||||
|
value: Forest
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 157ff23549611354485c3446833dc2bf, type: 3}
|
||||||
--- !u!1001 &1608505542
|
--- !u!1001 &1608505542
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -9154,6 +9222,83 @@ MonoBehaviour:
|
|||||||
scalingFactor: 1
|
scalingFactor: 1
|
||||||
m_posOffsetData: {fileID: 0}
|
m_posOffsetData: {fileID: 0}
|
||||||
listenerMask: 1
|
listenerMask: 1
|
||||||
|
--- !u!114 &1656399206 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3740866600301396226, guid: 5704dc66b89074156933e2ba70d2d2d7, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 355138358}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1656399201}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 23256d9e6183ca49ab546e357a0a1717, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!1 &1671044935 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 8080420989084569541, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1671129617}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1001 &1671129617
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 12.93
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 5.69
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 4.62
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2666620144834527649, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3506049021219160777, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: playerMovement
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 1656399206}
|
||||||
|
- target: {fileID: 8080420989084569541, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: CameraHolder
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 606b0b0fab65b431d8563c3d78c7a99c, type: 3}
|
||||||
--- !u!1001 &1685684246
|
--- !u!1001 &1685684246
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -12675,103 +12820,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1158718667690615635, guid: 3e6739342356e4396b5214b3aa5a0864, type: 3}
|
||||||
m_PrefabInstance: {fileID: 2146104686}
|
m_PrefabInstance: {fileID: 2146104686}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &1531267697844782104
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 0}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: 2030155835593061689, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: DialogManager
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_Pivot.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_Pivot.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 9178170545849500620, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 50a67b6c620910a40a87f9a72c8abb1b, type: 3}
|
|
||||||
--- !u!1001 &2143013923956880322
|
--- !u!1001 &2143013923956880322
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -12827,7 +12875,10 @@ PrefabInstance:
|
|||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 8358918113582884329, guid: 752d00c28e3278343b00df87a0486005, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 902268975}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 752d00c28e3278343b00df87a0486005, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 752d00c28e3278343b00df87a0486005, type: 3}
|
||||||
--- !u!1001 &2699808308164711631
|
--- !u!1001 &2699808308164711631
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
@ -12884,7 +12935,10 @@ PrefabInstance:
|
|||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 2630037540465012823, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 1524098920}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
--- !u!1001 &4462347664803557153
|
--- !u!1001 &4462347664803557153
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
@ -12954,15 +13008,18 @@ PrefabInstance:
|
|||||||
- {fileID: 5925787052338864152, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
- {fileID: 5925787052338864152, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 2630037540465012823, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 1241509684}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 8ad6cc069840cbb4fab063174a981f78, type: 3}
|
||||||
--- !u!1660057539 &9223372036854775807
|
--- !u!1660057539 &9223372036854775807
|
||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_Roots:
|
m_Roots:
|
||||||
|
- {fileID: 1671129617}
|
||||||
- {fileID: 1272620836}
|
- {fileID: 1272620836}
|
||||||
- {fileID: 1745342965}
|
- {fileID: 1745342965}
|
||||||
- {fileID: 644764757}
|
|
||||||
- {fileID: 355138358}
|
- {fileID: 355138358}
|
||||||
- {fileID: 1591857820}
|
- {fileID: 1591857820}
|
||||||
- {fileID: 2076945219}
|
- {fileID: 2076945219}
|
||||||
@ -12971,6 +13028,6 @@ SceneRoots:
|
|||||||
- {fileID: 536486187}
|
- {fileID: 536486187}
|
||||||
- {fileID: 97279694}
|
- {fileID: 97279694}
|
||||||
- {fileID: 2143013923956880322}
|
- {fileID: 2143013923956880322}
|
||||||
- {fileID: 1531267697844782104}
|
|
||||||
- {fileID: 713901129}
|
- {fileID: 713901129}
|
||||||
- {fileID: 134862462}
|
- {fileID: 1603372945}
|
||||||
|
- {fileID: 1077262244}
|
||||||
|
@ -51,7 +51,7 @@ public class Wind : MonoBehaviour
|
|||||||
|
|
||||||
while (!Mathf.Approximately(currentWindSpeed, val))
|
while (!Mathf.Approximately(currentWindSpeed, val))
|
||||||
{
|
{
|
||||||
print(val+ " " +currentWindSpeed);
|
// print(val+ " " +currentWindSpeed);
|
||||||
// Move currentWindSpeed towards val by windSpeedStep * Time.deltaTime
|
// Move currentWindSpeed towards val by windSpeedStep * Time.deltaTime
|
||||||
currentWindSpeed = Mathf.MoveTowards(currentWindSpeed, val, windSpeedStep * Time.deltaTime);
|
currentWindSpeed = Mathf.MoveTowards(currentWindSpeed, val, windSpeedStep * Time.deltaTime);
|
||||||
AkSoundEngine.SetRTPCValue("WindSpeed", currentWindSpeed);
|
AkSoundEngine.SetRTPCValue("WindSpeed", currentWindSpeed);
|
||||||
|
@ -34,7 +34,7 @@ public class DialogManager : MonoBehaviour
|
|||||||
dialogPanel.SetActive(false); // Hide on start
|
dialogPanel.SetActive(false); // Hide on start
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowDialog(string message, Animator player, Animator quester)
|
public void ShowDialog(string speaker, string message, Animator player, Animator quester)
|
||||||
{
|
{
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
@ -50,16 +50,16 @@ public class DialogManager : MonoBehaviour
|
|||||||
|
|
||||||
print("should be showing dialog");
|
print("should be showing dialog");
|
||||||
if (dialogCoroutine != null) StopCoroutine(dialogCoroutine);
|
if (dialogCoroutine != null) StopCoroutine(dialogCoroutine);
|
||||||
dialogCoroutine = StartCoroutine(ShowDialogCoroutine(message));
|
dialogCoroutine = StartCoroutine(ShowDialogCoroutine(speaker, message));
|
||||||
dialogPanel.SetActive(true);
|
dialogPanel.SetActive(true);
|
||||||
playerMovement.moveAllowed = false;
|
playerMovement.moveAllowed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Coroutine to show dialog. Each letter is displayed one by one
|
// Coroutine to show dialog. Each letter is displayed one by one
|
||||||
// Coroutine to show dialog. Each letter is displayed one by one
|
// Coroutine to show dialog. Each letter is displayed one by one
|
||||||
private IEnumerator ShowDialogCoroutine(string message)
|
private IEnumerator ShowDialogCoroutine(string speaker, string message)
|
||||||
{
|
{
|
||||||
dialogText.text = ""; // Clear previous text
|
dialogText.text = speaker; // Clear previous text
|
||||||
dialogPanel.SetActive(true);
|
dialogPanel.SetActive(true);
|
||||||
playerMovement.moveAllowed = false;
|
playerMovement.moveAllowed = false;
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ public class DialogManager : MonoBehaviour
|
|||||||
|
|
||||||
if (quester != null)
|
if (quester != null)
|
||||||
{
|
{
|
||||||
player.SetBool("Talking", false);
|
quester.SetBool("Talking", false);
|
||||||
quester = null;
|
quester = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,12 +10,12 @@ public class PlayerInteraction : MonoBehaviour
|
|||||||
[SerializeField] private InputActionReference InteractAction;
|
[SerializeField] private InputActionReference InteractAction;
|
||||||
[SerializeField] private InputActionReference DialogAction;
|
[SerializeField] private InputActionReference DialogAction;
|
||||||
[SerializeField] private GameObject dialogManagerObject;
|
[SerializeField] private GameObject dialogManagerObject;
|
||||||
private readonly List<GameObject> interactableObjects = new();
|
private List<GameObject> interactableObjects = new();
|
||||||
private int blueberryCount;
|
private int blueberryCount;
|
||||||
private int dialogIndex;
|
private int dialogIndex;
|
||||||
|
|
||||||
private DialogManager dialogManager;
|
private DialogManager dialogManager;
|
||||||
private List<InventoryItem> inventory = new();
|
[SerializeField] private List<InventoryItem> inventory = new();
|
||||||
|
|
||||||
private GameObject speaker;
|
private GameObject speaker;
|
||||||
|
|
||||||
@ -54,15 +54,14 @@ public class PlayerInteraction : MonoBehaviour
|
|||||||
speaker = interactableObjects.Count > 0 ? ColliderInteractable() : PhysicsRaycastInteractable();
|
speaker = interactableObjects.Count > 0 ? ColliderInteractable() : PhysicsRaycastInteractable();
|
||||||
|
|
||||||
dialog = speaker.GetComponent<QuestGiver>().Talk();
|
dialog = speaker.GetComponent<QuestGiver>().Talk();
|
||||||
if (dialog == null) return;
|
if (dialog == null || dialog.Length == 0) return;
|
||||||
|
|
||||||
// immedeately start the dialog
|
// immedeately start the dialog
|
||||||
dialogManager.ShowDialog("<b>" + dialog[dialogIndex].speaker + ": " + dialog[dialogIndex].text,
|
dialogManager.ShowDialog("<b>" + dialog[dialogIndex].speaker + ": ", dialog[dialogIndex].text,
|
||||||
gameObject.GetComponentInChildren<Animator>(), speaker.GetComponentInChildren<Animator>());
|
gameObject.GetComponentInChildren<Animator>(), speaker.GetComponentInChildren<Animator>());
|
||||||
|
|
||||||
talking = true;
|
talking = true;
|
||||||
// skip the 0th dialog entry since it has already been shown
|
// skip the 0th dialog entry since it has already been shown
|
||||||
dialogIndex++;
|
|
||||||
if (dialogIndex >= dialog.Length)
|
if (dialogIndex >= dialog.Length)
|
||||||
{
|
{
|
||||||
// reset the dialog index if we reach the end of the dialog
|
// reset the dialog index if we reach the end of the dialog
|
||||||
@ -73,6 +72,7 @@ public class PlayerInteraction : MonoBehaviour
|
|||||||
speaker = null;
|
speaker = null;
|
||||||
dialogManager.HideDialog();
|
dialogManager.HideDialog();
|
||||||
}
|
}
|
||||||
|
dialogIndex++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,16 +106,11 @@ public class PlayerInteraction : MonoBehaviour
|
|||||||
|
|
||||||
private void onDialogContinue(InputAction.CallbackContext context)
|
private void onDialogContinue(InputAction.CallbackContext context)
|
||||||
{
|
{
|
||||||
if (context.performed && dialog != null)
|
if (context.performed && dialog != null && dialog.Length > 0)
|
||||||
{
|
{
|
||||||
print("Dialog continue");
|
print("Dialog continue");
|
||||||
// scroll the dialog only if there is text to be shown
|
// scroll the dialog only if there is text to be shown
|
||||||
|
|
||||||
print(dialog[dialogIndex].text);
|
|
||||||
dialogManager.ShowDialog("<b>" + dialog[dialogIndex].speaker + ": " + dialog[dialogIndex].text,
|
|
||||||
gameObject?.GetComponentInChildren<Animator>(), speaker?.GetComponentInChildren<Animator>());
|
|
||||||
|
|
||||||
dialogIndex++;
|
|
||||||
if (dialogIndex >= dialog.Length)
|
if (dialogIndex >= dialog.Length)
|
||||||
{
|
{
|
||||||
// reset the dialog index if we reach the end of the dialog
|
// reset the dialog index if we reach the end of the dialog
|
||||||
@ -129,9 +124,24 @@ public class PlayerInteraction : MonoBehaviour
|
|||||||
speaker = null;
|
speaker = null;
|
||||||
dialogManager.HideDialog();
|
dialogManager.HideDialog();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dialogManager.ShowDialog("<b>" + dialog[dialogIndex].speaker + "</b>: ",
|
||||||
|
dialog[dialogIndex].text, gameObject?.GetComponentInChildren<Animator>(),
|
||||||
|
speaker?.GetComponentInChildren<Animator>());
|
||||||
|
dialogIndex++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public Dialog[] GetDialog()
|
||||||
|
{
|
||||||
|
return dialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetDialog(Dialog[] savedDialog)
|
||||||
|
{
|
||||||
|
dialog = savedDialog;
|
||||||
|
}
|
||||||
public int GetBlueberryCount()
|
public int GetBlueberryCount()
|
||||||
{
|
{
|
||||||
return blueberryCount;
|
return blueberryCount;
|
||||||
@ -150,17 +160,22 @@ public class PlayerInteraction : MonoBehaviour
|
|||||||
|
|
||||||
public void AddToInventory(InventoryItem reward)
|
public void AddToInventory(InventoryItem reward)
|
||||||
{
|
{
|
||||||
inventory.Add(reward);
|
InventoryItem item = inventory.Find(e => e.itemName == reward.itemName);
|
||||||
|
if (item == null)
|
||||||
|
inventory.Add(Instantiate(reward));
|
||||||
|
else
|
||||||
|
item.quantity += reward.quantity;
|
||||||
Debug.Log("Added " + reward.name + " to inventory. Total items: " + inventory.Count);
|
Debug.Log("Added " + reward.name + " to inventory. Total items: " + inventory.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveFromInventory(InventoryItem reward)
|
public void RemoveFromInventory(InventoryItem reward)
|
||||||
{
|
{
|
||||||
Debug.Log("Attempting to remove " + reward.name + " from inventory.");
|
Debug.Log("Attempting to remove " + reward.name + " from inventory.");
|
||||||
if (inventory.Contains(reward))
|
InventoryItem item = inventory.Find(e => e.itemName == reward.itemName);
|
||||||
|
if (item != null)
|
||||||
{
|
{
|
||||||
inventory.Remove(reward);
|
inventory.Remove(item);
|
||||||
Debug.Log("Removed " + reward.name + " from inventory. Total items: " + inventory.Count);
|
Debug.Log("Removed " + item.itemName + " from inventory. Total items: " + inventory.Count);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -28,14 +28,16 @@ public class TwigInteraction : MonoBehaviour
|
|||||||
{
|
{
|
||||||
// Play the "Play_BerryWithBush" event if bush has berries
|
// Play the "Play_BerryWithBush" event if bush has berries
|
||||||
// PlayBerryWithBushEvent.Post(gameObject);
|
// PlayBerryWithBushEvent.Post(gameObject);
|
||||||
|
if (other.CompareTag("Player"))
|
||||||
|
{
|
||||||
|
other.gameObject.GetComponent<PlayerInteraction>()?.AddToInventory(twigReward);
|
||||||
|
|
||||||
other.gameObject.GetComponent<PlayerInteraction>().AddToInventory(twigReward);
|
Destroy(gameObject);
|
||||||
|
|
||||||
Destroy(gameObject);
|
pickupItem.Post(gameObject);
|
||||||
|
|
||||||
pickupItem.Post(gameObject);
|
|
||||||
|
|
||||||
collected = true;
|
collected = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
20
blueberryPeak/Assets/Scripts/Quests/ItemReward.cs
Normal file
20
blueberryPeak/Assets/Scripts/Quests/ItemReward.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
[CreateAssetMenu(menuName = "GameItems/ItemReward")]
|
||||||
|
[Serializable]
|
||||||
|
public class ItemReward : InventoryItem
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public override void giveReward(GameObject player)
|
||||||
|
{
|
||||||
|
var rewardCopy = ScriptableObject.CreateInstance<ItemReward>();
|
||||||
|
rewardCopy.itemName = this.itemName;
|
||||||
|
rewardCopy.quantity = this.quantity;
|
||||||
|
|
||||||
|
player.GetComponent<PlayerInteraction>().AddToInventory(rewardCopy);
|
||||||
|
Debug.Log($"You have received {quantity} {itemName}(s)!");
|
||||||
|
}
|
||||||
|
}
|
2
blueberryPeak/Assets/Scripts/Quests/ItemReward.cs.meta
Normal file
2
blueberryPeak/Assets/Scripts/Quests/ItemReward.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e7bd6bc0eede93c4ea682518fef398dd
|
@ -6,8 +6,8 @@ public class QuestGiver : MonoBehaviour
|
|||||||
{
|
{
|
||||||
[SerializeField] private TextAsset questFile;
|
[SerializeField] private TextAsset questFile;
|
||||||
[SerializeField] private InventoryItem reward;
|
[SerializeField] private InventoryItem reward;
|
||||||
[SerializeField] private InventoryItem requiredItem;
|
[SerializeField] private ItemReward requiredItem;
|
||||||
[SerializeField] private DeleteTreeReward rewardFunction;
|
[SerializeField] public DeleteTreeReward rewardFunction;
|
||||||
public bool isActive;
|
public bool isActive;
|
||||||
public bool isCompleted;
|
public bool isCompleted;
|
||||||
|
|
||||||
@ -32,6 +32,7 @@ public class QuestGiver : MonoBehaviour
|
|||||||
{
|
{
|
||||||
Debug.LogError("Failed to parse quest data: " + e.Message);
|
Debug.LogError("Failed to parse quest data: " + e.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
@ -41,21 +42,29 @@ public class QuestGiver : MonoBehaviour
|
|||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public QuestData GetCurrentQuest()
|
public QuestData GetCurrentQuest()
|
||||||
{
|
{
|
||||||
return quest;
|
return quest;
|
||||||
}
|
}
|
||||||
|
public void SetCurrentQuest(QuestData questSave)
|
||||||
|
{
|
||||||
|
quest = questSave;
|
||||||
|
}
|
||||||
|
|
||||||
public void CheckInventory(List<InventoryItem> inventory)
|
public void CheckInventory(List<InventoryItem> inventory)
|
||||||
{
|
{
|
||||||
|
InventoryItem item = inventory.Find(e => e.itemName == requiredItem.itemName);
|
||||||
|
print(item.itemName + item.quantity);
|
||||||
// Check if the required item is in the player's inventory
|
// Check if the required item is in the player's inventory
|
||||||
if (inventory.Contains(requiredItem))
|
if (item != null && item.quantity >= requiredItem.quantity)
|
||||||
{
|
{
|
||||||
isCompleted = true; // Mark the quest as completed
|
isCompleted = true; // Mark the quest as completed
|
||||||
FinishQuest();
|
FinishQuest();
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
isCompleted = false; // Mark the quest as not completed
|
isCompleted = false; // Mark the quest as not completed
|
||||||
@ -65,43 +74,53 @@ public class QuestGiver : MonoBehaviour
|
|||||||
public Dialog[] Talk()
|
public Dialog[] Talk()
|
||||||
{
|
{
|
||||||
Debug.Log("Talking to quest giver: " + quest.id);
|
Debug.Log("Talking to quest giver: " + quest.id);
|
||||||
|
|
||||||
if (!isActive && isCompleted)
|
if (!isActive && isCompleted)
|
||||||
// If the quest is completed, return the repetition dialog
|
{
|
||||||
return quest.repetition;
|
return quest.repetition;
|
||||||
|
}
|
||||||
|
|
||||||
if (!isActive)
|
if (!isActive)
|
||||||
{
|
{
|
||||||
// Initialize the quest
|
|
||||||
isActive = true;
|
isActive = true;
|
||||||
return quest.initial;
|
return quest.initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isActive && isCompleted)
|
if (isActive)
|
||||||
{
|
{
|
||||||
isActive = false; // reset the quest
|
if (!isCompleted)
|
||||||
isCompleted = true;
|
{
|
||||||
// take the Requireditem from the player inventory
|
CheckInventory(GameObject.FindGameObjectsWithTag("Player")[0].GetComponent<PlayerInteraction>().GetInventoryItems());
|
||||||
|
}
|
||||||
|
|
||||||
// If the quest is active and completed, return the success dialog
|
// Re-check after CheckInventory potentially updates the quest
|
||||||
return quest.success;
|
if (isCompleted)
|
||||||
|
{
|
||||||
|
isActive = false;
|
||||||
|
return quest.success;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return quest.reminder;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the quest is active but not completed, return the reminder dialog
|
return null; // fallback
|
||||||
CheckInventory(GameObject.FindGameObjectsWithTag("Player")[0].GetComponent<PlayerInteraction>()
|
|
||||||
.GetInventoryItems());
|
|
||||||
return quest.reminder;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Dialog[] FinishQuest()
|
public Dialog[] FinishQuest()
|
||||||
{
|
{
|
||||||
// If the quest is active and completed, return the success dialog
|
// If the quest is active and completed, return the success dialog
|
||||||
|
PlayerInteraction player = GameObject.Find("Fox").GetComponent<PlayerInteraction>();
|
||||||
|
player.RemoveFromInventory(requiredItem);
|
||||||
|
if (reward)
|
||||||
|
{
|
||||||
|
reward.giveReward(GameObject.Find("Fox")); // Give the reward to the player
|
||||||
|
}
|
||||||
|
if (rewardFunction != null)
|
||||||
|
rewardFunction.RewardPlayer();
|
||||||
isActive = false;
|
isActive = false;
|
||||||
isCompleted = true;
|
isCompleted = true;
|
||||||
GameObject.Find("Player").GetComponent<PlayerInteraction>().RemoveFromInventory(requiredItem);
|
|
||||||
|
|
||||||
reward.giveReward(GameObject.Find("Player")); // Give the reward to the player
|
|
||||||
rewardFunction.RewardPlayer();
|
|
||||||
if (rewardFunction != null) rewardFunction.RewardPlayer();
|
|
||||||
return quest.success;
|
return quest.success;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,7 +1,9 @@
|
|||||||
|
using System;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
// base class for all rewards
|
// base class for all rewards
|
||||||
|
[Serializable]
|
||||||
public abstract class InventoryItem : ScriptableObject
|
public abstract class InventoryItem : ScriptableObject
|
||||||
{
|
{
|
||||||
[SerializeField] public string itemName;
|
[SerializeField] public string itemName;
|
||||||
@ -11,25 +13,7 @@ public abstract class InventoryItem : ScriptableObject
|
|||||||
public abstract void giveReward(GameObject player);
|
public abstract void giveReward(GameObject player);
|
||||||
}
|
}
|
||||||
|
|
||||||
[CreateAssetMenu(menuName = "GameItems/ItemReward")]
|
|
||||||
public class ItemReward : InventoryItem
|
|
||||||
{
|
|
||||||
public ItemReward(string itemName, int quantity)
|
|
||||||
{
|
|
||||||
this.itemName = itemName;
|
|
||||||
this.quantity = quantity;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void giveReward(GameObject player)
|
|
||||||
{
|
|
||||||
var reward = CreateInstance<ItemReward>();
|
|
||||||
reward.itemName = itemName;
|
|
||||||
reward.quantity = quantity;
|
|
||||||
player.GetComponent<PlayerInteraction>().AddToInventory(reward);
|
|
||||||
// Add logic to give an item to the player
|
|
||||||
Debug.Log($"You have received {quantity} {itemName}(s)!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[CreateAssetMenu(menuName = "GameItems/ItemRewardWithScript")]
|
[CreateAssetMenu(menuName = "GameItems/ItemRewardWithScript")]
|
||||||
public class ItemRewardWithScript : InventoryItem
|
public class ItemRewardWithScript : InventoryItem
|
||||||
@ -54,7 +38,7 @@ public class ItemRewardWithScript : InventoryItem
|
|||||||
|
|
||||||
player.GetComponent<PlayerInteraction>().AddToInventory(reward);
|
player.GetComponent<PlayerInteraction>().AddToInventory(reward);
|
||||||
|
|
||||||
// Add logic to give an item to the player
|
// Add logic to give an item to the player
|
||||||
|
|
||||||
Debug.Log($"You have received {quantity} {itemName}(s)!");
|
Debug.Log($"You have received {quantity} {itemName}(s)!");
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
%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: e7bd6bc0eede93c4ea682518fef398dd, type: 3}
|
||||||
|
m_Name: RequiredTwigs
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
itemName: Twig
|
||||||
|
quantity: 9
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6c18e61a86e4bd8498c238462ae9657e
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -9,8 +9,8 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 0}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 0}
|
m_Script: {fileID: 11500000, guid: e7bd6bc0eede93c4ea682518fef398dd, type: 3}
|
||||||
m_Name: TwigReward
|
m_Name: TwigReward
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ItemReward
|
m_EditorClassIdentifier:
|
||||||
itemName: Twig
|
itemName: Twig
|
||||||
quantity: 1
|
quantity: 1
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: dc78e90d3a39cf54fbaf1cf84bf17059
|
guid: 2ac23e8781840054c8a835df7fffe208
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
|
78
blueberryPeak/Assets/Scripts/SaveData.cs
Normal file
78
blueberryPeak/Assets/Scripts/SaveData.cs
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using Unity.VisualScripting;
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public partial class SaveData
|
||||||
|
{
|
||||||
|
public string uid;
|
||||||
|
public Vector3 position;
|
||||||
|
public Quaternion rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class SaveableBerryBush : SaveData
|
||||||
|
{
|
||||||
|
public int blueberryCount;
|
||||||
|
public bool BlueBerriesPicked;
|
||||||
|
public SaveableBerryBush(string uid, Vector3 position, Quaternion rotation, int blueberryCount, bool blueBerriesPicked)
|
||||||
|
{
|
||||||
|
this.uid = uid;
|
||||||
|
this.position = position;
|
||||||
|
this.rotation = rotation;
|
||||||
|
this.blueberryCount = blueberryCount;
|
||||||
|
this.BlueBerriesPicked = blueBerriesPicked;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class SaveableTwig : SaveData
|
||||||
|
{
|
||||||
|
public bool collected;
|
||||||
|
public SaveableTwig(string uid, Vector3 position, Quaternion rotation, bool collected)
|
||||||
|
{
|
||||||
|
this.uid = uid;
|
||||||
|
this.position = position;
|
||||||
|
this.rotation = rotation;
|
||||||
|
this.collected = collected;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class SaveableNPC : SaveData
|
||||||
|
{
|
||||||
|
public bool isActive;
|
||||||
|
public bool isCompleted;
|
||||||
|
public QuestData dialog;
|
||||||
|
|
||||||
|
public SaveableNPC(string uid, Vector3 position, Quaternion rotation, bool isActive, bool isCompleted, QuestData dialog)
|
||||||
|
{
|
||||||
|
this.uid = uid;
|
||||||
|
this.position = position;
|
||||||
|
this.rotation = rotation;
|
||||||
|
this.isActive = isActive;
|
||||||
|
this.isCompleted = isCompleted;
|
||||||
|
this.dialog = dialog;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class SaveablePlayer : SaveData
|
||||||
|
{
|
||||||
|
public List<InventoryItem> inventory = new List<InventoryItem>();
|
||||||
|
public int blueberryCount;
|
||||||
|
public Dialog[] dialog;
|
||||||
|
|
||||||
|
public SaveablePlayer(string uid, Vector3 position, Quaternion rotation, List<InventoryItem> inventory, int blueberrycount, Dialog[] dialog)
|
||||||
|
{
|
||||||
|
this.uid = uid;
|
||||||
|
this.position = position;
|
||||||
|
this.rotation = rotation;
|
||||||
|
this.inventory = inventory;
|
||||||
|
this.blueberryCount = blueberrycount;
|
||||||
|
this.dialog = dialog;
|
||||||
|
}
|
||||||
|
}
|
2
blueberryPeak/Assets/Scripts/SaveData.cs.meta
Normal file
2
blueberryPeak/Assets/Scripts/SaveData.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f19caeb072954d54fbc00f2ea514825b
|
185
blueberryPeak/Assets/Scripts/Saveable.cs
Normal file
185
blueberryPeak/Assets/Scripts/Saveable.cs
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
|
||||||
|
public class Saveable : MonoBehaviour
|
||||||
|
{
|
||||||
|
public enum ObjectType
|
||||||
|
{
|
||||||
|
Player,
|
||||||
|
BerryBush,
|
||||||
|
Twig,
|
||||||
|
NPC,
|
||||||
|
}
|
||||||
|
|
||||||
|
[SerializeField] private string uid = "";
|
||||||
|
[SerializeField] private ObjectType type = ObjectType.BerryBush;
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
void OnValidate()
|
||||||
|
{
|
||||||
|
if (uid != "")
|
||||||
|
{
|
||||||
|
// If the UID is already set, we don't need to do anything
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Generate a new UID based on the position of the object
|
||||||
|
uid = Guid.NewGuid().ToString();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
private StateManager stateManager = null;
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
stateManager = GameObject.FindObjectOfType<StateManager>();
|
||||||
|
// check if there is a saveState for the current object
|
||||||
|
RestoreMyself();
|
||||||
|
EnqueueSave();
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnqueueSave()
|
||||||
|
{
|
||||||
|
if (stateManager == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// add yourself to the stateManager depending on the type
|
||||||
|
if (type == ObjectType.BerryBush)
|
||||||
|
{
|
||||||
|
// check if the bush is already registered in the berrybushdata array
|
||||||
|
if (stateManager.BerryBushData.Find(e => e.uid == uid) == null)
|
||||||
|
stateManager.BerryBushData.Add(new SaveableBerryBush(uid, transform.position, transform.rotation, gameObject.GetComponent<BushInteraction>().GetBlueberryCount(), gameObject.GetComponent<BushInteraction>().AreBlueberriesPicked()));
|
||||||
|
}
|
||||||
|
else if (type == ObjectType.Twig)
|
||||||
|
{
|
||||||
|
if (stateManager.TwigData.Find(e => e.uid == uid) == null)
|
||||||
|
stateManager.TwigData.Add(new SaveableTwig(uid, transform.position, transform.rotation, gameObject.GetComponent<TwigInteraction>().IsCollected()));
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (type == ObjectType.Player)
|
||||||
|
{
|
||||||
|
stateManager.PlayerData = new SaveablePlayer(uid, transform.position, transform.rotation, gameObject.GetComponent<PlayerInteraction>().GetInventoryItems(), gameObject.GetComponent<PlayerInteraction>().GetBlueberryCount(), gameObject.GetComponent<PlayerInteraction>().GetDialog());
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (type == ObjectType.NPC)
|
||||||
|
{
|
||||||
|
if (stateManager.NPCData.Find(e => e.uid == uid) == null)
|
||||||
|
stateManager.NPCData.Add(new SaveableNPC(uid, transform.position, transform.rotation, gameObject.GetComponent<QuestGiver>().isActive, gameObject.GetComponent<QuestGiver>().isCompleted, gameObject.GetComponent<QuestGiver>().GetCurrentQuest()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RestoreMyself()
|
||||||
|
{
|
||||||
|
if (stateManager == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
if (type == ObjectType.BerryBush)
|
||||||
|
{
|
||||||
|
//save itself to the statemanager
|
||||||
|
SaveableBerryBush bush = stateManager.BerryBushData.Find(e => e.uid == uid);
|
||||||
|
BushInteraction interaction = gameObject.GetComponent<BushInteraction>();
|
||||||
|
if (bush == null || interaction == null)
|
||||||
|
return;
|
||||||
|
interaction.SetBlueberriesPicked(bush.BlueBerriesPicked);
|
||||||
|
interaction.SetBlueberryCount(bush.blueberryCount);
|
||||||
|
}
|
||||||
|
else if (type == ObjectType.Twig)
|
||||||
|
{
|
||||||
|
SaveableTwig shtick = stateManager.TwigData.Find(e => e.uid == uid);
|
||||||
|
TwigInteraction interaction = gameObject.GetComponent<TwigInteraction>();
|
||||||
|
if (shtick == null || interaction == null)
|
||||||
|
return;
|
||||||
|
interaction.SetCollected(shtick.collected);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (type == ObjectType.Player)
|
||||||
|
{
|
||||||
|
SaveablePlayer player = stateManager.PlayerData;
|
||||||
|
PlayerInteraction interaction = gameObject.GetComponent<PlayerInteraction>();
|
||||||
|
if (player == null)
|
||||||
|
return;
|
||||||
|
interaction.SetInventoryItems(player.inventory);
|
||||||
|
interaction.SetBlueberryCount(player.blueberryCount);
|
||||||
|
interaction.SetDialog(player.dialog);
|
||||||
|
// transform.position = player.position;
|
||||||
|
// transform.rotation = player.rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (type == ObjectType.NPC)
|
||||||
|
{
|
||||||
|
SaveableNPC npc = stateManager.NPCData.Find(e => e.uid == uid);
|
||||||
|
QuestGiver questGiver = gameObject.GetComponent<QuestGiver>();
|
||||||
|
if (npc == null || questGiver == null)
|
||||||
|
return;
|
||||||
|
questGiver.isActive = npc.isActive;
|
||||||
|
questGiver.isCompleted = npc.isCompleted;
|
||||||
|
questGiver.SetCurrentQuest(npc.dialog);
|
||||||
|
// delete the tree for the beaver quest if it is completed
|
||||||
|
if (questGiver.isCompleted && questGiver.rewardFunction != null)
|
||||||
|
{
|
||||||
|
questGiver.rewardFunction.RewardPlayer();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetUID()
|
||||||
|
{
|
||||||
|
return uid;
|
||||||
|
}
|
||||||
|
public void SaveMyself()
|
||||||
|
{
|
||||||
|
if (stateManager == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
if (type == ObjectType.BerryBush)
|
||||||
|
{
|
||||||
|
//save itself to the statemanager
|
||||||
|
SaveableBerryBush bush = stateManager.BerryBushData.Find(e => e.uid == uid);
|
||||||
|
BushInteraction interaction = gameObject.GetComponent<BushInteraction>();
|
||||||
|
if (bush == null || interaction == null)
|
||||||
|
return;
|
||||||
|
bush.blueberryCount = interaction.GetBlueberryCount();
|
||||||
|
bush.BlueBerriesPicked = interaction.AreBlueberriesPicked();
|
||||||
|
}
|
||||||
|
else if (type == ObjectType.Twig)
|
||||||
|
{
|
||||||
|
SaveableTwig shtick = stateManager.TwigData.Find(e => e.uid == uid);
|
||||||
|
if (shtick == null)
|
||||||
|
return;
|
||||||
|
TwigInteraction interaction = gameObject.GetComponent<TwigInteraction>();
|
||||||
|
shtick.collected = interaction.IsCollected();
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (type == ObjectType.Player)
|
||||||
|
{
|
||||||
|
SaveablePlayer player = stateManager.PlayerData;
|
||||||
|
PlayerInteraction interaction = gameObject.GetComponent<PlayerInteraction>();
|
||||||
|
player.blueberryCount = interaction.GetBlueberryCount();
|
||||||
|
player.inventory = interaction.GetInventoryItems();
|
||||||
|
player.dialog = interaction.GetDialog();
|
||||||
|
// player.position = transform.position;
|
||||||
|
// player.rotation = transform.rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (type == ObjectType.NPC)
|
||||||
|
{
|
||||||
|
SaveableNPC npc = stateManager.NPCData.Find(e => e.uid == uid);
|
||||||
|
QuestGiver questGiver = gameObject.GetComponent<QuestGiver>();
|
||||||
|
if (npc == null || questGiver == null)
|
||||||
|
return;
|
||||||
|
npc.isActive = questGiver.isActive;
|
||||||
|
npc.isCompleted = questGiver.isCompleted;
|
||||||
|
npc.dialog = questGiver.GetCurrentQuest();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
SaveMyself();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
2
blueberryPeak/Assets/Scripts/Saveable.cs.meta
Normal file
2
blueberryPeak/Assets/Scripts/Saveable.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f1c09e61be8049e4089c30fd8ea36a7f
|
45
blueberryPeak/Assets/Scripts/StateManager.cs
Normal file
45
blueberryPeak/Assets/Scripts/StateManager.cs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Unity.VisualScripting;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class StateManager : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static StateManager Instance { get; private set; }
|
||||||
|
|
||||||
|
public int currentSceneIndex = 0;
|
||||||
|
|
||||||
|
|
||||||
|
[SerializeField] public List<SaveableBerryBush> BerryBushData = new List<SaveableBerryBush>();
|
||||||
|
[SerializeField] public List<SaveableTwig> TwigData = new List<SaveableTwig>();
|
||||||
|
|
||||||
|
[SerializeField] public List<SaveableNPC> NPCData = new List<SaveableNPC>();
|
||||||
|
|
||||||
|
[SerializeField] public SaveablePlayer PlayerData;
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (Instance != null && Instance != this)
|
||||||
|
{
|
||||||
|
Destroy(gameObject); // Only one instance allowed
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Instance = this;
|
||||||
|
DontDestroyOnLoad(gameObject); // Persist through scenes
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SaveGameState()
|
||||||
|
{
|
||||||
|
Debug.Log("Saving game state...");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void LoadGameState()
|
||||||
|
{
|
||||||
|
Debug.Log("Restoring game state");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
2
blueberryPeak/Assets/Scripts/StateManager.cs.meta
Normal file
2
blueberryPeak/Assets/Scripts/StateManager.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1583dcf9011d5a142af4d8b1610298df
|
Loading…
Reference in New Issue
Block a user