From b2547ca79dfb65baaa633c25c9ac29ee74606673 Mon Sep 17 00:00:00 2001 From: Christopher Date: Sat, 14 May 2016 22:50:43 +0100 Subject: [PATCH] Added FungusLua narrative examples --- .../FungusLua/Narrative/JungleStory.unity | 951 ++++++++++++++++++ .../Narrative/JungleStory.unity.meta | 8 + .../Resources.meta} | 4 +- .../FungusLua/Narrative/Resources/Lua.meta | 9 + .../Narrative/Resources/Lua/junglestory.txt | 56 ++ .../Resources/Lua/junglestory.txt.meta | 8 + 6 files changed, 1034 insertions(+), 2 deletions(-) create mode 100644 Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity create mode 100644 Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity.meta rename Assets/FungusExamples/FungusLua/{Scripts.meta => Narrative/Resources.meta} (67%) create mode 100644 Assets/FungusExamples/FungusLua/Narrative/Resources/Lua.meta create mode 100644 Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt create mode 100644 Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt.meta diff --git a/Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity b/Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity new file mode 100644 index 00000000..86d82674 --- /dev/null +++ b/Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity @@ -0,0 +1,951 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!127 &3 +LevelGameManager: + m_ObjectHideFlags: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &264918342 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 142980, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 264918346} + - 114: {fileID: 264918345} + - 114: {fileID: 264918344} + - 114: {fileID: 264918347} + - 114: {fileID: 264918343} + - 114: {fileID: 264918348} + - 114: {fileID: 264918349} + - 114: {fileID: 264918351} + - 114: {fileID: 264918350} + m_Layer: 0 + m_Name: Flowchart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &264918343 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1902400ccc99b45d69ad01cb86b57d0f, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 2 + errorMessage: + indentLevel: 0 + musicClip: {fileID: 8300000, guid: f3c866bbc4639e7409c30c71736d84a6, type: 3} + atTime: 0 + loop: 1 + fadeDuration: 1 +--- !u!114 &264918344 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 11433304, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3} + m_Name: + m_EditorClassIdentifier: + nodeRect: + serializedVersion: 2 + x: 66 + y: 36 + width: 120 + height: 40 + itemId: 0 + blockName: Intro + description: Play game music and fade in + eventHandler: {fileID: 0} + commandList: + - {fileID: 264918343} + - {fileID: 264918347} +--- !u!114 &264918345 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11430050, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a334fe2ffb574b3583ff3b18b4792d3, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1 + scrollPos: {x: 0, y: 0} + variablesScrollPos: {x: 0, y: 0} + variablesExpanded: 1 + blockViewHeight: 400 + zoom: 1 + scrollViewRect: + serializedVersion: 2 + x: -350 + y: -364 + width: 1121 + height: 980 + selectedBlock: {fileID: 0} + selectedCommands: [] + variables: [] + description: 'We call these Blocks from Lua script + + to perform sequences of Fungus commands + + as needed.' + stepPause: 0 + colorCommands: 1 + hideComponents: 1 + saveSelection: 1 + localizationId: + showLineNumbers: 0 + hideCommands: [] +--- !u!4 &264918346 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 467082, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 +--- !u!114 &264918347 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 437f9a4e3dbc647f9bdce95308418bff, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 1 + errorMessage: + indentLevel: 0 + duration: 1 + fadeOut: 0 + targetView: {fileID: 573088438} + waitUntilFinished: 1 + fadeColor: {r: 0, g: 0, b: 0, a: 1} + fadeTexture: {fileID: 0} + targetCamera: {fileID: 0} +--- !u!114 &264918348 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3} + m_Name: + m_EditorClassIdentifier: + nodeRect: + serializedVersion: 2 + x: 210 + y: 38 + width: 120 + height: 40 + itemId: 3 + blockName: ZoomIn + description: Slow zoom in to background + eventHandler: {fileID: 0} + commandList: + - {fileID: 264918349} +--- !u!114 &264918349 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45c952ea1ad444e479b570fa242679c5, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 4 + errorMessage: + indentLevel: 0 + duration: 10 + targetView: {fileID: 1016432628} + waitUntilFinished: 1 + targetCamera: {fileID: 0} +--- !u!114 &264918350 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bd2f6be51b3d7490ba5633ee095d0391, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 7 + errorMessage: + indentLevel: 0 + soundClip: {fileID: 8300000, guid: e513fc9af808b8c438338e58bc17a700, type: 3} + volume: 1 + waitUntilFinished: 0 +--- !u!114 &264918351 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264918342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3} + m_Name: + m_EditorClassIdentifier: + nodeRect: + serializedVersion: 2 + x: 62 + y: 128 + width: 130 + height: 40 + itemId: 6 + blockName: PlayPourSound + description: Play pouring sound effect + eventHandler: {fileID: 0} + commandList: + - {fileID: 264918350} +--- !u!1 &319132247 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 319132249} + - 114: {fileID: 319132248} + m_Layer: 0 + m_Name: _FungusState + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &319132248 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 319132247} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 61dddfdc5e0e44ca298d8f46f7f5a915, type: 3} + m_Name: + m_EditorClassIdentifier: + selectedFlowchart: {fileID: 264918345} +--- !u!4 &319132249 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 319132247} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &392319425 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 392319427} + - 114: {fileID: 392319426} + m_Layer: 0 + m_Name: SherlockCharacter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &392319426 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400000, guid: b20518d45890e4be59ba82946f88026c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 392319425} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25fb867d2049d41f597aefdd6b19f598, type: 3} + m_Name: + m_EditorClassIdentifier: + nameText: Sherlock + nameColor: {r: 0, g: .167038515, b: .397058845, a: 1} + soundEffect: {fileID: 0} + profileSprite: {fileID: 21300000, guid: 65cda1e3dd1ec8c4bb828adc5bb06c7d, type: 3} + portraits: + - {fileID: 21300000, guid: 65cda1e3dd1ec8c4bb828adc5bb06c7d, type: 3} + portraitsFace: 0 + setSayDialog: {fileID: 0} + description: +--- !u!4 &392319427 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 392319425} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 +--- !u!1 &573088437 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: e0d427add844a4d9faf970a3afa07583, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 573088439} + - 114: {fileID: 573088438} + m_Layer: 0 + m_Name: ViewA + m_TagString: Untagged + m_Icon: {fileID: 5721338939258241955, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &573088438 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400000, guid: e0d427add844a4d9faf970a3afa07583, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 573088437} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95c387d3e32404bcc91c60318d766bb1, type: 3} + m_Name: + m_EditorClassIdentifier: + viewSize: 3.71444678 + primaryAspectRatio: {x: 4, y: 3} + secondaryAspectRatio: {x: 2, y: 1} +--- !u!4 &573088439 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: e0d427add844a4d9faf970a3afa07583, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 573088437} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!1 &735393277 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735393279} + - 114: {fileID: 735393278} + m_Layer: 0 + m_Name: JohnCharacter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &735393278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400000, guid: b20518d45890e4be59ba82946f88026c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735393277} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25fb867d2049d41f597aefdd6b19f598, type: 3} + m_Name: + m_EditorClassIdentifier: + nameText: John + nameColor: {r: .0141987652, g: .411764681, b: 0, a: 1} + soundEffect: {fileID: 0} + profileSprite: {fileID: 21300000, guid: a6b4fd71ceffb6e4b9f3272ef8a5c2c3, type: 3} + portraits: + - {fileID: 21300000, guid: a6b4fd71ceffb6e4b9f3272ef8a5c2c3, type: 3} + portraitsFace: 2 + setSayDialog: {fileID: 0} + description: +--- !u!4 &735393279 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735393277} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 +--- !u!1 &1016432627 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: e0d427add844a4d9faf970a3afa07583, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1016432629} + - 114: {fileID: 1016432628} + m_Layer: 0 + m_Name: ViewB + m_TagString: Untagged + m_Icon: {fileID: 5721338939258241955, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1016432628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400000, guid: e0d427add844a4d9faf970a3afa07583, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1016432627} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95c387d3e32404bcc91c60318d766bb1, type: 3} + m_Name: + m_EditorClassIdentifier: + viewSize: 1.90835774 + primaryAspectRatio: {x: 4, y: 3} + secondaryAspectRatio: {x: 2, y: 1} +--- !u!4 &1016432629 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: e0d427add844a4d9faf970a3afa07583, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1016432627} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.970000029, y: -1.61000001, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 +--- !u!1 &1103723475 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1103723479} + - 114: {fileID: 1103723478} + - 114: {fileID: 1103723477} + - 114: {fileID: 1103723476} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1103723476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1103723475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AllowActivationOnStandalone: 0 +--- !u!114 &1103723477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1103723475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_AllowActivationOnMobileDevice: 0 +--- !u!114 &1103723478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1103723475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1103723479 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1103723475} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 +--- !u!1 &1264181466 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1264181468} + - 212: {fileID: 1264181467} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1264181467 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1264181466} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: e54c2166ac91140689c6f04097cab20e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} +--- !u!4 &1264181468 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1264181466} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1 &1319876723 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 105822, guid: d6f174e740b5040c68466fb971c4cec2, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1319876725} + - 114: {fileID: 1319876724} + m_Layer: 0 + m_Name: InfoText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1319876724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11442554, guid: d6f174e740b5040c68466fb971c4cec2, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1319876723} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8c0cbb63e218a4414a796a60ffe37dd3, type: 3} + m_Name: + m_EditorClassIdentifier: + info: 'This example shows the recommended way to create a complex branching story + by using a Lua module file. + + + The module file is in Resources/Lua/junglestory.txt + +' +--- !u!4 &1319876725 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 438292, guid: d6f174e740b5040c68466fb971c4cec2, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1319876723} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 +--- !u!1 &1320722083 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1320722088} + - 20: {fileID: 1320722087} + - 92: {fileID: 1320722086} + - 124: {fileID: 1320722085} + - 81: {fileID: 1320722084} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1320722084 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320722083} + m_Enabled: 1 +--- !u!124 &1320722085 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320722083} + m_Enabled: 1 +--- !u!92 &1320722086 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320722083} + m_Enabled: 1 +--- !u!20 &1320722087 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320722083} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 +--- !u!4 &1320722088 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320722083} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1377631974 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 179118, guid: 3ddf9f33ba98e4b31ba4d2b9722bea00, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1377631980} + - 114: {fileID: 1377631979} + - 114: {fileID: 1377631978} + - 114: {fileID: 1377631977} + - 114: {fileID: 1377631976} + - 114: {fileID: 1377631975} + m_Layer: 0 + m_Name: Lua + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1377631975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11437776, guid: 3ddf9f33ba98e4b31ba4d2b9722bea00, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1377631974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c10f0b861365b42b0928858f7b086ff3, type: 3} + m_Name: + m_EditorClassIdentifier: + fungusModule: 0 + activeLanguage: en + stringTables: [] + registerTypes: + - {fileID: 4900000, guid: 9c3ab7a98d51241bbb499643399fa761, type: 3} + - {fileID: 4900000, guid: 93fddea8208764a2dbb189cc238aed40, type: 3} +--- !u!114 &1377631976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483650, guid: 3ddf9f33ba98e4b31ba4d2b9722bea00, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1377631974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba19c26c1ba7243d2b57ebc4329cc7c6, type: 3} + m_Name: + m_EditorClassIdentifier: + remoteDebugger: 0 +--- !u!114 &1377631977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11499092, guid: 3ddf9f33ba98e4b31ba4d2b9722bea00, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1377631974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4cc8a659e950044b69d7c62696c36962, type: 3} + m_Name: + m_EditorClassIdentifier: + allEnvironments: 1 + luaEnvironment: {fileID: 1377631976} + tableName: + registerTypes: 1 + boundTypes: + - UnityEngine.GameObject, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - UnityEngine.PrimitiveType, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - UnityEngine.Component, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - System.Type, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + - System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + - System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + - UnityEngine.SendMessageOptions, UnityEngine, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + - UnityEngine.Object, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - System.Single, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + - Fungus.Flowchart, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.Block, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - UnityEngine.Vector2, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - System.Action, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + - Fungus.Variable, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.Label, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.Command, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.CommandInfoAttribute, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + - UnityEngine.Rect, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.Character, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - UnityEngine.Color, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - UnityEngine.AudioClip, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - UnityEngine.Sprite, UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.FacingDirection, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.PortraitState, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - Fungus.SayDialog, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + boundObjects: + - key: flowchart + obj: {fileID: 264918342} + component: {fileID: 264918345} + - key: johncharacter + obj: {fileID: 735393277} + component: {fileID: 735393278} + - key: sherlockcharacter + obj: {fileID: 392319425} + component: {fileID: 392319426} +--- !u!114 &1377631978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11417560, guid: 3ddf9f33ba98e4b31ba4d2b9722bea00, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1377631974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 446caeace65234baaacd52095d24f101, type: 3} + m_Name: + m_EditorClassIdentifier: + luaEnvironment: {fileID: 1377631976} + luaFile: {fileID: 0} + luaScript: '-- Load the ''junglestory'' module + + junglestory = require(''junglestory'') + + + -- Call the start function on the junglestory module + + junglestory.start()' + runAsCoroutine: 1 +--- !u!114 &1377631979 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11415008, guid: 3ddf9f33ba98e4b31ba4d2b9722bea00, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1377631974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ee79785811ba49399c1b56d7309e3df, type: 3} + m_Name: + m_EditorClassIdentifier: + executeAfterTime: 1 + repeatExecuteTime: 1 + repeatEveryTime: 1 + executeAfterFrames: 1 + repeatExecuteFrame: 1 + repeatEveryFrame: 1 + hasFailed: 0 + executeMethods: 2 + executeMethodName: OnExecute +--- !u!4 &1377631980 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 466848, guid: 3ddf9f33ba98e4b31ba4d2b9722bea00, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1377631974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 diff --git a/Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity.meta b/Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity.meta new file mode 100644 index 00000000..644a7b3a --- /dev/null +++ b/Assets/FungusExamples/FungusLua/Narrative/JungleStory.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ed959e5b3c27d4beb9247711db92ba46 +timeCreated: 1463260652 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FungusExamples/FungusLua/Scripts.meta b/Assets/FungusExamples/FungusLua/Narrative/Resources.meta similarity index 67% rename from Assets/FungusExamples/FungusLua/Scripts.meta rename to Assets/FungusExamples/FungusLua/Narrative/Resources.meta index d220dac7..8a8dd31b 100644 --- a/Assets/FungusExamples/FungusLua/Scripts.meta +++ b/Assets/FungusExamples/FungusLua/Narrative/Resources.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: e2e93e4a664384c7592b4692703284e3 +guid: 755539fa40b2e49b4a4d27ae096f8bb4 folderAsset: yes -timeCreated: 1462350061 +timeCreated: 1463262577 licenseType: Free DefaultImporter: userData: diff --git a/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua.meta b/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua.meta new file mode 100644 index 00000000..10ef0626 --- /dev/null +++ b/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e50817ac1e49541ec88adeab8fa5f9d1 +folderAsset: yes +timeCreated: 1463262577 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt b/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt new file mode 100644 index 00000000..bda18149 --- /dev/null +++ b/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt @@ -0,0 +1,56 @@ +-- This Lua script defines a module which can be imported in any Lua script using: +-- local junglestory = require('junglestory') +-- You can then call any function on the module, e.g. junglestory.start() +-- In FungusLua, module files must be contained in a Resources/Lua folder somewhere in your project. + +-- Lua modules are typically declared using an empty table called M. +-- All members of the module must have the M. prefix, and the M table is returned at the end of the script. +-- N.B. If you want to reference another function in the module, you must use the M.prefix. + +M = {} + +function M.start() + runblock(flowchart, "Intro") -- Runs the Intro Block on the flowchart + + setcharacter(sherlockcharacter, "annoyed") -- Sets the speaking character and portrait + say "Hello John." + + setcharacter(johncharacter, "eyeroll") + say "Hello Sherlock." + say "We appear to be in a tropical rain forest." + wait(1) + say "Again." + + runblock(flowchart, "ZoomIn", 0, true) -- Runs the ZoomIn Block, but doesn't wait for it to finish + + say "While we're here, I suggest we fill our canteens from this waterfall." + + menu("Agreed", M.canteenyes) -- Show menu option, call M.canteenyes() if selected + menu("No, we don't have time", M.canteenno) +end + +function M.canteenyes() + runblock(flowchart, "PlayPourSound") + setcharacter(sherlockcharacter, "annoyed") + say "There, that's better" + + M.moveon() -- Call another function in the module +end + +function M.canteenno() + setcharacter(sherlockcharacter, "annoyed") + say "Let's get moving" + + M.moveon() +end + +function M.moveon() + setcharacter(sherlockcharacter, "annoyed") + say("There must be some way out of this cursed place.") +end + +return M + + + + diff --git a/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt.meta b/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt.meta new file mode 100644 index 00000000..88014fc7 --- /dev/null +++ b/Assets/FungusExamples/FungusLua/Narrative/Resources/Lua/junglestory.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb7fb656e79b24d61a0290295cbeca95 +timeCreated: 1463215589 +licenseType: Free +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: