Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): bump io.extendreality.zinnia.unity from 1.19.0 to 1.20.0 #20

Conversation

dependabot-preview[bot]
Copy link
Contributor

Bumps io.extendreality.zinnia.unity from 1.19.0 to 1.20.0.

Release notes

Sourced from io.extendreality.zinnia.unity's releases.

v1.20.0

1.20.0 (2020-07-11)

Features

  • Action: add ability to set initial value of an Action (bbc8ee0)

    The new InitialValue property allows an Action to have the starting value set in the Unity Editor at edit time. Once the script is started then the InitialValue will be used to set the default state of the Action (but no events will be emitted to denote an action change as technically the state hasn't changed if it is moving to the initial state).

    This new InitialValue property is only for use in the UnityEditor at Edit time and cannot be changed at runtime nor can it be set via script. If an initial value is required via creation of an Action by script then simply just need to create the Action and call Receive(<your-initial-value>) prior to any event listeners being hooked up. This will simply call the Receive method and will emit the relevant events, but as no event listeners should have been registered then this won't make any difference.

    An extra method of ReceiveInitialValue has also been added that will allow the Receive method to be called with the initial set value. Again, this is only useful for when creating the Action via the Unity Inspector as the InitialValue cannot be changed via script.

    The DefaultValue help text has also been updated to make it more clearer what this property is for as it's not the starting value of the Action, but the value the Action needs to be at to be considered disabled.

  • Extension: add enum extension/helper methods (33463ce)

    A couple of new Enum helper methods have been added that make getting an enum easier by either being able to provide the index of the enum to return or by getting the enum by string name.

    The PointerElementPropertyMutator has been updated to take advantage of this new method.

  • Extension: add new data type extensions for common calculations (816dc97)

    A common calculation is finding a fine grain distance between two points (either Vector2 or Vector3) where the tolerance is also given in the same type as opposed to just a simple float.

    The new Vector2.WithinDistance and Vector3.WithinDistance offer this via the relevant extensions.

    Another common calculation is converting euler degrees to signed degrees, such as 270' is actually equivalent to -90'. This helps when doing greater than or less than comparisons as a negative rotation of -90' is less than a rotation of 0' whereas 270' as a number would be greater than 0'.

    The Vector3.UnsignedEulerToSignedEuler will convert the current Vector3 of euler angles into a Signed Euler (-180' to 180f) using the new float.GetSignedDegree which simply converts a Euler angle into the -180' to 180' range.

    These are then used to provide new Transform extensions for:

    • Transform.SignedEulerAngles * Transform.SignedLocalEulerAngles

    Which simply return the respective Euler or Local Euler angle for the Transform but in this signed format.

  • structure: provide mechanism to change properties via UnityEvents (98ae181)

    Some property types cannot be changed via UnityEvents as they are not supported in the UnityEvent inspector, such as Enums, Vectors and Vector3State.

    This has been fixed by adding custom setter methods that can be called via the UnityEvent inspector using primitive types that are supported to allow this data to still be set.

  • Tracking: add divergable property modifier types (8538d3f)

    A new Property Modifier type known as a Divergable Property Modifier has been added that allows a property modifier to know when the target has become diverged from the source in whatever property it is tracking.

    Only certain types of modifier can actually ever cause a divergence, such as the RigidbodyVelocity and RigidbodyAngularVelocity because they can make it so the target is not keeping exactly up to date with the source and become diverged somewhat.

    So now both RigidbodyVelocity and RigidbodyAngularVelocity have become extensions of the DivergablePropertyModifier and now emit events when the source/target diverge and converge again.

    It is also possible to turn off this divergence tracking and it is turned off by default as it adds an additional overhead, which should not be automatically implemented unless the overhead is warranted for the benefits of using the functionality.

  • Tracking: add proxy emitter for ObjectFollower.EventData (0da6d51)

    The ObjectFollower.EventData can now be proxied via the new ObjectFollowerEventProxyEmitter and this data can also now be used as an input to the PropertyModifier Modify method as this makes it easy to chain Property Modifiers together to have one modifier use its data to call another Property Modifier.

  • Yield: add ability to emit an event after a yield instruction (f1e70c8)

    The new Yield events provide the ability to trigger some action after a yield instruction has completed such as seconds passed or at end of frame.

    This can be used in conjunction with the Proxy events to first store the payload in the Proxy then trigger the emit after the yield instruction has completed.

Changelog

Sourced from io.extendreality.zinnia.unity's changelog.

1.20.0 (2020-07-11)

Features

  • Action: add ability to set initial value of an Action (bbc8ee0)

    The new InitialValue property allows an Action to have the starting value set in the Unity Editor at edit time. Once the script is started then the InitialValue will be used to set the default state of the Action (but no events will be emitted to denote an action change as technically the state hasn't changed if it is moving to the initial state).

    This new InitialValue property is only for use in the UnityEditor at Edit time and cannot be changed at runtime nor can it be set via script. If an initial value is required via creation of an Action by script then simply just need to create the Action and call Receive(<your-initial-value>) prior to any event listeners being hooked up. This will simply call the Receive method and will emit the relevant events, but as no event listeners should have been registered then this won't make any difference.

    An extra method of ReceiveInitialValue has also been added that will allow the Receive method to be called with the initial set value. Again, this is only useful for when creating the Action via the Unity Inspector as the InitialValue cannot be changed via script.

    The DefaultValue help text has also been updated to make it more clearer what this property is for as it's not the starting value of the Action, but the value the Action needs to be at to be considered disabled.

  • Extension: add enum extension/helper methods (33463ce)

    A couple of new Enum helper methods have been added that make getting an enum easier by either being able to provide the index of the enum to return or by getting the enum by string name.

    The PointerElementPropertyMutator has been updated to take advantage of this new method.

  • Extension: add new data type extensions for common calculations (816dc97)

    A common calculation is finding a fine grain distance between two points (either Vector2 or Vector3) where the tolerance is also given in the same type as opposed to just a simple float.

    The new Vector2.WithinDistance and Vector3.WithinDistance offer this via the relevant extensions.

    Another common calculation is converting euler degrees to signed degrees, such as 270' is actually equivalent to -90'. This helps when doing greater than or less than comparisons as a negative rotation of -90' is less than a rotation of 0' whereas 270' as a number would be greater than 0'.

    The Vector3.UnsignedEulerToSignedEuler will convert the current Vector3 of euler angles into a Signed Euler (-180' to 180f) using the new float.GetSignedDegree which simply converts a Euler angle into the -180' to 180' range.

    These are then used to provide new Transform extensions for:

    • Transform.SignedEulerAngles * Transform.SignedLocalEulerAngles

    Which simply return the respective Euler or Local Euler angle for the Transform but in this signed format.

  • structure: provide mechanism to change properties via UnityEvents (98ae181)

    Some property types cannot be changed via UnityEvents as they are not supported in the UnityEvent inspector, such as Enums, Vectors and Vector3State.

    This has been fixed by adding custom setter methods that can be called via the UnityEvent inspector using primitive types that are supported to allow this data to still be set.

  • Tracking: add divergable property modifier types (8538d3f)

    A new Property Modifier type known as a Divergable Property Modifier has been added that allows a property modifier to know when the target has become diverged from the source in whatever property it is tracking.

    Only certain types of modifier can actually ever cause a divergence, such as the RigidbodyVelocity and RigidbodyAngularVelocity because they can make it so the target is not keeping exactly up to date with the source and become diverged somewhat.

    So now both RigidbodyVelocity and RigidbodyAngularVelocity have become extensions of the DivergablePropertyModifier and now emit events when the source/target diverge and converge again.

    It is also possible to turn off this divergence tracking and it is turned off by default as it adds an additional overhead, which should not be automatically implemented unless the overhead is warranted for the benefits of using the functionality.

  • Tracking: add proxy emitter for ObjectFollower.EventData (0da6d51)

    The ObjectFollower.EventData can now be proxied via the new ObjectFollowerEventProxyEmitter and this data can also now be used as an input to the PropertyModifier Modify method as this makes it easy to chain Property Modifiers together to have one modifier use its data to call another Property Modifier.

  • Yield: add ability to emit an event after a yield instruction (f1e70c8)

    The new Yield events provide the ability to trigger some action after a yield instruction has completed such as seconds passed or at end of frame.

    This can be used in conjunction with the Proxy events to first store the payload in the Proxy then trigger the emit after the yield instruction has completed.

Bug Fixes

Commits
  • 9b039b7 chore(release): set version to 1.20.0 [skip ci]
  • dcead0d Merge pull request #507 from ExtendRealityLtd/feat/more-features
  • 98ae181 feat(structure): provide mechanism to change properties via UnityEvents
  • 33463ce feat(Extension): add enum extension/helper methods
  • 4617d6c fix(Attribute): record MinMaxRange value changes on prefab instance
  • f1e70c8 feat(Yield): add ability to emit an event after a yield instruction
  • fea537b refactor(guidelines): apply coding guidelines to empty classes
  • 0da6d51 feat(Tracking): add proxy emitter for ObjectFollower.EventData
  • 8538d3f feat(Tracking): add divergable property modifier types
  • 816dc97 feat(Extension): add new data type extensions for common calculations
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in the .dependabot/config.yml file in this repo:

  • Update frequency
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

@dependabot-preview dependabot-preview bot added the dependency-update A change that only updates a dependency label Jul 11, 2020
@dependabot-preview dependabot-preview bot merged commit 9f50715 into master Jul 11, 2020
@dependabot-preview dependabot-preview bot deleted the dependabot/npm_and_yarn/io.extendreality.zinnia.unity-1.20.0 branch July 11, 2020 08:38
@ExtendReality-Bot
Copy link
Member

🎉 This PR is included in version 1.1.12 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependency-update A change that only updates a dependency released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants