Add project files.

This commit is contained in:
2022-09-30 17:32:21 +08:00
parent df69e65c88
commit e8e36b83bd
561 changed files with 40626 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
using UnityEngine;
using System.Collections;
namespace Cryville.Crtr {
public class MeshWrapper {
public GameObject MeshObject {
get;
private set;
}
public MeshFilter MeshFilter {
get;
private set;
}
public Mesh Mesh {
get { return MeshFilter.mesh; }
set { MeshFilter.mesh = value; }
}
public Transform MeshTransform {
get;
private set;
}
public Renderer Renderer {
get;
private set;
}
public bool Transparent {
get;
private set;
}
public bool Initialized {
get;
private set;
}
public Material NewMaterial {
get {
return Material.Instantiate(GenericResources.Materials[
Transparent ? "-TransparentMat" : "-CutoutMat"
]);
}
}
public void Init(Transform parent, bool transparent = false) {
Transparent = transparent;
MeshObject = new GameObject("__mesh__");
MeshTransform = MeshObject.transform;
MeshTransform.SetParent(parent, false);
if (MeshObject.GetComponent<MeshFilter>() == null)
MeshObject.AddComponent<MeshFilter>();
if (MeshObject.GetComponent<MeshRenderer>() == null)
MeshObject.AddComponent<MeshRenderer>();
MeshFilter = MeshObject.GetComponent<MeshFilter>();
Renderer = MeshObject.GetComponent<Renderer>();
Renderer.material = GenericResources.Materials[
transparent ? "-TransparentMat" : "-CutoutMat"
]; // TODO
Initialized = true;
}
public void Destroy() {
Mesh.Destroy(Mesh);
if (Renderer.material != null) Material.Destroy(Renderer.material);
GameObject.Destroy(MeshObject);
}
}
}