Add Spray to ingame panel
This commit is contained in:
1 parent
b07d9a22d2
commit
cdeebf9243
3 files changed
+761
-16
No files matched your search
@@ -37,7 +37,7 @@ public class PaintHud : MonoBehaviour
|
||||
public GameObject layoutPrefab;
|
||||
|
||||
// Stable widget names shared by the code-gen builder, the baked prefab and the binder.
|
||||
private const string RootName = "PaintHudPanel";
|
||||
private const string PanelSpray = "Panel_Spray";
|
||||
private const string PanelAlbedo = "Panel_Albedo";
|
||||
private const string PanelMetallicSmoothness = "Panel_MetallicSmoothness";
|
||||
private const string PanelOcclusion = "Panel_Occlusion";
|
||||
@@ -47,6 +47,7 @@ public class PaintHud : MonoBehaviour
|
||||
private const string ToggleMetallicSmoothness = "Toggle_MetallicSmoothness";
|
||||
private const string ToggleOcclusion = "Toggle_Occlusion";
|
||||
private const string ToggleEmission = "Toggle_Emission";
|
||||
private const string ToggleSpray = "Toggle_Spray";
|
||||
private const string PickerAlbedo = "Picker_Albedo";
|
||||
private const string PickerEmission = "Picker_Emission";
|
||||
private const string SliderMetallic = "Slider_Metallic";
|
||||
@@ -56,18 +57,23 @@ public class PaintHud : MonoBehaviour
|
||||
private const string SliderOcclusionAlpha = "Slider_OcclusionAlpha";
|
||||
private const string SliderEmissionIntensity = "Slider_EmissionIntensity";
|
||||
private const string SliderBrushSize = "Slider_BrushSize";
|
||||
private const string SliderSprayDots = "Slider_SprayDots";
|
||||
private const string SliderSprayDotSizeMin = "Slider_SprayDotSizeMin";
|
||||
private const string SliderSprayDotSizeMax = "Slider_SprayDotSizeMax";
|
||||
private const string SliderSprayDotAlphaMin = "Slider_SprayDotAlphaMin";
|
||||
private const string SliderSprayDotAlphaMax = "Slider_SprayDotAlphaMax";
|
||||
|
||||
// Panels made draggable at runtime - grabbable from any non-widget surface (both prefab and code-gen paths).
|
||||
private static readonly string[] DraggablePanels =
|
||||
{
|
||||
PanelAlbedo, PanelMetallicSmoothness, PanelOcclusion, PanelEmission, PanelBrushSize
|
||||
PanelAlbedo,
|
||||
PanelMetallicSmoothness,
|
||||
PanelOcclusion,
|
||||
PanelEmission,
|
||||
PanelBrushSize,
|
||||
PanelSpray
|
||||
};
|
||||
|
||||
private static readonly Color PanelColor = new Color(0.09f, 0.09f, 0.11f, 0.9f);
|
||||
private static readonly Color HeaderColor = new Color(0.18f, 0.18f, 0.22f, 1f);
|
||||
private static readonly Color Accent = new Color(0.40f, 0.75f, 1f, 1f);
|
||||
private static readonly Color BoxColor = new Color(0.20f, 0.20f, 0.24f, 1f);
|
||||
|
||||
private GameObject _panel;
|
||||
private Font _font;
|
||||
|
||||
@@ -162,12 +168,14 @@ public class PaintHud : MonoBehaviour
|
||||
WireToggle(panel, ToggleMetallicSmoothness, painter && painter.paintMetallicSmoothness, v => { if (painter) painter.paintMetallicSmoothness = v; });
|
||||
WireToggle(panel, ToggleOcclusion, painter && painter.paintOcclusion, v => { if (painter) painter.paintOcclusion = v; });
|
||||
WireToggle(panel, ToggleEmission, painter && painter.paintEmission, v => { if (painter) painter.paintEmission = v; });
|
||||
WireToggle(panel, ToggleSpray, painter && painter.spray, v => { if (painter) painter.spray = v; });
|
||||
|
||||
// Dim a channel panel to 0.5 alpha while its toggle is off, full alpha while on.
|
||||
WirePanelFade(panel, PanelAlbedo, ToggleAlbedo);
|
||||
WirePanelFade(panel, PanelMetallicSmoothness, ToggleMetallicSmoothness);
|
||||
WirePanelFade(panel, PanelOcclusion, ToggleOcclusion);
|
||||
WirePanelFade(panel, PanelEmission, ToggleEmission);
|
||||
WirePanelFade(panel, PanelSpray, ToggleSpray);
|
||||
|
||||
WirePicker(panel, PickerAlbedo, painter ? painter.brushColor : Color.red,
|
||||
c => { if (painter) painter.brushColor = c; });
|
||||
@@ -184,6 +192,12 @@ public class PaintHud : MonoBehaviour
|
||||
|
||||
WireSlider(panel, SliderBrushSize, painter ? painter.brushSize : 16f, v => { if (painter) painter.brushSize = Mathf.RoundToInt(v); });
|
||||
|
||||
WireSlider(panel, SliderSprayDots, painter ? painter.sprayDots : 24f, v => { if (painter) painter.sprayDots = Mathf.RoundToInt(v); });
|
||||
WireSlider(panel, SliderSprayDotSizeMin, painter ? painter.sprayDotSizeMin : .05f, v => { if (painter) painter.sprayDotSizeMin = v; });
|
||||
WireSlider(panel, SliderSprayDotSizeMax, painter ? painter.sprayDotSizeMax : .18f, v => { if (painter) painter.sprayDotSizeMax = v; });
|
||||
WireSlider(panel, SliderSprayDotAlphaMin, painter ? painter.sprayDotAlphaMin : .25f, v => { if (painter) painter.sprayDotAlphaMin = v; });
|
||||
WireSlider(panel, SliderSprayDotAlphaMax, painter ? painter.sprayDotAlphaMax : 1f, v => { if (painter) painter.sprayDotAlphaMax = v; });
|
||||
|
||||
foreach (var name in DraggablePanels)
|
||||
MakeDraggable(panel, name);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user