/*открыть файл в программе*/
System.Diagnostics.Process.Start(ФАЙЛ)
Рубрика: Fragments
готовые фрагменты кода, которые можно быстро вставлять в свой код
public interface ITest
{
/// <summary>
/// проверка экземпляра типа Dictionary на заполенность
/// </summary>
public bool Пустой => System.Convert.ToInt32(this.GetType().GetProperty("Count").GetValue(this))== 0;
}
public class Test:Dictionary<uint,string> ITest{
}
ITest Ex= new Test();
Debug.log(Ex.Пустой);
using UnityEngine;
namespace test2208041738
{
public interface ITest
{
public byte Prop1
{
get;
set;
}
public string Prop2
{
get;
set;
}
public void Method_props_assign() => this.Method(2, "hello");
public (byte, string) Method(byte Prop1, string Prop2) => (this.Prop1 = Prop1, this.Prop2 = Prop2);
}
public class Test : ITest
{
private byte _prop1;
private string _prop2;
public byte Prop1
{
get => _prop1;
set => _prop1 = value;
}
public string Prop2
{
get => _prop2;
set => _prop2 = value;
}
static public void test()
{
ITest t = new Test();
t.Method_props_assign();
Debug.Log(t.Prop1 + "," + t.Prop2);
}
}
}
using UnityEditor;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour{
void Start(){
var m = new Mesh();
var v = new Vector3(0, 0, 0);
var d = 0.5f;
m.vertices = new Vector3[]{v,v+d*Vector3.up, v+d* Vector3.right};
m.triangles = new int[] { 0, 1, 2};
m.uv=new Vector2[]{d*new Vector2(1,1),d*new Vector2(1,0),d*new Vector2(0,1)};
m.RecalculateBounds();
m.RecalculateNormals();
var mr = gameObject.GetComponent<MeshRenderer>();
if (mr == null) gameObject.AddComponent<MeshRenderer>();
var mf = gameObject.GetComponent<MeshFilter>();
if (mf == null) mf = gameObject.AddComponent<MeshFilter>();
mf.sharedMesh = m;
AssetDatabase.CreateAsset(m,"Assets/Resources/2207170827/test.asset");
}
}
static public void Создать(){
//создание текстуры 3d с определёнными характеристиками
TEXTURE = new Texture3D(R * MAX, R * MAX, R * MAX, TextureFormat.RGB24, false);
TEXTURE.filterMode = FilterMode.Point;
//создание цветового массива для текстуры 3d
Color[] colors = new Color[MAX * R * MAX * R * MAX * R];
//наполнение путём прохода по ячейкам
for (byte z = 0; z < R; z++){
int zOffset = z * MAX * R * MAX * R;
for (byte y = 0; y < R; y++){
int yOffset = y * MAX * R;
for (byte x = 0; x < R; x++)
colors[x + yOffset + zOffset] = Color.green;
}
}
//запись в текстуру
TEXTURE.SetPixels(colors);
TEXTURE.Apply();
Сохранить();
//return tex;
}
//сохранить текстуру в файл asset
static public void Сохранить()
{
var res = "Assets/Resources/";
var f = res + PATH + ".asset";
if (System.IO.File.Exists(f))
AssetDatabase.SaveAssets();
else
AssetDatabase.CreateAsset(TEXTURE, f);
}