随笔分类 - C#
摘要:1.框架简介 GF框架分两部分,GameFramework(GF)和UnityGameFramework(UGF); 通过接口的形式对Unity引擎进行了解耦; GF独立于Unity,具体业务逻辑实现都在GF中; UGF是继承了MonoBehaviour的组件,通过接口调用GF中Module的方法;
阅读全文
摘要:纯色背景才可剔除; 批量导出png; 修改config.txt #剔除的背景色 bkgcolor:0,254,0 #源文件夹 srcPath:./src #目标文件夹 distPath:./new 运行PngTool.exe 主要方法:将颜色和bkgcolor相同的像素,alpha值改0; 用惯了c
阅读全文
摘要:功能 支持int、float、bool、string基础类型 支持数组 支持kv;(key为数字,建议用list+新表) 支持枚举 支持unity类型vector3,vector2,color 自动生成csharp类 单个excel中多个sheet,依次导出 sheet名为生成C#类的class名
阅读全文
摘要:async&await 异步方法,使用起来更方便;(untiy自带的startcoroutine和invoke也方便,但必须继承MonoBehaviour,使用回调的方式实现异步); await会开启新的线程; async关键字的函数中必须有await关键字使用; 返回: void,Task,Tas
阅读全文
摘要:流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供; 流其实是一种信息的转换,是有序的,有输入和输出流(IO); 1.FileStream 文件流,读取和保存文件操作使用; //写入 FileStream fs = new FileStream("data.txt", FileM
阅读全文
摘要:今天封装Protobuf封包时候遇到一个问题; Protobuf的反序列化方法MergeFrom,是写在扩展类里的;c#拓展类 通过反射获取不到这个方法,就没法使用Type来泛型封装... 然而仔细一想,拓展类不也是类吗,直接反射获取拓展类方法好了; 在看Google.Protobuf源码,找到这个
阅读全文
摘要:一、反射 什么是反射 .Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成; 反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息; Type类可以获得对象的类型信息:方法、构造器、属性、字段; 这些都包含在Sys
阅读全文
摘要:StringBuilder和string 1.string是引用类型还是值类型 MSDN官方说string是引用类型; 引用类型:引用分配栈内存,引用类型本身的数据存储在堆中; 值类型:在函数中创建,栈内存;类中成员变量堆类型; 从c底层内存分析,string本质是char*数组; char*不开堆
阅读全文
摘要:C#类拓展方法 要求: 扩展方法类必须为静态类; 拓展方法必须为静态方法,参数为this+需拓展类对象; 多个类拓展方法可以写在一个拓展类中; public class TestExtension { public string Test1() { return "test"; } } public
阅读全文
摘要:using用法 1.引用命名空间 引用命名空间,使用其中类和方法; 2.起别名 using + 别名 = 具体作用域 3.确定作用域 c#中有jc自动释放内存,效率会不如c++手动释放; 如果有确定的作用域,可以使用using来创建对象(开内存),using方法结束,内存同时释放; using (A
阅读全文