![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
木直
这个作者很懒,什么都没留下…
展开
-
对delegate、Func、Action、event、UnityEvent、UnityAction委托一族的总结
对委托相关知识的总结,参考了一些博客再加上了自己的理解。delegate、Func、Action、event、UnityEvent、UnityAction委托一种可用于封装命名或者匿名方法的引用类型。 它的存在说明变量不仅能存储值,对象的引用,还能存方法。只不过声明时前面加个delegate。与函数指针不是同个概念。类似于 C++ 中的函数指针,而且是类型安全和可靠的。可用于简化...原创 2019-03-08 18:01:24 · 3438 阅读 · 0 评论 -
改造Fungus源码及使用教程:建立数据驱动脚本系统的尝试(二):自定义Command
”想更快更方便地实现功能,就向上抽象。想实现更丰富的功能,就向下拆解。“---某不知名程序员起因继续更深入地改造Fungus,碰上了Command。由于Fungus的原生Command的参数都是靠面板输入的(毕竟其原本的设计意图就是方便不懂编程的人靠界面操作来实现游戏逻辑),并没有提供给在代码环境中修改Command参数的接口,所以想通过数据驱动动态创建Command,要么给Co...原创 2019-04-01 19:53:38 · 1289 阅读 · 2 评论 -
SMM开发日志:第一次重构(Unity与游戏逻辑系统解耦,中介者、状态等模式的运用
起因越深入阅读《设计模式与游戏完美开发》后,越发感到现在手头这个项目的代码架构可以有改进的地方。思考了一段时间后,整理了下当前的架构,决定将书上的一些优秀的实现融合到这个项目里。思考重构前的问题:1、很多系统功能由挂载场景中的GameObject的继承自MonoBehaviour的Script实现(我命名为XXController,原意是照搬以前javaee的MVC模式)。其问题在...原创 2019-04-01 18:22:23 · 585 阅读 · 0 评论 -
关于C#,CLR,.NET,托管的相关理解
.NET Framework包含了CLR、类库及相关语言编译器。运行时,C#源码,首先被.NET的C#的编译器编译成中间语言MSIL(Microsoft Intermediate Language),是一种介于高级语言和机器语言中间的语言,也叫本地代码,并加上元数据(数据的数据,包含源代码中所有元素的描述)。然后,MSIL在.NET的CLR(Common Language Runtime)上托...原创 2019-03-18 19:36:57 · 358 阅读 · 0 评论 -
c# 关于内存回收GC的简单总结
GC废弃对象的4种方式方式 例子 被释放的对象 将null引用赋值给对象的仅剩引用。(赋空值) ClassA a = new ClassA();a=null; 没有一个引用引用它时 将不同对象的引用赋值给对象的仅剩引用。(赋新值) a1 = new ClassA();a2 = new ClassA(); a1 = a2; a1的原先引用对象 ...原创 2019-03-18 17:35:47 · 2942 阅读 · 0 评论 -
改造Fungus源码及使用教程:建立数据驱动脚本系统的尝试(一)
起因先前面试某厂时,面试官说我简历上用的那个可视化编辑剧情插件Fungus在大型游戏里是不实用的。因为有大量剧情的话,一个个去创建、移动、调参会很慢。应该使用数据驱动的剧情脚本系统。我认为说得挺有道理的,到后面写复杂剧情的时候确实比较费事。不过我并不想抛弃Fungus那种直观的可视化剧情,还有它已经写好的各种组件和指令。思考于是我就想着在Fungus上扩展一下,根据一定格式的脚本批量生成B...原创 2019-03-18 12:39:11 · 2215 阅读 · 0 评论 -
Unity 一种对象池的实现
在Untiy中,如果在短时间内有大量GameObject被创建销毁,会造成性能下降,游戏卡顿。根据线程池的思想,我们可以建立一个对象池来暂存暂时不用的GameObject,要用时再从对象池取出,实现GameObject的复用,减少创建,销毁。以最近项目中的弹幕池为例。要点:1、编写弹幕池类,其拥有一个队列作为池来保存对弹幕GameObject的引用。2、将该类设为单例,避免多次创建,管理...原创 2019-03-15 19:46:44 · 609 阅读 · 0 评论 -
Unity Singleton 单例模式的实现
以前一直用着以下博客的单例模式的实现方法。Unity Singleton 单例类(Unity3D开发之二十)https://blog.csdn.net/cocos2der/article/details/47335197今天看了《剑指Offer》P32实现单例模式的面试题2后,发现原来上面那种实现是书中提到不好的解法2。原因是使用了加锁这个比较耗时的操作,而且其实在实例创建后就不必再执行加锁...原创 2019-03-10 20:40:22 · 3486 阅读 · 0 评论 -
游戏相关设计模式的总结(二)
桥接模式“将’抽象‘与‘实现’分离,使两者可以独立地变化。”“想要实现一个‘抽象’类的一个功能,除了通过继承实现,还可以通过声明一个桥接成员,通过调用该成员的实现的功能来实现自己的功能。即桥接别人的功能。”“描述了两个类群组之间交叉组合汇编,存在一个整体有两个连接的灵活可变部分的状态。”成员:Abstraction(抽象体接口)、Implementor(实现体接口)、具体Abs...原创 2019-04-02 08:57:48 · 414 阅读 · 0 评论