@chrisgregan chrisgregan released this Jul 16, 2018 · 23 commits to master since this release

Assets 3

This is minor release that fixes a compatibility issue with Unity 2018.2 and adds support for Ink-style text variation .

Added

  • Text Variation Handler: Adds Ink-style text variation in Say, Menu and Conversation commands. #695

Fixed

  • Fixed Reorderable List control errors in 2018.2. Compatible with 2017.4, 2018.1 2018.2 #697

@chrisgregan chrisgregan released this Jun 25, 2018 · 34 commits to master since this release

Assets 3

Added

  • Conversation command supports setting default clear, wait for input and fade options #673
  • Added Fungus Priority Signals #671 #670
    • allows fungus to notify the outside world that it is doing something of priority so the outside world can pause
  • Added GetKey fungus command. #683
    • Supports positive and negative keybindings output to a bool, float or int variable
    • Supports checking for pressed, release and current state
    • Uses keycode with optional fallback to key name
  • Disabled Flowcharts and EventHandlers. #682
  • Added Dialog history on Save Menu UI #675
  • Added BlockReference, a simple data type with a property drawer that makes it easier to select a target fungus block from external c# scripts. #669
  • Added comparison (equals and not equals) as well as assign functionality to most variable types. #668

Changed

  • Updated to Unity 2018.1 #681
  • Conversation Manager Regex now allows - and _ within say params group. #692
  • Conversation example scene makes some basic use of new Conversation features
  • Update LeanTween to 2.46 #689
  • PortraitController forces alpha and color tweens to be non recursive.
  • Updated playground demos
    • Football uses GetKey instead of GetAxis (get axis was failing in some packages as inputmanager axis were not imported)
    • Defender had a bug due to a change in how unity syncs 'up' between transform and rb2d

Fixed

  • ElseIfs now confirm that the previous condition was at the same indent as themselves. #693
  • NarrativeLog is tolerant of null Name or Story fields #690
  • Force the hierarchy icon list to refresh when a script a is loaded/changed #672
  • Eventhandlers no longer fire when the flowchart is disabled #682
  • StopFlowchart can continue now #685
  • Fixed stray \ that were not being stripped on Mac OS, when importing editor resources. #686

@chrisgregan chrisgregan released this Apr 3, 2018 · 103 commits to master since this release

Assets 3

Many thanks to contributors stevehalliwell, FrederickKDP, MeMark2, KVinS, charblar, FatPuzo for their work on this release!

Added

  • Added Flowchart.HasBlock() and ExecuteIfHasBlock() methods
  • Added Global Variable support. Variables have new 'Global' variable scope.
  • Added GlobalVar demo scene

Changed

  • Updated project version to Unity 2017.4.0f1
  • Refactored the set variable system to make it easier to add variable comparison options
  • Added comparison and setting of GameObjects variables
  • Updated Batch for newer versions of Unity3D web player #650

Fixed

  • Fixed compile errors in Unity 2018.1 beta
  • Fixed compiler warnings in Untity2017.3
  • Fixed repeat play of music #659
  • Fixed conflicting EditorResource folder issue #664
  • Fixed SaveMenu DontDestroyOnLoad problems #661
  • Fixed docs: the block name in 6 of "Connections between Blocks" section from "Block2" to "Start" #663
  • Fixed lua say() function to match new say method parameters

@chrisgregan chrisgregan released this Nov 6, 2017 · 132 commits to master since this release

Assets 3

Many thanks to maintainer Steve Halliwell for all the amazing new functionality in this release!

Added

  • Added Playground examples showing 3 simple arcade games made using Fungus
  • Added Rigidbody2D variable type
  • Added Vector3 FungusCommands - Fields, Normalise, Convert to Vector2, Arithetic
  • Added TransformProperty FungusCommand. Get and Set a transform's fields and properties. Does not currently support rotation, localRotation nor the Mat4x4 commands as we do not have the appropriate FungusVariables to store them in
  • Added FungusCommand to Reload Current Scene
  • Added Rigidbody2D FungusCommands - AddForce, AddTorque, StopMotion
  • Added Input GetAxis fungusCommand, fetch Input.GetAxis and store in a FloatData
  • SpawnObject FungusCommand can now store the gameobject it instantiates and can spawn at itself
  • Destroy FungusCommand can now be told to pass down a delay to Destroy
  • Added Fungus Commands for most of MathF
  • Added Math demo scene
  • Added Mouse fungus event demo scene
  • Added Monobehaviour fungus event handlers and physics demo scene
  • Added LeanTween commands and demo scene that approximates the old iTween demo
  • Added SpeakingCharacter property to SayDialog
  • Added Fungus panel in editor preferences
  • Added option to toggle off the fungus icon in the hierarchy in case it conflicts with other tools or is just undesired
  • Added TextTag WVO WaitForVoiceOver #572
  • Added ability to show variable list in the Flowchart Inspector #643
  • OpenURL FungusCommand renamed, fixes #554 #642

Changed

  • SaveManager now uses json files in a FungusSaves sub directory for all platforms but webplayer & webgl which still use playerprefs
  • GetCommandInfo returns the highest priority CommandInfo to better support multiple names while maintaining what is shown in the inspector
  • Allow multiple CommandInfos to be added to a class SpawnObject can now also be found under GameObject/Instantiate
  • Changed Fungus icon loading to use FungusEditorResources

Fixed

  • Fixed typo in BlockEditor.BlockField() #633
  • Fixed custom editor for ElseIf command #630
  • Fixed Prefab Variable Dereferencing #618
  • Fixed typo in Set Interactable description #647
  • Fixed choice dialogues were not set to stay during the MenuDialogue #640
  • Fixed camera fading and panning at the same time (thanks to iBicha!) #624
  • Fixed warnings on Unity 2017.2

@chrisgregan chrisgregan released this Jun 2, 2017 · 203 commits to master since this release

Assets 3

Added

  • Support use of \n newline character in Say and Conversation text
  • Added Fungus-Playmaker integration package in Fungus/Integrations/PlayMaker #602 - thanks Nilihum
  • Added Delete Save Data button to Save Menu inspector.
  • Variable substitution works in Set Variable (String) command
  • New "BlockNameAndCustom" Keymode for Save Point command, use both block name and custom key together. #597 - thanks Trieger
  • Added portrait DimColor #601 - thanks MorningFunGame
  • Lua If and Lua Else If commands #609 - thanks PillowFightIo
  • Stop a named Block in a Flowchart
  • Added utility to convert all files to Mac line endings

Changed

  • Made all methods virtual in SayDialog.cs #607 thanks PillowFightIo
  • Updated project to Unity 5.6.1, fixed some warnings.
  • Use transform.Find instead of deprecated transform.FindChild
  • Replaced some uses of slow GameObject.FindObjectOfType() and FindDerivedTypes()

Fixed

  • Fixed Write command "Clear Text" option not working #594
  • Fixed portrait hide bug in conversation #590 - thanks to lealeelu
  • Fixed stopping audio in conversation #592 - thanks to lealeelu
  • Fixed can't use FungusLua separately to rest of Fungus #596
  • Fixed can't inspect disabled Flowchart #598
  • Fixed Cmd+Left Click doesn't register as right click on OSX #595
  • Fixed luautils won't work on FungusLua standalone #604
  • Fixed Save Menu: clicking to left of collapsed menu clicks hidden buttons #615
  • Fixed Localization only localizes character name, not story text #611, #614

@chrisgregan chrisgregan released this Jan 30, 2017 · 271 commits to master since this release

Assets 3

This release requires Unity 5.5.0 or later. This is due to a change in Unity's serialization format for prefabs which broke backwards compatibility.

Changed

  • Added Save Data Key property to Save Menu to support multiple games in the same Unity project.

@chrisgregan chrisgregan released this Jan 26, 2017 · 277 commits to master since this release

Assets 3

This release adds support for an easy to use Save Game system, productivity improvements in the Flowchart window and the usual laundry list of fixed bugs. Many thanks to our awesome contributors and community!

Added

  • Save game system. Use Save Point command and Save Menu prefab to easily add saving support with rewind / fast forward support.
  • Added new menu options for spawning SaveMenu and SavedObjects prefabs
  • New Save Game example scene
  • Added documentation for Save System.
  • Option to Close Other Say Dialogs when one Say Dialog becomes active.
  • Select a start Label in Call command properties

Thanks to contributor zvinless:

  • Custom block tints can now be toggled per block in the block inspector.
  • Added multi-select feature for blocks via action key/shift+click and click+drag
  • Block movement and context menu options now affect all selected blocks
  • Added Flowchart window toolbar in place of floating UI
  • Flowchart window search filter to quickly find Blocks
  • Added keyboard shortcuts and more context menu options for Blocks (copy, cut, duplicate, delete, select all)

