Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 34 additions & 23 deletions CommunityEntity.UI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -341,29 +341,35 @@ T GetOrAddComponent<T>() where T : Component
if ( ShouldUpdateField( "imagetype" ) )
img.type = ParseEnum( obj.GetString( "imagetype", "Simple" ), UnityEngine.UI.Image.Type.Simple );

c.image = img;

// Modify the color of the button when hovered
// Have to grab colorBlock, modify then reassign
var colors = c.colors;

if (HasField("normalColor"))
colors.normalColor = ColorEx.Parse(obj.GetString("normalColor", "1.0 1.0 1.0 1.0"));
if (HasField("highlightedColor"))
colors.highlightedColor = ColorEx.Parse(obj.GetString("highlightedColor", "1.0 1.0 1.0 1.0"));
if (HasField("pressedColor"))
colors.pressedColor = ColorEx.Parse(obj.GetString("pressedColor", "1.0 1.0 1.0 1.0"));
if (HasField("selectedColor"))
colors.selectedColor = ColorEx.Parse(obj.GetString("selectedColor", "1.0 1.0 1.0 1.0"));
if (HasField("disabledColor"))
colors.disabledColor = ColorEx.Parse(obj.GetString("disabledColor", "0.5 0.5 0.5 0.5"));
if (HasField("colorMultiplier"))
colors.colorMultiplier = obj.GetFloat("colorMultiplier", 1.0f);
if (HasField("fadeDuration"))
colors.fadeDuration = obj.GetFloat("fadeDuration", 0.1f);

c.colors = colors;

c.image = img;

// Modify the color of the button when hovered
// Have to grab colorBlock, modify then reassign
var colors = c.colors;

if (HasField("normalColor"))
colors.normalColor = ColorEx.Parse(obj.GetString("normalColor", "1.0 1.0 1.0 1.0"));
if (HasField("highlightedColor"))
colors.highlightedColor = ColorEx.Parse(obj.GetString("highlightedColor", "1.0 1.0 1.0 1.0"));
if (HasField("pressedColor"))
colors.pressedColor = ColorEx.Parse(obj.GetString("pressedColor", "1.0 1.0 1.0 1.0"));
if (HasField("selectedColor"))
colors.selectedColor = ColorEx.Parse(obj.GetString("selectedColor", "1.0 1.0 1.0 1.0"));
if (HasField("disabledColor"))
colors.disabledColor = ColorEx.Parse(obj.GetString("disabledColor", "0.5 0.5 0.5 0.5"));
if (HasField("colorMultiplier"))
colors.colorMultiplier = obj.GetFloat("colorMultiplier", 1.0f);
if (HasField("fadeDuration"))
colors.fadeDuration = obj.GetFloat("fadeDuration", 0.1f);


// apply it with fadeDuration of 0 first so the colors instantly apply rather than tweening from img.color
var fadeDur = colors.fadeDuration;
colors.fadeDuration = 0f;
c.colors = colors;
colors.fadeDuration = fadeDur;
c.colors = colors;

GraphicComponentCreated( img, obj );

break;
Expand Down Expand Up @@ -869,6 +875,11 @@ private void BuildScrollbar(Scrollbar scrollbar, JSON.Object obj, bool vertical)
block.highlightedColor = ColorEx.Parse( obj.GetString( "highlightColor", "0.17 0.17 0.17 1" ) ); // hover
block.pressedColor = ColorEx.Parse( obj.GetString( "pressedColor", "0.2 0.2 0.2 1" ) ); // press
block.selectedColor = block.pressedColor; // never really used, but can still show up sometimes

var fadeDur = block.fadeDuration;
block.fadeDuration = 0f;
scrollbar.colors = block;
block.fadeDuration = fadeDur;
scrollbar.colors = block;

// style the background track
Expand Down