浏览代码

Add all questlines and rework Dialogue structure and Dialogue/Quest System. Winning and losing outcome WIP

/main
uChema 3 年前
当前提交
d7205d06
共有 175 个文件被更改,包括 3810 次插入913 次删除
  1. 58
      UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors Shared Data.asset
  2. 29
      UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors.asset
  3. 58
      UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors_en.asset
  4. 22
      UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors_fr.asset
  5. 10
      UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors_it.asset
  6. 998
      UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue Shared Data.asset
  7. 4
      UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue.asset
  8. 925
      UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_en.asset
  9. 416
      UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_fr.asset
  10. 29
      UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_it.asset
  11. 5
      UOP1_Project/Assets/LocalizationFiles/Locales/English (en).asset
  12. 5
      UOP1_Project/Assets/LocalizationFiles/Locales/French (fr).asset
  13. 5
      UOP1_Project/Assets/LocalizationFiles/Locales/Italian (it).asset
  14. 9
      UOP1_Project/Assets/Prefabs/Characters/InGameNPCs/FarmerCaveF-Terra.prefab
  15. 17
      UOP1_Project/Assets/Prefabs/Characters/InGameNPCs/TownfolkPepper-Felfel.prefab
  16. 7
      UOP1_Project/Assets/Prefabs/Characters/InGameNPCs/FarmerAssaultM-Ayud.prefab
  17. 18
      UOP1_Project/Assets/Prefabs/Managers/DialogueManager.prefab
  18. 52
      UOP1_Project/Assets/Prefabs/UI/GameplayScene/Dialogue/DialoguePanel.prefab
  19. 396
      UOP1_Project/Assets/Scenes/Menus/MainMenu.unity
  20. 31
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Bard.asset
  21. 2
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-LegChef.asset
  22. 2
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Terra.asset
  23. 2
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Ayud.asset
  24. 2
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Felfel.asset
  25. 2
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Cerise.asset
  26. 2
      UOP1_Project/Assets/ScriptableObjects/Events/Quests/MakeLosingChoiceEvent.asset
  27. 2
      UOP1_Project/Assets/ScriptableObjects/Events/Quests/MakeWinningChoiceEvent.asset
  28. 2
      UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SpicyCakeWithPepper_Recipe.asset
  29. 2
      UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SavouryDough_Dish.asset
  30. 2
      UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SavouryDough_Recipe.asset
  31. 2
      UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SpicyCakeWithPepper_Dish.asset
  32. 5
      UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/BardHare.asset
  33. 5
      UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Hamlet.asset
  34. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Events/StartCinematic-SavouryDishTasting.asset
  35. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Q1-QL1.asset
  36. 6
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/S1-Q1-QL1.asset
  37. 198
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/SD-S1-Q1-QL1.asset
  38. 3
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/S2-Q1-QL1.asset
  39. 56
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/SD-S2-Q1-QL1.asset
  40. 9
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/S3-Q1-QL1.asset
  41. 26
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/SD-S3-Q1-QL1.asset
  42. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Q1-QL2.asset
  43. 36
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/CD-S2-Q1-QL2.asset
  44. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/CD-S2-Q1-QL2.asset.meta
  45. 11
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/S2-Q1-QL2.asset
  46. 6
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest2/Step1/S1-Q2-QL2.asset
  47. 5
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest2/Step2/S2-Q2-QL2.asset
  48. 3
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/QL3.asset
  49. 4
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Q1-QL3.asset
  50. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1.meta
  51. 17
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/S1-Q1-QL3.asset
  52. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/S1-Q1-QL3.asset.meta
  53. 52
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/SD-S1-Q1-QL3.asset
  54. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/SD-S1-Q1-QL3.asset.meta
  55. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Q1-QL4.asset
  56. 4
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step3/S3-Q1-QL4.asset
  57. 9
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step4/S4-Q1-QL4.asset
  58. 2
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Q1-QL5.asset
  59. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Step1/S1-Q1-QL5.asset
  60. 2
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/Conditions/IsDialogueActiveCondition.asset
  61. 1
      UOP1_Project/Assets/Scripts/Characters/Protagonist.cs
  62. 8
      UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsDialogueActiveConditionSO.cs
  63. 23
      UOP1_Project/Assets/Scripts/Dialogues/ActorSO.cs
  64. 240
      UOP1_Project/Assets/Scripts/Dialogues/DialogueDataSO.cs
  65. 83
      UOP1_Project/Assets/Scripts/Dialogues/DialogueManager.cs
  66. 8
      UOP1_Project/Assets/Scripts/Events/ScriptableObjects/BoolEventChannelSO.cs
  67. 40
      UOP1_Project/Assets/Scripts/Gameplay/GameStateSO.cs
  68. 6
      UOP1_Project/Assets/Scripts/Input/InputReader.cs
  69. 2
      UOP1_Project/Assets/Scripts/Inventory/InventoryManager.cs
  70. 10
      UOP1_Project/Assets/Scripts/Inventory/ScriptableObjects/InventorySO.cs
  71. 18
      UOP1_Project/Assets/Scripts/Inventory/ScriptableObjects/ItemTypeSO.cs
  72. 4
      UOP1_Project/Assets/Scripts/Quests/Editor/DialoguePreview.cs
  73. 99
      UOP1_Project/Assets/Scripts/Quests/Editor/QuestEditorWindow.cs
  74. 18
      UOP1_Project/Assets/Scripts/Quests/QuestManager.asset
  75. 76
      UOP1_Project/Assets/Scripts/Quests/QuestManagerSO.cs
  76. 82
      UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/StepSO.cs
  77. 2
      UOP1_Project/Assets/Scripts/UI/Dialogue/UIDialogueManager.cs
  78. 10
      UOP1_Project/Assets/Scripts/UI/Inventory/UIInventory.cs
  79. 2
      UOP1_Project/Assets/Scripts/UI/Inventory/UIInventoryInspector.cs
  80. 5
      UOP1_Project/Assets/Scripts/UI/UIPause.cs
  81. 34
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Bard-Town.asset
  82. 8
      UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Bard-Town.asset.meta
  83. 23
      UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Ayud.asset
  84. 23
      UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Cerise.asset
  85. 23
      UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Felfel.asset
  86. 23
      UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/LegendaryChef.asset
  87. 23
      UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Terra.asset
  88. 17
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/ID-S3-Q1-QL1.asset
  89. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/ID-S3-Q1-QL1.asset.meta
  90. 27
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/ID-S2-Q1-QL2.asset
  91. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/ID-S2-Q1-QL2.asset.meta
  92. 27
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step4/ID-S4-Q1-QL4.asset
  93. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step4/ID-S4-Q1-QL4.asset.meta
  94. 74
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Step1/ID-S1-Q1-QL5.asset
  95. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Step1/ID-S1-Q1-QL5.asset.meta
  96. 8
      UOP1_Project/Assets/Scripts/Dialogues/Editor.meta
  97. 16
      UOP1_Project/Assets/Scripts/Dialogues/Editor/CustomMetadata.cs
  98. 11
      UOP1_Project/Assets/Scripts/Dialogues/Editor/CustomMetadata.cs.meta
  99. 18
      UOP1_Project/Assets/ScriptableObjects/Dialogue/No-Default-Bard.asset

58
UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors Shared Data.asset


m_TableCollectionName: Actors
m_TableCollectionNameGuidString: 9c592d2d4c7fc459f94a645873569195
m_Entries:
- m_Id: 60141068288
m_Key: Townsfolk2
- m_Id: 87619184212434944
m_Key: PigChef
- m_Id: 1740769320960
- m_Id: 87619184212434945
- m_Id: 2003462774784
m_Key: PigChef
- m_Id: 87619184212434946
m_Key: LegendaryChef
- m_Id: 27198154021396480
m_Key: New Entry
- m_Id: 87619184212434947
m_Key: FarmerAssaultM
- m_Id: 27198158756765696
m_Key: Townsfolk1
- m_Id: 87619184212434948
m_Key: FarmerCaveF
- m_Id: 73168485301583872
m_Key: FryKing
- m_Id: 87619184212434949
m_Key: TownfolkPepper
- m_Id: 77529628448514048
m_Key: Townsfolk3
- m_Id: 87619184212434950
m_Key: DessertChef
- m_Id: 77534566687825920
m_Key: Townsfolk4
- m_Id: 87619184212434951
m_Key: PhoenixChick
m_Metadata:
m_Items: []
- m_Id: 87619184212434952
m_Key: TownsfolkM1
m_Metadata:
m_Items: []
- m_Id: 87619184212434953
m_Key: TownsfolkF1
m_Metadata:
m_Items: []
- m_Id: 87619184212434954
m_Key: Town
m_Metadata:
m_Items: []
- m_Id: 87619184212434955
m_Key: Island
m_Metadata:
m_Items: []
- m_Id: 87619184212434956
m_Key: SlimeCritter
m_Metadata:
m_Items: []
- m_Id: 87619184212434957
m_Key: RockCritter
m_Metadata:
m_Items: []
- m_Id: 87619184212434958
m_Key: PlantCritter
m_Metadata:
m_Items: []
m_Metadata:

29
UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors.asset


- {fileID: 11400000, guid: 212da3a67744e4280b67fa323838acc8, type: 2}
- {fileID: 11400000, guid: 5a99fcc266fdb48608555d31b49c084b, type: 2}
- {fileID: 11400000, guid: 8d64c2a9fccc2614baa07c24841aca37, type: 2}
m_Extensions: []
m_Extensions:
- id: 0
00000000:
type: {class: GoogleSheetsExtension, ns: UnityEditor.Localization.Plugins.Google,
asm: Unity.Localization.Editor}
data:
m_Collection: {fileID: 11400000}
m_SheetsServiceProvider: {fileID: 11400000, guid: 048784966300e0f418f4fb2c6af7efb3,
type: 2}
m_SpreadsheetId: 1luF1JYM54a-2ijKBRV8cuqDki0C7qENoCGYJurP2YcY
m_SheetId: 684528833
m_Columns:
- id: 1
- id: 2
m_RemoveMissingPulledKeys: 0
00000001:
type: {class: KeyColumn, ns: UnityEditor.Localization.Plugins.Google.Columns,
asm: Unity.Localization.Editor}
data:
m_Column: A
00000002:
type: {class: LocaleColumn, ns: UnityEditor.Localization.Plugins.Google.Columns,
asm: Unity.Localization.Editor}
data:
m_Column: B
m_LocaleIdentifier:
m_Code: en
m_IncludeComments: 0

58
UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors_en.asset


m_Metadata:
m_Items: []
m_TableData:
- m_Id: 60141068288
m_Localized: Earl
- m_Id: 87619184212434947
m_Localized: Ayud
m_Metadata:
m_Items: []
- m_Id: 87619184212434946
m_Localized: Chef Comb
- m_Id: 1740769320960
m_Localized: The bard hare
- m_Id: 87619184212434945
m_Localized: Maqam
- m_Id: 2003462774784
- m_Id: 87619184212434944
- m_Id: 27198158756765696
m_Localized: Maria
- m_Id: 87619184212434958
m_Localized: Groen
- m_Id: 73168485301583872
m_Localized: Fry King
- m_Id: 87619184212434957
m_Localized: Klipper
- m_Id: 77529628448514048
m_Localized: Jim
- m_Id: 87619184212434956
m_Localized: Gluecose
- m_Id: 77534566687825920
m_Localized: Sally
- m_Id: 87619184212434955
m_Localized: Isle of Yolk
m_Metadata:
m_Items: []
- m_Id: 87619184212434954
m_Localized: Truffleton
m_Metadata:
m_Items: []
- m_Id: 87619184212434953
m_Localized: Carmela
m_Metadata:
m_Items: []
- m_Id: 87619184212434952
m_Localized: Gourmando
m_Metadata:
m_Items: []
- m_Id: 87619184212434951
m_Localized: Nar
m_Metadata:
m_Items: []
- m_Id: 87619184212434950
m_Localized: Cerise
m_Metadata:
m_Items: []
- m_Id: 87619184212434949
m_Localized: Felfel
m_Metadata:
m_Items: []
- m_Id: 87619184212434948
m_Localized: Terra
m_Metadata:
m_Items: []
references:

22
UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors_fr.asset


m_SharedData: {fileID: 11400000, guid: 9c592d2d4c7fc459f94a645873569195, type: 2}
m_Metadata:
m_Items: []
m_TableData:
- m_Id: 60141068288
m_Localized: Earl
m_Metadata:
m_Items: []
- m_Id: 1740769320960
m_Localized: "Le li\xE8vre Barde"
m_Metadata:
m_Items: []
- m_Id: 2003462774784
m_Localized: Hamlet
m_Metadata:
m_Items: []
- m_Id: 27198158756765696
m_Localized: Marie
m_Metadata:
m_Items: []
- m_Id: 73168485301583872
m_Localized: Fry King
m_Metadata:
m_Items: []
m_TableData: []
references:
version: 1

