August
08
2017

New UI features, code structure changes to allow extending functionality without changing Makinom’s code, and other new features, changes and fixes.

Download the latest version of Makinom here – or get the latest version in the Unity® Asset Store.

Learn more about using code extensions in this scripting tutorial.

New

  • Menu Settings
    ‘Default Icon Size’ settings available. Define the default icon size for all UI. By default using the original size of icons.
  • GUI Boxes
    ‘Icon Size’ settings available. Optionally override the default icon size defined in the menu settings for each GUI box individually.
  • GUI Boxes
    ‘Cursor Over’ setting available. Determines if a GUI box is recognized by cursor over checks. This is e.g. used by UI blocks in input keys. By default enabled.
  • GUI Boxes: Menu Controls
    ‘Menu Controls’ settings available. GUI boxes can optionally override the default menu controls (accept, cancel, horizontal and vertical input).
  • Text Codes
    New text codes available to define icon sizes. Use the ‘<iconsize>’ text code to define the size for all following icons (‘<iconsize>’ resets to the original size, ‘<iconsize w=X>’ sets to width X and scales the height, ‘<iconsize h=X>’ sets to height X and scales the width, ‘<iconsize w=X h=Y> sets to width X and height Y).
  • Text Codes
    New text codes available to append to icon text codes to change the icon size of a single icon. ‘ w=X’ sets to width X and scales the height (e.g. ‘<inputkey.icon=2 w=100>’), ‘ h=X’ sets to height X and scales the width (e.g. ‘<inputkey.icon=2 h=50>’), ‘ w=X h=Y sets to width X and height Y (e.g. ‘<inputkey.icon=2 w=100 h=50>’).
  • Custom Choice Skins
    Define a custom GUISkin (or prefab when using the new UI) for choices/buttons and content layouts throughout the framework. This can be used to highlight choices with a special button, also allows changing the icon size. Available wherever buttons are used, e.g. ‘Choice’ type dialogues.
  • Input Keys
    ‘UI Blocks Input’ setting available. Optionally block input for an input key while the cursor is over a GUI box.
  • Game Controls: Player Components
    ‘SC Destroy Player’ setting available. Optionally destroy the player’s game object before changing scenes. Enabling this option can help with some custom player controls setting the player to don’t destroy on load.
  • HUDs: Click Action
    ‘Tagged Machine’ click action type available. Optionally start ‘Tagged Machine’ components on the user or all tagged machines in the scene when clicking on a HUD element.
  • Editor Settings
    ‘Text Area Color’ setting available. Defines the text color of text areas.
  • Schematic Nodes: Show Dialogue
    ‘Custom Skin’ settings available for choices. Optionally use a different GUI skin (or prefab when using the new UI) for individual choice buttons.
  • Schematic Nodes: Show Dialogue
    ‘Repeat Condition Checks’ setting available for ‘Choice’ type dialogues. Optionally repeat checking the conditions for displaying choices while displaying the dialogue. The dialogue will be updated if the conditions change.
  • Schematic Nodes: Call HUD
    ‘Change Users’ setting available. Changing HUD user objects when calling a HUD is now optional.

Changes

  • New UI
    Changed how inactive box/button colors work when used together. Instead of forcing inactive box color on inactive buttons, they’ll now blend together.
  • Menu Settings
    The ‘Default Screen Size’ is now set to 1920*1080 in new projects.
  • UI
    Icons in text now cause less distance between lines.
  • Scripting
    Custom schematic nodes no longer need to be placed in the ‘Makinom.Schematic.Nodes’ namespace.
  • Scripting
    Custom formula nodes no longer need to be placed in the ‘Makinom.Formula.Nodes’ namespace.
  • Scripting: Input Keys
    Changed code structure to allow adding custom input key types without changing Makinom’s code. Descend your custom input key code from the ‘BaseInputIDKeySetting’ class, use the built-in input key classes as examples.
  • Scripting: HUDs
    Changed code structure to allow adding custom HUD types without changing Makinom’s code. Descend your custom input key code from the ‘BaseHUDSetting’ class, use the built-in HUD classes as examples.
  • Scripting: Bool Values
    Changed code structure to allow adding custom bool value types without changing Makinom’s code. Descend your custom bool value type’s code from the ‘BoolValue_BaseType’, ‘FormulaBool_BaseType’ (for formulas) and ‘SchematicBool_BaseType’ (for schematics) classs, use the built-in classes as examples.
  • Scripting: Float Values
    Changed code structure to allow adding custom float value types without changing Makinom’s code. Descend your custom float value type’s code from the ‘FloatValue_BaseType’, ‘FormulaFloat_BaseType’ (for formulas) and ‘SchematicFloat_BaseType’ (for schematics) classs, use the built-in classes as examples.
  • Scripting: String Values
    Changed code structure to allow adding custom string value types without changing Makinom’s code. Descend your custom string value type’s code from the ‘StringValue_BaseType’, ‘FormulaString_BaseType’ (for formulas) and ‘SchematicString_BaseType’ (for schematics) classs, use the built-in classes as examples.
  • Scripting: Vector3 Values
    Changed code structure to allow adding custom Vector3 value types without changing Makinom’s code. Descend your custom Vector3 value type’s code from the ‘Vector3Value_BaseType’, ‘FormulaVector3_BaseType’ (for formulas) and ‘SchematicVector3_BaseType’ (for schematics) classs, use the built-in classes as examples.

Fixes

  • New UI
    Fixed some issues where choice buttons where flashing when updating the content of GUI boxes.
  • Schematic Nodes: Change Material
    Fixed an issue where changing indexed materials didn’t work.
  • GUI Boxes: New UI
    Fixed an issue where the ok/cancel buttons wheren’t removed from a content box when not using a button prefab.
  • New UI: Text Notifications
    Fixed an issue where text notifications didn’t scale when using the new UI.
  • HUDs: GUI Editor
    Fixed an issue where typing text codes in the HUD GUI editor could result in errors.