Working dialogue images mixed with text

This commit is contained in:
Michal Pikulski
2025-10-08 11:27:27 +02:00
parent 1a05f89226
commit 5ad3ae8815
9 changed files with 485 additions and 363 deletions

View File

@@ -40,14 +40,14 @@ MonoBehaviour:
- __option_DialogueLineType
- __option_NoLines
- RequiredPuzzleStep
- DefaultDialogueLine
- LoopThroughDefaultLines
- DefaultDialogueContent
m_ValueList:
- rid: 4008004731853340754
- rid: 4008004731853340755
- rid: 4008004731853340756
- rid: 4008004731853340757
- rid: 4008004731853340758
- rid: 7545629632211976319
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -82,10 +82,6 @@ MonoBehaviour:
type: {class: 'Constant`1[[PuzzleStepSO, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: {fileID: 11400000, guid: ea383d1dee861f54c9a1d4f32a2f6afc, type: 2}
- rid: 4008004731853340757
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: That Lawnmower is out of control!
- rid: 4008004731853340758
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
@@ -125,6 +121,41 @@ MonoBehaviour:
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 7545629632211976315
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text:
_image: {fileID: 0}
- rid: 7545629632211976316
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text:
_image: {fileID: 0}
- rid: 7545629632211976317
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text:
_image: {fileID: 0}
- rid: 7545629632211976318
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text:
_image: {fileID: 0}
- rid: 7545629632211976319
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text:
_image: {fileID: 0}
- rid: 7772910664224079872
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:
@@ -351,17 +382,17 @@ MonoBehaviour:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine2
- LoopThroughDefaultLines
- DefaultDialogueLine1
- DefaultDialogueLine3
- DefaultDialogueContent1
- DefaultDialogueContent2
- DefaultDialogueContent3
m_ValueList:
- rid: 7772910664224079887
- rid: 7772910664224079888
- rid: 7772910664224079894
- rid: 7772910664224079890
- rid: 7772910664224079893
- rid: 7772910664224079895
- rid: 7545629632211976315
- rid: 7545629632211976316
- rid: 7545629632211976317
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -431,19 +462,6 @@ MonoBehaviour:
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 7772910664224079893
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Ok Guys! Let's get these birds out in the open!
- rid: 7772910664224079894
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Place things the Birds might like in their nests.
- rid: 7772910664224079895
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: I guess what you find in th enests can give you a clue of what they
like?
- rid: 7772910664224079896
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:
@@ -464,13 +482,13 @@ MonoBehaviour:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine
- LoopThroughDefaultLines
- DefaultDialogueContent
m_ValueList:
- rid: 7772910664224079897
- rid: 7772910664224079898
- rid: 7772910664224079899
- rid: 7772910664224079900
- rid: 7545629632211976318
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -501,10 +519,6 @@ MonoBehaviour:
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
- rid: 7772910664224079899
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Go on, get them out of their hiding spots.
- rid: 7772910664224079900
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:

View File

@@ -19,6 +19,20 @@ MonoBehaviour:
RefIds:
- rid: -2
type: {class: , ns: , asm: }
- rid: 7545629632211976320
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text:
_image: {fileID: 0}
- rid: 7545629632211976321
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text:
_image: {fileID: 0}
- rid: 7772910664224079994
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:
@@ -296,15 +310,15 @@ MonoBehaviour:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine2
- LoopThroughDefaultLines
- DefaultDialogueLine1
- DefaultDialogueContent1
- DefaultDialogueContent2
m_ValueList:
- rid: 7772910664224080006
- rid: 7772910664224080007
- rid: 7772910664224080012
- rid: 7772910664224080009
- rid: 7772910664224080011
- rid: 7545629632211976320
- rid: 7545629632211976321
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -374,14 +388,6 @@ MonoBehaviour:
- rid: 7772910664224080010
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
data:
- rid: 7772910664224080011
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: My lawnmower is on a break so i'm also on a break...
- rid: 7772910664224080012
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: I ain't moving until she decides to move...
- rid: 7772910664224080013
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:

View File

@@ -58,10 +58,10 @@ MonoBehaviour:
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: 115
y: 7
width: 3353
height: 399
x: -36
y: 12
width: 3787.2
height: 559.19995
m_GraphElementMetaData:
- m_Guid:
m_Value0: 15250916379536742066
@@ -237,7 +237,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: b25679f5a423a6d30df98cd989cabcf0
m_Version: 2
m_Position: {x: 303.87872, y: 210.33638}
m_Position: {x: 152.62463, y: 208.7273}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -280,7 +280,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 4c15a501ab0b3876663348bd143a160c
m_Version: 2
m_Position: {x: 115.3345, y: 263.23343}
m_Position: {x: -35.919586, y: 261.62433}
m_Title: SpeakerName
m_Tooltip:
m_NodePreviewModel:
@@ -376,7 +376,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 63e5eb3c34667babc753a8b79a9a6d99
m_Version: 2
m_Position: {x: 513.6555, y: 168.80977}
m_Position: {x: 362.40143, y: 167.20068}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -386,13 +386,13 @@ MonoBehaviour:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine
- LoopThroughDefaultLines
- DefaultDialogueContent
m_ValueList:
- rid: 1226592702090707077
- rid: 1226592702090707078
- rid: 1226592702090707079
- rid: 1226592702090707080
- rid: 7545629632211976303
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -423,10 +423,6 @@ MonoBehaviour:
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
- rid: 1226592702090707079
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Psst boy... Why don't you pick up THAT ASS over there?
- rid: 1226592702090707080
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
@@ -476,7 +472,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: d897c8a6890a4ec4f5f614a0a23bfb0b
m_Version: 2
m_Position: {x: 906.1956, y: 144.21957}
m_Position: {x: 832.17773, y: 142.61052}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -487,18 +483,18 @@ MonoBehaviour:
- __option_DialogueLineType
- __option_NoLines
- RequiredPickup
- DefaultDialogueLine2
- LoopThroughDefaultLines
- DefaultDialogueLine1
- DefaultDialogueLine3
- DefaultDialogueContent1
- DefaultDialogueContent2
- DefaultDialogueContent3
m_ValueList:
- rid: 1226592702090707084
- rid: 1226592702090707085
- rid: 1226592702090707086
- rid: 1226592702090707092
- rid: 1226592702090707088
- rid: 1226592702090707091
- rid: 1226592702090707093
- rid: 7545629632211976304
- rid: 7545629632211976305
- rid: 7545629632211976306
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -572,18 +568,6 @@ MonoBehaviour:
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 1226592702090707091
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: I said pick it up!
- rid: 1226592702090707092
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Cmon, don't be like this!
- rid: 1226592702090707093
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: The ass is waiting there for you!
- rid: 1226592702090707099
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:
@@ -594,7 +578,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 3b750432bd23177050f4f1fac360a6c3
m_Version: 2
m_Position: {x: 1376.4679, y: 141.66953}
m_Position: {x: 1300.841, y: 141.66953}
m_Title: DialogueNode
m_Tooltip:
m_NodePreviewModel:
@@ -605,14 +589,14 @@ MonoBehaviour:
- __option_DialogueLineType
- __option_NoLines
- LoopThroughDefaultLines
- DefaultDialogueLine1
- DefaultDialogueLine2
- DefaultDialogueContent1
- DefaultDialogueContent2
m_ValueList:
- rid: 1226592702090707100
- rid: 1226592702090707101
- rid: 1226592702090707103
- rid: 1226592702090707106
- rid: 1226592702090707107
- rid: 7545629632211976307
- rid: 7545629632211976308
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -682,14 +666,6 @@ MonoBehaviour:
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 1226592702090707106
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Ohhhh yeah, that's the stuff.
- rid: 1226592702090707107
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Now, go on, chop it!
- rid: 1226592736610877523
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:
@@ -700,7 +676,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: f3e06bfaeec3029fe7bcecfcb7e96ae8
m_Version: 2
m_Position: {x: 1763.6455, y: 116.19321}
m_Position: {x: 1771.6909, y: 116.19321}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -711,14 +687,14 @@ MonoBehaviour:
- __option_DialogueLineType
- __option_NoLines
- RequiredResultItem
- DefaultDialogueLine
- LoopThroughDefaultLines
- DefaultDialogueContent
m_ValueList:
- rid: 1226592736610877524
- rid: 1226592736610877525
- rid: 1226592736610877526
- rid: 1226592736610877527
- rid: 1226592736610877528
- rid: 7545629632211976309
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -753,14 +729,10 @@ MonoBehaviour:
type: {class: 'Constant`1[[PickupItemData, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: {fileID: 11400000, guid: ecae2d83a5ab2a047a2733ebff607380, type: 2}
- rid: 1226592736610877527
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: I need my meat :(
- rid: 1226592736610877528
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
m_Value: 0
- rid: 1226592736610877529
type: {class: WaitOnCombination, ns: Editor.Dialogue, asm: AppleHillsEditor}
data:
@@ -817,12 +789,12 @@ MonoBehaviour:
- __option_DialogueLineType
- __option_NoLines
- LoopThroughDefaultLines
- DefaultDialogueLine
- DefaultDialogueContent
m_ValueList:
- rid: 1226592736610877538
- rid: 1226592736610877539
- rid: 1226592736610877540
- rid: 1226592736610877545
- rid: 7545629632211976310
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -892,10 +864,6 @@ MonoBehaviour:
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 1226592736610877545
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Nice, that's the stuff! Now go cook it for me!
- rid: 1226592736610877546
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:
@@ -906,7 +874,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 69712d8f46502fa577433f59c2c1f85c
m_Version: 2
m_Position: {x: 2650.1987, y: 6.86882}
m_Position: {x: 2752.9822, y: 11.763229}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -921,12 +889,12 @@ MonoBehaviour:
- __option_ForbiddenItemDialogueLineType
- __option_ForbiddenItemNoLines
- RequiredSlot
- DefaultDialogueLine
- LoopThroughDefaultLines
- IncorrectItemDialogueLine
- LoopThroughIncorrectItemLines
- ForbiddenItemDialogueLine
- LoopThroughForbiddenItemLines
- DefaultDialogueContent
- IncorrectItemDialogueContent
- ForbiddenItemDialogueContent
m_ValueList:
- rid: 1226592736610877547
- rid: 1226592736610877548
@@ -935,12 +903,12 @@ MonoBehaviour:
- rid: 1226592736610877551
- rid: 1226592736610877552
- rid: 1226592736610877553
- rid: 1226592736610877554
- rid: 1226592736610877555
- rid: 1226592736610877556
- rid: 1226592736610877557
- rid: 1226592736610877558
- rid: 1226592736610877559
- rid: 7545629632211976311
- rid: 7545629632211976312
- rid: 7545629632211976313
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -1005,30 +973,18 @@ MonoBehaviour:
type: {class: 'Constant`1[[PickupItemData, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: {fileID: 11400000, guid: e0fad48a84a6b6346ac17c84bc512500, type: 2}
- rid: 1226592736610877554
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Cmon, it's not gonna cook itself!
- rid: 1226592736610877555
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
- rid: 1226592736610877556
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: What do you think you're cooking?!
- rid: 1226592736610877557
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
- rid: 1226592736610877558
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
- rid: 1226592736610877559
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 0
m_Value: 1
- rid: 1226592736610877560
type: {class: WaitOnSlot, ns: Editor.Dialogue, asm: AppleHillsEditor}
data:
@@ -1074,7 +1030,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 91bec6fb97b9d7d954d9847f1c7dfdce
m_Version: 2
m_Position: {x: 3164.9407, y: 88.21074}
m_Position: {x: 3317.6943, y: 96.60597}
m_Title: DialogueNode
m_Tooltip:
m_NodePreviewModel:
@@ -1085,12 +1041,12 @@ MonoBehaviour:
- __option_DialogueLineType
- __option_NoLines
- LoopThroughDefaultLines
- DefaultDialogueLine
- DefaultDialogueContent
m_ValueList:
- rid: 1226592736610877568
- rid: 1226592736610877569
- rid: 1226592736610877570
- rid: 1226592736610877571
- rid: 7545629632211976314
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -1125,10 +1081,6 @@ MonoBehaviour:
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 0
- rid: 1226592736610877571
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Sweat, delicions steak!
- rid: 1226592736610877572
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
data:
@@ -1164,3 +1116,87 @@ MonoBehaviour:
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 7545629632211976303
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: Hey boy, go on and pick up that ass over there!
_image: {fileID: 0}
- rid: 7545629632211976304
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: "Go on, it's right there!\t\t"
_image: {fileID: 0}
- rid: 7545629632211976305
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: I need ASS!
_image: {fileID: 0}
- rid: 7545629632211976306
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: C'mon, don't be like this!
_image: {fileID: 0}
- rid: 7545629632211976307
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: Yessss, that's the stuff, now chop it!
_image: {fileID: 0}
- rid: 7545629632211976308
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 1
_text:
_image: {fileID: 6282751622250221668, guid: 204325ac88be74d4d882a078c64cf5e1, type: 3}
- rid: 7545629632211976309
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: Chop it!!
_image: {fileID: 0}
- rid: 7545629632211976310
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: Good, shit now cook!
_image: {fileID: 0}
- rid: 7545629632211976311
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 1
_text:
_image: {fileID: 6282751622250221668, guid: 204325ac88be74d4d882a078c64cf5e1, type: 3}
- rid: 7545629632211976312
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: What exactly are you cooking?!
_image: {fileID: 0}
- rid: 7545629632211976313
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: What exactly are you cooking?!
_image: {fileID: 0}
- rid: 7545629632211976314
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: Yessssss, thanks!
_image: {fileID: 0}

View File

@@ -36,14 +36,12 @@ MonoBehaviour:
- rid: 1219994508087787764
- rid: 1219994508087787770
- rid: 1219994508087787776
- rid: 1226592702090706949
m_GraphWireModels:
- rid: 1219994508087787755
- rid: 1219994508087787773
- rid: 1219994508087787779
- rid: 1219994508087787813
- rid: 1226592702090706955
- rid: 1226592702090706956
- rid: 7545629632211976322
m_GraphStickyNoteModels: []
m_GraphPlacematModels: []
m_GraphVariableModels:
@@ -54,10 +52,10 @@ MonoBehaviour:
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: 128
y: -65
width: 2055
height: 243
x: -163.2
y: -62.4
width: 2048.8
height: 514.4
m_GraphElementMetaData:
- m_Guid:
m_Value0: 13346176596883742728
@@ -148,29 +146,13 @@ MonoBehaviour:
m_Category: 2
m_Index: 3
- m_Guid:
m_Value0: 3534792673092891566
m_Value1: 6472493350207860515
m_Value0: 3747411033454993788
m_Value1: 16062730125593257019
m_HashGuid:
serializedVersion: 2
Hash: aef35a42351b0e3123af37c668ead259
m_Category: 0
m_Index: 6
- m_Guid:
m_Value0: 1069232297653548642
m_Value1: 12871763382231758094
m_HashGuid:
serializedVersion: 2
Hash: 62b603141cadd60e0ef5cd3e99b0a1b2
Hash: 7ce176f47a7a01343ba4f3faf147eade
m_Category: 2
m_Index: 4
- m_Guid:
m_Value0: 6652862542851746443
m_Value1: 1010545699289270970
m_HashGuid:
serializedVersion: 2
Hash: 8b2a2efe3bb7535cba8a6f9bf52d060e
m_Category: 2
m_Index: 5
m_EntryPoint:
rid: 1219994508087787747
m_Graph:
@@ -201,7 +183,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 0820e35ee72437b996f6e8e25ecef5fa
m_Version: 2
m_Position: {x: 316.4595, y: -65.01193}
m_Position: {x: 6.237854, y: -6.821892}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -240,7 +222,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: be46cc430316f2042ae9853a1220f241
m_Version: 2
m_Position: {x: 2070.2, y: 1.3479004}
m_Position: {x: 1771.3995, y: -14.25327}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -277,7 +259,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: e77ae5c2cfec4277e8e3c20e1d1da05f
m_Version: 2
m_Position: {x: 530.97986, y: -60.683594}
m_Position: {x: 220.75827, y: -61.741615}
m_Title:
m_Tooltip:
m_NodePreviewModel:
@@ -287,13 +269,15 @@ MonoBehaviour:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine
- LoopThroughDefaultLines
- DefaultDialogueContent1
- DefaultDialogueContent2
m_ValueList:
- rid: 1219994508087787857
- rid: 1219994508087787858
- rid: 1219994508087787897
- rid: 1219994508087787904
- rid: 7545629632211976301
- rid: 7545629632211976302
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -381,7 +365,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 85d948457f20a43a3e0d65b11e3e1a96
m_Version: 2
m_Position: {x: 128.085, y: -12.860001}
m_Position: {x: -163.09268, y: 58.026043}
m_Title: Anna-Lyse
m_Tooltip:
m_NodePreviewModel:
@@ -422,7 +406,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 3cbfd8ef332fa01b78a5ecc384f2e5e7
m_Version: 2
m_Position: {x: 914.5827, y: -60.08837}
m_Position: {x: 714.5492, y: -62.216354}
m_Title: DialogueNode
m_Tooltip:
m_NodePreviewModel:
@@ -432,17 +416,17 @@ MonoBehaviour:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine1
- DefaultDialogueLine2
- DefaultDialogueLine3
- LoopThroughDefaultLines
- DefaultDialogueContent1
- DefaultDialogueContent2
- DefaultDialogueContent3
m_ValueList:
- rid: 1219994508087787860
- rid: 1219994508087787861
- rid: 1219994508087787900
- rid: 1219994508087787901
- rid: 1219994508087787902
- rid: 1219994508087787905
- rid: 7545629632211976294
- rid: 7545629632211976295
- rid: 7545629632211976296
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -503,7 +487,7 @@ MonoBehaviour:
serializedVersion: 2
Hash: 05c5ff0463a83c928482c30dbf7a2c0b
m_Version: 2
m_Position: {x: 1294.008, y: -60.75061}
m_Position: {x: 1210.0558, y: -60.75061}
m_Title: DialogueNode
m_Tooltip:
m_NodePreviewModel:
@@ -513,13 +497,19 @@ MonoBehaviour:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine
- LoopThroughDefaultLines
- DefaultDialogueContent1
- DefaultDialogueContent2
- DefaultDialogueContent3
- DefaultDialogueContent4
m_ValueList:
- rid: 1219994508087787863
- rid: 1219994508087787864
- rid: 1219994508087787898
- rid: 1219994508087787906
- rid: 7545629632211976297
- rid: 7545629632211976298
- rid: 7545629632211976323
- rid: 7545629632211976324
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
@@ -609,14 +599,14 @@ MonoBehaviour:
m_EnumType:
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_Value: 0
m_Value: 1
m_EnumType:
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
- rid: 1219994508087787858
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
m_Value: 2
- rid: 1219994508087787860
type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
@@ -639,34 +629,14 @@ MonoBehaviour:
m_EnumType:
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_Value: 0
m_Value: 1
m_EnumType:
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
- rid: 1219994508087787864
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
- rid: 1219994508087787897
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: This is a first line of dialogue
- rid: 1219994508087787898
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Another regular line
- rid: 1219994508087787900
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: One multiline
- rid: 1219994508087787901
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Two multiline
- rid: 1219994508087787902
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: Three multiline
m_Value: 4
- rid: 1219994508087787904
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
@@ -678,82 +648,65 @@ MonoBehaviour:
- rid: 1219994508087787906
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 0
- rid: 1226592702090706949
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
data:
m_Guid:
m_Value0: 3534792673092891566
m_Value1: 6472493350207860515
m_HashGuid:
serializedVersion: 2
Hash: aef35a42351b0e3123af37c668ead259
m_Version: 2
m_Position: {x: 1675.55, y: -47.149998}
m_Title: DialogueNode
m_Tooltip:
m_NodePreviewModel:
rid: -2
m_State: 0
m_InputConstantsById:
m_KeyList:
- __option_DialogueLineType
- __option_NoLines
- DefaultDialogueLine2
- LoopThroughDefaultLines
- DefaultDialogueLine1
m_ValueList:
- rid: 1226592702090706950
- rid: 1226592702090706951
- rid: 1226592702090706958
- rid: 1226592702090706953
- rid: 1226592702090706957
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_OutputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_Collapsed: 0
m_CurrentModeIndex: 0
m_ElementColor:
m_Color: {r: 0, g: 0, b: 0, a: 0}
m_HasUserColor: 0
m_Node:
rid: 1226592702090706954
- rid: 1226592702090706950
type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
m_Value: 1
- rid: 7545629632211976294
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
m_EnumType:
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_Value: 1
m_EnumType:
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
- rid: 1226592702090706951
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
_contentType: 0
_text: Some other test
_image: {fileID: 0}
- rid: 7545629632211976295
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 2
- rid: 1226592702090706953
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
m_Value:
_contentType: 0
_text: Some much longer text in here etc.
_image: {fileID: 0}
- rid: 7545629632211976296
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
- rid: 1226592702090706954
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
data:
- rid: 1226592702090706955
m_Value:
_contentType: 0
_text: Some oooother text
_image: {fileID: 0}
- rid: 7545629632211976297
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 1
_text:
_image: {fileID: -765527507412255412, guid: f70246e6148769846aaea223ec0c2a55, type: 3}
- rid: 7545629632211976298
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: Now it's text
_image: {fileID: -9213056636207805707, guid: 00354ded9d8f8d643acc14837a229544, type: 3}
- rid: 7545629632211976301
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 0
_text: Psst, I'm just testing some stuff df
_image: {fileID: 0}
- rid: 7545629632211976302
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value:
_contentType: 1
_text:
_image: {fileID: -9213056636207805707, guid: 00354ded9d8f8d643acc14837a229544, type: 3}
- rid: 7545629632211976322
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Guid:
m_Value0: 1069232297653548642
m_Value1: 12871763382231758094
m_Value0: 3747411033454993788
m_Value1: 16062730125593257019
m_HashGuid:
serializedVersion: 2
Hash: 62b603141cadd60e0ef5cd3e99b0a1b2
Hash: 7ce176f47a7a01343ba4f3faf147eade
m_Version: 2
m_FromPortReference:
m_NodeModelGuid:
@@ -766,38 +719,6 @@ MonoBehaviour:
m_PortDirection: 2
m_PortOrientation: 0
m_Title: out
m_ToPortReference:
m_NodeModelGuid:
m_Value0: 3534792673092891566
m_Value1: 6472493350207860515
m_NodeModelHashGuid:
serializedVersion: 2
Hash: aef35a42351b0e3123af37c668ead259
m_UniqueId: in
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 1226592702090706956
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Guid:
m_Value0: 6652862542851746443
m_Value1: 1010545699289270970
m_HashGuid:
serializedVersion: 2
Hash: 8b2a2efe3bb7535cba8a6f9bf52d060e
m_Version: 2
m_FromPortReference:
m_NodeModelGuid:
m_Value0: 3534792673092891566
m_Value1: 6472493350207860515
m_NodeModelHashGuid:
serializedVersion: 2
Hash: aef35a42351b0e3123af37c668ead259
m_UniqueId: out
m_PortDirection: 2
m_PortOrientation: 0
m_Title: out
m_ToPortReference:
m_NodeModelGuid:
m_Value0: 356371523793864382
@@ -809,11 +730,17 @@ MonoBehaviour:
m_PortDirection: 1
m_PortOrientation: 0
m_Title: in
- rid: 1226592702090706957
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
- rid: 7545629632211976323
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: And we're...
- rid: 1226592702090706958
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
m_Value:
_contentType: 1
_text:
_image: {fileID: -9213056636207805707, guid: 00354ded9d8f8d643acc14837a229544, type: 3}
- rid: 7545629632211976324
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: ...in a loop
m_Value:
_contentType: 0
_text: Now it's text again and it should loop!
_image: {fileID: -9213056636207805707, guid: 00354ded9d8f8d643acc14837a229544, type: 3}

View File

@@ -111,24 +111,42 @@ namespace Editor.Dialogue
var lineCountOption = node.GetNodeOptionByName("NoLines");
lineCountOption.TryGetValue<int>(out var lineCount);
// Process dialogue lines based on line type
// Process dialogue content
if (lineType == DialogueType.SayMultipleLines)
{
for (var i = 0; i < lineCount; i++)
{
var lineValue = GetPortValue<string>(node.GetInputPortByName($"DefaultDialogueLine{i + 1}"));
if (!string.IsNullOrEmpty(lineValue))
var contentPort = node.GetInputPortByName($"DefaultDialogueContent{i + 1}");
var contentValue = GetPortValue<DialogueContent>(contentPort);
if (contentValue != null)
{
runtimeNode.dialogueLines.Add(lineValue);
// Add to dialogueContent list
runtimeNode.dialogueContent.Add(contentValue);
// Also add to legacy dialogueLines list for backward compatibility
if (contentValue.ContentType == DialogueContentType.Text && !string.IsNullOrEmpty(contentValue.Text))
{
runtimeNode.dialogueLines.Add(contentValue.Text);
}
}
}
}
else
{
var lineValue = GetPortValue<string>(node.GetInputPortByName("DefaultDialogueLine"));
if (!string.IsNullOrEmpty(lineValue))
var contentPort = node.GetInputPortByName("DefaultDialogueContent");
var contentValue = GetPortValue<DialogueContent>(contentPort);
if (contentValue != null)
{
runtimeNode.dialogueLines.Add(lineValue);
// Add to dialogueContent list
runtimeNode.dialogueContent.Add(contentValue);
// Also add to legacy dialogueLines list for backward compatibility
if (contentValue.ContentType == DialogueContentType.Text && !string.IsNullOrEmpty(contentValue.Text))
{
runtimeNode.dialogueLines.Add(contentValue.Text);
}
}
}
@@ -169,60 +187,98 @@ namespace Editor.Dialogue
runtimeNode.slotItemID = slot.itemId;
}
// Process incorrect item lines
// Get line type and count options for incorrect items
var incorrectItemLineTypeOption = node.GetNodeOptionByName("IncorrectItemDialogueLineType");
incorrectItemLineTypeOption.TryGetValue<DialogueType>(out var incorrectItemLineType);
var incorrectItemLineCountOption = node.GetNodeOptionByName("IncorrectItemNoLines");
incorrectItemLineCountOption.TryGetValue<int>(out var incorrectItemLineCount);
// Process incorrect item content
if (incorrectItemLineType == DialogueType.SayMultipleLines)
{
for (var i = 0; i < incorrectItemLineCount; i++)
{
var lineValue = GetPortValue<string>(node.GetInputPortByName($"IncorrectItemDialogueLine{i + 1}"));
if (!string.IsNullOrEmpty(lineValue))
var contentPort = node.GetInputPortByName($"IncorrectItemDialogueContent{i + 1}");
var contentValue = GetPortValue<DialogueContent>(contentPort);
if (contentValue != null)
{
runtimeNode.incorrectItemLines.Add(lineValue);
// Add to incorrectItemContent list
runtimeNode.incorrectItemContent.Add(contentValue);
// Also add to legacy incorrectItemLines list for backward compatibility
if (contentValue.ContentType == DialogueContentType.Text && !string.IsNullOrEmpty(contentValue.Text))
{
runtimeNode.incorrectItemLines.Add(contentValue.Text);
}
}
}
}
else
{
var lineValue = GetPortValue<string>(node.GetInputPortByName("IncorrectItemDialogueLine"));
if (!string.IsNullOrEmpty(lineValue))
var contentPort = node.GetInputPortByName("IncorrectItemDialogueContent");
var contentValue = GetPortValue<DialogueContent>(contentPort);
if (contentValue != null)
{
runtimeNode.incorrectItemLines.Add(lineValue);
// Add to incorrectItemContent list
runtimeNode.incorrectItemContent.Add(contentValue);
// Also add to legacy incorrectItemLines list for backward compatibility
if (contentValue.ContentType == DialogueContentType.Text && !string.IsNullOrEmpty(contentValue.Text))
{
runtimeNode.incorrectItemLines.Add(contentValue.Text);
}
}
}
runtimeNode.loopThroughIncorrectLines =
GetPortValue<bool>(node.GetInputPortByName("LoopThroughIncorrectItemLines"));
// Process forbidden item lines
// Get line type and count options for forbidden items
var forbiddenItemLineTypeOption = node.GetNodeOptionByName("ForbiddenItemDialogueLineType");
forbiddenItemLineTypeOption.TryGetValue<DialogueType>(out var forbiddenItemLineType);
var forbiddenItemLineCountOption = node.GetNodeOptionByName("ForbiddenItemNoLines");
forbiddenItemLineCountOption.TryGetValue<int>(out var forbiddenItemLineCount);
// Process forbidden item content
if (forbiddenItemLineType == DialogueType.SayMultipleLines)
{
for (var i = 0; i < forbiddenItemLineCount; i++)
{
var lineValue = GetPortValue<string>(node.GetInputPortByName($"ForbiddenItemDialogueLine{i + 1}"));
if (!string.IsNullOrEmpty(lineValue))
var contentPort = node.GetInputPortByName($"ForbiddenItemDialogueContent{i + 1}");
var contentValue = GetPortValue<DialogueContent>(contentPort);
if (contentValue != null)
{
runtimeNode.forbiddenItemLines.Add(lineValue);
// Add to forbiddenItemContent list
runtimeNode.forbiddenItemContent.Add(contentValue);
// Also add to legacy forbiddenItemLines list for backward compatibility
if (contentValue.ContentType == DialogueContentType.Text && !string.IsNullOrEmpty(contentValue.Text))
{
runtimeNode.forbiddenItemLines.Add(contentValue.Text);
}
}
}
}
else
{
var lineValue = GetPortValue<string>(node.GetInputPortByName("ForbiddenItemDialogueLine"));
if (!string.IsNullOrEmpty(lineValue))
var contentPort = node.GetInputPortByName("ForbiddenItemDialogueContent");
var contentValue = GetPortValue<DialogueContent>(contentPort);
if (contentValue != null)
{
runtimeNode.forbiddenItemLines.Add(lineValue);
// Add to forbiddenItemContent list
runtimeNode.forbiddenItemContent.Add(contentValue);
// Also add to legacy forbiddenItemLines list for backward compatibility
if (contentValue.ContentType == DialogueContentType.Text && !string.IsNullOrEmpty(contentValue.Text))
{
runtimeNode.forbiddenItemLines.Add(contentValue.Text);
}
}
}
@@ -259,4 +315,4 @@ namespace Editor.Dialogue
return fallbackValue;
}
}
}
}