10
UOP1_Project/Assets/LocalizationFiles/AssetTables/Dialogue System/Actors/Actors_it.asset


m_SharedData: {fileID: 11400000, guid: 9c592d2d4c7fc459f94a645873569195, type: 2}
m_Metadata:
m_Items: []
m_TableData:
- m_Id: 27198158756765696
m_Localized: Maria
m_Metadata:
m_Items: []
- m_Id: 60141068288
m_Localized: Earl
m_Metadata:
m_Items: []
m_TableData: []
references:
version: 1

998
UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue Shared Data.asset
文件差异内容过多而无法显示
查看文件

4
UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue.asset


- id: 3
- id: 4
- id: 5
m_RemoveMissingPulledKeys: 1
m_RemoveMissingPulledKeys: 0
00000001:
type: {class: KeyColumn, ns: UnityEditor.Localization.Plugins.Google.Columns,
asm: Unity.Localization.Editor}

type: {class: KeyCommentColumn, ns: UnityEditor.Localization.Plugins.Google.Columns,
asm: Unity.Localization.Editor}
data:
m_Column: E
m_Column: H

925
UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_en.asset
文件差异内容过多而无法显示
查看文件

416
UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_fr.asset


m_Metadata:
m_Items: []
m_TableData:
- m_Id: 21419501962518528
m_Localized: De rien !
m_Metadata:
m_Items: []
m_Localized:
m_Localized: 'Do you have a Dish to show me? '
m_Metadata:
m_Items: []
- m_Id: 9306103809

- m_Id: 42717273712459776
m_Localized: T'es qui?
m_Metadata:
m_Items: []
- m_Id: 104386781184
m_Localized: "Maintenant dirigez vous vers le centre, o\xF9 le chef l\xE9gendaire
vous attend. "
m_Metadata:
m_Items: []
- m_Id: 20323438161682432
m_Localized: "Parfait ! On se voit l\xE0-bas"
m_Metadata:

m_Metadata:
m_Items: []
- m_Id: 93061038025
m_Localized: Bienvenue au village !
- m_Id: 47073068710748160
m_Localized: That lover her sweets as much as her spicy
- m_Id: 20322714321281024
m_Localized: Oui
- m_Id: 9306103808
m_Localized: Salut!
- m_Id: 20322813445267456
m_Localized: Non
- m_Id: 238002471034880
m_Localized: "Bienvenue \xE0 la plage"
- m_Id: 47073068710748160
- m_Id: 45667467006959616
m_Localized: Test
m_Metadata:
m_Items: []
- m_Id: 238002471034881
m_Localized: 'Did you find the plant critter seeds? '
m_Metadata:
m_Items: []
- m_Id: 47014208843145216
m_Localized: Oh yeah ! Thanks for your help !
m_Metadata:
m_Items: []
- m_Id: 47014215478534144
m_Localized: 'Ok no worries, come back when you have it. '
m_Metadata:
m_Items: []
- m_Id: 47014393937780736
m_Localized: 'Did you prepare the Sweet Cream Dish ? '
m_Metadata:
m_Items: []
- m_Id: 51070625073979392
m_Localized: 'Awesome, you''re a true chef now ! '
m_Metadata:
m_Items: []
- m_Id: 55883239830446111
m_Localized: 'Ok! come back when you do it, I''ll tell you about its story ! '
m_Metadata:
m_Items: []
- m_Id: 238002475229186
m_Localized: Hello Welcome to the farms
m_Metadata:
m_Items: []
- m_Id: 47359752132222976
m_Localized: 'Did you defeat all the critters? '
m_Metadata:
m_Items: []
- m_Id: 53578006731284480
m_Localized: 'Perfect Thank you so much ! I see you also got the special spoon
! '
m_Metadata:
m_Items: []
- m_Id: 55883239830446136
m_Localized: No problem, come back when you have it.
m_Metadata:
m_Items: []
- m_Id: 47060280844083200
m_Localized: 'Hey there, let met tell you about the competition ! '
m_Metadata:
m_Items: []
- m_Id: 47064574574059520
m_Localized: 'Did you find the egg? '
m_Metadata:
m_Items: []
- m_Id: 47064756166451200
m_Localized: 'Awesome ! it''s perfect ! '
m_Metadata:
m_Items: []
- m_Id: 47064761195421696
m_Localized: No problem, come back when you have it. I'll tell you more about
my secret recipe
m_Metadata:
m_Items: []
- m_Id: 47071503866257408
m_Localized: 'Hello again Chef! Are you here for the competition ? '
m_Metadata:
m_Items: []
- m_Id: 47071766836535296
m_Localized: 'Perfect ! I know you''re going to win ! '
m_Metadata:
m_Items: []
- m_Id: 47071771064393728
m_Localized: 'Why not? It''s an awesome experience ! Here let me do it for you. '
m_Metadata:
m_Items: []
- m_Id: 47073457984102400
m_Localized: There once was a lady named Saly
m_Metadata:
m_Items: []
- m_Id: 47073689857810432
m_Localized: 'She lived in the forest and never wanted to leave it. '
m_Metadata:
m_Items: []
- m_Id: 47074112706568192
m_Localized: Lucky are those who have met her.
m_Metadata:
m_Items: []
- m_Id: 47074164204232704
m_Localized: Many tried, few suceeded
m_Metadata:
m_Items: []
- m_Id: 47078874327932928
m_Localized: Hi I'm Jim
m_Metadata:
m_Items: []
- m_Id: 47079733954732032
- m_Id: 21415600320274432
m_Localized: Merci !
- m_Id: 47079858139684864
m_Localized: Do you like sweets?
- m_Id: 9306103808
m_Localized: Salut!
- m_Id: 47080344121106432
m_Localized: Do you have any sweets ?
- m_Id: 238002471034880
m_Localized: "Bienvenue \xE0 la plage"
- m_Id: 47080768521756672
m_Localized: 'Oh wow this is so good ! '
m_Metadata:
m_Items: []
- m_Id: 47081577766576128
m_Localized: Do you know that there's a sweet golden egg somewhere in the mountain?
- m_Id: 45667467006959616
m_Localized: Test
- m_Id: 47080900608778240
m_Localized: I would've loved to discover a new recipe
m_Metadata:
m_Items: []
- m_Id: 47081127671619584
m_Localized: 'You said you were looking for pepper? I have some ! '
m_Metadata:
m_Items: []
- m_Id: 47082187345747968
m_Localized: You are welcome
m_Metadata:
m_Items: []
- m_Id: 47082777647898624
m_Localized: 'Did you find the pepper? '
m_Metadata:
m_Items: []
- m_Id: 47082943717171200
m_Localized: Thank you ! You are the best !
m_Metadata:
m_Items: []
- m_Id: 47082946690932736
m_Localized: Ok! Come back when you find it
m_Metadata:
m_Items: []
- m_Id: 47083409075200000
m_Localized: Blank
m_Metadata:
m_Items: []
- m_Id: 47083386933469184
m_Localized: Here's my recipe for spicy sauce
m_Metadata:
m_Items: []
- m_Id: 47085032639946752
m_Localized: Hey I'm the fry king
m_Metadata:
m_Items: []
- m_Id: 47099216786219008
m_Localized: Yes a Sweet dish
m_Metadata:
m_Items: []
- m_Id: 47099417324281856
m_Localized: Yes a Salty Dish
m_Metadata:
m_Items: []
- m_Id: 47099750700146688
m_Localized: 'Oh ! Show me that! '
m_Metadata:
m_Items: []
- m_Id: 47099758912593920
m_Localized: 'hum... Show me that ! '
m_Metadata:
m_Items: []
- m_Id: 50280554632699904
m_Localized: That's amaizing ! you win the competition
m_Metadata:
m_Items: []
- m_Id: 50280556763406336
m_Localized: Ok come back when you have it
m_Metadata:
m_Items: []
- m_Id: 50280586370998272
m_Localized: 'Do you have the salty dish ? '
m_Metadata:
m_Items: []
- m_Id: 50280589453811712
m_Localized: It's good but I'm looking for another dish
m_Metadata:
m_Items: []
- m_Id: 50280592423378944
m_Localized: Ok come back when you have it
m_Metadata:
m_Items: []
- m_Id: 50299516372246528
m_Localized: 'Do you have the sweet dish ? '
m_Metadata:
m_Items: []
- m_Id: 56134394363895869
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 50312278611714048
m_Localized: That's amaizing ! you win the competition
m_Metadata:
m_Items: []
- m_Id: 57158352748011521
m_Localized: Welcome to town!
m_Metadata:
m_Items: []
- m_Id: 57158352748011522
m_Localized: Now head to the town centre, where the legendary chef is waiting
for you.
m_Metadata:
m_Items: []
- m_Id: 57158352748011536
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011538
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011554
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011555
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011563
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011564
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011565
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011566
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011577
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011590
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011591
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011595
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011596
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011606
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011607
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011610
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011611
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011615
m_Localized: 'Talk about town '
m_Metadata:
m_Items: []
- m_Id: 57158352748011619
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011620
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011621
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011622
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011623
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011624
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011625
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011627
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011628
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011647
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011649
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011650
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011668
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011669
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011672
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011674
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011675
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011678
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011679
m_Localized: Yes a sapicy dish
m_Metadata:
m_Items: []
- m_Id: 57158352748011680
m_Localized: Yes a sweet dish
m_Metadata:
m_Items: []
- m_Id: 57158352748011681
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011682
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011685
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011689
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011695
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57158352748011696
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57181850379870218
m_Localized:
m_Metadata:
m_Items: []
- m_Id: 57181850379870219
m_Localized:
m_Metadata:
m_Items: []
references:

29
UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_it.asset


m_Metadata:
m_Items: []
m_TableData:
- m_Id: 21419501962518528
m_Localized: Di niente!
m_Metadata:
m_Items: []
- m_Id: 238002416508928
m_Localized: Ciao
m_Metadata:

m_Metadata:
m_Items: []
- m_Id: 42717273712459776
m_Localized: tu chi sei!
m_Metadata:
m_Items: []
- m_Id: 104386781184
m_Localized: "Ora dirigiti in centro, dove c'\xE9 il leggendario chef che ti
aspetta."
m_Metadata:
m_Items: []
- m_Id: 20323438161682432
m_Localized: "Perfetto! Ci vediamo l\xED!"
m_Metadata:

m_Metadata:
m_Items: []
- m_Id: 93061038025
m_Localized: "Benvenuto in citt\xE1!"
m_Metadata:
m_Items: []
- m_Id: 20322714321281024
m_Localized: "S\xED"
m_Metadata:
m_Items: []
- m_Id: 20322813445267456
m_Localized: No
m_Metadata:
m_Items: []
- m_Id: 21415600320274432
m_Localized: Grazie!
m_Metadata:
m_Items: []
- m_Id: 9306103808

5
UOP1_Project/Assets/LocalizationFiles/Locales/English (en).asset


m_Code: en
m_Metadata:
m_Items: []
m_SortOrder: 10000
m_LocaleName: English (en)
m_CustomFormatCultureCode:
m_UseCustomFormatter: 0
m_SortOrder: 0
references:
version: 1

5
UOP1_Project/Assets/LocalizationFiles/Locales/French (fr).asset


m_Code: fr
m_Metadata:
m_Items: []
m_SortOrder: 10000
m_LocaleName: French (fr)
m_CustomFormatCultureCode:
m_UseCustomFormatter: 0
m_SortOrder: 1
references:
version: 1

5
UOP1_Project/Assets/LocalizationFiles/Locales/Italian (it).asset


m_Code: it
m_Metadata:
m_Items: []
m_SortOrder: 10000
m_LocaleName: Italian (it)
m_CustomFormatCultureCode:
m_UseCustomFormatter: 0
m_SortOrder: 2
references:
version: 1

9
UOP1_Project/Assets/Prefabs/Characters/InGameNPCs/FarmerCaveF-Terra.prefab


- target: {fileID: 1866729951445509498, guid: 3e6369ee29ebc1444a0da9ff03d7a7dc,
type: 3}
propertyPath: m_Name
value: Townsfolk_1
value: FarmerCaveF-Terra
objectReference: {fileID: 0}
- target: {fileID: 3681583659869480704, guid: 3e6369ee29ebc1444a0da9ff03d7a7dc,
type: 3}

