自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 收藏
  • 关注

原创 删除指定目录下的文件以及文件夹

public class NemoEditorTool{/// /// 删除指定目录下的文件以及文件夹/// /// public static void DeletePath(string path){if (Directory.Exists(path)){DirectoryInfo info = new DirectoryInfo(path);FileSystemInfo[] arrInfo = info.GetFileSystemInfos();for (int i = 0;

2021-06-25 11:30:23 228

原创 Assert.IsNotNull

2021-05-13 14:18:34 250

原创 Shader.Find(“Shader Forge/rainShader_01“);

将用到得shader添加到上图所示,利用Shader.Find("") 可以找到shader为材质球复制Material[] mats = GameObject.Find(“NSA338DM001”).GetComponent().materials;foreach (Material m in mats){m.shader = Shader.Find(“Shader Forge/rainShader_01”);}...

2021-05-13 14:08:29 375

原创 list 转 数组

List gos = new List();gos.ToArray()通过.ToArray() 可以实现 list 列表转数组

2021-05-13 14:02:55 453

原创 list.select

using System.Linq;list.select的使用方法List stulist = new List();stulist.Add(new student(1));stulist.Add(new student(2));stulist.Add(new student(3)); List<int> newlist = stulist.Select(a => a.age).ToList(); foreach (var item in newlist)

2021-04-07 14:44:53 2179

原创 删除指定目录下的文件以及文件夹Unity

/// <summary>/// 删除指定目录下的文件以及文件夹/// </summary>/// <param name="path"></param>public static void DeletePath(string path){ if (Directory.Exists(path)) { DirectoryInfo info = new DirectoryInfo(path); FileSy

2021-03-25 17:17:43 827

原创 Unity编辑器常用API 日记

UnityEditor.AssetDatabase.LoadAssetAtPath()UnityEditor.PrefabUtility.InstantiatePrefabSelection.activeGameObjectEditorUtility.OpenFolderPanelEditorUtility.DisplayDialog

2021-03-24 17:59:53 195

原创 关于List排序sort四种方法得使用

public void Sort(); public void Sort(Comparison<T> comparison); public void Sort(IComparer<T> comparer); public void Sort(int index, int count, IComparer<T> comparer);四种方法介绍public void Sort();这一种是不带参数得,但是对于list类型有限制,Lis...

2021-03-23 17:51:23 3867

原创 绘制三角面

如果是顺时针绘制则是正面,如果逆时针绘制将是背面

2021-03-03 17:25:13 147 2

原创 代码创建addressables Group

#if UNITY_EDITORusing System;using System.Collections.Generic;using System.Reflection;using UnityEditor;using UnityEditor.AddressableAssets;using UnityEditor.AddressableAssets.GUI;using UnityEditor.AddressableAssets.Settings;using UnityEngine;nam

2021-03-02 10:29:58 927

原创 Unity 全局搜索物体

GameObject go = GameObject.Find("Cube").transform.gameObject; GameObject go1 = transform.Find("Cube").gameObject;GameObject.Find 如果物体是没有激活得 那么不会报空值,依然可以找到Transform.Find 如果物体是没有激活得 那么会报空值...

2021-02-26 17:34:58 1122

原创 @字符的作用

一 字符串中的用法字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。@只能对字符串常量作用。1.用于文件路径string s_FilePath =“C:\Program Files\Microsoft.NET\test.txt”;相当于string s_FilePath =@“C:\Program Files\Microsoft.NET\test.txt”;@是取消字符串中的转意符。比如不加@的字符串,"\a\n"C#会解释成一个\和一个a再加一个换行,如果加了@,

2021-02-08 14:47:16 1126

原创 日记

[ExecuteInEditMode]

2021-02-05 13:53:09 87

原创 日记

EditorPrefs.SetString("testKey", "value"); string strtest = EditorPrefs.GetString("testKey"); EditorPrefs.DeleteKey("testKey");

2021-02-04 15:51:57 90

原创 using UnityEditor.Callbacks

脚本编译完成后的回调 [DidReloadScripts]注意:方法必须是static

2021-02-04 15:45:47 414

原创 c# - 美元符号是什么$

插值字符串表达式通过用表达式结果的ToString表示替换包含的表达式来创建字符串。c# - 美元符号是什么$加了美元符号$能直接取{}里面的值它看起来很像String.Format()占位符,但它不是索引,而是花括号内的表达式如果加了美元符号 则{t} 会输出100 如果不加 则相当于字符串直接输出...

2021-02-04 15:33:02 1959

原创 正则表达式

string msg = "1111你好哈哈123"; string regex = "[0-9]";//匹配字符串中所有数字部分 上面的1111 和 132 都将匹配到 string regex1 = "[^0-9]";//匹配字符串中除数字以外部分 上面的你好哈哈将匹配到 string regex2 = "[0-9.]";//匹配所有数字包括小数点 msg = Regex.Replace(msg, regex, "test");//第三个参数是 将匹配到的字...

2021-02-04 15:08:35 96

原创 两种单例 类单例和继承Mono得单例

//单纯得类单例public class Singonton<T> where T:new(){ public static T instance; public static T Instance { get { if (instance == null) { instance = new T(); } r

2021-02-04 10:36:20 167

原创 2021-02-03

showThisAnorther(1);void showThisAnorther(int index){for (int i = 0; i < 5; i++){num++;int k = i;lock (this){Debug.Log(“start>>>>>” + i + “>>>>” + k+">>>>>"+index);Thread.Sleep(1000);Debug.Log(“end&gt

2021-02-03 14:09:28 163 1

原创 多线程

如果在泛型类中 如果类型参数是相同时 则是同一个类如果在泛型类中 如果类型参数是不同时 则是不同一个类比如在泛型类中定义了静态变量 虽然说静态变量是全局唯一得 但是如果是位于不同类中那么是不一样得Lock 如果使用 多线程 锁得话 就要注意了...

2021-02-03 11:08:18 66

原创 字符串常用API

string str = "linchniubi"; string str1 = "lasdfds"; //str.Substring("lch".Length);//截取从指定位置开始的字符串 //str.LastIndexOfAny(new char[] { '/', '\\' }) ;//获得包含所指定得所有字符中得任意一个的最后index //str.IndexOf('l'); //str.Insert(...

2021-02-01 18:00:18 108

原创 Unity加载AB包的方式

第一种AssetBundle.LoadFromFile(AssetBundlePath); 直接加载本地文件 此方法为同步加载异步加载本地文件使用协程AssetBundleCreateRequest bundleLoadRequest = AssetBundle.LoadFromFileAsync(AssetBundlePath);yield return bundleLoadRequest;var myLoadAssetBundle = bundleLoadRequest.assetBundl

2021-02-01 15:42:49 1287

原创 值类型和引用类型 关于字符串

string strValue = “BeforeString”;StringBuilder sb = new StringBuilder(“BeforeStringBuilder”);string[] strs = new string[] {“lch”,“lchniubi”,“huihui” };void Start(){string str = strValue;Debug.Log(strValue);str = “12354”;//修改了临时变量 原来得值不会改变Debug.Log

2021-01-27 10:46:43 208

原创 Unity AssetBundle打包

BundleBuildParameters param = new BundleBuildParameters(platform, group, m_outputPath);param.BundleCompression = platform == BuildTarget.WebGL ? BuildCompression.LZ4Runtime : BuildCompression.LZ4;IBundleBuildContent content = new BundleBuildContent(abb);

2021-01-22 16:08:38 701

原创 关于Unity通过 Assetbundle加载资源 代码

//通过加载本地ab包 加载资源 asset = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/Window/Res/Cube.u3d");//注意 ab包要加后缀 Instantiate(asset.LoadAsset<GameObject>("Assets/Res/Cube/Cube.prefab"));//注意这里资源要加后缀 新版本得加载方式需要加后缀否则报空找不到 Instan...

2021-01-22 15:00:44 385 1

原创 关于ScriptableObject

public class TEST{[MenuItem(“LCH/lch/test”, false, 0)]public static void NM(){//创建一个ScriptableObject实例//testScriptableObjec tt = ScriptableObject.CreateInstance();//tt.test();//调用ScriptableObject序列化数据//string file = “Assets/” + “test.asset”;//Asse

2021-01-21 18:41:59 165 2

原创 文件文件夹常用得API

Path.GetDirectoryName() 获取文件所在目录 这个获取得是绝对路径 比如 一个test.txt 文件 在D:/Unity/Assets/Test/test.txt 那么这个方法返回得路径就是D:/Unity/Assets/TestDirectory.GetFiles(Application.streamingAssetsPath, “.”, SearchOption.AllDirectories); 获取文件夹中得所有文件 第二个参数是筛选哪些文件 第三个参数是是否筛选子

2021-01-21 18:41:31 231

原创 按位与 按位或 按位异或 取反

这些位运算都是要转化成二进制参与计算得按位与运算规则就是0&0=0 0&1=0 1&0=0 1&1=1按位或运算规则就是0|0=0 0|1=1 1|0=1 1|1=1按位异或运算规则就是0^0=0 0^1=1 1^0=1 1^1=0取反得运算规则就是...

2021-01-21 10:03:11 289

原创 通过TryParse 或者 TryGetValue 可以判断是否有值

Dictionary<string, int> dic = new Dictionary<string, int>(); float.TryParse("1236", out float result); dic.TryGetValue("linch", out int t);通过TryParse 或者 TryGetValue 可以判断是否有值

2021-01-20 14:46:49 246 4

原创 Unity线程

using System.Collections;using System.Collections.Generic;using System.Threading;using UnityEngine;public class testt : MonoBehaviour{/// /// 线程/// Thread tt;/// /// 控制线程状态/// bool issend = false;// Start is called before the first frame upda

2021-01-20 14:43:17 397 2

原创 #define全局定义宏

#define 这个是宏定义 他是全局定义的 让编译器识别是否编译

2021-01-19 17:37:10 1065

原创 Unity UICanvas

CanvasScaler scaler = UICanvas.transform.GetComponent<CanvasScaler>(); scaler.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight; float ratio = (scaler.referenceResolution.x / scaler.referenceResolution.y) / (Sc...

2021-01-19 15:25:59 224

原创 左移 右移操作符

1.左移(<<)将所有的位都向左移动指定的次数,空出的位置补0左移相当于乘,左移一位相当于乘2,左移两位相当于乘4,左移三位相当于乘82.右移(>>)将所有的位都向右移动指定的次数,空出的位置补0右移相当于整除,右移一位相当于除以2,右移两位相当于除以4,右移三位相当于除以8左移右移 在Unity的射线检测层的时候经常用 layer层级也是指数来的1 2 4 8 168>>2 1右移两位 相当于除以2的2次方 8>>2结果为22<

2021-01-14 13:58:58 896

原创 日记

Encoding.UTF8.GetBytes(string)BitConverter.GetBytes(int)Buffer.BlockCopy()

2021-01-14 11:43:23 71

原创 .net托管代码和非托管代码的区别

Net Framework的构成, 主要包括两个部分:CLR(Common Language Runtime)-公共语言运行时和BCL(Basic Class Library)基础类库,CLR提供服务:包括诸如内存管理,垃圾回收,线程管理等服务;而BCL则提供实现在C#中创建的对象,数组,列表…等等都不需要考虑资源释放的问题,因为它会被CLR的垃圾回收机制自动回收。比如有个ObjectBase类,创建这个对象然后置空,它会一段时间后被自动回收:ObjectBase ob = new ObjectBase

2021-01-08 17:11:51 334 2

原创 using Newtonsoft.Json;

[JsonObject(MemberSerialization.OptIn)]//默认情况下,所有的成员不会被序列化,类中的成员只有标有特性JsonProperty的才会被序列化,当类的成员很多,但客户端仅仅需要一部分数据时,很有用public class testData{[JsonProperty]public string name;public int index;public Vector3 pos;public Color color;public bool isOn;}Op

2021-01-08 16:58:02 1298

原创 list 排序

List<int> list = new List<int>() { 3, 5, 2, 4, 1 }; list.Reverse();//1 4 2 5 3 //反转 list.Reverse(0,3);//2 5 3 4 1 // 指定位置 个数反转 从第一个位置 反转数量为3 list.Sort();//1 2 3 4 5 默认是升序 list.Sort((a, b) => a.CompareTo(b));//升序 lis...

2021-01-06 16:49:34 131

原创 Unity 负无穷 正无穷

float.PositiveInfinityfloat.NegativeInfinity

2021-01-06 15:43:52 879

原创 ? ?? .?分别在C#中得意思

?表示判断是否为空比如我们常用得三元表达式var a = a?b:c a如果为空则取b 否则取c??表示空合并运算符(??)用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。例如:a ?? b 当a为null时则返回b,a不为null时则返回a本身。GameObject.FindObjectOfType() ?? new GameObject(“PostProcessVolumeBlur”).AddComponent();.?

2020-12-28 13:45:21 181

原创 判断字符串是否为空 API string.IsNullOrEmpty

测试结果Debug.Log(s == null);//trueDebug.Log(ss == null);//falseDebug.Log(sss == null);//falseDebug.Log(string.IsNullOrEmpty(s));//trueDebug.Log(string.IsNullOrEmpty(ss));//falseDebug.Log(string.IsNullOrEmpty(sss));//true测试总结: 如果判断字符串 是否为空null 只要字符串没有.

2020-12-25 11:19:49 599

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除