View File

@@ -1,6 +1,7 @@
using UnityEngine;
using Unity.GraphToolkit.Editor;
using System;
using Dialogue;
namespace Editor.Dialogue
{
@@ -37,8 +38,7 @@ namespace Editor.Dialogue
const string LineTypeOptionName = "DialogueLineType";
const string NoLinesOptionName = "NoLines";
const string LoopThroughDefaultLinesOptionName = "LoopThroughDefaultLines";
const string DefaultDialogueLineOptionName = "DefaultDialogueLine";
const string DefaultDialogueContentOptionName = "DefaultDialogueContent";
protected override void OnDefineOptions(IOptionDefinitionContext context)
{
@@ -47,7 +47,6 @@ namespace Editor.Dialogue
.WithDefaultValue(DialogueType.SayOneLine)
.Delayed();
context.AddOption<int>(NoLinesOptionName)
.WithDisplayName("Number of Default Lines")
.WithDefaultValue(1)
@@ -59,6 +58,7 @@ namespace Editor.Dialogue
context.AddInputPort("in").Build();
context.AddOutputPort("out").Build();
// Get line type and count options
var lineTypeOption = GetNodeOptionByName(LineTypeOptionName);
lineTypeOption.TryGetValue<DialogueType>(out var lineType);
var lineCountOption = GetNodeOptionByName(NoLinesOptionName);
@@ -68,15 +68,21 @@ namespace Editor.Dialogue
{
for (var i = 0; i < lineCount; i++)
{
context.AddInputPort<string>($"{DefaultDialogueLineOptionName}{i + 1}").WithDisplayName($"Default Dialogue Line {i + 1}").Build();
context.AddInputPort<DialogueContent>($"{DefaultDialogueContentOptionName}{i + 1}")
.WithDisplayName($"Dialogue Content {i + 1}")
.Build();
}
}
else
{
context.AddInputPort<string>($"{DefaultDialogueLineOptionName}").WithDisplayName("Default Dialogue Line").Build();
context.AddInputPort<DialogueContent>($"{DefaultDialogueContentOptionName}")
.WithDisplayName("Dialogue Content")
.Build();
}
context.AddInputPort<bool>($"{LoopThroughDefaultLinesOptionName}").WithDisplayName("Loop Through Default Lines?").Build();
context.AddInputPort<bool>($"{LoopThroughDefaultLinesOptionName}")
.WithDisplayName("Loop Through Content?")
.Build();
}
}
@@ -110,38 +116,39 @@ namespace Editor.Dialogue
public class WaitOnSlot : DialogueNode
{
const string RequiredSlotOptionName = "RequiredSlot";
// Incorrect item - i.e. not the correct one but also not forbidden
const string IncorrectItemLineTypeOptionName = "IncorrectItemDialogueLineType";
const string IncorrectItemNoLinesOptionName = "IncorrectItemNoLines";
const string LoopThroughIncorrectItemLinesOptionName = "LoopThroughIncorrectItemLines";
const string IncorrectIteDialogueLineOptionName = "IncorrectItemDialogueLine";
// Explicitely forbidden item
const string IncorrectItemDialogueContentOptionName = "IncorrectItemDialogueContent";
const string ForbiddenItemLineTypeOptionName = "ForbiddenItemDialogueLineType";
const string ForbiddenItemNoLinesOptionName = "ForbiddenItemNoLines";
const string LoopThroughForbiddenItemLinesOptionName = "LoopThroughForbiddenItemLines";
const string ForbiddenIteDialogueLineOptionName = "ForbiddenItemDialogueLine";
const string ForbiddenItemDialogueContentOptionName = "ForbiddenItemDialogueContent";
protected override void OnDefineOptions(IOptionDefinitionContext context)
{
base.OnDefineOptions(context);
// Incorrect
// Incorrect item options
context.AddOption<DialogueType>(IncorrectItemLineTypeOptionName)
.WithDisplayName("Incorrect Item Line Type")
.WithDefaultValue(DialogueType.SayOneLine)
.Delayed();
context.AddOption<int>(IncorrectItemNoLinesOptionName)
.WithDisplayName("Number of Incorrect Item Lines")
.WithDefaultValue(1)
.Delayed();
// Forbidden
// Forbidden item options
context.AddOption<DialogueType>(ForbiddenItemLineTypeOptionName)
.WithDisplayName("Forbidden Item Line Type")
.WithDefaultValue(DialogueType.SayOneLine)
.Delayed();
context.AddOption<int>(ForbiddenItemNoLinesOptionName)
.WithDisplayName("Forbidden of Incorrect Item Lines")
.WithDisplayName("Number of Forbidden Item Lines")
.WithDefaultValue(1)
.Delayed();
}
@@ -152,45 +159,59 @@ namespace Editor.Dialogue
base.OnDefinePorts(context);
// Incorrect
// Process Incorrect Item content
var incorrectItemLineTypeOption = GetNodeOptionByName(IncorrectItemLineTypeOptionName);
incorrectItemLineTypeOption.TryGetValue<DialogueType>(out var incorrectItemLineType);
var incorrectItemLineCountOption = GetNodeOptionByName(IncorrectItemNoLinesOptionName);
incorrectItemLineCountOption.TryGetValue<int>(out var incorrectItemLineCount);
// Add DialogueContent ports for incorrect item content
if (incorrectItemLineType == DialogueType.SayMultipleLines)
{
for (var i = 0; i < incorrectItemLineCount; i++)
{
context.AddInputPort<string>($"{IncorrectIteDialogueLineOptionName}{i + 1}").WithDisplayName($"Incorrect Item Dialogue Line {i + 1}").Build();
context.AddInputPort<DialogueContent>($"{IncorrectItemDialogueContentOptionName}{i + 1}")
.WithDisplayName($"Incorrect Item Content {i + 1}")
.Build();
}
}
else
{
context.AddInputPort<string>($"{IncorrectIteDialogueLineOptionName}").WithDisplayName("Incorrect Item Dialogue Line").Build();
context.AddInputPort<DialogueContent>($"{IncorrectItemDialogueContentOptionName}")
.WithDisplayName("Incorrect Item Content")
.Build();
}
context.AddInputPort<bool>($"{LoopThroughIncorrectItemLinesOptionName}").WithDisplayName("Loop Through Incorrect Item Lines?").Build();
context.AddInputPort<bool>($"{LoopThroughIncorrectItemLinesOptionName}")
.WithDisplayName("Loop Through Incorrect Content?")
.Build();
// Forbidden
// Process Forbidden Item content
var forbiddenItemLineTypeOption = GetNodeOptionByName(ForbiddenItemLineTypeOptionName);
forbiddenItemLineTypeOption.TryGetValue<DialogueType>(out var forbiddenItemLineType);
var forbiddenItemLineCountOption = GetNodeOptionByName(ForbiddenItemNoLinesOptionName);
forbiddenItemLineCountOption.TryGetValue<int>(out var forbiddenItemLineCount);
// Add DialogueContent ports for forbidden item content
if (forbiddenItemLineType == DialogueType.SayMultipleLines)
{
for (var i = 0; i < forbiddenItemLineCount; i++)
{
context.AddInputPort<string>($"{ForbiddenIteDialogueLineOptionName}{i + 1}").WithDisplayName($"Forbidden Item Dialogue Line {i + 1}").Build();
context.AddInputPort<DialogueContent>($"{ForbiddenItemDialogueContentOptionName}{i + 1}")
.WithDisplayName($"Forbidden Item Content {i + 1}")
.Build();
}
}
else
{
context.AddInputPort<string>($"{ForbiddenIteDialogueLineOptionName}").WithDisplayName("Forbidden Item Dialogue Line").Build();
context.AddInputPort<DialogueContent>($"{ForbiddenItemDialogueContentOptionName}")
.WithDisplayName("Forbidden Item Content")
.Build();
}
context.AddInputPort<bool>($"{LoopThroughForbiddenItemLinesOptionName}").WithDisplayName("Loop Through Forbidden Item Lines?").Build();
context.AddInputPort<bool>($"{LoopThroughForbiddenItemLinesOptionName}")
.WithDisplayName("Loop Through Forbidden Content?")
.Build();
}
}