type: 3}
propertyPath: _actor
value:
objectReference: {fileID: 11400000, guid: 5e7bd0eed8324794fad1bc460c565ecb,
objectReference: {fileID: 11400000, guid: b8d80efffb7881e4ebeb39806d2c6d18,
objectReference: {fileID: 11400000, guid: 061122e686f54d445b3ace24735e8f88,
objectReference: {fileID: 11400000, guid: 2fd04d8b4cba82e42809169526c6cee1,
objectReference: {fileID: 11400000, guid: 1e813178cd4f39c48a023e2901da5ab5,
type: 2}
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3e6369ee29ebc1444a0da9ff03d7a7dc, type: 3}
--- !u!4 &73788684756820526 stripped

17
UOP1_Project/Assets/Prefabs/Characters/InGameNPCs/TownfolkPepper-Felfel.prefab


m_Modifications:
- target: {fileID: -4665973923214971672, guid: 661c491ac76af4b429f8a8c0e6e8c762,
type: 3}
propertyPath: _actor
value:
objectReference: {fileID: 11400000, guid: 57f499d332bed904d82f12c003ecc859,
type: 2}
- target: {fileID: -4665973923214971672, guid: 661c491ac76af4b429f8a8c0e6e8c762,
type: 3}
propertyPath: _defaultDialogue
value:
objectReference: {fileID: 11400000, guid: f58fca5fdcde87e478794c815e4fc94e,
type: 2}
- target: {fileID: -4665973923214971672, guid: 661c491ac76af4b429f8a8c0e6e8c762,
type: 3}
objectReference: {fileID: 11400000, guid: 1e813178cd4f39c48a023e2901da5ab5,
type: 2}
objectReference: {fileID: 0}
value: Townsfolk_2
value: TownfolkPepper-Felfel
objectReference: {fileID: 0}
- target: {fileID: 5579597578339563075, guid: 661c491ac76af4b429f8a8c0e6e8c762,
type: 3}

7
UOP1_Project/Assets/Prefabs/Characters/InGameNPCs/FarmerAssaultM-Ayud.prefab


type: 3}
propertyPath: _actor
value:
objectReference: {fileID: 11400000, guid: 57f499d332bed904d82f12c003ecc859,
objectReference: {fileID: 11400000, guid: 5e7bd0eed8324794fad1bc460c565ecb,
objectReference: {fileID: 11400000, guid: f58fca5fdcde87e478794c815e4fc94e,
objectReference: {fileID: 11400000, guid: 061122e686f54d445b3ace24735e8f88,
objectReference: {fileID: 11400000, guid: 1e813178cd4f39c48a023e2901da5ab5,
type: 2}
objectReference: {fileID: 0}
- target: {fileID: 4799525130884635568, guid: 661c491ac76af4b429f8a8c0e6e8c762,
type: 3}
propertyPath: _npcMovementConfig

18
UOP1_Project/Assets/Prefabs/Managers/DialogueManager.prefab


m_Script: {fileID: 11500000, guid: e1faa963712171c468c0ea8746754bf6, type: 3}
m_Name:
m_EditorClassIdentifier:
_actorsList:
- {fileID: 11400000, guid: f69d689cc127a104ba12b6a06cad8bf8, type: 2}
- {fileID: 11400000, guid: 027d026cf519df04eb8b7bf251472e13, type: 2}
- {fileID: 11400000, guid: 2f14ee79b2fa2574480372fff57ec101, type: 2}
- {fileID: 11400000, guid: c7902af5c8e25244f94914ce51e7ea8a, type: 2}
- {fileID: 11400000, guid: 5e7bd0eed8324794fad1bc460c565ecb, type: 2}
- {fileID: 11400000, guid: b8d80efffb7881e4ebeb39806d2c6d18, type: 2}
- {fileID: 11400000, guid: 57f499d332bed904d82f12c003ecc859, type: 2}
_inputReader: {fileID: 11400000, guid: 945ec0365077176418488737deed54be, type: 2}
_startDialogue: {fileID: 11400000, guid: 5cfe626f5482b914a9e46ebbe35ea1a8, type: 2}
_makeDialogueChoiceEvent: {fileID: 11400000, guid: f7b40077957f3834a8d5354c3e4ce759,

_showChoicesUIEvent: {fileID: 11400000, guid: a4e5e48a0f3430c4197b317e650727c6,
type: 2}
_endDialogueEvent: {fileID: 11400000, guid: 42c4c250df06bf84b97d11a23c36d47c, type: 2}
_endDialogueEvent: {fileID: 11400000, guid: 53a7f1f01ef364704b1d45d01f2421ae, type: 2}
_endDialogueWithTypeEvent: {fileID: 11400000, guid: 42c4c250df06bf84b97d11a23c36d47c,
type: 2}
_playWinningQuest: {fileID: 11400000, guid: cf85098764f74134e80c631a1a1a1709, type: 2}
_playLosingQuest: {fileID: 11400000, guid: 1668df705c9a7a1408c4668ece6b5302, type: 2}
_playIncompleteDialogue: {fileID: 11400000, guid: fcc99784052e5cc469b8c22c0674b051,
type: 2}
_makeWinningChoice: {fileID: 11400000, guid: cf85098764f74134e80c631a1a1a1709, type: 2}
_makeLosingChoice: {fileID: 11400000, guid: 1668df705c9a7a1408c4668ece6b5302, type: 2}
_gameState: {fileID: 11400000, guid: 159f9c22d98e249ceb08f2c5de2311a4, type: 2}

52
UOP1_Project/Assets/Prefabs/UI/GameplayScene/Dialogue/DialoguePanel.prefab


m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontSize: 72
m_fontSizeBase: 72
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_enableAutoSizing: 1
m_fontSizeMin: 36
m_fontSizeMax: 72
m_fontStyle: 1
m_HorizontalAlignment: 1

m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 1
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &3687453177247957428

m_KeyId: 0
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1
m_FormatArguments: []
m_UpdateString:
m_PersistentCalls:

m_Father: {fileID: 3687453176568796422}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.02, y: 0.3}
m_AnchorMax: {x: 0.98, y: 0.7}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 9.309}
m_SizeDelta: {x: -75.224, y: -110.982}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3687453177589032027
CanvasRenderer:

m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4278190080
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3

m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontSize: 55
m_fontSizeBase: 55
m_enableAutoSizing: 1
m_enableAutoSizing: 0
m_VerticalAlignment: 256
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0

m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 1
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &3687453177589032020

m_KeyId: 0
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1
m_FormatArguments: []
m_UpdateString:
m_PersistentCalls:

m_LocalEulerAnglesHint: {x: 0, y: 0, z: 2}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0.65234375, y: 0}
m_SizeDelta: {x: 424, y: 75}
m_AnchoredPosition: {x: -1.302002, y: 5.623993}
m_SizeDelta: {x: 419.573, y: 93.757}
m_Pivot: {x: 0, y: 0.3}
--- !u!222 &6423381960315871341
CanvasRenderer:

- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}
propertyPath: m_SizeDelta.x
value: 342.49884
value: 135.91998
value: 86.4
value: 33.520004
objectReference: {fileID: 0}
- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}

- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 533.7483
value: 223.87997
value: -43.2
value: -16.760002
objectReference: {fileID: 0}
- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}

- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}
propertyPath: m_SizeDelta.x
value: 342.49884
value: 135.91998
value: 86.4
value: 33.520004
objectReference: {fileID: 0}
- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}

- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 171.24942
value: 67.95999
value: -43.2
value: -16.760002
objectReference: {fileID: 0}
- target: {fileID: 550526546634029910, guid: bde732562bbef3c4785f9ce7c0af8047,
type: 3}

396
UOP1_Project/Assets/Scenes/Menus/MainMenu.unity
文件差异内容过多而无法显示
查看文件

31
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Bard.asset


m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: Default-Bard
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 027d026cf519df04eb8b7bf251472e13, type: 2}
_dialogueLines:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-Default-Bard
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-Default-Bard
_choices:
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 20322714321281024
m_Key:
_nextDialogue: {fileID: 11400000, guid: b8ad0645e93d81649a75db29f35f55b2, type: 2}
_actionType: 0
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 20322813445267456
m_Key:
_nextDialogue: {fileID: 11400000, guid: dd77cbf6291c70a46bb389e15a2f8bcd, type: 2}
_actionType: 0
_lines: []
_endOfDialogueEvent: {fileID: 0}

2
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-LegChef.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: Default-FryKing
m_Name: Default-LegChef
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 2f14ee79b2fa2574480372fff57ec101, type: 2}
_dialogueLines:

2
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Terra.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: Default-Townsfolk2
m_Name: Default-Terra
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: b8d80efffb7881e4ebeb39806d2c6d18, type: 2}
_dialogueLines:

2
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Ayud.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: Default-Townsfolk1
m_Name: Default-Ayud
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 5e7bd0eed8324794fad1bc460c565ecb, type: 2}
_dialogueLines:

2
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Felfel.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: Default-Townsfolk3
m_Name: Default-Felfel
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 57f499d332bed904d82f12c003ecc859, type: 2}
_dialogueLines:

2
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Cerise.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: Default-Townsfolk4
m_Name: Default-Cerise
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: f69d689cc127a104ba12b6a06cad8bf8, type: 2}
_dialogueLines:

2
UOP1_Project/Assets/ScriptableObjects/Events/Quests/MakeLosingChoiceEvent.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7fafac715ff920c4383fed91a38a351e, type: 3}
m_Name: PlayLoseQuestEvent
m_Name: MakeLosingChoiceEvent
m_EditorClassIdentifier:
description:

2
UOP1_Project/Assets/ScriptableObjects/Events/Quests/MakeWinningChoiceEvent.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7fafac715ff920c4383fed91a38a351e, type: 3}
m_Name: PlayWinningQuestEvent
m_Name: MakeWinningChoiceEvent
m_EditorClassIdentifier:
description:

2
UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SpicyCakeWithPepper_Recipe.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e462d021008e7c24e8bdafb42f80cfcf, type: 3}
m_Name: SaltyCakeWithPepper_Recipe
m_Name: SpicyCakeWithPepper_Recipe
m_EditorClassIdentifier:
_guid: 7509654f3f62de04dbfae5781ee40efb
_name:

2
UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SavouryDough_Dish.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 58a5b32581978a141a66d240261449d0, type: 3}
m_Name: SaltyDough_Dish
m_Name: SavouryDough_Dish
m_EditorClassIdentifier:
_guid: 18804f7d2b0617a40b86ffda045bc65d
_name:

2
UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SavouryDough_Recipe.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e462d021008e7c24e8bdafb42f80cfcf, type: 3}
m_Name: SaltyDough_Recipe
m_Name: SavouryDough_Recipe
m_EditorClassIdentifier:
_guid: 4c6ff0a63c9085a46ad617bee1a15f33
_name:

2
UOP1_Project/Assets/ScriptableObjects/Inventory/ScriptableObjects/Items/QuestItems/SpicyCakeWithPepper_Dish.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 58a5b32581978a141a66d240261449d0, type: 3}
m_Name: SaltyCakeWithPepper_Dish
m_Name: SpicyCakeWithPepper_Dish
m_EditorClassIdentifier:
_guid: 5392cd3c95cc3a04a9fb13b6f40a845e
_name:

5
UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/BardHare.asset


m_Script: {fileID: 11500000, guid: f991c0f5eb9677944ae00c1b61548e72, type: 3}
m_Name: BardHare
m_EditorClassIdentifier:
_actorId: 0
m_KeyId: 1740769320960
m_KeyId: 87619184212434945
m_FallbackState: 0
m_WaitForCompletion: 1

5
UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Hamlet.asset


m_Script: {fileID: 11500000, guid: f991c0f5eb9677944ae00c1b61548e72, type: 3}
m_Name: Hamlet
m_EditorClassIdentifier:
_actorId: 1
m_KeyId: 2003462774784
m_KeyId: 87619184212434944
m_FallbackState: 0
m_WaitForCompletion: 1

2
UOP1_Project/Assets/ScriptableObjects/Quests/Events/StartCinematic-SavouryDishTasting.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7fafac715ff920c4383fed91a38a351e, type: 3}
m_Name: StartCinematic-SaltyDishTasting
m_Name: StartCinematic-SavouryDishTasting
m_EditorClassIdentifier:
description: 'Start the cinematic for Salty dish tasting by the fry king. '

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Q1-QL1.asset


