UI System?
No, it's not a replacement for Unity's native UI systems. There are enough of those already!
It's a way to have click/touch and hover type interactions with on-screen TPT tiles and can be used to add interactivity to tiles.
Generally, you create a UI-Capable tile by implementing the ITpUiControl interface. However, it's recommended that you try to use the suppled UI tile varieties if possible.
ItpUiControl has two main functions:
- Get information about supported effects and start an effect.
- Set values and get values in various formats.
Setting values is done with one method implementation: SetValue(object value, bool withNotify = true)
You convert the object into whatever your tile requires.
Getting values is done with several implementations for various formats: int, bool, object, string, or Char.
A control can use the AcceptsClicks
and AcceptsHover
to control what sort of messages it gets.
For example, a control that normally accepts clicks can temporarily return false from the AcceptsClicks
property if it is still executing an effect such as a tween which hasn't completed yet. A second click can be inhibited until the effect is complete.
AcceptsHover
should only be true if you want to get Hover messages: these are very frequent since they're continually sent while the mouse or other pointer is moving.
`SupportedEffects returns a flags enum that specifies various types of effects such as BumpSize, BumpColor, etc. Return a value which describes which effects your tile actually implements.
RunEffect
is used to execute an effect. You can add duration, Vector3, and/or Color endpoint values to use for tweening or color changes.