Thanks to contributor sp-francisco-ruiz:

  • Add a new Event Dispatcher to the FungusManager singleton
  • Change Draggable2D and Clickable2D to use the new EventDispatcher for efficient calls for events.

Changed

  • Moved Center button from Flowchart properties to new Flowchart window toolbar
  • Flowchart’s SelectedBlock property now refers to the active selected block rather than the sole selected block.
  • Updated coding standard with backwards compatibility & contributing notes
  • Flowchart window now zoom in/out by mouse cursor or center rather than upper left corner
  • All editor textures are now accessible as properties in FungusEditorResources class.
  • Use Tools -> Fungus -> Utilities -> UpdateEditorResourcesScript to automatically update these editor textures
  • Increased height of multi-line text box for StringDataMulti
  • Updated curves, connection points, and grid background rendering with better approach
  • Refactored Flowchart window to simplify event handling
  • Bumped flowchart version to 2 to upgrade previously serialized selected blocks
  • Flowchart context menu now appears on mouse up to better support panning

Fixed

  • Fixed nested while loops don't loop correctly #562
  • Fixed Sprite Object click skips writing Say Text #576
  • Fixed setmenudialog() lua function does not set main active menu dialog #578
  • Fixed Unity Test Tools compatibility issue with Unity 5.5.0f
  • Fixed spine integration to work with latest version of Spine runtime
  • Fixed Block connections not highlighting when command selected
  • Fixed centered text shifts position when written by Say command #569
  • Fixed Say text appears for single frame when using Say command #575
  • Fixed MenuDialog Lua Bug #565
  • Fixed using say in lua doesn't automatically spawn an EventSystem #571
  • Fixed cannot divide an integer by an integer using Set Variable #579
  • Fixed tabs in conversation text from Lua #574
  • Fixed Flowchart prefab's block show as empty on the Inspector #583
  • Fixed typo in Game Started Wait Frames property name
  • Fixed Fungus ignores existing “SayDialog” and creates another one #555
  • Change CSVParser to use Regex.Split (way faster for large CSV files)
  • Fixed missing sprite assets in Asset Store version.
  • Fixed onComplete callback in MusicManager.SetAudioVolume when duration is 0
  • Removed TestRunner game objects from DragAndDrop examples.

@chrisgregan chrisgregan released this Oct 24, 2016 · 449 commits to master since this release

Assets 3

This release mainly updates the Moonsharp Lua library to v2.0. This means games using FungusLua should now run fine on the WebGL platform. You can also use VS Code to debug Lua scripts, and Moonsharp is now included as C# source code rather than a DLL. Huge thanks to Xanathar for his amazing work on Moonsharp!

Known Issues

  • FungusLua generates runtime errors running Lua when using .NET scripting backend. The IL2CPP backend works fine.

Added

  • Added accessors for GameObject and Transform variables in Flowchart.cs
  • Added Flowchart.HasVariable() and GetVariableNames() - thanks murnyipl!
  • Added WaitForFrames property to GameStarted event handler. Default is wait for 1 frame (should reduce startup order issues).

Changed

  • Upgraded to Moonsharp 2.0. Moonsharp source code is now included in Fungus/Thirdparty/MoonSharp
  • Moonsharp and FungusLua now work in WebGL builds
  • Removed MoonSharp assembly from link.xml
  • Converted MoonSharp line endings to OSX for consistency with rest of project.
  • Updated documentation for Lua debugger (using VS Code)
  • Removed LuaEnvironment Remote Debugger option. A VS Code debug server always starts when running in the editor.
  • SayDialog now supports full variable substitution when setting character names.

Fixed

  • Fixed Command properties not copied when copying commands #546
  • Fixed PODTypeFactory and FungusPrefs classes are not registered #549
  • Fixed compile errors on .NET Core scripting backend
  • Fixed LuaBindings registered types in example scenes
  • Fixed MoonSharp warning when not building for an AOT platform
  • Fixed minor issues in some example scenes (e.g. missing sprite refs)

@chrisgregan chrisgregan released this Oct 13, 2016 · 471 commits to master since this release

Assets 3

