Compare commits
3 Commits
load_save_
...
dialogue_i
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1224d1ba03 | ||
|
|
5ad3ae8815 | ||
|
|
1a05f89226 |
@@ -40,14 +40,14 @@ MonoBehaviour:
|
|||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- RequiredPuzzleStep
|
- RequiredPuzzleStep
|
||||||
- DefaultDialogueLine
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
|
- DefaultDialogueContent
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 4008004731853340754
|
- rid: 4008004731853340754
|
||||||
- rid: 4008004731853340755
|
- rid: 4008004731853340755
|
||||||
- rid: 4008004731853340756
|
- rid: 4008004731853340756
|
||||||
- rid: 4008004731853340757
|
|
||||||
- rid: 4008004731853340758
|
- rid: 4008004731853340758
|
||||||
|
- rid: 7545629632211976319
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -82,10 +82,6 @@ MonoBehaviour:
|
|||||||
type: {class: 'Constant`1[[PuzzleStepSO, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[PuzzleStepSO, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: {fileID: 11400000, guid: ea383d1dee861f54c9a1d4f32a2f6afc, type: 2}
|
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
|
- rid: 4008004731853340758
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -125,6 +121,41 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 1
|
m_PortDirection: 1
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: in
|
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
|
- rid: 7772910664224079872
|
||||||
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -351,17 +382,17 @@ MonoBehaviour:
|
|||||||
m_KeyList:
|
m_KeyList:
|
||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- DefaultDialogueLine2
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
- DefaultDialogueLine1
|
- DefaultDialogueContent1
|
||||||
- DefaultDialogueLine3
|
- DefaultDialogueContent2
|
||||||
|
- DefaultDialogueContent3
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 7772910664224079887
|
- rid: 7772910664224079887
|
||||||
- rid: 7772910664224079888
|
- rid: 7772910664224079888
|
||||||
- rid: 7772910664224079894
|
|
||||||
- rid: 7772910664224079890
|
- rid: 7772910664224079890
|
||||||
- rid: 7772910664224079893
|
- rid: 7545629632211976315
|
||||||
- rid: 7772910664224079895
|
- rid: 7545629632211976316
|
||||||
|
- rid: 7545629632211976317
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -431,19 +462,6 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 1
|
m_PortDirection: 1
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: in
|
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
|
- rid: 7772910664224079896
|
||||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -464,13 +482,13 @@ MonoBehaviour:
|
|||||||
m_KeyList:
|
m_KeyList:
|
||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- DefaultDialogueLine
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
|
- DefaultDialogueContent
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 7772910664224079897
|
- rid: 7772910664224079897
|
||||||
- rid: 7772910664224079898
|
- rid: 7772910664224079898
|
||||||
- rid: 7772910664224079899
|
|
||||||
- rid: 7772910664224079900
|
- rid: 7772910664224079900
|
||||||
|
- rid: 7545629632211976318
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -501,10 +519,6 @@ MonoBehaviour:
|
|||||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 1
|
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
|
- rid: 7772910664224079900
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -19,6 +19,20 @@ MonoBehaviour:
|
|||||||
RefIds:
|
RefIds:
|
||||||
- rid: -2
|
- rid: -2
|
||||||
type: {class: , ns: , asm: }
|
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
|
- rid: 7772910664224079994
|
||||||
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -296,15 +310,15 @@ MonoBehaviour:
|
|||||||
m_KeyList:
|
m_KeyList:
|
||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- DefaultDialogueLine2
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
- DefaultDialogueLine1
|
- DefaultDialogueContent1
|
||||||
|
- DefaultDialogueContent2
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 7772910664224080006
|
- rid: 7772910664224080006
|
||||||
- rid: 7772910664224080007
|
- rid: 7772910664224080007
|
||||||
- rid: 7772910664224080012
|
|
||||||
- rid: 7772910664224080009
|
- rid: 7772910664224080009
|
||||||
- rid: 7772910664224080011
|
- rid: 7545629632211976320
|
||||||
|
- rid: 7545629632211976321
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -374,14 +388,6 @@ MonoBehaviour:
|
|||||||
- rid: 7772910664224080010
|
- rid: 7772910664224080010
|
||||||
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
||||||
data:
|
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
|
- rid: 7772910664224080013
|
||||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -58,10 +58,10 @@ MonoBehaviour:
|
|||||||
m_LocalSubgraphs: []
|
m_LocalSubgraphs: []
|
||||||
m_LastKnownBounds:
|
m_LastKnownBounds:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 115
|
x: -36
|
||||||
y: 7
|
y: 12
|
||||||
width: 3353
|
width: 3787.2
|
||||||
height: 399
|
height: 559.19995
|
||||||
m_GraphElementMetaData:
|
m_GraphElementMetaData:
|
||||||
- m_Guid:
|
- m_Guid:
|
||||||
m_Value0: 15250916379536742066
|
m_Value0: 15250916379536742066
|
||||||
@@ -237,7 +237,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: b25679f5a423a6d30df98cd989cabcf0
|
Hash: b25679f5a423a6d30df98cd989cabcf0
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 303.87872, y: 210.33638}
|
m_Position: {x: 152.62463, y: 208.7273}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -280,7 +280,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 4c15a501ab0b3876663348bd143a160c
|
Hash: 4c15a501ab0b3876663348bd143a160c
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 115.3345, y: 263.23343}
|
m_Position: {x: -35.919586, y: 261.62433}
|
||||||
m_Title: SpeakerName
|
m_Title: SpeakerName
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -376,7 +376,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 63e5eb3c34667babc753a8b79a9a6d99
|
Hash: 63e5eb3c34667babc753a8b79a9a6d99
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 513.6555, y: 168.80977}
|
m_Position: {x: 362.40143, y: 167.20068}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -386,13 +386,13 @@ MonoBehaviour:
|
|||||||
m_KeyList:
|
m_KeyList:
|
||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- DefaultDialogueLine
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
|
- DefaultDialogueContent
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1226592702090707077
|
- rid: 1226592702090707077
|
||||||
- rid: 1226592702090707078
|
- rid: 1226592702090707078
|
||||||
- rid: 1226592702090707079
|
|
||||||
- rid: 1226592702090707080
|
- rid: 1226592702090707080
|
||||||
|
- rid: 7545629632211976303
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -423,10 +423,6 @@ MonoBehaviour:
|
|||||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 1
|
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
|
- rid: 1226592702090707080
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -476,7 +472,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: d897c8a6890a4ec4f5f614a0a23bfb0b
|
Hash: d897c8a6890a4ec4f5f614a0a23bfb0b
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 906.1956, y: 144.21957}
|
m_Position: {x: 832.17773, y: 142.61052}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -487,18 +483,18 @@ MonoBehaviour:
|
|||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- RequiredPickup
|
- RequiredPickup
|
||||||
- DefaultDialogueLine2
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
- DefaultDialogueLine1
|
- DefaultDialogueContent1
|
||||||
- DefaultDialogueLine3
|
- DefaultDialogueContent2
|
||||||
|
- DefaultDialogueContent3
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1226592702090707084
|
- rid: 1226592702090707084
|
||||||
- rid: 1226592702090707085
|
- rid: 1226592702090707085
|
||||||
- rid: 1226592702090707086
|
- rid: 1226592702090707086
|
||||||
- rid: 1226592702090707092
|
|
||||||
- rid: 1226592702090707088
|
- rid: 1226592702090707088
|
||||||
- rid: 1226592702090707091
|
- rid: 7545629632211976304
|
||||||
- rid: 1226592702090707093
|
- rid: 7545629632211976305
|
||||||
|
- rid: 7545629632211976306
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -572,18 +568,6 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 1
|
m_PortDirection: 1
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: in
|
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
|
- rid: 1226592702090707099
|
||||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -594,7 +578,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 3b750432bd23177050f4f1fac360a6c3
|
Hash: 3b750432bd23177050f4f1fac360a6c3
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 1376.4679, y: 141.66953}
|
m_Position: {x: 1300.841, y: 142.06729}
|
||||||
m_Title: DialogueNode
|
m_Title: DialogueNode
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -605,14 +589,14 @@ MonoBehaviour:
|
|||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
- DefaultDialogueLine1
|
- DefaultDialogueContent1
|
||||||
- DefaultDialogueLine2
|
- DefaultDialogueContent2
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1226592702090707100
|
- rid: 1226592702090707100
|
||||||
- rid: 1226592702090707101
|
- rid: 1226592702090707101
|
||||||
- rid: 1226592702090707103
|
- rid: 1226592702090707103
|
||||||
- rid: 1226592702090707106
|
- rid: 7545629632211976307
|
||||||
- rid: 1226592702090707107
|
- rid: 7545629632211976308
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -682,14 +666,6 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 1
|
m_PortDirection: 1
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: in
|
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
|
- rid: 1226592736610877523
|
||||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -700,7 +676,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: f3e06bfaeec3029fe7bcecfcb7e96ae8
|
Hash: f3e06bfaeec3029fe7bcecfcb7e96ae8
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 1763.6455, y: 116.19321}
|
m_Position: {x: 1771.6909, y: 116.19321}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -711,14 +687,14 @@ MonoBehaviour:
|
|||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- RequiredResultItem
|
- RequiredResultItem
|
||||||
- DefaultDialogueLine
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
|
- DefaultDialogueContent
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1226592736610877524
|
- rid: 1226592736610877524
|
||||||
- rid: 1226592736610877525
|
- rid: 1226592736610877525
|
||||||
- rid: 1226592736610877526
|
- rid: 1226592736610877526
|
||||||
- rid: 1226592736610877527
|
|
||||||
- rid: 1226592736610877528
|
- rid: 1226592736610877528
|
||||||
|
- rid: 7545629632211976309
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -753,14 +729,10 @@ MonoBehaviour:
|
|||||||
type: {class: 'Constant`1[[PickupItemData, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[PickupItemData, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: {fileID: 11400000, guid: ecae2d83a5ab2a047a2733ebff607380, type: 2}
|
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
|
- rid: 1226592736610877528
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 1
|
m_Value: 0
|
||||||
- rid: 1226592736610877529
|
- rid: 1226592736610877529
|
||||||
type: {class: WaitOnCombination, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
type: {class: WaitOnCombination, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
||||||
data:
|
data:
|
||||||
@@ -817,12 +789,12 @@ MonoBehaviour:
|
|||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
- DefaultDialogueLine
|
- DefaultDialogueContent
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1226592736610877538
|
- rid: 1226592736610877538
|
||||||
- rid: 1226592736610877539
|
- rid: 1226592736610877539
|
||||||
- rid: 1226592736610877540
|
- rid: 1226592736610877540
|
||||||
- rid: 1226592736610877545
|
- rid: 7545629632211976310
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -892,10 +864,6 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 1
|
m_PortDirection: 1
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: in
|
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
|
- rid: 1226592736610877546
|
||||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -906,7 +874,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 69712d8f46502fa577433f59c2c1f85c
|
Hash: 69712d8f46502fa577433f59c2c1f85c
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 2650.1987, y: 6.86882}
|
m_Position: {x: 2752.9822, y: 11.763229}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -921,12 +889,12 @@ MonoBehaviour:
|
|||||||
- __option_ForbiddenItemDialogueLineType
|
- __option_ForbiddenItemDialogueLineType
|
||||||
- __option_ForbiddenItemNoLines
|
- __option_ForbiddenItemNoLines
|
||||||
- RequiredSlot
|
- RequiredSlot
|
||||||
- DefaultDialogueLine
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
- IncorrectItemDialogueLine
|
|
||||||
- LoopThroughIncorrectItemLines
|
- LoopThroughIncorrectItemLines
|
||||||
- ForbiddenItemDialogueLine
|
|
||||||
- LoopThroughForbiddenItemLines
|
- LoopThroughForbiddenItemLines
|
||||||
|
- DefaultDialogueContent
|
||||||
|
- IncorrectItemDialogueContent
|
||||||
|
- ForbiddenItemDialogueContent
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1226592736610877547
|
- rid: 1226592736610877547
|
||||||
- rid: 1226592736610877548
|
- rid: 1226592736610877548
|
||||||
@@ -935,12 +903,12 @@ MonoBehaviour:
|
|||||||
- rid: 1226592736610877551
|
- rid: 1226592736610877551
|
||||||
- rid: 1226592736610877552
|
- rid: 1226592736610877552
|
||||||
- rid: 1226592736610877553
|
- rid: 1226592736610877553
|
||||||
- rid: 1226592736610877554
|
|
||||||
- rid: 1226592736610877555
|
- rid: 1226592736610877555
|
||||||
- rid: 1226592736610877556
|
|
||||||
- rid: 1226592736610877557
|
- rid: 1226592736610877557
|
||||||
- rid: 1226592736610877558
|
|
||||||
- rid: 1226592736610877559
|
- rid: 1226592736610877559
|
||||||
|
- rid: 7545629632211976311
|
||||||
|
- rid: 7545629632211976312
|
||||||
|
- rid: 7545629632211976313
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -1005,30 +973,18 @@ MonoBehaviour:
|
|||||||
type: {class: 'Constant`1[[PickupItemData, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[PickupItemData, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: {fileID: 11400000, guid: e0fad48a84a6b6346ac17c84bc512500, type: 2}
|
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
|
- rid: 1226592736610877555
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 1
|
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
|
- rid: 1226592736610877557
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 1
|
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
|
- rid: 1226592736610877559
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 0
|
m_Value: 1
|
||||||
- rid: 1226592736610877560
|
- rid: 1226592736610877560
|
||||||
type: {class: WaitOnSlot, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
type: {class: WaitOnSlot, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
||||||
data:
|
data:
|
||||||
@@ -1074,7 +1030,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 91bec6fb97b9d7d954d9847f1c7dfdce
|
Hash: 91bec6fb97b9d7d954d9847f1c7dfdce
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 3164.9407, y: 88.21074}
|
m_Position: {x: 3317.6943, y: 96.60597}
|
||||||
m_Title: DialogueNode
|
m_Title: DialogueNode
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -1085,12 +1041,12 @@ MonoBehaviour:
|
|||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
- DefaultDialogueLine
|
- DefaultDialogueContent
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1226592736610877568
|
- rid: 1226592736610877568
|
||||||
- rid: 1226592736610877569
|
- rid: 1226592736610877569
|
||||||
- rid: 1226592736610877570
|
- rid: 1226592736610877570
|
||||||
- rid: 1226592736610877571
|
- rid: 7545629632211976314
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -1125,10 +1081,6 @@ MonoBehaviour:
|
|||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 0
|
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
|
- rid: 1226592736610877572
|
||||||
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
||||||
data:
|
data:
|
||||||
@@ -1164,3 +1116,87 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 1
|
m_PortDirection: 1
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: in
|
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}
|
||||||
|
|||||||
@@ -36,14 +36,12 @@ MonoBehaviour:
|
|||||||
- rid: 1219994508087787764
|
- rid: 1219994508087787764
|
||||||
- rid: 1219994508087787770
|
- rid: 1219994508087787770
|
||||||
- rid: 1219994508087787776
|
- rid: 1219994508087787776
|
||||||
- rid: 1226592702090706949
|
|
||||||
m_GraphWireModels:
|
m_GraphWireModels:
|
||||||
- rid: 1219994508087787755
|
- rid: 1219994508087787755
|
||||||
- rid: 1219994508087787773
|
- rid: 1219994508087787773
|
||||||
- rid: 1219994508087787779
|
- rid: 1219994508087787779
|
||||||
- rid: 1219994508087787813
|
- rid: 1219994508087787813
|
||||||
- rid: 1226592702090706955
|
- rid: 7545629632211976322
|
||||||
- rid: 1226592702090706956
|
|
||||||
m_GraphStickyNoteModels: []
|
m_GraphStickyNoteModels: []
|
||||||
m_GraphPlacematModels: []
|
m_GraphPlacematModels: []
|
||||||
m_GraphVariableModels:
|
m_GraphVariableModels:
|
||||||
@@ -54,10 +52,10 @@ MonoBehaviour:
|
|||||||
m_LocalSubgraphs: []
|
m_LocalSubgraphs: []
|
||||||
m_LastKnownBounds:
|
m_LastKnownBounds:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 128
|
x: -163.2
|
||||||
y: -65
|
y: -62.4
|
||||||
width: 2055
|
width: 2048.8
|
||||||
height: 243
|
height: 514.4
|
||||||
m_GraphElementMetaData:
|
m_GraphElementMetaData:
|
||||||
- m_Guid:
|
- m_Guid:
|
||||||
m_Value0: 13346176596883742728
|
m_Value0: 13346176596883742728
|
||||||
@@ -148,29 +146,13 @@ MonoBehaviour:
|
|||||||
m_Category: 2
|
m_Category: 2
|
||||||
m_Index: 3
|
m_Index: 3
|
||||||
- m_Guid:
|
- m_Guid:
|
||||||
m_Value0: 3534792673092891566
|
m_Value0: 3747411033454993788
|
||||||
m_Value1: 6472493350207860515
|
m_Value1: 16062730125593257019
|
||||||
m_HashGuid:
|
m_HashGuid:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: aef35a42351b0e3123af37c668ead259
|
Hash: 7ce176f47a7a01343ba4f3faf147eade
|
||||||
m_Category: 0
|
|
||||||
m_Index: 6
|
|
||||||
- m_Guid:
|
|
||||||
m_Value0: 1069232297653548642
|
|
||||||
m_Value1: 12871763382231758094
|
|
||||||
m_HashGuid:
|
|
||||||
serializedVersion: 2
|
|
||||||
Hash: 62b603141cadd60e0ef5cd3e99b0a1b2
|
|
||||||
m_Category: 2
|
m_Category: 2
|
||||||
m_Index: 4
|
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:
|
m_EntryPoint:
|
||||||
rid: 1219994508087787747
|
rid: 1219994508087787747
|
||||||
m_Graph:
|
m_Graph:
|
||||||
@@ -201,7 +183,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 0820e35ee72437b996f6e8e25ecef5fa
|
Hash: 0820e35ee72437b996f6e8e25ecef5fa
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 316.4595, y: -65.01193}
|
m_Position: {x: 6.237854, y: -6.821892}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -240,7 +222,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: be46cc430316f2042ae9853a1220f241
|
Hash: be46cc430316f2042ae9853a1220f241
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 2070.2, y: 1.3479004}
|
m_Position: {x: 1771.3995, y: -14.25327}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -277,7 +259,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: e77ae5c2cfec4277e8e3c20e1d1da05f
|
Hash: e77ae5c2cfec4277e8e3c20e1d1da05f
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 530.97986, y: -60.683594}
|
m_Position: {x: 220.75827, y: -61.741615}
|
||||||
m_Title:
|
m_Title:
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -287,13 +269,15 @@ MonoBehaviour:
|
|||||||
m_KeyList:
|
m_KeyList:
|
||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- DefaultDialogueLine
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
|
- DefaultDialogueContent1
|
||||||
|
- DefaultDialogueContent2
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1219994508087787857
|
- rid: 1219994508087787857
|
||||||
- rid: 1219994508087787858
|
- rid: 1219994508087787858
|
||||||
- rid: 1219994508087787897
|
|
||||||
- rid: 1219994508087787904
|
- rid: 1219994508087787904
|
||||||
|
- rid: 7545629632211976301
|
||||||
|
- rid: 7545629632211976302
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -381,7 +365,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 85d948457f20a43a3e0d65b11e3e1a96
|
Hash: 85d948457f20a43a3e0d65b11e3e1a96
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 128.085, y: -12.860001}
|
m_Position: {x: -163.09268, y: 58.026043}
|
||||||
m_Title: Anna-Lyse
|
m_Title: Anna-Lyse
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -422,7 +406,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 3cbfd8ef332fa01b78a5ecc384f2e5e7
|
Hash: 3cbfd8ef332fa01b78a5ecc384f2e5e7
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 914.5827, y: -60.08837}
|
m_Position: {x: 714.5492, y: -62.216354}
|
||||||
m_Title: DialogueNode
|
m_Title: DialogueNode
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -432,17 +416,17 @@ MonoBehaviour:
|
|||||||
m_KeyList:
|
m_KeyList:
|
||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- DefaultDialogueLine1
|
|
||||||
- DefaultDialogueLine2
|
|
||||||
- DefaultDialogueLine3
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
|
- DefaultDialogueContent1
|
||||||
|
- DefaultDialogueContent2
|
||||||
|
- DefaultDialogueContent3
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1219994508087787860
|
- rid: 1219994508087787860
|
||||||
- rid: 1219994508087787861
|
- rid: 1219994508087787861
|
||||||
- rid: 1219994508087787900
|
|
||||||
- rid: 1219994508087787901
|
|
||||||
- rid: 1219994508087787902
|
|
||||||
- rid: 1219994508087787905
|
- rid: 1219994508087787905
|
||||||
|
- rid: 7545629632211976294
|
||||||
|
- rid: 7545629632211976295
|
||||||
|
- rid: 7545629632211976296
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -503,7 +487,7 @@ MonoBehaviour:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 05c5ff0463a83c928482c30dbf7a2c0b
|
Hash: 05c5ff0463a83c928482c30dbf7a2c0b
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_Position: {x: 1294.008, y: -60.75061}
|
m_Position: {x: 1210.0558, y: -60.75061}
|
||||||
m_Title: DialogueNode
|
m_Title: DialogueNode
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_NodePreviewModel:
|
m_NodePreviewModel:
|
||||||
@@ -513,13 +497,19 @@ MonoBehaviour:
|
|||||||
m_KeyList:
|
m_KeyList:
|
||||||
- __option_DialogueLineType
|
- __option_DialogueLineType
|
||||||
- __option_NoLines
|
- __option_NoLines
|
||||||
- DefaultDialogueLine
|
|
||||||
- LoopThroughDefaultLines
|
- LoopThroughDefaultLines
|
||||||
|
- DefaultDialogueContent1
|
||||||
|
- DefaultDialogueContent2
|
||||||
|
- DefaultDialogueContent3
|
||||||
|
- DefaultDialogueContent4
|
||||||
m_ValueList:
|
m_ValueList:
|
||||||
- rid: 1219994508087787863
|
- rid: 1219994508087787863
|
||||||
- rid: 1219994508087787864
|
- rid: 1219994508087787864
|
||||||
- rid: 1219994508087787898
|
|
||||||
- rid: 1219994508087787906
|
- rid: 1219994508087787906
|
||||||
|
- rid: 7545629632211976297
|
||||||
|
- rid: 7545629632211976298
|
||||||
|
- rid: 7545629632211976323
|
||||||
|
- rid: 7545629632211976324
|
||||||
m_InputPortInfos:
|
m_InputPortInfos:
|
||||||
expandedPortsById:
|
expandedPortsById:
|
||||||
m_KeyList: []
|
m_KeyList: []
|
||||||
@@ -609,14 +599,14 @@ MonoBehaviour:
|
|||||||
m_EnumType:
|
m_EnumType:
|
||||||
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
m_Value: 0
|
m_Value: 1
|
||||||
m_EnumType:
|
m_EnumType:
|
||||||
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
- rid: 1219994508087787858
|
- rid: 1219994508087787858
|
||||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 1
|
m_Value: 2
|
||||||
- rid: 1219994508087787860
|
- rid: 1219994508087787860
|
||||||
type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -639,34 +629,14 @@ MonoBehaviour:
|
|||||||
m_EnumType:
|
m_EnumType:
|
||||||
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
m_Value: 0
|
m_Value: 1
|
||||||
m_EnumType:
|
m_EnumType:
|
||||||
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
- rid: 1219994508087787864
|
- rid: 1219994508087787864
|
||||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 1
|
m_Value: 4
|
||||||
- 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
|
|
||||||
- rid: 1219994508087787904
|
- rid: 1219994508087787904
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
@@ -678,82 +648,65 @@ MonoBehaviour:
|
|||||||
- rid: 1219994508087787906
|
- rid: 1219994508087787906
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: 0
|
m_Value: 1
|
||||||
- rid: 1226592702090706949
|
- rid: 7545629632211976294
|
||||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.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}
|
|
||||||
data:
|
data:
|
||||||
m_Value:
|
m_Value:
|
||||||
m_EnumType:
|
_contentType: 0
|
||||||
m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0,
|
_text: Some other test
|
||||||
Culture=neutral, PublicKeyToken=null
|
_image: {fileID: 0}
|
||||||
m_Value: 1
|
- rid: 7545629632211976295
|
||||||
m_EnumType:
|
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
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}
|
|
||||||
data:
|
data:
|
||||||
m_Value: 2
|
m_Value:
|
||||||
- rid: 1226592702090706953
|
_contentType: 0
|
||||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
_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:
|
data:
|
||||||
m_Value: 1
|
m_Value:
|
||||||
- rid: 1226592702090706954
|
_contentType: 0
|
||||||
type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor}
|
_text: Some oooother text
|
||||||
data:
|
_image: {fileID: 0}
|
||||||
- rid: 1226592702090706955
|
- 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}
|
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Guid:
|
m_Guid:
|
||||||
m_Value0: 1069232297653548642
|
m_Value0: 3747411033454993788
|
||||||
m_Value1: 12871763382231758094
|
m_Value1: 16062730125593257019
|
||||||
m_HashGuid:
|
m_HashGuid:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 62b603141cadd60e0ef5cd3e99b0a1b2
|
Hash: 7ce176f47a7a01343ba4f3faf147eade
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
m_FromPortReference:
|
m_FromPortReference:
|
||||||
m_NodeModelGuid:
|
m_NodeModelGuid:
|
||||||
@@ -766,38 +719,6 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 2
|
m_PortDirection: 2
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: out
|
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_ToPortReference:
|
||||||
m_NodeModelGuid:
|
m_NodeModelGuid:
|
||||||
m_Value0: 356371523793864382
|
m_Value0: 356371523793864382
|
||||||
@@ -809,11 +730,17 @@ MonoBehaviour:
|
|||||||
m_PortDirection: 1
|
m_PortDirection: 1
|
||||||
m_PortOrientation: 0
|
m_PortOrientation: 0
|
||||||
m_Title: in
|
m_Title: in
|
||||||
- rid: 1226592702090706957
|
- rid: 7545629632211976323
|
||||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
type: {class: 'Constant`1[[Dialogue.DialogueContent, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||||
data:
|
data:
|
||||||
m_Value: And we're...
|
m_Value:
|
||||||
- rid: 1226592702090706958
|
_contentType: 1
|
||||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
_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:
|
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}
|
||||||
|
|||||||
130
Assets/Editor/Dialogue/DialogueContentDrawer.cs
Normal file
130
Assets/Editor/Dialogue/DialogueContentDrawer.cs
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Dialogue.Editor
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Custom property drawer for DialogueContent that displays either text or image fields based on content type
|
||||||
|
/// </summary>
|
||||||
|
[CustomPropertyDrawer(typeof(DialogueContent))]
|
||||||
|
public class DialogueContentDrawer : PropertyDrawer
|
||||||
|
{
|
||||||
|
// Height constants
|
||||||
|
private const float TypeSelectorHeight = 20f;
|
||||||
|
private const float PropertySpacing = 2f;
|
||||||
|
private const float TextFieldHeight = 40f; // Taller for multi-line text
|
||||||
|
private const float ImageFieldHeight = 18f;
|
||||||
|
private const float PreviewHeight = 64f;
|
||||||
|
|
||||||
|
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
var contentTypeProperty = property.FindPropertyRelative("_contentType");
|
||||||
|
var height = TypeSelectorHeight + PropertySpacing;
|
||||||
|
|
||||||
|
// Add height based on content type
|
||||||
|
if (contentTypeProperty.enumValueIndex == (int)DialogueContentType.Text)
|
||||||
|
{
|
||||||
|
height += TextFieldHeight;
|
||||||
|
}
|
||||||
|
else // Image
|
||||||
|
{
|
||||||
|
height += ImageFieldHeight;
|
||||||
|
|
||||||
|
// Add preview height if an image is assigned
|
||||||
|
var imageProperty = property.FindPropertyRelative("_image");
|
||||||
|
if (imageProperty.objectReferenceValue != null)
|
||||||
|
{
|
||||||
|
height += PropertySpacing + PreviewHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return height;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
EditorGUI.BeginProperty(position, label, property);
|
||||||
|
|
||||||
|
// Create a property field and indent it
|
||||||
|
var contentRect = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
|
||||||
|
var indent = EditorGUI.indentLevel;
|
||||||
|
EditorGUI.indentLevel = 0;
|
||||||
|
|
||||||
|
// Get properties
|
||||||
|
var contentTypeProperty = property.FindPropertyRelative("_contentType");
|
||||||
|
var textProperty = property.FindPropertyRelative("_text");
|
||||||
|
var imageProperty = property.FindPropertyRelative("_image");
|
||||||
|
|
||||||
|
// Calculate rects
|
||||||
|
var typeRect = new Rect(contentRect.x, contentRect.y, contentRect.width, TypeSelectorHeight);
|
||||||
|
var contentFieldRect = new Rect(
|
||||||
|
contentRect.x,
|
||||||
|
contentRect.y + TypeSelectorHeight + PropertySpacing,
|
||||||
|
contentRect.width,
|
||||||
|
contentTypeProperty.enumValueIndex == (int)DialogueContentType.Text ? TextFieldHeight : ImageFieldHeight);
|
||||||
|
|
||||||
|
// Draw the content type dropdown
|
||||||
|
EditorGUI.PropertyField(typeRect, contentTypeProperty, GUIContent.none);
|
||||||
|
|
||||||
|
// Draw the appropriate field based on content type
|
||||||
|
if (contentTypeProperty.enumValueIndex == (int)DialogueContentType.Text)
|
||||||
|
{
|
||||||
|
// Create a custom style with word wrap enabled
|
||||||
|
GUIStyle wordWrapStyle = new GUIStyle(EditorStyles.textArea);
|
||||||
|
wordWrapStyle.wordWrap = true;
|
||||||
|
|
||||||
|
// Text field with word wrap for multi-line input
|
||||||
|
textProperty.stringValue = EditorGUI.TextArea(contentFieldRect, textProperty.stringValue, wordWrapStyle);
|
||||||
|
}
|
||||||
|
else // Image
|
||||||
|
{
|
||||||
|
// Draw the image field
|
||||||
|
EditorGUI.PropertyField(contentFieldRect, imageProperty, GUIContent.none);
|
||||||
|
|
||||||
|
// Draw a preview if an image is assigned
|
||||||
|
if (imageProperty.objectReferenceValue != null)
|
||||||
|
{
|
||||||
|
var sprite = imageProperty.objectReferenceValue as Sprite;
|
||||||
|
if (sprite != null)
|
||||||
|
{
|
||||||
|
var previewRect = new Rect(
|
||||||
|
contentRect.x,
|
||||||
|
contentFieldRect.y + contentFieldRect.height + PropertySpacing,
|
||||||
|
contentRect.width,
|
||||||
|
PreviewHeight);
|
||||||
|
|
||||||
|
// Draw the preview with preserved aspect ratio
|
||||||
|
DrawSpritePreview(previewRect, sprite);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.indentLevel = indent;
|
||||||
|
EditorGUI.EndProperty();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DrawSpritePreview(Rect position, Sprite sprite)
|
||||||
|
{
|
||||||
|
if (sprite == null || sprite.texture == null) return;
|
||||||
|
|
||||||
|
// Calculate aspect-preserved rect
|
||||||
|
float aspectRatio = sprite.rect.width / sprite.rect.height;
|
||||||
|
float targetWidth = Mathf.Min(position.width, position.height * aspectRatio);
|
||||||
|
float targetHeight = targetWidth / aspectRatio;
|
||||||
|
|
||||||
|
// Center the preview
|
||||||
|
Rect previewRect = new Rect(
|
||||||
|
position.x + (position.width - targetWidth) * 0.5f,
|
||||||
|
position.y + (position.height - targetHeight) * 0.5f,
|
||||||
|
targetWidth,
|
||||||
|
targetHeight
|
||||||
|
);
|
||||||
|
|
||||||
|
// Draw the sprite preview
|
||||||
|
EditorGUI.DrawPreviewTexture(previewRect, sprite.texture, null, ScaleMode.ScaleToFit);
|
||||||
|
|
||||||
|
// Draw a border around the preview
|
||||||
|
GUI.Box(previewRect, GUIContent.none);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Editor/Dialogue/DialogueContentDrawer.cs.meta
Normal file
3
Assets/Editor/Dialogue/DialogueContentDrawer.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f77e7b681b7f464f96242172ea625ed4
|
||||||
|
timeCreated: 1759912655
|
||||||
@@ -111,24 +111,42 @@ namespace Editor.Dialogue
|
|||||||
var lineCountOption = node.GetNodeOptionByName("NoLines");
|
var lineCountOption = node.GetNodeOptionByName("NoLines");
|
||||||
lineCountOption.TryGetValue<int>(out var lineCount);
|
lineCountOption.TryGetValue<int>(out var lineCount);
|
||||||
|
|
||||||
// Process dialogue lines based on line type
|
// Process dialogue content
|
||||||
if (lineType == DialogueType.SayMultipleLines)
|
if (lineType == DialogueType.SayMultipleLines)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < lineCount; i++)
|
for (var i = 0; i < lineCount; i++)
|
||||||
{
|
{
|
||||||
var lineValue = GetPortValue<string>(node.GetInputPortByName($"DefaultDialogueLine{i + 1}"));
|
var contentPort = node.GetInputPortByName($"DefaultDialogueContent{i + 1}");
|
||||||
if (!string.IsNullOrEmpty(lineValue))
|
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
|
else
|
||||||
{
|
{
|
||||||
var lineValue = GetPortValue<string>(node.GetInputPortByName("DefaultDialogueLine"));
|
var contentPort = node.GetInputPortByName("DefaultDialogueContent");
|
||||||
if (!string.IsNullOrEmpty(lineValue))
|
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;
|
runtimeNode.slotItemID = slot.itemId;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process incorrect item lines
|
// Get line type and count options for incorrect items
|
||||||
var incorrectItemLineTypeOption = node.GetNodeOptionByName("IncorrectItemDialogueLineType");
|
var incorrectItemLineTypeOption = node.GetNodeOptionByName("IncorrectItemDialogueLineType");
|
||||||
incorrectItemLineTypeOption.TryGetValue<DialogueType>(out var incorrectItemLineType);
|
incorrectItemLineTypeOption.TryGetValue<DialogueType>(out var incorrectItemLineType);
|
||||||
|
|
||||||
var incorrectItemLineCountOption = node.GetNodeOptionByName("IncorrectItemNoLines");
|
var incorrectItemLineCountOption = node.GetNodeOptionByName("IncorrectItemNoLines");
|
||||||
incorrectItemLineCountOption.TryGetValue<int>(out var incorrectItemLineCount);
|
incorrectItemLineCountOption.TryGetValue<int>(out var incorrectItemLineCount);
|
||||||
|
|
||||||
|
// Process incorrect item content
|
||||||
if (incorrectItemLineType == DialogueType.SayMultipleLines)
|
if (incorrectItemLineType == DialogueType.SayMultipleLines)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < incorrectItemLineCount; i++)
|
for (var i = 0; i < incorrectItemLineCount; i++)
|
||||||
{
|
{
|
||||||
var lineValue = GetPortValue<string>(node.GetInputPortByName($"IncorrectItemDialogueLine{i + 1}"));
|
var contentPort = node.GetInputPortByName($"IncorrectItemDialogueContent{i + 1}");
|
||||||
if (!string.IsNullOrEmpty(lineValue))
|
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
|
else
|
||||||
{
|
{
|
||||||
var lineValue = GetPortValue<string>(node.GetInputPortByName("IncorrectItemDialogueLine"));
|
var contentPort = node.GetInputPortByName("IncorrectItemDialogueContent");
|
||||||
if (!string.IsNullOrEmpty(lineValue))
|
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 =
|
runtimeNode.loopThroughIncorrectLines =
|
||||||
GetPortValue<bool>(node.GetInputPortByName("LoopThroughIncorrectItemLines"));
|
GetPortValue<bool>(node.GetInputPortByName("LoopThroughIncorrectItemLines"));
|
||||||
|
|
||||||
// Process forbidden item lines
|
// Get line type and count options for forbidden items
|
||||||
var forbiddenItemLineTypeOption = node.GetNodeOptionByName("ForbiddenItemDialogueLineType");
|
var forbiddenItemLineTypeOption = node.GetNodeOptionByName("ForbiddenItemDialogueLineType");
|
||||||
forbiddenItemLineTypeOption.TryGetValue<DialogueType>(out var forbiddenItemLineType);
|
forbiddenItemLineTypeOption.TryGetValue<DialogueType>(out var forbiddenItemLineType);
|
||||||
|
|
||||||
var forbiddenItemLineCountOption = node.GetNodeOptionByName("ForbiddenItemNoLines");
|
var forbiddenItemLineCountOption = node.GetNodeOptionByName("ForbiddenItemNoLines");
|
||||||
forbiddenItemLineCountOption.TryGetValue<int>(out var forbiddenItemLineCount);
|
forbiddenItemLineCountOption.TryGetValue<int>(out var forbiddenItemLineCount);
|
||||||
|
|
||||||
|
// Process forbidden item content
|
||||||
if (forbiddenItemLineType == DialogueType.SayMultipleLines)
|
if (forbiddenItemLineType == DialogueType.SayMultipleLines)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < forbiddenItemLineCount; i++)
|
for (var i = 0; i < forbiddenItemLineCount; i++)
|
||||||
{
|
{
|
||||||
var lineValue = GetPortValue<string>(node.GetInputPortByName($"ForbiddenItemDialogueLine{i + 1}"));
|
var contentPort = node.GetInputPortByName($"ForbiddenItemDialogueContent{i + 1}");
|
||||||
if (!string.IsNullOrEmpty(lineValue))
|
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
|
else
|
||||||
{
|
{
|
||||||
var lineValue = GetPortValue<string>(node.GetInputPortByName("ForbiddenItemDialogueLine"));
|
var contentPort = node.GetInputPortByName("ForbiddenItemDialogueContent");
|
||||||
if (!string.IsNullOrEmpty(lineValue))
|
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;
|
return fallbackValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Unity.GraphToolkit.Editor;
|
using Unity.GraphToolkit.Editor;
|
||||||
using System;
|
using System;
|
||||||
|
using Dialogue;
|
||||||
|
|
||||||
namespace Editor.Dialogue
|
namespace Editor.Dialogue
|
||||||
{
|
{
|
||||||
@@ -37,8 +38,7 @@ namespace Editor.Dialogue
|
|||||||
const string LineTypeOptionName = "DialogueLineType";
|
const string LineTypeOptionName = "DialogueLineType";
|
||||||
const string NoLinesOptionName = "NoLines";
|
const string NoLinesOptionName = "NoLines";
|
||||||
const string LoopThroughDefaultLinesOptionName = "LoopThroughDefaultLines";
|
const string LoopThroughDefaultLinesOptionName = "LoopThroughDefaultLines";
|
||||||
const string DefaultDialogueLineOptionName = "DefaultDialogueLine";
|
const string DefaultDialogueContentOptionName = "DefaultDialogueContent";
|
||||||
|
|
||||||
|
|
||||||
protected override void OnDefineOptions(IOptionDefinitionContext context)
|
protected override void OnDefineOptions(IOptionDefinitionContext context)
|
||||||
{
|
{
|
||||||
@@ -47,7 +47,6 @@ namespace Editor.Dialogue
|
|||||||
.WithDefaultValue(DialogueType.SayOneLine)
|
.WithDefaultValue(DialogueType.SayOneLine)
|
||||||
.Delayed();
|
.Delayed();
|
||||||
|
|
||||||
|
|
||||||
context.AddOption<int>(NoLinesOptionName)
|
context.AddOption<int>(NoLinesOptionName)
|
||||||
.WithDisplayName("Number of Default Lines")
|
.WithDisplayName("Number of Default Lines")
|
||||||
.WithDefaultValue(1)
|
.WithDefaultValue(1)
|
||||||
@@ -59,6 +58,7 @@ namespace Editor.Dialogue
|
|||||||
context.AddInputPort("in").Build();
|
context.AddInputPort("in").Build();
|
||||||
context.AddOutputPort("out").Build();
|
context.AddOutputPort("out").Build();
|
||||||
|
|
||||||
|
// Get line type and count options
|
||||||
var lineTypeOption = GetNodeOptionByName(LineTypeOptionName);
|
var lineTypeOption = GetNodeOptionByName(LineTypeOptionName);
|
||||||
lineTypeOption.TryGetValue<DialogueType>(out var lineType);
|
lineTypeOption.TryGetValue<DialogueType>(out var lineType);
|
||||||
var lineCountOption = GetNodeOptionByName(NoLinesOptionName);
|
var lineCountOption = GetNodeOptionByName(NoLinesOptionName);
|
||||||
@@ -68,15 +68,21 @@ namespace Editor.Dialogue
|
|||||||
{
|
{
|
||||||
for (var i = 0; i < lineCount; i++)
|
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
|
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
|
public class WaitOnSlot : DialogueNode
|
||||||
{
|
{
|
||||||
const string RequiredSlotOptionName = "RequiredSlot";
|
const string RequiredSlotOptionName = "RequiredSlot";
|
||||||
// Incorrect item - i.e. not the correct one but also not forbidden
|
|
||||||
const string IncorrectItemLineTypeOptionName = "IncorrectItemDialogueLineType";
|
const string IncorrectItemLineTypeOptionName = "IncorrectItemDialogueLineType";
|
||||||
const string IncorrectItemNoLinesOptionName = "IncorrectItemNoLines";
|
const string IncorrectItemNoLinesOptionName = "IncorrectItemNoLines";
|
||||||
const string LoopThroughIncorrectItemLinesOptionName = "LoopThroughIncorrectItemLines";
|
const string LoopThroughIncorrectItemLinesOptionName = "LoopThroughIncorrectItemLines";
|
||||||
const string IncorrectIteDialogueLineOptionName = "IncorrectItemDialogueLine";
|
const string IncorrectItemDialogueContentOptionName = "IncorrectItemDialogueContent";
|
||||||
// Explicitely forbidden item
|
|
||||||
const string ForbiddenItemLineTypeOptionName = "ForbiddenItemDialogueLineType";
|
const string ForbiddenItemLineTypeOptionName = "ForbiddenItemDialogueLineType";
|
||||||
const string ForbiddenItemNoLinesOptionName = "ForbiddenItemNoLines";
|
const string ForbiddenItemNoLinesOptionName = "ForbiddenItemNoLines";
|
||||||
const string LoopThroughForbiddenItemLinesOptionName = "LoopThroughForbiddenItemLines";
|
const string LoopThroughForbiddenItemLinesOptionName = "LoopThroughForbiddenItemLines";
|
||||||
const string ForbiddenIteDialogueLineOptionName = "ForbiddenItemDialogueLine";
|
const string ForbiddenItemDialogueContentOptionName = "ForbiddenItemDialogueContent";
|
||||||
|
|
||||||
protected override void OnDefineOptions(IOptionDefinitionContext context)
|
protected override void OnDefineOptions(IOptionDefinitionContext context)
|
||||||
{
|
{
|
||||||
base.OnDefineOptions(context);
|
base.OnDefineOptions(context);
|
||||||
|
|
||||||
// Incorrect
|
// Incorrect item options
|
||||||
context.AddOption<DialogueType>(IncorrectItemLineTypeOptionName)
|
context.AddOption<DialogueType>(IncorrectItemLineTypeOptionName)
|
||||||
.WithDisplayName("Incorrect Item Line Type")
|
.WithDisplayName("Incorrect Item Line Type")
|
||||||
.WithDefaultValue(DialogueType.SayOneLine)
|
.WithDefaultValue(DialogueType.SayOneLine)
|
||||||
.Delayed();
|
.Delayed();
|
||||||
|
|
||||||
context.AddOption<int>(IncorrectItemNoLinesOptionName)
|
context.AddOption<int>(IncorrectItemNoLinesOptionName)
|
||||||
.WithDisplayName("Number of Incorrect Item Lines")
|
.WithDisplayName("Number of Incorrect Item Lines")
|
||||||
.WithDefaultValue(1)
|
.WithDefaultValue(1)
|
||||||
.Delayed();
|
.Delayed();
|
||||||
|
|
||||||
// Forbidden
|
// Forbidden item options
|
||||||
context.AddOption<DialogueType>(ForbiddenItemLineTypeOptionName)
|
context.AddOption<DialogueType>(ForbiddenItemLineTypeOptionName)
|
||||||
.WithDisplayName("Forbidden Item Line Type")
|
.WithDisplayName("Forbidden Item Line Type")
|
||||||
.WithDefaultValue(DialogueType.SayOneLine)
|
.WithDefaultValue(DialogueType.SayOneLine)
|
||||||
.Delayed();
|
.Delayed();
|
||||||
|
|
||||||
context.AddOption<int>(ForbiddenItemNoLinesOptionName)
|
context.AddOption<int>(ForbiddenItemNoLinesOptionName)
|
||||||
.WithDisplayName("Forbidden of Incorrect Item Lines")
|
.WithDisplayName("Number of Forbidden Item Lines")
|
||||||
.WithDefaultValue(1)
|
.WithDefaultValue(1)
|
||||||
.Delayed();
|
.Delayed();
|
||||||
}
|
}
|
||||||
@@ -152,45 +159,59 @@ namespace Editor.Dialogue
|
|||||||
|
|
||||||
base.OnDefinePorts(context);
|
base.OnDefinePorts(context);
|
||||||
|
|
||||||
// Incorrect
|
// Process Incorrect Item content
|
||||||
var incorrectItemLineTypeOption = GetNodeOptionByName(IncorrectItemLineTypeOptionName);
|
var incorrectItemLineTypeOption = GetNodeOptionByName(IncorrectItemLineTypeOptionName);
|
||||||
incorrectItemLineTypeOption.TryGetValue<DialogueType>(out var incorrectItemLineType);
|
incorrectItemLineTypeOption.TryGetValue<DialogueType>(out var incorrectItemLineType);
|
||||||
var incorrectItemLineCountOption = GetNodeOptionByName(IncorrectItemNoLinesOptionName);
|
var incorrectItemLineCountOption = GetNodeOptionByName(IncorrectItemNoLinesOptionName);
|
||||||
incorrectItemLineCountOption.TryGetValue<int>(out var incorrectItemLineCount);
|
incorrectItemLineCountOption.TryGetValue<int>(out var incorrectItemLineCount);
|
||||||
|
|
||||||
|
// Add DialogueContent ports for incorrect item content
|
||||||
if (incorrectItemLineType == DialogueType.SayMultipleLines)
|
if (incorrectItemLineType == DialogueType.SayMultipleLines)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < incorrectItemLineCount; i++)
|
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
|
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);
|
var forbiddenItemLineTypeOption = GetNodeOptionByName(ForbiddenItemLineTypeOptionName);
|
||||||
forbiddenItemLineTypeOption.TryGetValue<DialogueType>(out var forbiddenItemLineType);
|
forbiddenItemLineTypeOption.TryGetValue<DialogueType>(out var forbiddenItemLineType);
|
||||||
var forbiddenItemLineCountOption = GetNodeOptionByName(ForbiddenItemNoLinesOptionName);
|
var forbiddenItemLineCountOption = GetNodeOptionByName(ForbiddenItemNoLinesOptionName);
|
||||||
forbiddenItemLineCountOption.TryGetValue<int>(out var forbiddenItemLineCount);
|
forbiddenItemLineCountOption.TryGetValue<int>(out var forbiddenItemLineCount);
|
||||||
|
|
||||||
|
// Add DialogueContent ports for forbidden item content
|
||||||
if (forbiddenItemLineType == DialogueType.SayMultipleLines)
|
if (forbiddenItemLineType == DialogueType.SayMultipleLines)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < forbiddenItemLineCount; i++)
|
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
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ GameObject:
|
|||||||
- component: {fileID: 9002038557409323574}
|
- component: {fileID: 9002038557409323574}
|
||||||
- component: {fileID: 4498241824153346754}
|
- component: {fileID: 4498241824153346754}
|
||||||
- component: {fileID: 3123748273643935430}
|
- component: {fileID: 3123748273643935430}
|
||||||
|
- component: {fileID: 8484489322432759371}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: SpeechBubble
|
m_Name: SpeechBubble
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -34,11 +35,11 @@ RectTransform:
|
|||||||
- {fileID: 1539728007164444029}
|
- {fileID: 1539728007164444029}
|
||||||
m_Father: {fileID: 3484825090253933040}
|
m_Father: {fileID: 3484825090253933040}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 50}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 400, y: 0}
|
m_SizeDelta: {x: 600, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 1}
|
m_Pivot: {x: 0, y: 0}
|
||||||
--- !u!114 &9002038557409323574
|
--- !u!114 &9002038557409323574
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -99,6 +100,123 @@ MonoBehaviour:
|
|||||||
m_FlexibleWidth: -1
|
m_FlexibleWidth: -1
|
||||||
m_FlexibleHeight: -1
|
m_FlexibleHeight: -1
|
||||||
m_LayoutPriority: 1
|
m_LayoutPriority: 1
|
||||||
|
--- !u!114 &8484489322432759371
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1494212192306772670}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: cb3605ae81a54d2689504e0cd456ac27, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble
|
||||||
|
textDisplay: {fileID: 4573570654593171780}
|
||||||
|
imageDisplay: {fileID: 4814676392695871198}
|
||||||
|
displayMode: 1
|
||||||
|
typewriterSpeed: 0.05
|
||||||
|
typingSoundSource: {fileID: 0}
|
||||||
|
typingSoundFrequency: 3
|
||||||
|
useRichText: 1
|
||||||
|
dialogueDisplayTime: 3
|
||||||
|
dialoguePromptText: . . .
|
||||||
|
--- !u!1 &3571537114331005905
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7453431659909988258}
|
||||||
|
- component: {fileID: 7239040132725875785}
|
||||||
|
- component: {fileID: 4814676392695871198}
|
||||||
|
- component: {fileID: 7738447742327076413}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Image
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 0
|
||||||
|
--- !u!224 &7453431659909988258
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3571537114331005905}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1539728007164444029}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 300, y: -125}
|
||||||
|
m_SizeDelta: {x: 200, y: 200}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &7239040132725875785
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3571537114331005905}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4814676392695871198
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3571537114331005905}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: -9213056636207805707, guid: 00354ded9d8f8d643acc14837a229544, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 1
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &7738447742327076413
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3571537114331005905}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
|
||||||
|
m_IgnoreLayout: 0
|
||||||
|
m_MinWidth: -1
|
||||||
|
m_MinHeight: -1
|
||||||
|
m_PreferredWidth: 200
|
||||||
|
m_PreferredHeight: 200
|
||||||
|
m_FlexibleWidth: -1
|
||||||
|
m_FlexibleHeight: -1
|
||||||
|
m_LayoutPriority: 1
|
||||||
--- !u!1 &5048280843231724144
|
--- !u!1 &5048280843231724144
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -164,7 +282,7 @@ MonoBehaviour:
|
|||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_text: Hey there buster!
|
m_text: Hey there, buster!
|
||||||
m_isRightToLeft: 0
|
m_isRightToLeft: 0
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
@@ -191,8 +309,8 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 35
|
m_fontSize: 55
|
||||||
m_fontSizeBase: 35
|
m_fontSizeBase: 55
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
@@ -364,18 +482,19 @@ RectTransform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 8341977934938436915}
|
m_GameObject: {fileID: 8341977934938436915}
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -1}
|
m_LocalPosition: {x: 0, y: 0, z: -0.9999999}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 7704981663008171144}
|
- {fileID: 7704981663008171144}
|
||||||
|
- {fileID: 7453431659909988258}
|
||||||
m_Father: {fileID: 8307219291215824345}
|
m_Father: {fileID: 8307219291215824345}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0, y: 0}
|
||||||
--- !u!222 &2528298462582055986
|
--- !u!222 &2528298462582055986
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -433,7 +552,7 @@ MonoBehaviour:
|
|||||||
m_Bottom: 70
|
m_Bottom: 70
|
||||||
m_ChildAlignment: 4
|
m_ChildAlignment: 4
|
||||||
m_Spacing: 0
|
m_Spacing: 0
|
||||||
m_ChildForceExpandWidth: 1
|
m_ChildForceExpandWidth: 0
|
||||||
m_ChildForceExpandHeight: 0
|
m_ChildForceExpandHeight: 0
|
||||||
m_ChildControlWidth: 1
|
m_ChildControlWidth: 1
|
||||||
m_ChildControlHeight: 1
|
m_ChildControlHeight: 1
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 517425340}
|
objectReference: {fileID: 517425340}
|
||||||
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: characterToInteract
|
propertyPath: characterToInteract
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: m_Sprite
|
propertyPath: m_Sprite
|
||||||
@@ -603,7 +603,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: characterToInteract
|
propertyPath: characterToInteract
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6350287859698694726, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6350287859698694726, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
@@ -777,7 +777,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 11400000, guid: 9de0c57af6191384e96e2ba7c04a3d0d, type: 2}
|
objectReference: {fileID: 11400000, guid: 9de0c57af6191384e96e2ba7c04a3d0d, type: 2}
|
||||||
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: characterToInteract
|
propertyPath: characterToInteract
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: m_Sprite
|
propertyPath: m_Sprite
|
||||||
@@ -972,11 +972,11 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 2.55
|
value: 0.6806664
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 3.17
|
value: 1.4252888
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
@@ -1068,6 +1068,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble
|
m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble
|
||||||
textDisplay: {fileID: 677854361}
|
textDisplay: {fileID: 677854361}
|
||||||
|
imageDisplay: {fileID: 0}
|
||||||
displayMode: 1
|
displayMode: 1
|
||||||
typewriterSpeed: 0.02
|
typewriterSpeed: 0.02
|
||||||
typingSoundSource: {fileID: 0}
|
typingSoundSource: {fileID: 0}
|
||||||
@@ -1286,7 +1287,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 11400000, guid: a84cbe9804e13f74e857c55d90cc10d1, type: 2}
|
objectReference: {fileID: 11400000, guid: a84cbe9804e13f74e857c55d90cc10d1, type: 2}
|
||||||
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6254953093500072797, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: characterToInteract
|
propertyPath: characterToInteract
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
- target: {fileID: 6303063351359542479, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3}
|
||||||
propertyPath: m_Sprite
|
propertyPath: m_Sprite
|
||||||
@@ -1411,7 +1412,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
||||||
propertyPath: characterToInteract
|
propertyPath: characterToInteract
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
@@ -1832,6 +1833,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble
|
m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble
|
||||||
textDisplay: {fileID: 614125440}
|
textDisplay: {fileID: 614125440}
|
||||||
|
imageDisplay: {fileID: 0}
|
||||||
displayMode: 1
|
displayMode: 1
|
||||||
typewriterSpeed: 0.02
|
typewriterSpeed: 0.02
|
||||||
typingSoundSource: {fileID: 0}
|
typingSoundSource: {fileID: 0}
|
||||||
@@ -1970,7 +1972,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
||||||
propertyPath: characterToInteract
|
propertyPath: characterToInteract
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents:
|
m_RemovedComponents:
|
||||||
- {fileID: 592045584872845087, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
- {fileID: 592045584872845087, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
||||||
@@ -2281,7 +2283,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
- target: {fileID: 7616859841301711022, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
||||||
propertyPath: characterToInteract
|
propertyPath: characterToInteract
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
@@ -2892,11 +2894,11 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 2.55
|
value: 0.5560436
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 3.17
|
value: 1.3006666
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
|||||||
@@ -1487,31 +1487,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 5145306031820616614, guid: fbbe1f4baf226904b96f839fe0c00181, type: 3}
|
m_CorrespondingSourceObject: {fileID: 5145306031820616614, guid: fbbe1f4baf226904b96f839fe0c00181, type: 3}
|
||||||
m_PrefabInstance: {fileID: 94815899}
|
m_PrefabInstance: {fileID: 94815899}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &103777726 stripped
|
|
||||||
GameObject:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 1494212192306772670, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 1743421791}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!114 &103777731
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 103777726}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: cb3605ae81a54d2689504e0cd456ac27, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble
|
|
||||||
textDisplay: {fileID: 1103549804}
|
|
||||||
displayMode: 1
|
|
||||||
typewriterSpeed: 0.05
|
|
||||||
typingSoundSource: {fileID: 0}
|
|
||||||
typingSoundFrequency: 3
|
|
||||||
useRichText: 1
|
|
||||||
dialogueDisplayTime: 3
|
|
||||||
dialoguePromptText: . . .
|
|
||||||
--- !u!1001 &104952029
|
--- !u!1001 &104952029
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -446788,17 +446763,6 @@ PrefabInstance:
|
|||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: 21238928}
|
addedObject: {fileID: 21238928}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 4b7426bc1f8736749b68973653f4dbfb, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 4b7426bc1f8736749b68973653f4dbfb, type: 3}
|
||||||
--- !u!114 &1103549804 stripped
|
|
||||||
MonoBehaviour:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 4573570654593171780, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 1743421791}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
|
||||||
--- !u!1 &1106104746
|
--- !u!1 &1106104746
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -456563,11 +456527,11 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 2.8
|
value: 1.3000008
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 5.34
|
value: 3.840001
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
@@ -457644,14 +457608,6 @@ PrefabInstance:
|
|||||||
propertyPath: m_Camera
|
propertyPath: m_Camera
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 1653475492}
|
objectReference: {fileID: 1653475492}
|
||||||
- target: {fileID: 4573570654593171780, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
|
||||||
propertyPath: m_fontSize
|
|
||||||
value: 80
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4573570654593171780, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
|
||||||
propertyPath: m_fontSizeBase
|
|
||||||
value: 80
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6499933157207406972, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
- target: {fileID: 6499933157207406972, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: DialogueCanvas
|
value: DialogueCanvas
|
||||||
@@ -457684,13 +457640,18 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8307219291215824345, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: -131.34683
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8307219291215824345, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: -183.88577
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents:
|
m_AddedComponents: []
|
||||||
- targetCorrespondingSourceObject: {fileID: 1494212192306772670, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
|
||||||
insertIndex: -1
|
|
||||||
addedObject: {fileID: 103777731}
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3}
|
||||||
--- !u!224 &1743421792 stripped
|
--- !u!224 &1743421792 stripped
|
||||||
RectTransform:
|
RectTransform:
|
||||||
|
|||||||
@@ -74,19 +74,96 @@ namespace Dialogue
|
|||||||
|
|
||||||
private void OnCharacterArrived()
|
private void OnCharacterArrived()
|
||||||
{
|
{
|
||||||
if (speechBubble == null || ! HasAnyLines()) return;
|
if (speechBubble == null || !HasAnyLines()) return;
|
||||||
|
|
||||||
|
// Advance the dialogue state to move to the next content
|
||||||
AdvanceDialogueState();
|
AdvanceDialogueState();
|
||||||
|
|
||||||
// Get the current dialogue line
|
// Check if we have DialogueContent available (prioritizing the new content system)
|
||||||
string line = GetCurrentDialogueLine();
|
DialogueContent content = GetCurrentDialogueContent();
|
||||||
|
|
||||||
// Display the line with the new method that handles timed updates
|
if (content != null)
|
||||||
speechBubble.DisplayDialogueLine(line, HasAnyLines());
|
{
|
||||||
|
// Display the content with the method that handles both text and images
|
||||||
// Advance dialogue state for next interaction
|
// 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 if no DialogueContent is available
|
||||||
|
string line = GetCurrentDialogueLine();
|
||||||
|
speechBubble.DisplayDialogueLine(line, HasAnyLines());
|
||||||
|
|
||||||
|
// Log for debugging
|
||||||
|
Debug.Log($"Displaying legacy text: {line}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the current dialogue content (text or image)
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>DialogueContent or null if only legacy text content is available</returns>
|
||||||
|
private DialogueContent GetCurrentDialogueContent()
|
||||||
|
{
|
||||||
|
// Initialize if needed
|
||||||
|
if (!initialized)
|
||||||
|
{
|
||||||
|
StartDialogue();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!IsActive || IsCompleted || currentNode == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
// Check if we have DialogueContent available
|
||||||
|
if (currentNode.dialogueContent != null && currentNode.dialogueContent.Count > 0)
|
||||||
|
{
|
||||||
|
// For WaitOnSlot nodes, use the appropriate content based on slot state
|
||||||
|
if (currentNode.nodeType == RuntimeDialogueNodeType.WaitOnSlot)
|
||||||
|
{
|
||||||
|
// Choose the appropriate content collection based on the current slot state
|
||||||
|
List<DialogueContent> contentForState = currentNode.dialogueContent; // Default content
|
||||||
|
|
||||||
|
switch (_currentSlotState)
|
||||||
|
{
|
||||||
|
case ItemSlotState.Incorrect:
|
||||||
|
// Use incorrect item content if available
|
||||||
|
if (currentNode.incorrectItemContent != null && currentNode.incorrectItemContent.Count > 0)
|
||||||
|
contentForState = currentNode.incorrectItemContent;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ItemSlotState.Forbidden:
|
||||||
|
// Use forbidden item content if available
|
||||||
|
if (currentNode.forbiddenItemContent != null && currentNode.forbiddenItemContent.Count > 0)
|
||||||
|
contentForState = currentNode.forbiddenItemContent;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we have content for this state, return the current one
|
||||||
|
if (contentForState != null && contentForState.Count > 0)
|
||||||
|
{
|
||||||
|
// Make sure index is within bounds
|
||||||
|
int index = Mathf.Clamp(currentLineIndex, 0, contentForState.Count - 1);
|
||||||
|
return contentForState[index];
|
||||||
|
}
|
||||||
|
return null; // No content for this slot state
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// For other node types, use the default dialogueContent
|
||||||
|
if (currentLineIndex >= 0 && currentLineIndex < currentNode.dialogueContent.Count)
|
||||||
|
{
|
||||||
|
return currentNode.dialogueContent[currentLineIndex];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// No DialogueContent available, will fall back to legacy text handling
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
// Unregister from events
|
// Unregister from events
|
||||||
@@ -205,7 +282,7 @@ namespace Dialogue
|
|||||||
{
|
{
|
||||||
if (!IsActive || IsCompleted || currentNode == null)
|
if (!IsActive || IsCompleted || currentNode == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// If the condition was satisfied earlier, move to the next node immediately
|
// If the condition was satisfied earlier, move to the next node immediately
|
||||||
if (_conditionSatisfiedPendingAdvance)
|
if (_conditionSatisfiedPendingAdvance)
|
||||||
{
|
{
|
||||||
@@ -213,21 +290,44 @@ namespace Dialogue
|
|||||||
MoveToNextNode();
|
MoveToNextNode();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// First check if we have any dialogueContent to process
|
||||||
|
bool hasDialogueContent = currentNode.dialogueContent != null && currentNode.dialogueContent.Count > 0;
|
||||||
|
|
||||||
// If we have more lines in the current node, advance to the next line
|
if (hasDialogueContent)
|
||||||
if (currentLineIndex < currentNode.dialogueLines.Count - 1)
|
|
||||||
{
|
{
|
||||||
currentLineIndex++;
|
// If we have dialogueContent and there are more entries, advance to the next one
|
||||||
return;
|
if (currentLineIndex < currentNode.dialogueContent.Count - 1)
|
||||||
|
{
|
||||||
|
currentLineIndex++;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we should loop through content, reset the index
|
||||||
|
if (currentNode.loopThroughLines && currentNode.dialogueContent.Count > 0)
|
||||||
|
{
|
||||||
|
currentLineIndex = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
// If we should loop through lines, reset the index
|
|
||||||
if (currentNode.loopThroughLines && currentNode.dialogueLines.Count > 0)
|
|
||||||
{
|
{
|
||||||
currentLineIndex = 0;
|
// Fall back to legacy dialogueLines
|
||||||
return;
|
// 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
|
// If we're at a node that doesn't have a next node, we're done
|
||||||
if (string.IsNullOrEmpty(currentNode.nextNodeID))
|
if (string.IsNullOrEmpty(currentNode.nextNodeID))
|
||||||
{
|
{
|
||||||
@@ -235,7 +335,7 @@ namespace Dialogue
|
|||||||
IsCompleted = true;
|
IsCompleted = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move to the next node only if no conditions to wait for
|
// Move to the next node only if no conditions to wait for
|
||||||
if (!IsWaitingForCondition())
|
if (!IsWaitingForCondition())
|
||||||
{
|
{
|
||||||
@@ -560,60 +660,110 @@ namespace Dialogue
|
|||||||
// Special case: if condition has been satisfied but not yet advanced, we should show lines
|
// Special case: if condition has been satisfied but not yet advanced, we should show lines
|
||||||
if (_conditionSatisfiedPendingAdvance && !string.IsNullOrEmpty(currentNode.nextNodeID))
|
if (_conditionSatisfiedPendingAdvance && !string.IsNullOrEmpty(currentNode.nextNodeID))
|
||||||
{
|
{
|
||||||
// Check if the next node would have lines
|
// Check if the next node would have lines or content
|
||||||
RuntimeDialogueNode nextNode = dialogueGraph.GetNodeByID(currentNode.nextNodeID);
|
RuntimeDialogueNode nextNode = dialogueGraph.GetNodeByID(currentNode.nextNodeID);
|
||||||
return nextNode != null && (nextNode.dialogueLines.Count > 0 || nextNode.nodeType != RuntimeDialogueNodeType.End);
|
return nextNode != null &&
|
||||||
|
((nextNode.dialogueLines != null && nextNode.dialogueLines.Count > 0) ||
|
||||||
|
(nextNode.dialogueContent != null && nextNode.dialogueContent.Count > 0) ||
|
||||||
|
nextNode.nodeType != RuntimeDialogueNodeType.End);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For WaitOnSlot nodes, check for lines based on current slot state
|
// For WaitOnSlot nodes, check for lines or content based on current slot state
|
||||||
if (currentNode.nodeType == RuntimeDialogueNodeType.WaitOnSlot)
|
if (currentNode.nodeType == RuntimeDialogueNodeType.WaitOnSlot)
|
||||||
{
|
{
|
||||||
// Choose the appropriate line collection based on the current slot state
|
// First check for DialogueContent
|
||||||
List<string> linesForState = currentNode.dialogueLines; // Default lines
|
if (currentNode.dialogueContent != null && currentNode.dialogueContent.Count > 0)
|
||||||
|
{
|
||||||
|
// Choose the appropriate content collection based on the current slot state
|
||||||
|
List<DialogueContent> contentForState = currentNode.dialogueContent;
|
||||||
|
|
||||||
|
switch (_currentSlotState)
|
||||||
|
{
|
||||||
|
case ItemSlotState.Incorrect:
|
||||||
|
if (currentNode.incorrectItemContent != null && currentNode.incorrectItemContent.Count > 0)
|
||||||
|
contentForState = currentNode.incorrectItemContent;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ItemSlotState.Forbidden:
|
||||||
|
if (currentNode.forbiddenItemContent != null && currentNode.forbiddenItemContent.Count > 0)
|
||||||
|
contentForState = currentNode.forbiddenItemContent;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (contentForState.Count > 0)
|
||||||
|
{
|
||||||
|
if (currentLineIndex < contentForState.Count - 1 || currentNode.loopThroughLines)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fall back to legacy text lines
|
||||||
|
List<string> linesForState = currentNode.dialogueLines;
|
||||||
|
|
||||||
switch (_currentSlotState)
|
switch (_currentSlotState)
|
||||||
{
|
{
|
||||||
case ItemSlotState.Incorrect:
|
case ItemSlotState.Incorrect:
|
||||||
// Use incorrect item lines if available, otherwise fall back to default lines
|
|
||||||
if (currentNode.incorrectItemLines != null && currentNode.incorrectItemLines.Count > 0)
|
if (currentNode.incorrectItemLines != null && currentNode.incorrectItemLines.Count > 0)
|
||||||
linesForState = currentNode.incorrectItemLines;
|
linesForState = currentNode.incorrectItemLines;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ItemSlotState.Forbidden:
|
case ItemSlotState.Forbidden:
|
||||||
// Use forbidden item lines if available, otherwise fall back to default lines
|
|
||||||
if (currentNode.forbiddenItemLines != null && currentNode.forbiddenItemLines.Count > 0)
|
if (currentNode.forbiddenItemLines != null && currentNode.forbiddenItemLines.Count > 0)
|
||||||
linesForState = currentNode.forbiddenItemLines;
|
linesForState = currentNode.forbiddenItemLines;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if we have any lines for the current state
|
|
||||||
if (linesForState != null && linesForState.Count > 0)
|
if (linesForState != null && linesForState.Count > 0)
|
||||||
{
|
{
|
||||||
// If we're not at the end of the lines or we loop through them
|
|
||||||
if (currentLineIndex < linesForState.Count - 1 || currentNode.loopThroughLines)
|
if (currentLineIndex < linesForState.Count - 1 || currentNode.loopThroughLines)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// For other node types, use the standard check
|
// For other node types, check for DialogueContent first, then fall back to legacy text
|
||||||
else if (currentNode.dialogueLines.Count > 0)
|
else
|
||||||
{
|
{
|
||||||
// If we're not at the end of the lines or we loop through them
|
// Check for DialogueContent
|
||||||
if (currentLineIndex < currentNode.dialogueLines.Count - 1 || currentNode.loopThroughLines)
|
if (currentNode.dialogueContent != null && currentNode.dialogueContent.Count > 0)
|
||||||
{
|
{
|
||||||
return true;
|
if (currentLineIndex < currentNode.dialogueContent.Count - 1 || currentNode.loopThroughLines)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we're at the end of content but not waiting for a condition and have a next node
|
||||||
|
if (!IsWaitingForCondition() && !string.IsNullOrEmpty(currentNode.nextNodeID))
|
||||||
|
{
|
||||||
|
RuntimeDialogueNode nextNode = dialogueGraph.GetNodeByID(currentNode.nextNodeID);
|
||||||
|
return nextNode != null &&
|
||||||
|
((nextNode.dialogueContent != null && nextNode.dialogueContent.Count > 0) ||
|
||||||
|
(nextNode.dialogueLines != null && nextNode.dialogueLines.Count > 0) ||
|
||||||
|
nextNode.nodeType != RuntimeDialogueNodeType.End);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we're at the end of lines but not waiting for a condition and have a next node
|
// Fall back to legacy text lines
|
||||||
if (!IsWaitingForCondition() && !string.IsNullOrEmpty(currentNode.nextNodeID))
|
if (currentNode.dialogueLines != null && currentNode.dialogueLines.Count > 0)
|
||||||
{
|
{
|
||||||
// We need to check if the next node would have lines
|
if (currentLineIndex < currentNode.dialogueLines.Count - 1 || currentNode.loopThroughLines)
|
||||||
RuntimeDialogueNode nextNode = dialogueGraph.GetNodeByID(currentNode.nextNodeID);
|
{
|
||||||
return nextNode != null && (nextNode.dialogueLines.Count > 0 || nextNode.nodeType != RuntimeDialogueNodeType.End);
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we're at the end of lines but not waiting for a condition and have a next node
|
||||||
|
if (!IsWaitingForCondition() && !string.IsNullOrEmpty(currentNode.nextNodeID))
|
||||||
|
{
|
||||||
|
RuntimeDialogueNode nextNode = dialogueGraph.GetNodeByID(currentNode.nextNodeID);
|
||||||
|
return nextNode != null &&
|
||||||
|
((nextNode.dialogueContent != null && nextNode.dialogueContent.Count > 0) ||
|
||||||
|
(nextNode.dialogueLines != null && nextNode.dialogueLines.Count > 0) ||
|
||||||
|
nextNode.nodeType != RuntimeDialogueNodeType.End);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
76
Assets/Scripts/Dialogue/DialogueContent.cs
Normal file
76
Assets/Scripts/Dialogue/DialogueContent.cs
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Dialogue
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Content type for dialogue entries
|
||||||
|
/// </summary>
|
||||||
|
public enum DialogueContentType
|
||||||
|
{
|
||||||
|
Text,
|
||||||
|
Image
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Wrapper class for dialogue content that can be either text or image
|
||||||
|
/// </summary>
|
||||||
|
[Serializable]
|
||||||
|
public class DialogueContent
|
||||||
|
{
|
||||||
|
[SerializeField] private DialogueContentType _contentType = DialogueContentType.Text;
|
||||||
|
[SerializeField] private string _text = string.Empty;
|
||||||
|
[SerializeField] private Sprite _image = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The type of content this entry contains
|
||||||
|
/// </summary>
|
||||||
|
public DialogueContentType ContentType => _contentType;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The text content (valid when ContentType is Text)
|
||||||
|
/// </summary>
|
||||||
|
public string Text => _text;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The image content (valid when ContentType is Image)
|
||||||
|
/// </summary>
|
||||||
|
public Sprite Image => _image;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Create text content
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="text">The text to display</param>
|
||||||
|
public static DialogueContent CreateText(string text)
|
||||||
|
{
|
||||||
|
return new DialogueContent
|
||||||
|
{
|
||||||
|
_contentType = DialogueContentType.Text,
|
||||||
|
_text = text
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Create image content
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="image">The image to display</param>
|
||||||
|
public static DialogueContent CreateImage(Sprite image)
|
||||||
|
{
|
||||||
|
return new DialogueContent
|
||||||
|
{
|
||||||
|
_contentType = DialogueContentType.Image,
|
||||||
|
_image = image
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns a string representation of this content
|
||||||
|
/// </summary>
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return ContentType == DialogueContentType.Text
|
||||||
|
? $"Text: {_text}"
|
||||||
|
: $"Image: {_image?.name ?? "None"}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Scripts/Dialogue/DialogueContent.cs.meta
Normal file
3
Assets/Scripts/Dialogue/DialogueContent.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6b479dc736d44dea83d4d2cf4d940d8b
|
||||||
|
timeCreated: 1759912630
|
||||||
@@ -36,10 +36,14 @@ namespace Dialogue
|
|||||||
public RuntimeDialogueNodeType nodeType;
|
public RuntimeDialogueNodeType nodeType;
|
||||||
public string nextNodeID;
|
public string nextNodeID;
|
||||||
|
|
||||||
// Basic dialogue
|
// Basic dialogue - legacy text-only field
|
||||||
|
[HideInInspector]
|
||||||
public List<string> dialogueLines = new List<string>();
|
public List<string> dialogueLines = new List<string>();
|
||||||
public bool loopThroughLines;
|
public bool loopThroughLines;
|
||||||
|
|
||||||
|
// New mixed content field that supports both text and images
|
||||||
|
public List<DialogueContent> dialogueContent = new List<DialogueContent>();
|
||||||
|
|
||||||
// Conditional nodes
|
// Conditional nodes
|
||||||
public string puzzleStepID; // For WaitOnPuzzleStep
|
public string puzzleStepID; // For WaitOnPuzzleStep
|
||||||
public string pickupItemID; // For WaitOnPickup
|
public string pickupItemID; // For WaitOnPickup
|
||||||
@@ -47,9 +51,14 @@ namespace Dialogue
|
|||||||
public string combinationResultItemID; // For WaitOnCombination
|
public string combinationResultItemID; // For WaitOnCombination
|
||||||
|
|
||||||
// For WaitOnSlot - different responses
|
// For WaitOnSlot - different responses
|
||||||
|
[HideInInspector]
|
||||||
public List<string> incorrectItemLines = new List<string>();
|
public List<string> incorrectItemLines = new List<string>();
|
||||||
public bool loopThroughIncorrectLines;
|
public bool loopThroughIncorrectLines;
|
||||||
|
public List<DialogueContent> incorrectItemContent = new List<DialogueContent>();
|
||||||
|
|
||||||
|
[HideInInspector]
|
||||||
public List<string> forbiddenItemLines = new List<string>();
|
public List<string> forbiddenItemLines = new List<string>();
|
||||||
public bool loopThroughForbiddenLines;
|
public bool loopThroughForbiddenLines;
|
||||||
|
public List<DialogueContent> forbiddenItemContent = new List<DialogueContent>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace Dialogue
|
namespace Dialogue
|
||||||
{
|
{
|
||||||
@@ -18,6 +19,7 @@ namespace Dialogue
|
|||||||
public class SpeechBubble : MonoBehaviour
|
public class SpeechBubble : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private TextMeshProUGUI textDisplay;
|
[SerializeField] private TextMeshProUGUI textDisplay;
|
||||||
|
[SerializeField] private Image imageDisplay; // New field for displaying images
|
||||||
[SerializeField] private TextDisplayMode displayMode = TextDisplayMode.Typewriter;
|
[SerializeField] private TextDisplayMode displayMode = TextDisplayMode.Typewriter;
|
||||||
[SerializeField] private float typewriterSpeed = 0.05f; // Time between characters in seconds
|
[SerializeField] private float typewriterSpeed = 0.05f; // Time between characters in seconds
|
||||||
[SerializeField] private AudioSource typingSoundSource;
|
[SerializeField] private AudioSource typingSoundSource;
|
||||||
@@ -29,11 +31,18 @@ namespace Dialogue
|
|||||||
private Coroutine typewriterCoroutine;
|
private Coroutine typewriterCoroutine;
|
||||||
private Coroutine promptUpdateCoroutine;
|
private Coroutine promptUpdateCoroutine;
|
||||||
private string currentFullText = string.Empty;
|
private string currentFullText = string.Empty;
|
||||||
|
private Sprite currentImage = null;
|
||||||
private bool isVisible = false;
|
private bool isVisible = false;
|
||||||
|
private DialogueContentType currentContentType = DialogueContentType.Text;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
|
// Ensure we have both components
|
||||||
|
if (textDisplay == null)
|
||||||
|
Debug.LogError("SpeechBubble: TextMeshProUGUI component is not assigned!");
|
||||||
|
|
||||||
|
if (imageDisplay == null)
|
||||||
|
Debug.LogError("SpeechBubble: Image component is not assigned!");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -92,6 +101,7 @@ namespace Dialogue
|
|||||||
}
|
}
|
||||||
|
|
||||||
currentFullText = text;
|
currentFullText = text;
|
||||||
|
currentContentType = DialogueContentType.Text;
|
||||||
|
|
||||||
// Stop any existing typewriter effect
|
// Stop any existing typewriter effect
|
||||||
if (typewriterCoroutine != null)
|
if (typewriterCoroutine != null)
|
||||||
@@ -100,6 +110,13 @@ namespace Dialogue
|
|||||||
typewriterCoroutine = null;
|
typewriterCoroutine = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Activate text display, deactivate image display
|
||||||
|
textDisplay.gameObject.SetActive(true);
|
||||||
|
if (imageDisplay != null)
|
||||||
|
{
|
||||||
|
imageDisplay.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
// Display text based on the selected mode
|
// Display text based on the selected mode
|
||||||
if (displayMode == TextDisplayMode.Instant)
|
if (displayMode == TextDisplayMode.Instant)
|
||||||
{
|
{
|
||||||
@@ -259,5 +276,117 @@ namespace Dialogue
|
|||||||
|
|
||||||
typewriterCoroutine = null;
|
typewriterCoroutine = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set the image to display in the speech bubble
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sprite">Sprite to display</param>
|
||||||
|
public void SetImage(Sprite sprite)
|
||||||
|
{
|
||||||
|
if (imageDisplay == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("SpeechBubble: Image component is not assigned!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
currentImage = sprite;
|
||||||
|
currentContentType = DialogueContentType.Image;
|
||||||
|
|
||||||
|
// Activate image display, set the sprite
|
||||||
|
imageDisplay.gameObject.SetActive(true);
|
||||||
|
imageDisplay.sprite = sprite;
|
||||||
|
|
||||||
|
// Deactivate text display
|
||||||
|
if (textDisplay != null)
|
||||||
|
{
|
||||||
|
textDisplay.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make sure the bubble is visible when setting image
|
||||||
|
if (!isVisible)
|
||||||
|
Show();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clear the displayed image
|
||||||
|
/// </summary>
|
||||||
|
public void ClearImage()
|
||||||
|
{
|
||||||
|
SetImage(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set the content of the speech bubble (text or image)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="text">Text content</param>
|
||||||
|
/// <param name="image">Image content</param>
|
||||||
|
public void SetContent(string text, Sprite image)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(text))
|
||||||
|
{
|
||||||
|
currentContentType = DialogueContentType.Text;
|
||||||
|
SetText(text);
|
||||||
|
}
|
||||||
|
else if (image != null)
|
||||||
|
{
|
||||||
|
currentContentType = DialogueContentType.Image;
|
||||||
|
SetImage(image);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the current content type of the speech bubble
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Current content type</returns>
|
||||||
|
public DialogueContentType GetCurrentContentType()
|
||||||
|
{
|
||||||
|
return currentContentType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Display dialogue content (text or image)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="content">The dialogue content to display</param>
|
||||||
|
/// <param name="hasMoreDialogue">Whether there are more dialogue content items available</param>
|
||||||
|
public void DisplayDialogueContent(DialogueContent content, bool hasMoreDialogue)
|
||||||
|
{
|
||||||
|
// Cancel any existing prompt update
|
||||||
|
if (promptUpdateCoroutine != null)
|
||||||
|
{
|
||||||
|
StopCoroutine(promptUpdateCoroutine);
|
||||||
|
promptUpdateCoroutine = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (content == null)
|
||||||
|
{
|
||||||
|
UpdatePromptVisibility(hasMoreDialogue);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display the content based on its type
|
||||||
|
currentContentType = content.ContentType;
|
||||||
|
|
||||||
|
if (content.ContentType == DialogueContentType.Text)
|
||||||
|
{
|
||||||
|
// Show text display, hide image display
|
||||||
|
textDisplay.gameObject.SetActive(true);
|
||||||
|
if (imageDisplay != null) imageDisplay.gameObject.SetActive(false);
|
||||||
|
|
||||||
|
// Display the text
|
||||||
|
DisplayDialogueLine(content.Text, hasMoreDialogue);
|
||||||
|
}
|
||||||
|
else // Image content
|
||||||
|
{
|
||||||
|
// Hide text display, show image display
|
||||||
|
textDisplay.gameObject.SetActive(false);
|
||||||
|
if (imageDisplay != null) imageDisplay.gameObject.SetActive(true);
|
||||||
|
|
||||||
|
// Set the image
|
||||||
|
SetImage(content.Image);
|
||||||
|
|
||||||
|
// After a delay, update the prompt visibility
|
||||||
|
promptUpdateCoroutine = StartCoroutine(UpdatePromptAfterDelay(hasMoreDialogue));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 877344c7a0014922bc3a2a469e03792d
|
|
||||||
timeCreated: 1759050622
|
|
||||||
@@ -7,10 +7,34 @@ namespace UI
|
|||||||
{
|
{
|
||||||
public class PauseMenu : MonoBehaviour
|
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")]
|
[Header("UI References")]
|
||||||
[SerializeField] private GameObject pauseMenuPanel;
|
[SerializeField] private GameObject pauseMenuPanel;
|
||||||
[SerializeField] private GameObject pauseButton;
|
[SerializeField] private GameObject pauseButton;
|
||||||
|
|
||||||
|
public event Action OnGamePaused;
|
||||||
|
public event Action OnGameResumed;
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
// Subscribe to scene loaded events
|
// Subscribe to scene loaded events
|
||||||
@@ -32,6 +56,11 @@ namespace UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnApplicationQuit()
|
||||||
|
{
|
||||||
|
_isQuitting = true;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the pause menu game object active or inactive based on the current level
|
/// Sets the pause menu game object active or inactive based on the current level
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user