- {fileID: 11400000, guid: 2187c1f18f6f9ae4bbd10f33a1871d8e, type: 2}
- {fileID: 11400000, guid: a025a2dfd3ab26844a62c94ac3899db6, type: 2}
- {fileID: 11400000, guid: 081f946471c1cce4da8b7d99e82e7b40, type: 2}
- {fileID: 11400000, guid: 1498efccbae30d043a28c1155923e979, type: 2}
- {fileID: 11400000, guid: 9fbe3ddc10a6da149a3d55cca33ad48e, type: 2}
_isDone: 1
_endQuestEvent: {fileID: 11400000, guid: 55a094475072c3f41a9486b51518b790, type: 2}

6
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/S1-Q1-QL1.asset


_actor: {fileID: 11400000, guid: 027d026cf519df04eb8b7bf251472e13, type: 2}
_dialogueBeforeStep: {fileID: 11400000, guid: 5a6e0fec2011b0a499c3d5825198b724,
type: 2}
_completeDialogue: {fileID: 11400000, guid: b81160a1c7d6e2a48a4105d32e6f0a4b, type: 2}
_completeDialogue: {fileID: 0}
_item: {fileID: 0}
_item: {fileID: 0}
_hasReward: 0
_rewardItem: {fileID: 0}
_isDone: 1
_endStepEvent: {fileID: 0}

198
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/SD-S1-Q1-QL1.asset


m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: SD-S1-Q1-QL1
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 027d026cf519df04eb8b7bf251472e13, type: 2}
_dialogueLines:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L3-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices:
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
_lines:
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D1-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-D1-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L3-D1-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D2-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D3-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-D3-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D4-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_KeyId: 20322714321281024
m_Key:
m_KeyId: 0
m_Key: L1-D5-SD-S1-Q1-QL1
_nextDialogue: {fileID: 0}
_actionType: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D6-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D7-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D8-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D9-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-D9-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D10-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D11-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D12-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D13-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D14-SD-S1-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
_endOfDialogueEvent: {fileID: 0}

3
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/S2-Q1-QL1.asset


_incompleteDialogue: {fileID: 11400000, guid: 473361716230ea64da50adc3c5dc5a67,
type: 2}
_item: {fileID: 11400000, guid: 42396f680e5649c4b91e2b29ff34f811, type: 2}
_hasReward: 1
_rewardItem: {fileID: 11400000, guid: be909baf705d4fa49910776bc707ce1b, type: 2}
_playNextImmediate: 0
_isDone: 0
_endStepEvent: {fileID: 0}

56
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/SD-S2-Q1-QL1.asset


m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: SD-S2-Q1-QL1
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 027d026cf519df04eb8b7bf251472e13, type: 2}
_dialogueLines:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-SD-S2-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices:
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 20322714321281024
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1
_nextDialogue: {fileID: 0}
_actionType: 1
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
_lines:
- _actorID: 0
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_KeyId: 20322813445267456
m_Key:
m_KeyId: 0
m_Key: L1-D1-SD-S2-Q1-QL1
_nextDialogue: {fileID: 11400000, guid: 473361716230ea64da50adc3c5dc5a67, type: 2}
_actionType: 0
_choices:
- _response:
m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: C1-D1-SD-S2-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_nextDialogue: {fileID: 0}
_actionType: 0
- _response:
m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: C2-D1-SD-S2-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_nextDialogue: {fileID: 0}
_actionType: 0
_endOfDialogueEvent: {fileID: 0}

9
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/S3-Q1-QL1.asset


_dialogueBeforeStep: {fileID: 11400000, guid: 08330fe80fc97eb4e8fd3f9bb2bfdcc3,
type: 2}
_completeDialogue: {fileID: 11400000, guid: cad4cc194b595b545ba1ca5333d6531d, type: 2}
_incompleteDialogue: {fileID: 0}
_item: {fileID: 11400000, guid: be909baf705d4fa49910776bc707ce1b, type: 2}
_type: 3
_incompleteDialogue: {fileID: 11400000, guid: 9ea7f094d0bc78442b03643414760278,
type: 2}
_type: 2
_item: {fileID: 11400000, guid: a1dd9032c3fc6584e9cb301e6e2a6f83, type: 2}
_hasReward: 0
_rewardItem: {fileID: 0}
_isDone: 0
_endStepEvent: {fileID: 0}

26
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/SD-S3-Q1-QL1.asset


m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: SD-S3-Q1-QL1
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 027d026cf519df04eb8b7bf251472e13, type: 2}
_dialogueLines:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-SD-S3-Q1-QL1
m_FallbackState: 0
m_WaitForCompletion: 1
_choices:
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
_lines:
- _actor: {fileID: 0}
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_KeyId: 21415600320274432
m_Key:
m_KeyId: 0
m_Key: L1-D1-SD-S3-Q1-QL1
_nextDialogue: {fileID: 0}
_actionType: 1
_choices: []
_endOfDialogueEvent: {fileID: 0}

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Q1-QL2.asset


_steps:
- {fileID: 11400000, guid: 2c804c0ebb31e6a48af992dacd5db830, type: 2}
- {fileID: 11400000, guid: 03f19f468b83714479db20c8e09f8f47, type: 2}
- {fileID: 11400000, guid: 2b6e06cf53783504aa3f4c9e5f34bda6, type: 2}
- {fileID: 11400000, guid: d6806cf1e4635d740a43db2518f55c24, type: 2}
_isDone: 0
_endQuestEvent: {fileID: 0}

36
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/CD-S2-Q1-QL2.asset


m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: CD-S2-Q1-QL2
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 5e7bd0eed8324794fad1bc460c565ecb, type: 2}
_dialogueLines:
- m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 53578006731284480
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 0
_choices: []
_lines:
- _actorID: 3
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D1-CD-S2-Q1-QL2
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-D1-CD-S2-Q1-QL2
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L3-D1-CD-S2-Q1-QL2
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
_endOfDialogueEvent: {fileID: 0}

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/CD-S2-Q1-QL2.asset.meta


fileFormatVersion: 2
guid: e11ac55e978e59446bc377028ef61a14
guid: 30305b84581dd0443911c7ad342276c7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

11
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/S2-Q1-QL2.asset


_actor: {fileID: 11400000, guid: 5e7bd0eed8324794fad1bc460c565ecb, type: 2}
_dialogueBeforeStep: {fileID: 11400000, guid: 66b66bd47977af64089584f03146dbfe,
type: 2}
_completeDialogue: {fileID: 11400000, guid: e11ac55e978e59446bc377028ef61a14, type: 2}
_incompleteDialogue: {fileID: 0}
_item: {fileID: 0}
_type: 0
_completeDialogue: {fileID: 11400000, guid: 30305b84581dd0443911c7ad342276c7, type: 2}
_incompleteDialogue: {fileID: 11400000, guid: e11ac55e978e59446bc377028ef61a14,
type: 2}
_type: 2
_item: {fileID: 11400000, guid: 3e353820f321eb9469633db094e0c048, type: 2}
_hasReward: 0
_rewardItem: {fileID: 0}
_isDone: 0
_endStepEvent: {fileID: 0}

6
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest2/Step1/S1-Q2-QL2.asset


_actor: {fileID: 11400000, guid: b8d80efffb7881e4ebeb39806d2c6d18, type: 2}
_dialogueBeforeStep: {fileID: 11400000, guid: 934bfdda3cda193468012b4584b7e7d9,
type: 2}
_completeDialogue: {fileID: 11400000, guid: e794f67f5afb3bc4f8113ca1687fc958, type: 2}
_completeDialogue: {fileID: 0}
_item: {fileID: 0}
_item: {fileID: 0}
_hasReward: 0
_rewardItem: {fileID: 0}
_isDone: 0
_endStepEvent: {fileID: 0}

5
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest2/Step2/S2-Q2-QL2.asset


_completeDialogue: {fileID: 11400000, guid: b89791f25e7af1e4885e184279b73b5c, type: 2}
_incompleteDialogue: {fileID: 11400000, guid: bd0260c77c02f624aa9ad8a0a472bdb7,
type: 2}
_type: 2
_type: 2
_playImmediate: 0
_hasReward: 1
_rewardItem: {fileID: 11400000, guid: 4c6ff0a63c9085a46ad617bee1a15f33, type: 2}
_isDone: 0
_endStepEvent: {fileID: 0}

3
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/QL3.asset


m_Script: {fileID: 11500000, guid: 05c700bba7d21604586cb89ec5afdee0, type: 3}
m_Name: QL3
m_EditorClassIdentifier:
_guid: 2a7356cec2e1bfa419e9adadf891d5a8
_endQuestlineEvent: {fileID: 0}
_endQuestlineEvent: {fileID: 11400000, guid: 96aceb088027f75418664fec5c2e5e78, type: 2}

4
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Q1-QL3.asset


m_Script: {fileID: 11500000, guid: b4f9c8aa1ce987b4799f7093a99181a9, type: 3}
m_Name: Q1-QL3
m_EditorClassIdentifier:
_guid: ab3f2908dac817843be7d9eb8276671f
- {fileID: 11400000, guid: 9df60a5a40e89ad4f9f433fa71ab652f, type: 2}
- {fileID: 11400000, guid: 17db7bd0ccf22f84fb96373112a47853, type: 2}
- {fileID: 11400000, guid: f34e7360425190c409bffa1ecac942ba, type: 2}
_isDone: 0
_endQuestEvent: {fileID: 0}

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1.meta


fileFormatVersion: 2
guid: 028ba36fc9ab40c49acbf919b3d9af43
guid: 107bedcc13fe01a4caf416636f9f95de
folderAsset: yes
DefaultImporter:
externalObjects: {}

17
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/S1-Q1-QL3.asset


