You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
3.4 KiB
C#
122 lines
3.4 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x02000152 RID: 338
|
|
public class CreateSprite : MonoBehaviour
|
|
{
|
|
// Token: 0x06000969 RID: 2409 RVA: 0x00029AE8 File Offset: 0x00027CE8
|
|
public static GameObject Create()
|
|
{
|
|
GameObject gameObject = new GameObject("sprite");
|
|
MeshRenderer meshRenderer = gameObject.AddComponent<MeshRenderer>();
|
|
if (meshRenderer.material != null)
|
|
{
|
|
UnityEngine.Object.Destroy(meshRenderer.material);
|
|
}
|
|
//meshRenderer.material = new Material(Resources.Load("Shader/Sprite/Sprite") as Shader);
|
|
meshRenderer.material = new Material(Shader.Find("Unlit/Transparent") as Shader);
|
|
meshRenderer.castShadows = false;
|
|
meshRenderer.receiveShadows = false;
|
|
MeshFilter meshFilter = gameObject.AddComponent<MeshFilter>();
|
|
Mesh mesh = CreateSprite.GetMesh();
|
|
meshFilter.sharedMesh = mesh;
|
|
return gameObject;
|
|
}
|
|
|
|
// Token: 0x0600096A RID: 2410 RVA: 0x00029B60 File Offset: 0x00027D60
|
|
public static GameObject CreateTextSprite()
|
|
{
|
|
GameObject gameObject = new GameObject("sprite");
|
|
MeshRenderer meshRenderer = gameObject.AddComponent<MeshRenderer>();
|
|
if (meshRenderer.material != null)
|
|
{
|
|
UnityEngine.Object.Destroy(meshRenderer.material);
|
|
}
|
|
// TODO Font
|
|
//meshRenderer.material = new Material(Resources.Load("Shader/Sprite/TextSprite") as Shader);
|
|
meshRenderer.material = new Material(Shader.Find("Unlit/Transparent") as Shader);
|
|
|
|
meshRenderer.castShadows = false;
|
|
meshRenderer.receiveShadows = false;
|
|
MeshFilter meshFilter = gameObject.AddComponent<MeshFilter>();
|
|
meshFilter.sharedMesh = new Mesh
|
|
{
|
|
name = "Text Sprite"
|
|
};
|
|
return gameObject;
|
|
}
|
|
|
|
// Token: 0x0600096B RID: 2411 RVA: 0x00029BE4 File Offset: 0x00027DE4
|
|
private static Mesh GetMesh()
|
|
{
|
|
Mesh mesh = CreateSprite.CreateMesh();
|
|
mesh.RecalculateBounds();
|
|
mesh.Optimize();
|
|
return mesh;
|
|
}
|
|
|
|
// Token: 0x0600096C RID: 2412 RVA: 0x00029C04 File Offset: 0x00027E04
|
|
private static Mesh CreateMesh()
|
|
{
|
|
Mesh mesh = new Mesh();
|
|
mesh.name = "Sprite";
|
|
mesh.vertices = CreateSprite.base_vertex;
|
|
mesh.triangles = CreateSprite.triangles;
|
|
mesh.uv = CreateSprite.uv;
|
|
mesh.RecalculateNormals();
|
|
return mesh;
|
|
}
|
|
|
|
// Token: 0x0600096D RID: 2413 RVA: 0x00029C4C File Offset: 0x00027E4C
|
|
public static void CreateSpriteCamera(GameObject obj, int ScreenH, bool IsSprite = true)
|
|
{
|
|
obj.transform.localPosition = new Vector3(0f, 0f, -1000f);
|
|
obj.transform.localScale = new Vector3(1f, 1f, 1f);
|
|
obj.camera.orthographic = true;
|
|
obj.camera.orthographicSize = (float)(ScreenH / 2);
|
|
obj.camera.nearClipPlane = 0f;
|
|
obj.camera.farClipPlane = 20000f;
|
|
obj.camera.renderingPath = RenderingPath.VertexLit;
|
|
obj.camera.clearFlags = CameraClearFlags.Color;
|
|
obj.camera.backgroundColor = new Color(0f, 0f, 0f, 1f);
|
|
if (IsSprite)
|
|
{
|
|
obj.camera.cullingMask &= 1 << LayerMask.NameToLayer("Sprite");
|
|
obj.camera.gameObject.layer = LayerMask.NameToLayer("Sprite");
|
|
}
|
|
else
|
|
{
|
|
obj.camera.cullingMask &= ~(1 << LayerMask.NameToLayer("Sprite"));
|
|
}
|
|
}
|
|
|
|
// Token: 0x040007CE RID: 1998
|
|
private static Vector3[] base_vertex = new Vector3[]
|
|
{
|
|
new Vector3(0f, 0f, 0f),
|
|
new Vector3(1f, 0f, 0f),
|
|
new Vector3(1f, -1f, 0f),
|
|
new Vector3(0f, -1f, 0f)
|
|
};
|
|
|
|
// Token: 0x040007CF RID: 1999
|
|
private static int[] triangles = new int[]
|
|
{
|
|
0,
|
|
1,
|
|
2,
|
|
2,
|
|
3,
|
|
0
|
|
};
|
|
|
|
// Token: 0x040007D0 RID: 2000
|
|
private static Vector2[] uv = new Vector2[]
|
|
{
|
|
new Vector2(0f, 1f),
|
|
new Vector2(1f, 1f),
|
|
new Vector2(1f, 0f),
|
|
new Vector2(0f, 0f)
|
|
};
|
|
}
|