上传文件至 GUI
This commit is contained in:
96
GUI/Style.cs
Normal file
96
GUI/Style.cs
Normal file
@@ -0,0 +1,96 @@
|
||||
using System.Windows.Forms;
|
||||
using Monitor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace SinmaiAssist.GUI;
|
||||
|
||||
public class Style
|
||||
{
|
||||
public readonly GUIStyle Title = new GUIStyle()
|
||||
{
|
||||
fontSize = 12,
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
normal = new GUIStyleState() { textColor = Color.white }
|
||||
};
|
||||
|
||||
public readonly GUIStyle DisablePanel = new GUIStyle()
|
||||
{
|
||||
fontSize = 40,
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
normal = new GUIStyleState(){textColor = Color.white}
|
||||
};
|
||||
|
||||
public readonly GUIStyle ErrorMessage = new GUIStyle()
|
||||
{
|
||||
normal = new GUIStyleState() { textColor = Color.red }
|
||||
};
|
||||
|
||||
public readonly GUIStyle Button = new GUIStyle()
|
||||
{
|
||||
fontSize = 12,
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
border = new RectOffset(2, 2, 2, 2), //边框
|
||||
margin = new RectOffset(5,5,5,5), //边距
|
||||
padding = new RectOffset(4,4,4,4), //内边距
|
||||
normal = new GUIStyleState()
|
||||
{
|
||||
textColor = Color.white,
|
||||
background = CreateBorderTexture(new Color(0.2f, 0.2f, 0.2f,0.5f))
|
||||
},
|
||||
hover = new GUIStyleState()
|
||||
{
|
||||
textColor = Color.white,
|
||||
background = CreateBorderTexture(new Color(0.4f, 0.4f, 0.4f,0.5f))
|
||||
},
|
||||
active = new GUIStyleState()
|
||||
{
|
||||
textColor = Color.white,
|
||||
background = CreateBorderTexture(new Color(0.25f, 0.25f, 0.25f,0.5f))
|
||||
},
|
||||
onNormal = new GUIStyleState() {
|
||||
textColor = Color.yellow,
|
||||
background = CreateBorderTexture(new Color(0.25f, 0.25f, 0.25f,0.5f))
|
||||
},
|
||||
onHover = new GUIStyleState() {
|
||||
textColor = Color.yellow,
|
||||
background = CreateBorderTexture(new Color(0.4f, 0.4f, 0.4f,0.5f))
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
public GUIStyle Text
|
||||
{
|
||||
get
|
||||
{
|
||||
return new GUIStyle(UnityEngine.GUI.skin.label)
|
||||
{
|
||||
fontSize = 12,
|
||||
alignment = TextAnchor.MiddleLeft
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
//创建背景纹理
|
||||
|
||||
private static Texture2D CreateBorderTexture(Color color)
|
||||
{
|
||||
Texture2D texture = new Texture2D(3, 3)
|
||||
{
|
||||
wrapMode = TextureWrapMode.Repeat
|
||||
};
|
||||
for (int x = 0; x < 3; x++){
|
||||
for (int y = 0; y < 3; y++){
|
||||
texture.SetPixel(x, y, color);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 3; i++){
|
||||
texture.SetPixel(i, 0, Color.white);
|
||||
texture.SetPixel(i, 2, Color.white);
|
||||
texture.SetPixel(0, i, Color.white);
|
||||
texture.SetPixel(2, i, Color.white);
|
||||
}
|
||||
texture.SetPixel(0, 0, color);
|
||||
texture.Apply();
|
||||
return texture;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user