Sailwind
| Summary | A class-based UI framework for s&box, similar to Tailwind |
|---|---|
| Description |
Sailwind A categorical composition framework , similar to Tailwind, for sbox. Not affiliated with the original Tailwind, but similar enough that you can reference the same documentation for properties. Differences • Hover and active currently use "hover-" and "active-" prefixes (instead of "hover:" and "active:" respectively) due to some pending engine changes. • Most properties do not currently support custom values - only "bg-" and "font-" for now. How to use it Whatever panel component you use for UI should inherit "Sailwind.SailwindPanelComponent". Everything based on this root panel will then have access to Tailwind styles. Example @using Sandbox; @using Sandbox.UI; @inherits Panel @namespace ShooterGame <root> <column class="flex-col items-end bg-neutral-950"> <div class="relative min-w-40 min-h-20 items-end text-6xl"> @{ /* Background */ } <label class="absolute px-4 right-0 top-0 bottom-0 items-end opacity-25"> 054 </label> @{ /* Foreground */ } <label class="absolute px-4 right-0 top-0 bottom-0 items-end"> 54 </label> </div> @{ /* Bottom bar */ } <label class="text-sm uppercase bg-neutral-900 px-4 py-2 w-full items-end text-right"> Health </label> </column> </root> @code { protected override int BuildHash() => System.HashCode.Combine(Time.Now); public PlayerVitals PlayerVitals => Player.Local.Vitals; public string Health => $"{PlayerVitals.Health.CeilToInt()}"; public string PaddedHealth => $"{PlayerVitals.Health.CeilToInt():D3}"; }Sailwind
A categorical composition framework , similar to Tailwind, for sbox.
Not affiliated with the original Tailwind, but similar enough that you can reference the same documentation for properties.
Differences
• Hover and active currently use "hover-" and "active-" prefixes (instead of "hover:" and "active:" respectively) due to some pending engine changes.
• Most properties do not currently support custom values - only "bg-" and "font-" for now.
How to use it
Whatever panel component you use for UI should inherit "Sailwind.SailwindPanelComponent". Everything based on this root panel will then have access to Tailwind styles.
Example
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
@namespace ShooterGame
<root>
<column class="flex-col items-end bg-neutral-950">
<div class="relative min-w-40 min-h-20 items-end text-6xl">
@{ /* Background */ }
<label class="absolute px-4 right-0 top-0 bottom-0 items-end opacity-25">
054
</label>
@{ /* Foreground */ }
<label class="absolute px-4 right-0 top-0 bottom-0 items-end">
54
</label>
</div>
@{ /* Bottom bar */ }
<label class="text-sm uppercase bg-neutral-900 px-4 py-2 w-full items-end text-right">
Health
</label>
</column>
</root>
@code
{
protected override int BuildHash() => System.HashCode.Combine(Time.Now);
public PlayerVitals PlayerVitals => Player.Local.Vitals;
public string Health => $"{PlayerVitals.Health.CeilToInt()}";
public string PaddedHealth => $"{PlayerVitals.Health.CeilToInt():D3}";
}
|
| Votes | 16 2 17 |
| Error Rate | 0% |
| Reviews |
4 reviews
100% Recommended (4)
0% Promise (0)
0% Needs Work (0)
|
| Data | {} |