This release is mainly focussed on tidying up the codebase and improving the documentation. The folder structure has changed a lot, so if you're upgrading an existing project make sure to delete the existing Fungus folder in your project before installing the new one.

Known Issues

Added

  • Added test for StopTweens does not stop a Tween with loop enabled #529
  • Added signals (pub-sub system) for Writer and Block events #539
  • All interfaces now have their own source files.
  • Added monodevelop project for editing docs files.
  • Added Flip option (<<< and >>>) to conversation system #527
  • Added WaitFrames command to wait for a number of frames
  • Added GetToggleState, SetToggleState commands and ToggleChanged event handler
  • Added Writer.Paused property to pause a writer from code.

Changed

  • Tidied up Fungus folder structure to organize scripts more logically
  • Migrated documentation to use Doxygen for help and API docs
  • Lots of misc improvements to documentation
  • Updated to MoonSharp 1.8.0.0
  • Documented using string facing parameter in stage.show() Lua function.
  • Documented <<< and >>> tags for conversation system.
  • Documented all public members for API docs.
  • All serialized fields are now protected, exposed via public properties as needed.
  • Moved all enums to namespace scope.
  • Moved global constants to FungusConstants static class.
  • Moved editor resources to the main resources folder
  • Fungus editor code moved to Fungus.EditorUtils namespace
  • Convert singletons to use a single FungusManager singleton #540
  • Renamed CameraController to CameraManager and MusicController to MusicManager
  • Changed float constant comparisons to use Mathf.Approximately
  • Added #region Public members to all non-editor classes
  • StringFormatter, TextTagParser and FungusPrefs classes are now static
  • Merged MenuDialog extension methods (used for Lua) with main MenuDialog class.
  • Change all public methods to use virtual
  • Removed all unnecessary using statements.
  • All class and member comments use standard c# xml comment style
  • Replaced foreach loops with for loops (avoids allocation for iterator)
  • Added changelog to Doxygen documentation

Fixed

  • Fixed Setting facing in lua only works if portraits are set to “FRONT” #528
  • Fixed Say command completes instantly after menu choice #533
  • Fixed broken mouse pointer in WebGL build of Drag and Drop
  • Fixed ObjectField nulls reference if object is disabled #536
  • Updated Unity Test Tools to v1.5.9
  • Fixed missing Process class error in Unity5.5b3
  • Fixed Spine.Unity namespace problem in integration scripts
  • Fix Regex for character names with "." & "'" #531 (thanks to Sercan Altun)
    Old Regex expression did not capture Character names with "." and "'". As a result characters with names like "Mr. Jones" or "Ab'ar" were not registering correctly.
  • Fixed Lua setlanguage() function
  • Fixed namespace issue in Spine integration.
  • Fixes all integration tests to pass when run on Windows Standalone.
  • Fixed Block inspector displayed for inactive flowchart #544

@chrisgregan chrisgregan released this Aug 18, 2016 · 715 commits to master since this release

Assets 3

Fungus 3.2.0

Some users reported issues with the MoonSharp DLLs when updating a project with the previous release. We recommend deleting the Fungus folder from your project before updating to a newer version.

Known Issues

Added

  • Added choose() and choosetimer() Lua functions for displaying list of menu options.
  • Added Conversation command and Lua function to perform long dialogue exchanges in a single command.
  • Added new Conversation examples

Changed

  • Clickable2D and Dragable2D components can now use legacy input or EventSystem events / raycasts.
  • Added DragAndDrop(EventSystem) example scene to show how to use the EventSystem option.
  • Made it easier to resize the default SayDialog
  • Updated Narrative examples to use the easier choose() function instead of menu()
  • Force MenuDialog to become active when using AddOption from Lua.
  • Converted tabs to spaces in all source files
  • Ensure the character cache is populated before accessing it
  • Added Serializable attribute to all variable classes.

Fixed

  • Added link.xml file to fix FungusLua not running on iOS builds
  • Portrait hide bug in Conversation Function #526
  • Unresponsive SayDialog after ClearMenu or *.StopAllBlocks(); #518
  • Can't select a Public variable from another flowchart #522
  • NullReferenceException with nameText in SayDialog #517
  • StackOverflowException in Writer with customized text object #516
  • stage.Show() not fading in a previously faded out character if portrait hasn't changed.
  • Missing .Value on _parameterName property.
  • Fixed missing component warnings
  • Updated MoonSharp to v1.6.0.0 (this time without changing the meta files).