correctly colour SymbolButton by button state, independently of event order
This commit is contained in:
@@ -35,7 +35,7 @@ namespace EscapeRoomEngine.Desert.Runtime
|
||||
public event ButtonEventHandler ButtonEvent;
|
||||
|
||||
[ShowNativeProperty]
|
||||
private bool Active
|
||||
protected bool Active
|
||||
{
|
||||
get => _active;
|
||||
set
|
||||
@@ -51,7 +51,7 @@ namespace EscapeRoomEngine.Desert.Runtime
|
||||
}
|
||||
|
||||
[ShowNativeProperty]
|
||||
private bool Pressed
|
||||
protected bool Pressed
|
||||
{
|
||||
get => _pressed;
|
||||
set
|
||||
|
||||
@@ -24,14 +24,16 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
|
||||
{
|
||||
base.Start();
|
||||
|
||||
ButtonEvent += (_, type) =>
|
||||
ButtonEvent += (_, _) =>
|
||||
{
|
||||
var color = type switch
|
||||
var color = theme.puzzleColor;
|
||||
if (!Active)
|
||||
{
|
||||
ButtonEventType.Pressed => theme.activeColor,
|
||||
ButtonEventType.Deactivated => theme.solvedColor,
|
||||
_ => theme.puzzleColor
|
||||
};
|
||||
color = theme.solvedColor;
|
||||
} else if (Pressed)
|
||||
{
|
||||
color = theme.activeColor;
|
||||
}
|
||||
|
||||
_material.SetColor(FresnelColor, color);
|
||||
_material.SetColor(Color, color);
|
||||
|
||||
Reference in New Issue
Block a user