m_Script: {fileID: 11500000, guid: 3c4c03cb18bdd224b898e0687da8d1ac, type: 3}
m_Name: S1-Q1-QL3
m_EditorClassIdentifier:
_guid: 9df60a5a40e89ad4f9f433fa71ab652f
_guid: f34e7360425190c409bffa1ecac942ba
_dialogueBeforeStep: {fileID: 11400000, guid: 4d38b776be1821445ba5d25c44bc5b84,
_dialogueBeforeStep: {fileID: 11400000, guid: bf78324b8d2f2fc4890537ddd01b1fdb,
_completeDialogue: {fileID: 11400000, guid: 0acf04e29cba31846a16188109880cc1, type: 2}
_incompleteDialogue: {fileID: 11400000, guid: a890798e853a0b64690a336e75c1b127,
type: 2}
_completeDialogue: {fileID: 0}
_incompleteDialogue: {fileID: 0}
_type: 0
_type: 0
_isDone: 1
_endStepEvent: {fileID: 11400000, guid: 96aceb088027f75418664fec5c2e5e78, type: 2}
_hasReward: 0
_rewardItem: {fileID: 0}
_isDone: 0
_endStepEvent: {fileID: 0}

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/S1-Q1-QL3.asset.meta


fileFormatVersion: 2
guid: 9df60a5a40e89ad4f9f433fa71ab652f
guid: f34e7360425190c409bffa1ecac942ba
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

52
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/SD-S1-Q1-QL3.asset


m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-SD-S1-Q1-QL3
m_Key: L1-SD-S2-Q1-QL3
_choices:
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 20322714321281024
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1
_nextDialogue: {fileID: 0}
_actionType: 1
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 20322813445267456
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1
_nextDialogue: {fileID: 11400000, guid: a890798e853a0b64690a336e75c1b127, type: 2}
_actionType: 0
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-SD-S2-Q1-QL3
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L3-SD-S2-Q1-QL3
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L4-SD-S2-Q1-QL3
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L5-SD-S2-Q1-QL3
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
_dialogueType: 0

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3/Quest1/Step1/SD-S1-Q1-QL3.asset.meta


fileFormatVersion: 2
guid: 4d38b776be1821445ba5d25c44bc5b84
guid: bf78324b8d2f2fc4890537ddd01b1fdb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Q1-QL4.asset


- {fileID: 11400000, guid: a1a09a15ed704b84b95d9b2adf8b88d2, type: 2}
- {fileID: 11400000, guid: c0990e60e5858ed48b0add09c1895572, type: 2}
- {fileID: 11400000, guid: 6399425d00d3d184b83bf64febb562e0, type: 2}
- {fileID: 11400000, guid: 78ccfbf396925e44e8ff28a2964a3c79, type: 2}
- {fileID: 11400000, guid: 4be954c9923508c458a7caf9ff05ef04, type: 2}
_isDone: 0
_endQuestEvent: {fileID: 0}

4
UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step3/S3-Q1-QL4.asset


_completeDialogue: {fileID: 11400000, guid: 3f5d67fc13b226040865b8abdd8c2b7d, type: 2}
_incompleteDialogue: {fileID: 11400000, guid: d69361c4a016fde478566ac520ab817e,
type: 2}
_type: 1
_type: 2
_hasReward: 1
_rewardItem: {fileID: 11400000, guid: 4923aeec14bcdbc49a3237f1f5ba042b, type: 2}
_isDone: 0
_endStepEvent: {fileID: 0}

9
UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step4/S4-Q1-QL4.asset


_dialogueBeforeStep: {fileID: 11400000, guid: 5075a9a8b248c8b4ab2353b8f9d31a9c,
type: 2}
_completeDialogue: {fileID: 11400000, guid: f524554ccf6d2144f9957be72c9beb02, type: 2}
_incompleteDialogue: {fileID: 0}
_incompleteDialogue: {fileID: 11400000, guid: a6ff2ab1983e4204884657fe8a1bf3c2,
type: 2}
_type: 1
_type: 3
_isDone: 1
_hasReward: 1
_rewardItem: {fileID: 11400000, guid: 3377154067605824da9db64c6205ddbe, type: 2}
_isDone: 0
_endStepEvent: {fileID: 0}

2
UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Q1-QL5.asset


m_Script: {fileID: 11500000, guid: b4f9c8aa1ce987b4799f7093a99181a9, type: 3}
m_Name: Q1-QL5
m_EditorClassIdentifier:
_guid: 5603b6a24e689044eb1e327cd30ddad2
- {fileID: 11400000, guid: 663d108d637d7d447abcbbef2c1c46d7, type: 2}
_isDone: 0
_endQuestEvent: {fileID: 0}

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Step1/S1-Q1-QL5.asset


m_Script: {fileID: 11500000, guid: 3c4c03cb18bdd224b898e0687da8d1ac, type: 3}
m_Name: S1-Q1-QL5
m_EditorClassIdentifier:
_guid: eec2774d191cf0f4493da0ab931dfd5c
_incompleteDialogue: {fileID: 0}
_item: {fileID: 0}
_incompleteDialogue: {fileID: 11400000, guid: 365a32ddf450e334891b9c1de6dde952,
type: 2}
_item: {fileID: 0}
_hasReward: 0
_rewardItem: {fileID: 0}
_isDone: 0
_endStepEvent: {fileID: 0}

2
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/Conditions/IsDialogueActiveCondition.asset


m_EditorClassIdentifier:
_startDialogueEvent: {fileID: 11400000, guid: 5cfe626f5482b914a9e46ebbe35ea1a8,
type: 2}
_endDialogueEvent: {fileID: 11400000, guid: b8f14d59bc3b10e4f9bdf1e65c3c6280, type: 2}
_endDialogueEvent: {fileID: 11400000, guid: 42c4c250df06bf84b97d11a23c36d47c, type: 2}

1
UOP1_Project/Assets/Scripts/Characters/Protagonist.cs


private void OnMove(Vector2 movement)
{
Debug.Log("Move " + movement);
_inputVector = movement;
}

8
UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsDialogueActiveConditionSO.cs


public class IsDialogueActiveConditionSO : StateConditionSO
{
[SerializeField] private DialogueDataChannelSO _startDialogueEvent = default;
[SerializeField] private DialogueDataChannelSO _endDialogueEvent = default;
[SerializeField] private IntEventChannelSO _endDialogueEvent = default;
protected override Condition CreateCondition() => new IsDialogueActiveCondition(_startDialogueEvent, _endDialogueEvent);

{
private DialogueDataChannelSO _startDialogueEvent;
private DialogueDataChannelSO _endDialogueEvent;
private IntEventChannelSO _endDialogueEvent;
public IsDialogueActiveCondition(DialogueDataChannelSO startDialogueEvent, DialogueDataChannelSO endDialogueEvent)
public IsDialogueActiveCondition(DialogueDataChannelSO startDialogueEvent, IntEventChannelSO endDialogueEvent)
{
_startDialogueEvent = startDialogueEvent;
_endDialogueEvent = endDialogueEvent;

_isDialogueActive = true;
}
private void OnDialogueEnd(DialogueDataSO dialogue)
private void OnDialogueEnd(int dialogueType)
{
_isDialogueActive = false;
}

23
UOP1_Project/Assets/Scripts/Dialogues/ActorSO.cs


using UnityEngine;
using System;
using UnityEngine;
using UnityEngine.Localization.Metadata;
public enum ActorID
{
BH, // Bard hare
H, // hamlet
F, // felfel
A, // ayoud
T, // terra
LC,//Legendary chef
C, // Cerise
N, //nar
}
[SerializeField] private ActorID _actorId = default;
[SerializeField] private LocalizedString _actorName = default;
public ActorID ActorId { get => _actorId; }
[SerializeField] private LocalizedString _actorName = default;

240
UOP1_Project/Assets/Scripts/Dialogues/DialogueDataSO.cs


using UnityEngine.Localization;
using UnityEditor.Localization;
using UnityEditor;
using UnityEngine.Localization.Settings;
using UnityEngine.Localization.Metadata;
startDialogue,
winDialogue,
loseDialogue,
defaultDialogue,
StartDialogue,
CompletionDialogue,
IncompletionDialogue,
DefaultDialogue,
doNothing,
continueWithStep,
winningChoice,
losingChoice,
DoNothing,
ContinueWithStep,
WinningChoice,
LosingChoice,
IncompleteStep
}
/// <summary>

[CreateAssetMenu(fileName = "newDialogue", menuName = "Dialogues/Dialogue Data")]
[CreateAssetMenu(fileName = "new Dialogue", menuName = "Dialogues/Dialogue Data")]
[SerializeField] private ActorSO _actor = default;
[SerializeField] private List<LocalizedString> _dialogueLines = default;
[SerializeField] private List<Choice> _choices = default;
[SerializeField] private List<Line> _lines = default;
public ActorSO Actor => _actor;
public List<LocalizedString> DialogueLines => _dialogueLines;
public List<Choice> Choices => _choices;
public List<Line> _Lines => _lines;
public DialogueType DialogueType
{
get { return _dialogueType; }

public void SetActor(ActorSO newActor)
{
_actor = newActor;
//_actor = newActor;
public DialogueDataSO(string dialogueName)
{
SetDialogueLines(dialogueName);
}
_actor = dialogue.Actor;
_dialogueLines = new List<LocalizedString>(dialogue.DialogueLines);
_choices = new List<Choice>();
_endOfDialogueEvent = dialogue.EndOfDialogueEvent;
if (dialogue.Choices != null)
for (int i = 0; i < dialogue.Choices.Count; i++)
{
_choices.Add(new Choice(dialogue.Choices[i]));
/* _actor = dialogue.Actor;
_dialogueLines = new List<LocalizedString>(dialogue.DialogueLines);
_choices = new List<Choice>();
_endOfDialogueEvent = dialogue.EndOfDialogueEvent;
if (dialogue.Choices != null)
for (int i = 0; i < dialogue.Choices.Count; i++)
{
}
_dialogueType = dialogue.DialogueType;
_choices.Add(new Choice(dialogue.Choices[i]));
}
_dialogueType = dialogue.DialogueType;
*/
}
public void FinishDialogue()
{

#if UNITY_EDITOR
private void OnEnable()
{
SetDialogueLines();
SetDialogueLines(this.name);
void SetDialogueLines()
void SetDialogueLines(string dialogueName)
if (_dialogueLines == null)
_dialogueLines = new List<LocalizedString>();
_dialogueLines.Clear();
StringTableCollection collection = LocalizationEditorSettings.GetStringTableCollection("Questline Dialogue");
if (collection != null)
{
int index = 0;
LocalizedString _dialogueLine = null;
do
{
index++;
string key = "L" + index + "-" + this.name;
if (collection.SharedData.Contains(key))
{
_dialogueLine = new LocalizedString() { TableReference = "Questline Dialogue", TableEntryReference = key };
_dialogueLines.Add(_dialogueLine);
}
else
{
_dialogueLine = null;
}
} while (_dialogueLine != null);
if (_lines == null)
_lines = new List<Line>();
}
}
public void CreateLine()
{
if (_dialogueLines == null)
_dialogueLines = new List<LocalizedString>();
_dialogueLines.Clear();
StringTableCollection collection = LocalizationEditorSettings.GetStringTableCollection("Questline Dialogue");
_lines.Clear();
int dialogueIndex = 0;
Line _dialogueLine = new Line();
if (collection != null)
do
string DefaultKey = "L" + 1 + "-" + this.name;
if (!collection.SharedData.Contains(DefaultKey))
{
dialogueIndex++;
_dialogueLine = new Line("D" + dialogueIndex + "-" + dialogueName);
if (_dialogueLine.TextList != null)
_lines.Add(_dialogueLine);
collection.SharedData.AddKey(DefaultKey);
} while (_dialogueLine.TextList != null);
}
}
SetDialogueLines();
public void RemoveLineFromSharedTable()
{
StringTableCollection collection = LocalizationEditorSettings.GetStringTableCollection("Questline Dialogue");
if (collection != null)
{
int index = 0;
LocalizedString _dialogueLine = null;
do
{
index++;
string key = "L" + index + "-" + this.name;
if (collection.SharedData.Contains(key))
{
collection.SharedData.RemoveKey(key);
}
else
{
_dialogueLine = null;
}
} while (_dialogueLine != null);
}
}
/// <summary>
/// This function is only useful for the Questline Tool in Editor to remove a Questline

_nextDialogue = choice.NextDialogue;
_actionType = ActionType;
}
public Choice(LocalizedString response)
{
_response = response;
}
public void SetChoiceAction(Comment comment)
{
_actionType = (ChoiceActionType)Enum.Parse(typeof(ChoiceActionType), comment.CommentText);
}
}
[Serializable]
public class Line
{
[SerializeField] private ActorID _actorID = default;
[SerializeField] private List<LocalizedString> _textList = default;
[SerializeField] private List<Choice> _choices = default;
public ActorID Actor => _actorID;
public List<LocalizedString> TextList => _textList;
public List<Choice> Choices => _choices;
public Line()
{
_textList = null;
}
public void SetActor(Comment comment)
{
_actorID = (ActorID)Enum.Parse(typeof(ActorID), comment.CommentText);
}
public Line(string _name)
{
StringTableCollection collection = LocalizationEditorSettings.GetStringTableCollection("Questline Dialogue");
_textList = null;
if (collection != null)
{
int lineIndex = 0;
LocalizedString _dialogueLine = null;
do
{
lineIndex++;
string key = "L" + lineIndex + "-" + _name;
if (collection.SharedData.Contains(key))
{
SetActor(collection.SharedData.GetEntry(key).Metadata.GetMetadata<Comment>());
_dialogueLine = new LocalizedString() { TableReference = "Questline Dialogue", TableEntryReference = key };
if (_textList == null)
_textList = new List<LocalizedString>();
_textList.Add(_dialogueLine);
}
else
{
_dialogueLine = null;
}
} while (_dialogueLine != null);
int choiceIndex = 0;
Choice choice = null;
do
{
choiceIndex++;
string key = "C" + choiceIndex + "-" + _name;
if (collection.SharedData.Contains(key))
{
LocalizedString _choiceLine = new LocalizedString() { TableReference = "Questline Dialogue", TableEntryReference = key };
choice = new Choice(_choiceLine);
choice.SetChoiceAction(collection.SharedData.GetEntry(key).Metadata.GetMetadata<Comment>());
if (_choices == null)
{
_choices = new List<Choice>();
}
_choices.Add(choice);
}
else
{
choice = null;
}
} while (choice != null);
}
else
{
_textList = null;
}
}
}

83
UOP1_Project/Assets/Scripts/Dialogues/DialogueManager.cs


public class DialogueManager : MonoBehaviour
{
// [SerializeField] private ChoiceBox _choiceBox; // TODO: Demonstration purpose only. Remove or adjust later.
[SerializeField]
private List<ActorSO> _actorsList = default;
private int _counter;
private bool _reachedEndOfDialogue { get => _counter >= _currentDialogue.DialogueLines.Count; }
private int _counterDialogue;
private int _counterLine;
private bool _reachedEndOfDialogue { get => _counterDialogue >= _currentDialogue._Lines.Count; }
private bool _reachedEndOfLine { get => _counterLine >= _currentDialogue._Lines[_counterDialogue].TextList.Count; }
[Header("Listening on channels")]
[SerializeField] private DialogueDataChannelSO _startDialogue = default;

[SerializeField] private DialogueLineChannelSO _openUIDialogueEvent = default;
[SerializeField] private DialogueChoicesChannelSO _showChoicesUIEvent = default;
[SerializeField] private IntEventChannelSO _endDialogueEvent = default;
[SerializeField] private IntEventChannelSO _endDialogueWithTypeEvent = default;
[SerializeField] private VoidEventChannelSO _playWinningQuest = default;
[SerializeField] private VoidEventChannelSO _playLosingQuest = default;
[SerializeField] private VoidEventChannelSO _playIncompleteDialogue = default;
[SerializeField] private VoidEventChannelSO _makeWinningChoice = default;
[SerializeField] private VoidEventChannelSO _makeLosingChoice = default;
[Header("Gameplay Components")]
[SerializeField]

{
if (_gameState.CurrentGameState != GameState.Cutscene)
_gameState.UpdateGameState(GameState.Dialogue);
_counter = 0;
_counterDialogue = 0;
_counterLine = 0;
if (_currentDialogue.DialogueLines != null)
DisplayDialogueLine(_currentDialogue.DialogueLines[_counter], dialogueDataSO.Actor);
if (_currentDialogue._Lines != null)
{
ActorSO currentActor = _actorsList.Find(o => o.ActorId == _currentDialogue._Lines[_counterDialogue].Actor); // we don't add a controle, because we need a null reference exeption if the actor is not in the list
DisplayDialogueLine(_currentDialogue._Lines[_counterDialogue].TextList[_counterLine], currentActor);
}
else
{
Debug.LogError("Check Dialogue");

/// <param name="dialogueDataSO"></param>
private void BeginDialogue(DialogueDataSO dialogueDataSO)
{
_counter = 0;
_counterDialogue = 0;
_inputReader.EnableDialogueInput();
_inputReader.advanceDialogueEvent += OnAdvance;
_currentDialogue = dialogueDataSO;

private void OnAdvance()
{
_counter++;
_counterLine++;
if (!_reachedEndOfLine)
{
ActorSO currentActor = _actorsList.Find(o => o.ActorId == _currentDialogue._Lines[_counterDialogue].Actor); // we don't add a controle, because we need a null reference exeption if the actor is not in the list
DisplayDialogueLine(_currentDialogue._Lines[_counterDialogue].TextList[_counterLine], currentActor);
if (!_reachedEndOfDialogue)
}
else if (_currentDialogue._Lines[_counterDialogue].Choices != null)
DisplayDialogueLine(_currentDialogue.DialogueLines[_counter], _currentDialogue.Actor);
if (_currentDialogue._Lines[_counterDialogue].Choices.Count > 0)
{
DisplayChoices(_currentDialogue._Lines[_counterDialogue].Choices);
}
if (_currentDialogue.Choices.Count > 0)
_counterDialogue++;
if (!_reachedEndOfDialogue)
DisplayChoices(_currentDialogue.Choices);
_counterLine = 0;
ActorSO currentActor = _actorsList.Find(o => o.ActorId == _currentDialogue._Lines[_counterDialogue].Actor); // we don't add a controle, because we need a null reference exeption if the actor is not in the list
DisplayDialogueLine(_currentDialogue._Lines[_counterDialogue].TextList[_counterLine], currentActor);
}
else
{

switch (choice.ActionType)
{
case ChoiceActionType.continueWithStep:
case ChoiceActionType.ContinueWithStep:
case ChoiceActionType.winningChoice:
if (_playWinningQuest != null)
_playWinningQuest.RaiseEvent();
case ChoiceActionType.WinningChoice:
if (_makeWinningChoice != null)
_makeWinningChoice.RaiseEvent();
case ChoiceActionType.losingChoice:
if (_playLosingQuest != null)
_playLosingQuest.RaiseEvent();
case ChoiceActionType.LosingChoice:
if (_makeLosingChoice != null)
_makeLosingChoice.RaiseEvent();
if (choice.NextDialogue != null)
DisplayDialogueData(choice.NextDialogue);
else

case ChoiceActionType.doNothing:
case ChoiceActionType.DoNothing:
break;
case ChoiceActionType.IncompleteStep:
if (_playIncompleteDialogue != null)
_playIncompleteDialogue.RaiseEvent();
if (choice.NextDialogue != null)
DisplayDialogueData(choice.NextDialogue);
break;
}

public void CutsceneDialogueEnded()
{
if (_endDialogueEvent != null)
_endDialogueEvent.RaiseEvent((int)DialogueType.defaultDialogue);
if (_endDialogueWithTypeEvent != null)
_endDialogueWithTypeEvent.RaiseEvent((int)DialogueType.DefaultDialogue);
if (_endDialogueEvent != null)
_endDialogueEvent.RaiseEvent((int)_currentDialogue.DialogueType);
if (_endDialogueWithTypeEvent != null)
_endDialogueWithTypeEvent.RaiseEvent((int)_currentDialogue.DialogueType);
_gameState.ResetToPreviousGameState();
_inputReader.advanceDialogueEvent -= OnAdvance;
_inputReader.EnableGameplayInput();

8
UOP1_Project/Assets/Scripts/Events/ScriptableObjects/BoolEventChannelSO.cs


[CreateAssetMenu(menuName = "Events/Bool Event Channel")]
public class BoolEventChannelSO : ScriptableObject
{
public UnityAction<bool> OnEventRaised;
public event UnityAction<bool> OnEventRaised;
public void RaiseEvent(bool value)
{
if (OnEventRaised != null)

{
if (OnEventRaised != null)
{
{
foreach (System.Delegate d in OnEventRaised.GetInvocationList())
{
OnEventRaised -= d as UnityAction<bool>;

}
}

40
UOP1_Project/Assets/Scripts/Gameplay/GameStateSO.cs


using UnityEngine;
public enum GameState
{
Gameplay,// regular state: player moves, attacks, can perform actions
Pause,// pause menu is opened, the whole game world is frozen
Inventory, //when inventory UI or cooking UI are open
Dialogue,
Cutscene,
LocationTransition,// when the character steps into LocationExit trigger, fade to black begins and control is removed from the player
Combat,//enemy is nearby and alert, player can't open Inventory or initiate dialogues, but can pause the game
Gameplay,// regular state: player moves, attacks, can perform actions
Pause,// pause menu is opened, the whole game world is frozen
Inventory, //when inventory UI or cooking UI are open
Dialogue,
Cutscene,
LocationTransition,// when the character steps into LocationExit trigger, fade to black begins and control is removed from the player
Combat,//enemy is nearby and alert, player can't open Inventory or initiate dialogues, but can pause the game
public class GameStateSO : ScriptableObject
public class GameStateSO : ScriptableObject
private GameState _currentGameState = default;
private GameState _previousGameState = default;
public GameState CurrentGameState => _currentGameState;
private GameState _currentGameState = default;
private GameState _previousGameState = default;
public GameState CurrentGameState => _currentGameState;
public void UpdateGameState( GameState newGameState)
public void UpdateGameState(GameState newGameState)
_previousGameState = _currentGameState;
_currentGameState = newGameState;
}
public void ResetToPreviousGameState()
{
_currentGameState = _previousGameState;
_previousGameState = _currentGameState;
_currentGameState = newGameState;
}
}
public void ResetToPreviousGameState()
{
_currentGameState = _previousGameState;
Debug.Log("Current Game State " + CurrentGameState);
}
}

6
UOP1_Project/Assets/Scripts/Input/InputReader.cs


public void EnableDialogueInput()
{
Debug.Log("EnableDialogueInput");
Debug.Log("EnableGameplayInput");
Debug.Log("EnableMenuInput");
gameInput.Dialogues.Disable();
gameInput.Gameplay.Disable();

public void DisableAllInput()
{
Debug.Log("DisableAllInput");
gameInput.Gameplay.Disable();
gameInput.Menus.Disable();
gameInput.Dialogues.Disable();

2
UOP1_Project/Assets/Scripts/Inventory/InventoryManager.cs


{
for (int i = 0; i < ingredients.Count; i++)
{
if ((ingredients[i].Item.ItemType.ActionType == ItemInventoryActionType.use))
if ((ingredients[i].Item.ItemType.ActionType == ItemInventoryActionType.Use))
_currentInventory.Remove(ingredients[i].Item, ingredients[i].Amount);
}
//add dish

10
UOP1_Project/Assets/Scripts/Inventory/ScriptableObjects/InventorySO.cs


if (item == currentItemStack.Item)
{
//only add to the amount if the item is usable
if (currentItemStack.Item.ItemType.ActionType == ItemInventoryActionType.use)
if (currentItemStack.Item.ItemType.ActionType == ItemInventoryActionType.Use)
{
currentItemStack.Amount += count;
}

public bool[] IngredientsAvailability(List<ItemStack> ingredients)
{
if (ingredients == null)
return null;
return null;
bool[] availabilityArray = new bool[ingredients.Count];
for (int i = 0; i < ingredients.Count; i++)

}
public void Init()
{
if(_items == null)
if (_items == null)
_items = new List<ItemStack>();
_items = new List<ItemStack>();
_items.Add(item);
_items.Add(item);
}
}

18
UOP1_Project/Assets/Scripts/Inventory/ScriptableObjects/ItemTypeSO.cs


public enum itemInventoryType
{
recipe,
utensil,
ingredient,
customisation,
dish,
Recipe,
Utensil,
Ingredient,
Customisation,
Dish,
cook,
use,
equip,
doNothing
Cook,
Use,
Equip,
DoNothing
}

4
UOP1_Project/Assets/Scripts/Quests/Editor/DialoguePreview.cs


{
VisualElement dialoguePreviewVE = new VisualElement();
DialogueDataSO currentDialogue = dialogueDataSO;
/*DialogueDataSO currentDialogue = dialogueDataSO;
foreach (LocalizedString localizedString in currentDialogue.DialogueLines)
{

dialoguePreviewVE.Add(CreateDialoguePreviewWithBranching(choice.NextDialogue));
}
}
*/
return dialoguePreviewVE;
}

99
UOP1_Project/Assets/Scripts/Quests/Editor/QuestEditorWindow.cs


}
public class QuestEditorWindow : EditorWindow
{
private StepSO _currentSelectedStep=default;
private QuestSO _currentSeletedQuest=default;
private QuestlineSO _currentSelectedQuestLine=default;
private StepSO _currentSelectedStep = default;
private QuestSO _currentSeletedQuest = default;
private QuestlineSO _currentSelectedQuestLine = default;
private int _idQuestlineSelected = default;
private int _idQuestSelected = default;
private int _idStepSelected = default;

if (createQuestButton != null)
{
createQuestButton.SetEnabled(true);
removeQuestButton.SetEnabled(true);
removeQuestButton.SetEnabled(true);
}
if (createStepButton != null)
{

listElements.Add("dialogue-info-scroll");
break;
}
foreach (string elementName in listElements)
{

dialoguesListView.onSelectionChange += (dialogueEnumerable) =>
{
DialogueDataSO dialogueData = GetDataFromListViewItem<DialogueDataSO>(dialogueEnumerable);
DisplayAllProperties(dialogueData, "dialogue-info-scroll");
};

//DialogueList.Q<VisualElement>("buttons-panel").Clear();
DialogueList.Add(ButtonsPanel);
DialogueList.Add(ButtonsPanel);
};

}
private void OnDisable()
{
AssetDatabase.SaveAssets();
AssetDatabase.SaveAssets();
}
private T GetDataFromListViewItem<T>(IEnumerable<object> enumberable) where T : ScriptableObject
{

AllDialogue = null;
List<DialogueDataSO> AllDialogueList = new List<DialogueDataSO>();
if (step != null)
{
{
if (step.DialogueBeforeStep != null)
{

}
}
private void AddDialogueBeforeStep()
{

int questId = 0;
questId = _currentSeletedQuest.IdQuest;
int stepId = 0;
stepId = _currentSeletedQuest.Steps.FindIndex(o=>o==_currentSelectedStep)+1;
stepId = _currentSeletedQuest.Steps.FindIndex(o => o == _currentSelectedStep) + 1;
_currentSelectedStep.DialogueBeforeStep=asset;
asset.DialogueType = DialogueType.startDialogue;
asset.CreateLine();
_currentSelectedStep.DialogueBeforeStep = asset;
asset.DialogueType = DialogueType.StartDialogue;
// asset.CreateLine();
rootVisualElement.Q<VisualElement>("steps-list").Q<ListView>().SetSelection(_idStepSelected);
}
private void AddCompletionDialogue()

int questId = 0;
questId = _currentSeletedQuest.IdQuest;
int stepId = 0;
stepId = _currentSeletedQuest.Steps.FindIndex(o => o == _currentSelectedStep)+1;
stepId = _currentSeletedQuest.Steps.FindIndex(o => o == _currentSelectedStep) + 1;
asset.DialogueType = DialogueType.winDialogue;
asset.CreateLine();
asset.DialogueType = DialogueType.CompletionDialogue;
// asset.CreateLine();
rootVisualElement.Q<VisualElement>("steps-list").Q<ListView>().SetSelection(_idStepSelected);
}
private void AddIncompletionDialogue()

int questId = 0;
questId = _currentSeletedQuest.IdQuest;
int stepId = 0;
stepId = _currentSeletedQuest.Steps.FindIndex(o => o == _currentSelectedStep)+1;
stepId = _currentSeletedQuest.Steps.FindIndex(o => o == _currentSelectedStep) + 1;
asset.DialogueType = DialogueType.loseDialogue;
asset.CreateLine();
asset.DialogueType = DialogueType.IncompletionDialogue;
//asset.CreateLine();
_currentSelectedStep.IncompleteDialogue = asset;
EditorUtility.SetDirty(asset);
EditorUtility.SetDirty(_currentSeletedQuest);

VisualElement dialogueAreaVE = stepVE.Q<VisualElement>("dialogue-area");
//Title
if(step!=null)
stepVE.Q<Label>("step-title-label").text = "Step" + step.name[1];
if (step != null)
stepVE.Q<Label>("step-title-label").text = "Step" + step.name[1];
//IsDone
Toggle isDoneToggle = stepVE.Q<Toggle>("step-done-toggle");

DialogueDataSO dialogueToPreview = default;
DialogueDataSO dialogueToPreview = default;
dialogueToPreview = step.StepToDialogue();
if (dialogueToPreview != null)
{

Label rightLineLabel = dialogueVE.Q<Label>("right-line-label");
leftLineLabel.text = completeDialogue.DialogueLines[0].GetLocalizedStringImmediateSafe();
if (incompleteDialogue != null)
rightLineLabel.text = incompleteDialogue.DialogueLines[0].GetLocalizedStringImmediateSafe();
// leftLineLabel.text = completeDialogue.DialogueLines[0].GetLocalizedStringImmediateSafe();
// if (incompleteDialogue != null)
//rightLineLabel.text = incompleteDialogue.DialogueLines[0].GetLocalizedStringImmediateSafe();
// hide options
VisualElement buttonArea = dialogueVE.Q<VisualElement>("buttons");

var nameProperty = itemsSource[i].GetType().GetProperty("name");
if (nameProperty != null)
{
if(itemsSource[i]!=null)
(element as Label).text = nameProperty.GetValue(itemsSource[i]) as string;
if (itemsSource[i] != null)
(element as Label).text = nameProperty.GetValue(itemsSource[i]) as string;
}
};
listview.itemsSource = itemsSource;

{
QuestSO quest = _currentSelectedQuestLine.Quests[0];
RemoveQuest(quest);
_currentSelectedQuestLine.Quests.RemoveAt(0);
_currentSelectedQuestLine.Quests.RemoveAt(0);
}
AssetDatabase.DeleteAsset(_currentSelectedQuestLine.GetPath());
//refresh List

int questId = 0;
questId = _currentSelectedQuestLine.Quests.Count + 1;
if (!AssetDatabase.IsValidFolder("Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId ))
if (!AssetDatabase.IsValidFolder("Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId))
AssetDatabase.CreateFolder("Assets/ScriptableObjects/Quests/Questline" + questlineId, "Quest" + questId);
AssetDatabase.CreateAsset(asset, "Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId + "/Q" + questId + "-QL" + questlineId + ".asset");
asset.SetQuestId(questId);

if (_currentSelectedQuestLine.Quests.Exists(o => o == _currentSeletedQuest))
_currentSelectedQuestLine.Quests.Remove(_currentSelectedQuestLine.Quests.Find(o => o == _currentSeletedQuest));
//when removing a step remove its dialogues
while(_currentSeletedQuest.Steps.Count>0)
{
StepSO step = _currentSeletedQuest.Steps[0];
while (_currentSeletedQuest.Steps.Count > 0)
{
StepSO step = _currentSeletedQuest.Steps[0];
_idQuestSelected = -1;
_idQuestSelected = -1;
//refresh List
rootVisualElement.Q<VisualElement>("questlines-list").Q<ListView>().SetSelection(_idQuestlineSelected);

if (questToRemove == null)
return;
//when removing a step remove its dialogues
//when removing a step remove its dialogues
foreach (StepSO step in questToRemove.Steps)
{
//When removing a step, remove its references in the parent quest

questId = _currentSeletedQuest.IdQuest;
int stepId = 0;
stepId = _currentSeletedQuest.Steps.Count + 1;
if (!AssetDatabase.IsValidFolder("Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId+"/Step" + stepId))
AssetDatabase.CreateFolder("Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId, "Step" + stepId);
if (!AssetDatabase.IsValidFolder("Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId + "/Step" + stepId))
AssetDatabase.CreateFolder("Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId, "Step" + stepId);
AssetDatabase.CreateAsset(asset, "Assets/ScriptableObjects/Quests/Questline" + questlineId + "/Quest" + questId + "/Step" + stepId + "/S" + stepId + "-Q" + questId + "-QL" + questlineId + ".asset");
_currentSeletedQuest.Steps.Add(asset);
EditorUtility.SetDirty(asset);

{
if (_currentSelectedStep == null)
return;
return;
_currentSeletedQuest.Steps.Remove(_currentSeletedQuest.Steps.Find(o => o == _currentSelectedStep));
_currentSeletedQuest.Steps.Remove(_currentSeletedQuest.Steps.Find(o => o == _currentSelectedStep));
if (_currentSelectedStep.DialogueBeforeStep!=null)
if (_currentSelectedStep.DialogueBeforeStep != null)
RemoveDialogue(_currentSelectedStep.DialogueBeforeStep);
RemoveDialogue(_currentSelectedStep.DialogueBeforeStep);
}
if (_currentSelectedStep.CompleteDialogue != null)
{

if (stepToRemove.DialogueBeforeStep != null)
{
RemoveDialogue(stepToRemove.DialogueBeforeStep);
stepToRemove.DialogueBeforeStep = null;
stepToRemove.DialogueBeforeStep = null;
}
if (stepToRemove.CompleteDialogue != null)
{

}
AssetDatabase.DeleteAsset(stepToRemove.GetPath());
}
void RemoveDialogue( DialogueDataSO dialogueToRemove) {
dialogueToRemove.RemoveLineFromSharedTable();
void RemoveDialogue(DialogueDataSO dialogueToRemove)
{
// dialogueToRemove.RemoveLineFromSharedTable();
AssetDatabase.DeleteAsset(dialogueToRemove.GetPath());
}

dialoguePreviewVE.name = "Dialogue";
foreach (LocalizedString localizedString in dialogueDataSO.DialogueLines)
/*foreach (LocalizedString localizedString in dialogueDataSO.DialogueLines)
{
Label dialogueLine = new Label();
dialogueLine.name = dialogueDataSO.DialogueType.ToString();

choicesVE.Add(choiceVE);
}
dialoguePreviewVE.Add(choicesVE);
}
}*/
return dialoguePreviewVE;
}

18
UOP1_Project/Assets/Scripts/Quests/QuestManager.asset


- {fileID: 11400000, guid: e53837a78a301d641bdd95eff3e7d220, type: 2}
- {fileID: 11400000, guid: 4056d228b0cfae143948cd1185e918f8, type: 2}
_inventory: {fileID: 11400000, guid: 59c84467f7726dc4587a8373b0936f03, type: 2}
_winningQuest: {fileID: 11400000, guid: ef802e831ba510e41b1dec2b86e047f8, type: 2}
_losingQuest: {fileID: 11400000, guid: 7400f0647438a484986828f524980855, type: 2}
_checkStepValidityEvent: {fileID: 11400000, guid: 6711182c372e2e94a8bd3fd1868223ec,
_winningItem: {fileID: 11400000, guid: 9e0d1325ada2c594ab8085343cd41f3e, type: 2}
_losingItem: {fileID: 11400000, guid: 5392cd3c95cc3a04a9fb13b6f40a845e, type: 2}
_continueWithStepEvent: {fileID: 11400000, guid: 6711182c372e2e94a8bd3fd1868223ec,
_playWinningQuest: {fileID: 11400000, guid: cf85098764f74134e80c631a1a1a1709, type: 2}
_playLosingQuest: {fileID: 11400000, guid: 1668df705c9a7a1408c4668ece6b5302, type: 2}
_completeDialogueEvent: {fileID: 11400000, guid: dc2da1754c28ab9499cb6c7d72465e69,
_makeWinningChoice: {fileID: 11400000, guid: cf85098764f74134e80c631a1a1a1709, type: 2}
_makeLosingChoice: {fileID: 11400000, guid: 1668df705c9a7a1408c4668ece6b5302, type: 2}
_playCompletionDialogueEvent: {fileID: 11400000, guid: dc2da1754c28ab9499cb6c7d72465e69,
type: 2}
_playIncompleteDialogueEvent: {fileID: 11400000, guid: fcc99784052e5cc469b8c22c0674b051,
_incompleteDialogueEvent: {fileID: 11400000, guid: fcc99784052e5cc469b8c22c0674b051,
_startWinningCutscene: {fileID: 11400000, guid: 4d7d2082d811bcb44bbbbd181f56c418,
type: 2}
_startLosingCutscene: {fileID: 11400000, guid: c10ebde976f48a2438adae3185d88017,
type: 2}
_giveItemEvent: {fileID: 11400000, guid: c54b320c4205f1c49b296b878daf2097, type: 2}
_rewardItemEvent: {fileID: 11400000, guid: ceeec59dc461abd4f91dac5b07084d24, type: 2}

76
UOP1_Project/Assets/Scripts/Quests/QuestManagerSO.cs


[SerializeField] private InventorySO _inventory = default;
[SerializeField] private QuestSO _winningQuest = default;
[SerializeField] private QuestSO _losingQuest = default;
[SerializeField] private ItemSO _winningItem = default;
[SerializeField] private ItemSO _losingItem = default;
[SerializeField] private VoidEventChannelSO _playWinningQuest = default;
[SerializeField] private VoidEventChannelSO _playLosingQuest = default;
[SerializeField] private VoidEventChannelSO _makeWinningChoice = default;
[SerializeField] private VoidEventChannelSO _makeLosingChoice = default;
[FormerlySerializedAs("_completeDialogueEvent")]
[FormerlySerializedAs("_incompleteDialogueEvent")]
[SerializeField] private VoidEventChannelSO _startWinningCutscene = default;
[SerializeField] private VoidEventChannelSO _startLosingCutscene = default;
[SerializeField] private ItemEventChannelSO _giveItemEvent = default;
[SerializeField] private ItemEventChannelSO _rewardItemEvent = default;
[SerializeField] private SaveSystem saveSystem = default;

{
_continueWithStepEvent.OnEventRaised -= CheckStepValidity;
_endDialogueEvent.OnEventRaised -= EndDialogue;
_playWinningQuest.OnEventRaised -= SetWinningSteps;
_playLosingQuest.OnEventRaised -= SetLosingSteps;
_makeWinningChoice.OnEventRaised -= PlayWinningQuest;
_makeLosingChoice.OnEventRaised -= PlayLosingQuest;
}
public void StartGame()
{

_playWinningQuest.OnEventRaised += SetWinningSteps;
_playLosingQuest.OnEventRaised += SetLosingSteps;
_makeWinningChoice.OnEventRaised += PlayWinningQuest;
_makeLosingChoice.OnEventRaised += PlayLosingQuest;
StartQuestline();
}
void StartQuestline()

}
}
void SetWinningSteps()
void PlayWinningQuest()
for (int i = 0; i < _winningQuest.Steps.Count; i++)
_currentQuest.Steps.Add(_winningQuest.Steps[i]);
//check if has sweet recipe
if (_inventory.Contains(_winningItem))
{
//Finish step and play Win cutscene
EndStep();
_startWinningCutscene.RaiseEvent();
}
else
{
//trigger lose dialogue
_playIncompleteDialogueEvent.RaiseEvent();
}
void SetLosingSteps()
void PlayLosingQuest()
for (int i = 0; i < _losingQuest.Steps.Count; i++)
_currentQuest.Steps.Add(_losingQuest.Steps[i]);
//check if has savory recipe
if (_inventory.Contains(_losingItem))
{
//Finish step and play lose cutscene
EndStep();
_startLosingCutscene.RaiseEvent();
}
else
{
//trigger lose dialogue
_playIncompleteDialogueEvent.RaiseEvent();
}
}
void StartStep()
{

}
}
void CheckStepValidity()
{

if (_inventory.Contains(_currentStep.Item))
{
_inventory.Contains(_currentStep.Item);
//Trigger win dialogue
_playCompletionDialogueEvent.RaiseEvent();
}

}
break;
case StepType.RewardItem:
_rewardItemEvent.RaiseEvent(_currentStep.Item);
//no dialogue is needed after Reward Item
if (_currentStep.CompleteDialogue != null)
{
_playCompletionDialogueEvent.RaiseEvent();
}
else
{
EndStep();
}
break;
case StepType.Dialogue:
//dialogue has already been played
if (_currentStep.CompleteDialogue != null)

//depending on the dialogue that ended, do something
switch ((DialogueType)dialogueType)
{
case DialogueType.winDialogue:
case DialogueType.CompletionDialogue:
if (_currentStep.HasReward && _currentStep.RewardItem != null)
_rewardItemEvent.RaiseEvent(_currentStep.RewardItem);
case DialogueType.startDialogue:
case DialogueType.StartDialogue:
CheckStepValidity();
break;
default:

82
UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/StepSO.cs


using System.Collections.Generic;
using UnityEditor;
using UnityEditor;
using UnityEngine.Localization;
using UnityEngine.Serialization;
CheckItem,
RewardItem
CheckItem
}
[CreateAssetMenu(fileName = "step", menuName = "Quests/Step")]
public class StepSO : SerializableScriptableObject

[Tooltip("The dialogue that will be diplayed if the step is not achieved yet")]
[SerializeField]
private DialogueDataSO _incompleteDialogue = default;
[Tooltip("The item to check/give/reward")]
[Tooltip("The type of the step")]
[SerializeField]
private StepType _type = default;
[Tooltip("The item to check/give")]
[Tooltip("The type of the step")]
[Tooltip("Is there any reward")]
private StepType _type = default;
private bool _hasReward = default;
[Tooltip("The item to reward if any")]
[SerializeField]
private ItemSO _rewardItem = default;
public DialogueDataSO DialogueBeforeStep {
public DialogueDataSO DialogueBeforeStep
{
get { return _dialogueBeforeStep; }
set { _dialogueBeforeStep = value; }
}

set { _incompleteDialogue = value; }
}
public ItemSO Item => _item;
public VoidEventChannelSO EndStepEvent => _endStepEvent;
public bool HasReward => _hasReward;
public ItemSO RewardItem => _rewardItem;
public VoidEventChannelSO EndStepEvent => _endStepEvent;
public StepType Type => _type;
public bool IsDone
{

public void FinishStep()
{
if(_endStepEvent!=null)
_endStepEvent.RaiseEvent();
if (_endStepEvent != null)
_endStepEvent.RaiseEvent();
dialogueData.SetActor(Actor);
if (DialogueBeforeStep != null)
{
dialogueData = new DialogueDataSO(DialogueBeforeStep);
if (DialogueBeforeStep.Choices != null)
{
if (CompleteDialogue != null)
/*
dialogueData.SetActor(Actor);
if (DialogueBeforeStep != null)
if (dialogueData.Choices.Count > 0)
dialogueData = new DialogueDataSO(DialogueBeforeStep);
if (DialogueBeforeStep.Choices != null)
if (CompleteDialogue != null)
{
if (dialogueData.Choices.Count > 0)
{
if (dialogueData.Choices[0].NextDialogue == null)
dialogueData.Choices[0].SetNextDialogue(CompleteDialogue);
}
}
if (IncompleteDialogue != null)
{
if (dialogueData.Choices.Count > 1)
{
if (dialogueData.Choices[1].NextDialogue == null)
dialogueData.Choices[1].SetNextDialogue(IncompleteDialogue);
}
if (dialogueData.Choices[0].NextDialogue == null)
dialogueData.Choices[0].SetNextDialogue(CompleteDialogue);
}
}
if (IncompleteDialogue != null)
{
if (dialogueData.Choices.Count > 1)
{
if (dialogueData.Choices[1].NextDialogue == null)
dialogueData.Choices[1].SetNextDialogue(IncompleteDialogue);
}
}
}
}
}
}
}
*/
return dialogueData;
}
#if UNITY_EDITOR

2
UOP1_Project/Assets/Scripts/UI/Dialogue/UIDialogueManager.cs


[SerializeField] private UIDialogueChoicesManager _choicesManager = default;
[SerializeField] private DialogueChoicesChannelSO _showChoicesEvent = default;
private void OnEnable ()
private void OnEnable()
{
_showChoicesEvent.OnEventRaised += ShowChoices;

10
UOP1_Project/Assets/Scripts/UI/Inventory/UIInventory.cs


//check if interactable
bool isInteractable = true;
_actionButton.gameObject.SetActive(true);
if (itemToInspect.ItemType.ActionType == ItemInventoryActionType.cook)
if (itemToInspect.ItemType.ActionType == ItemInventoryActionType.Cook)
else if (itemToInspect.ItemType.ActionType == ItemInventoryActionType.doNothing)
else if (itemToInspect.ItemType.ActionType == ItemInventoryActionType.DoNothing)
{
isInteractable = false;
_actionButton.gameObject.SetActive(false);

switch (itemToActOn.ItemType.ActionType)
{
case ItemInventoryActionType.cook:
case ItemInventoryActionType.Cook:
case ItemInventoryActionType.use:
case ItemInventoryActionType.Use:
case ItemInventoryActionType.equip:
case ItemInventoryActionType.Equip:
EquipItem(itemToActOn);
break;
default:

2
UOP1_Project/Assets/Scripts/UI/Inventory/UIInventoryInspector.cs


public void FillInspector(ItemSO itemToInspect, bool[] availabilityArray = null)
{
bool isForCooking = (itemToInspect.ItemType.ActionType == ItemInventoryActionType.cook);
bool isForCooking = (itemToInspect.ItemType.ActionType == ItemInventoryActionType.Cook);
_inspectorDescription.FillDescription(itemToInspect);

5
UOP1_Project/Assets/Scripts/UI/UIPause.cs


private void OnEnable()
{
_onPauseOpened?.OnEventRaised(true);
_onPauseOpened?.RaiseEvent(true);
_resumeButton.SetButton(true);
_inputReader.menuCloseEvent += Resume;
_resumeButton.Clicked += Resume;

private void OnDisable()
{
_onPauseOpened?.OnEventRaised(false);
_onPauseOpened?.RaiseEvent(false);
_resumeButton.Clicked -= Resume;
_settingsButton.Clicked -= OpenSettingsScreen;
_backToMenuButton.Clicked -= BackToMainMenuConfirmation;

34
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Bard-Town.asset


%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: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: Default-Bard-Town
m_EditorClassIdentifier:
_lines:
- _actorID: 0
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D1-Default-Bard
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-D1-Default-Bard
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
_dialogueType: 0
_endOfDialogueEvent: {fileID: 0}

8
UOP1_Project/Assets/ScriptableObjects/Dialogue/Default-Bard-Town.asset.meta


fileFormatVersion: 2
guid: dab621a8035cb8c4397c0e83b254d965
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

23
UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Ayud.asset


%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: f991c0f5eb9677944ae00c1b61548e72, type: 3}
m_Name: Ayud
m_EditorClassIdentifier:
_actorId: 3
_actorName:
m_TableReference:
m_TableCollectionName: GUID:9c592d2d4c7fc459f94a645873569195
m_TableEntryReference:
m_KeyId: 87619184212434947
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1

23
UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Cerise.asset


%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: f991c0f5eb9677944ae00c1b61548e72, type: 3}
m_Name: Cerise
m_EditorClassIdentifier:
_actorId: 6
_actorName:
m_TableReference:
m_TableCollectionName: GUID:9c592d2d4c7fc459f94a645873569195
m_TableEntryReference:
m_KeyId: 87619184212434950
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1

23
UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Felfel.asset


%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: f991c0f5eb9677944ae00c1b61548e72, type: 3}
m_Name: Felfel
m_EditorClassIdentifier:
_actorId: 2
_actorName:
m_TableReference:
m_TableCollectionName: GUID:9c592d2d4c7fc459f94a645873569195
m_TableEntryReference:
m_KeyId: 87619184212434949
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1

23
UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/LegendaryChef.asset


%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: f991c0f5eb9677944ae00c1b61548e72, type: 3}
m_Name: LegendaryChef
m_EditorClassIdentifier:
_actorId: 5
_actorName:
m_TableReference:
m_TableCollectionName: GUID:9c592d2d4c7fc459f94a645873569195
m_TableEntryReference:
m_KeyId: 87619184212434946
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1

23
UOP1_Project/Assets/ScriptableObjects/Narrative/Actors/Terra.asset


%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: f991c0f5eb9677944ae00c1b61548e72, type: 3}
m_Name: Terra
m_EditorClassIdentifier:
_actorId: 4
_actorName:
m_TableReference:
m_TableCollectionName: GUID:9c592d2d4c7fc459f94a645873569195
m_TableEntryReference:
m_KeyId: 87619184212434948
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 1

17
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/ID-S3-Q1-QL1.asset


%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: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: ID-S3-Q1-QL1
m_EditorClassIdentifier:
_lines: []
_dialogueType: 2
_endOfDialogueEvent: {fileID: 0}

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step3/ID-S3-Q1-QL1.asset.meta


fileFormatVersion: 2
guid: 9ea7f094d0bc78442b03643414760278
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

27
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/ID-S2-Q1-QL2.asset


%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: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: ID-S2-Q1-QL2
m_EditorClassIdentifier:
_lines:
- _actorID: 3
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D1-ID-S2-Q1-QL2
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
_dialogueType: 2
_endOfDialogueEvent: {fileID: 0}

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline2/Quest1/Step2/ID-S2-Q1-QL2.asset.meta


fileFormatVersion: 2
guid: e11ac55e978e59446bc377028ef61a14
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

27
UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step4/ID-S4-Q1-QL4.asset


%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: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: ID-S4-Q1-QL4
m_EditorClassIdentifier:
_lines:
- _actorID: 2
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D1-ID-S4-Q1-QL4
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
_dialogueType: 2
_endOfDialogueEvent: {fileID: 0}

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline4/Quest1/Step4/ID-S4-Q1-QL4.asset.meta


fileFormatVersion: 2
guid: a6ff2ab1983e4204884657fe8a1bf3c2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

74
UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Step1/ID-S1-Q1-QL5.asset


%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: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: ID-S1-Q1-QL5
m_EditorClassIdentifier:
_lines:
- _actorID: 5
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D1-SD-S1-Q1-QL5
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actorID: 1
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D2-SD-S1-Q1-QL5
m_FallbackState: 0
m_WaitForCompletion: 1
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L2-D2-SD-S1-Q1-QL5
m_FallbackState: 0
m_WaitForCompletion: 1
_choices: []
- _actorID: 5
_textList:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-D3-SD-S1-Q1-QL5
m_FallbackState: 0
m_WaitForCompletion: 1
_choices:
- _response:
m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: C1-D3-SD-S1-Q1-QL5
m_FallbackState: 0
m_WaitForCompletion: 1
_nextDialogue: {fileID: 0}
_actionType: 2
- _response:
m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: C2-D3-SD-S1-Q1-QL5
m_FallbackState: 0
m_WaitForCompletion: 1
_nextDialogue: {fileID: 0}
_actionType: 3
_dialogueType: 0
_endOfDialogueEvent: {fileID: 0}

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline5/Quest1/Step1/ID-S1-Q1-QL5.asset.meta


fileFormatVersion: 2
guid: 365a32ddf450e334891b9c1de6dde952
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/Scripts/Dialogues/Editor.meta


fileFormatVersion: 2
guid: 0520653a13a62c04ba3df3b30353f326
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

16
UOP1_Project/Assets/Scripts/Dialogues/Editor/CustomMetadata.cs


using System;
using UnityEngine.Localization.Metadata;
using UnityEditor;
using UnityEngine;
[Metadata(AllowedTypes = MetadataType.AllTableEntries)] // Hint to the editor to only show this type for a Locale
[Serializable]
public class ActorInfo : IMetadata
{
[SerializeField]
ActorID actor;
}
public class ChoiceInfo : IMetadata
{
[SerializeField]
ChoiceActionType choiceAction;
}

11
UOP1_Project/Assets/Scripts/Dialogues/Editor/CustomMetadata.cs.meta


fileFormatVersion: 2
guid: 369dfc6b5720df248a4695c4f7dcde55
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

18
UOP1_Project/Assets/ScriptableObjects/Dialogue/No-Default-Bard.asset


%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: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: No-Default-Bard
m_EditorClassIdentifier:
_actor: {fileID: 11400000, guid: 027d026cf519df04eb8b7bf251472e13, type: 2}
_dialogueLines: []
_choices: []
_dialogueType: 0

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存