View File

@@ -309,7 +309,7 @@ PrefabInstance:
objectReference: {fileID: 517425340}
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: characterToInteract
value: 1
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: m_Sprite
@@ -603,7 +603,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: characterToInteract
value: 1
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6350287859698694726, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: m_Name
@@ -777,7 +777,7 @@ PrefabInstance:
objectReference: {fileID: 11400000, guid: 9de0c57af6191384e96e2ba7c04a3d0d, type: 2}
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: characterToInteract
value: 1
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: m_Sprite
@@ -1287,7 +1287,7 @@ PrefabInstance:
objectReference: {fileID: 11400000, guid: a84cbe9804e13f74e857c55d90cc10d1, type: 2}
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: characterToInteract
value: 1
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
propertyPath: m_Sprite
@@ -1412,7 +1412,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
propertyPath: characterToInteract
value: 1
value: 2
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -1972,7 +1972,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
propertyPath: characterToInteract
value: 1
value: 2
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 592045584872845087, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
@@ -2283,7 +2283,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
propertyPath: characterToInteract
value: 1
value: 2
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []

View File

@@ -76,20 +76,29 @@ namespace Dialogue
{
if (speechBubble == null || !HasAnyLines()) return;
// Advance the dialogue state to move to the next content
AdvanceDialogueState();
// Check if we have DialogueContent available
// Check if we have DialogueContent available (prioritizing the new content system)
DialogueContent content = GetCurrentDialogueContent();
if (content != null)
{
// Display the content with the new method that handles both text and images
// Display the content with the method that handles both text and images
// and pass whether there are more lines available for prompt display
speechBubble.DisplayDialogueContent(content, HasAnyLines());
// Log the content type for debugging
Debug.Log($"Displaying content type: {content.ContentType} - {(content.ContentType == DialogueContentType.Text ? content.Text : content.Image?.name)}");
}
else
{
// Fall back to legacy text-only method
// Fall back to legacy text-only method if no DialogueContent is available
string line = GetCurrentDialogueLine();
speechBubble.DisplayDialogueLine(line, HasAnyLines());
// Log for debugging
Debug.Log($"Displaying legacy text: {line}");
}
}
@@ -139,6 +148,7 @@ namespace Dialogue
int index = Mathf.Clamp(currentLineIndex, 0, contentForState.Count - 1);
return contentForState[index];
}
return null; // No content for this slot state
}
else
{
@@ -281,18 +291,41 @@ namespace Dialogue
return;
}
// If we have more lines in the current node, advance to the next line
if (currentLineIndex < currentNode.dialogueLines.Count - 1)
// First check if we have any dialogueContent to process
bool hasDialogueContent = currentNode.dialogueContent != null && currentNode.dialogueContent.Count > 0;
if (hasDialogueContent)
{
currentLineIndex++;
return;
}
// If we have dialogueContent and there are more entries, advance to the next one
if (currentLineIndex < currentNode.dialogueContent.Count - 1)
{
currentLineIndex++;
return;
}
// If we should loop through lines, reset the index
if (currentNode.loopThroughLines && currentNode.dialogueLines.Count > 0)
// If we should loop through content, reset the index
if (currentNode.loopThroughLines && currentNode.dialogueContent.Count > 0)
{
currentLineIndex = 0;
return;
}
}
else
{
currentLineIndex = 0;
return;
// Fall back to legacy dialogueLines
// If we have more lines in the current node, advance to the next line
if (currentLineIndex < currentNode.dialogueLines.Count - 1)
{
currentLineIndex++;
return;
}
// If we should loop through lines, reset the index
if (currentNode.loopThroughLines && currentNode.dialogueLines.Count > 0)
{
currentLineIndex = 0;
return;
}
}
// If we're at a node that doesn't have a next node, we're done

View File

@@ -7,10 +7,34 @@ namespace UI
{
public class PauseMenu : MonoBehaviour
{
private static PauseMenu _instance;
private static bool _isQuitting;
public static PauseMenu Instance
{
get
{
if (_instance == null && Application.isPlaying && !_isQuitting)
{
_instance = FindAnyObjectByType<PauseMenu>();
if (_instance == null)
{
var go = new GameObject("PauseMenu");
_instance = go.AddComponent<PauseMenu>();
// DontDestroyOnLoad(go);
}
}
return _instance;
}
}
[Header("UI References")]
[SerializeField] private GameObject pauseMenuPanel;
[SerializeField] private GameObject pauseButton;
public event Action OnGamePaused;
public event Action OnGameResumed;
private void Start()
{
// Subscribe to scene loaded events
@@ -32,6 +56,11 @@ namespace UI
}
}
void OnApplicationQuit()
{
_isQuitting = true;
}
/// <summary>
/// Sets the pause menu game object active or inactive based on the current level
/// </summary>