Restore single and multiline logic, needed for StringMultilineData
Pass GUIContent down through call back look for multiline draw to function as expected
Add Mat4x4 custom drawer callback to use draw Children
Previously had a single and multi line variant, with multiline never being actually used. Changes in 2019.3 mean that its trying to use multiline and we don't actually want to, it makes many properties that are presently single line comfortable draw incorrectly.
Use of EditorGUI to draw multiple items in 1 line that are all trying to honor indenting causing error. Now we cache first indent and temp set it to 0 for the remaining items.
Fix#802
Add concept of Collection to Fungus.
Add Collection Demo, Physics Cast Demo.
They are their own type, that are addressed in a generic way. Internally using object boxing and type comparisons.
A number of refactorings and additions along with this to make it work more seamlessly.
Variable operators defined by Variable itself
Conditional and Looping commands refactored, to avoid more duplication in the new looping commands, such as ForEach
AnyVariableData removes duplication from SetVariable and Condition logic, provides a clearer method of adding additional variable types that result in immediate support in those commands
PlayMode Tests and Utils added
Additional Variable Types, such as Quaternion, Matrix4x4
Physics casts Commands that use collections
* Initial Fungus Collection work with support for int and IntegerVariable
* While and Condition related changes to allow for new command Loop Range
* Collection Get changes and ForEach rough
* Added Collection Commands
Reordered Elif logic in Condition
* More collection types and commands
* Variable reorg to allow for new types to be added more simply and centrally
* Added more Fungus Vars for Common Unity types
VariableList Adapter can delegate to the variable itself for custom drawing
Variable IsArthithemticSupported queries for each op rather than all, more fine grain support for types like color and quaterion
Event handlers, such as physics related, now have optional fungus variable to store the data they are given by unity in fungus variable for use in the block
VariableInfo consolidates more info into the typeActionLookup table, updates to support new fungus var types
* Many basic collection operations added
Common Collection types
Physics Overlap command
* Custom variable drawing moved to VariableInfo.cs rather than child variable itself
Added Physics cast and overlap commands
* Move all Editor scripts into Editor AsmDef folder
* LoopRange also registers as command name For
* Condition base class commenting improved and refactored repeated looping style child class elements into base
* More descriptive CollectionBase Command class names
* Fungus Collection interface and comments refined
* Rename ICollection to IFungusCollection
Cleanup formatting
* Collection example scene
* Added Collection Tests
* Format collection and test files
Added CopyFrom to IFungusCollection
* Added FungusCollection initial summaries
* Added CollectionRandom commands
-added simple use to CollectionLoop demo scene
* Added Unique to FungusCollection
-Updated tests to include unique
Added Collection Physics demo, shows use of returned array of all cast intersecting GameObjects
* CollectionPhysics tracks mousepos with visual
Added Fungus Command to get mouse position
* Variable custom draw moved to its own editor class, no longer part of typeinfo
Variable generation run
* Add playmode test for variable type sets
Add playmode test for flow control
* Update doco and formatting for Collection classes
Refactor parts of Conditional classes and AnyVariable
Move Property commands into Category 'Property'
* Update Collection comments, formatting and Update internal to public
* Add License header to added variable types
The intent of this refactor is to reduce boilerplate code in the SetVariable.cs and
SetVariableEditor.cs files. Additionaly, the intent is to move variable specific
information from the SetVariable.cs file into the Variable.cs and the respecting
variable type files.
Fixed indentlevel for EventHandler:DrawProperties
Added Playground to the FungusExamples
Added Vector3 FungusCommands
- Fields, Normalise, Convert to Vector2, Arithetic
Added TransformProperty FungusCommand
-Get an 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 now can store the gameobject it instantiates and can spawn at itself
Destroy FungusCommand can now be told to pass down a delay to Destroy
Updated Docs with all changes and addtions
Added custom property drawer for Variable properties.
Updated If, Set Variable, etc. to use new property drawer.
Added new Set Save Profile, Save Variable, Load Variable & Delete Save
Key commands.
Added Other category for non-core variable types.
Wider variable window to fit long type names.
Use internal editor component paste instead of reflection to paste
commands
SetVariable only supports 4 basic variable types.
Simplified definition for new variable types.
Added new variable types to support core Unity types.
Changed layout of Variables window to support editable value
Public variables in other FungusScripts appear in the variable picker
popup menu.
Variables now have a public value property and remember their starting
value for when they are reset.
Disabled LoadGlobals / SaveGlobals commands.
Changed all variable classes to use simple public value variable.
Added FungusScript.GetPublicVariables()
Deleted GlobalVariables class.
Added Variables test scene