自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity:事件总线优化

消息定义,可以携带什么可以在拓展。

2024-06-20 21:01:03 433

原创 Unity:数据驱动UI设计模式

接下来,我们创建一个UI组件来处理数据变化并更新UI。最后,将所有的组件和脚本集成到你的场景中,设置好引用,确保事件绑定在脚本的`Start`方法中正确配置。首先,我们需要定义数据模型。这些模型将表示我们应用程序中的实际数据。我们可以创建一个简单的事件系统来监控数据变化,然后更新UI。// 设置数据以触发UI更新。// 绑定到数据变化事件。### 2. 事件系统和数据绑定。### 3. 数据驱动UI组件。### 1. 创建数据模型。### 4. 实现数据更新。### 5. 集成在一起。

2024-06-20 20:38:16 357

原创 Unity:状态机模式

状态机模式(State Pattern)是一种行为设计模式,它允许一个对象在其内部状态改变时改变其行为,对象看起来好像修改了它的类。状态机模式在处理对象状态变化时特别有用,尤其是在游戏开发中,如AI行为、角色状态切换等。述实现展示了如何使用状态机模式来组织游戏AI的行为,通过将复杂的行为逻辑分解成不同的状态类,并使用状态机来管理和调度这些状态,可以显著简化代码,使得系统更具扩展性和可维护性。然后,我们实现一个通用的状态机类,该类会管理当前的状态以及状态的切换。#### 2. 在敌人AI中使用状态机。

2024-06-20 20:12:38 668

原创 Unity:工厂模式

如果业务逻辑需要引入新的敌人类型,只需新建一个具体的产品类和对应的工厂类,然后在客户端代码中调整工厂实例即可,而不需要改动现有的客户端代码。在Unity游戏开发中,工厂模式可用于创建复杂的游戏对象(如敌人、道具、角色等),以便更好地管理对象的生成和配置。下面的例子详细演示了如何在Unity中使用工厂模式。定义一个工厂接口或抽象工厂类,该类将声明一个用于创建产品对象的工厂方法。实现具体工厂类,这些类继承自工厂接口,并负责实例化具体的产品对象。接下来,定义具体的产品类,这些类继承自抽象产品类,并实现其接口。

2024-06-20 20:08:58 347

原创 Unity:命令模式 实现AI

通过将每个动作封装成一个独立的命令对象,命令模式可以使AI的行为更容易管理和扩展。通过使用命令模式,我们将AI行为分离成了独立的命令对象,使其更容易管理和扩展。通过这种方式,我们可以轻松地增加新的命令类型,并按需调整命令的执行顺序。假设我们有一个敌人的AI,它需要执行一系列预定的动作,包括巡逻(Patrol)、追击(Chase)和攻击(Attack)。首先,我们定义一个基本的命令接口,所有具体的命令类都需要实现这个接口。接下来,我们创建一个命令调度器,它负责管理和调度命令的执行顺序。#### 具体命令类。

2024-06-19 22:14:29 741

原创 学习日记:事件总线

【代码】学习日记:事件总线。

2024-05-31 23:26:33 79

原创 unity===物品跨场景 序列化基本结构

/ 从Vector3转换为SerializableVector3的构造函数。// 可序列化的Vector3类,用于在不同环境中保存和传输Vector3的数据。// 物品的位置信息,使用SerializableVector3来表示。// 将SerializableVector3转换为Vector3。// 可序列化的场景物品类,用于在不同环境中保存和传输场景物品的数据。// Vector3的x坐标。// Vector3的y坐标。// Vector3的z坐标。

2024-05-14 16:28:45 351

原创 Unity编辑器拓展:属性拓展-----下拉框

【代码】Unity编辑器拓展:属性拓展-----下拉框。

2024-05-14 15:46:43 283

原创 关于C# :显式实现接口和隐式实现接口

解决方法是使用显式实现接口。

2024-05-11 19:44:23 257

原创 QFramework Architecture:Command模块案例

【代码】QFramework Architecture:Command模块案例。

2024-05-10 15:33:30 280 1

原创 QFramework Architecture:Model模块案例

【代码】Architecture:Model模块案例。

2024-05-10 15:27:44 323 1

原创 QFramework框架 Architecture:Sysrem模块案例

【代码】学习记录:QFormWork学习 Architecture。

2024-05-10 15:20:19 297 1

原创 学习日记:关于委托细节

当你将一个方法如 ReceivedEvent 传递给期望 System.Action 类型参数的函数时,C# 编译器会自动将这个方法转换为 System.Action 委托实例。在C#中,ReceivedEvent 虽然是一个普通的方法,但它可以被用作委托参数,因为它符合 System.Action 委托的签名。在第一种方式中,编译器自动将 ReceivedEvent 方法转换为 Action 委托。这是C#语言支持的一种功能,称为方法组转换,允许直接将方法作为委托参数传递,只要方法签名与委托类型匹配。

2024-05-10 00:58:18 316 2

原创 C#接口-抽象类-实现类 的继承结构

【代码】接口-抽象类-实现类 的继承结构。

2024-05-09 13:35:37 237 1

原创 C#接口 + 扩展时用于限制方法的访问规则(静态拓展)

【代码】接口 + 扩展时用于限制方法的访问规则(静态拓展)

2024-05-09 13:34:39 73 1

原创 C# 接口

【代码】C# 接口。

2024-05-09 12:43:29 72 1

原创 Unity 关于 PlayerPrefs

它是基于键值对(key-value pair)的形式来工作的,允许开发者存储和检索基本数据类型,如整数(int)、浮点数(float)和字符串(string)。容量限制:虽然具体限制取决于平台,但通常PlayerPrefs不应用于存储大量数据,因为它会占用用户设备的存储空间,并可能导致性能问题。PlayerPrefs.GetString(key, defaultValue):读取字符串,如果没有则返回默认值。登录凭证(简单的):有时用于存储用户名或游戏内部的认证信息,但需注意安全风险,不适用于敏感信息。

2024-05-09 10:48:48 284 1

原创 IOC容器代码设计 5

【代码】IOC容器代码设计 5。

2024-05-09 10:26:22 136 1

原创 IOC容器代码设计 4

【代码】IOC容器代码设计 4。

2024-05-09 10:14:14 218 1

原创 IOC容器代码设计:3

C#

2024-05-08 21:18:42 193 1

原创 IOC容器代码设计:2

Unity

2024-05-08 20:55:19 168 1

原创 IOC实例管理代码设计

UnityIOC单例管理

2024-05-08 20:31:59 122 1

原创 Singleton代码设计

unity

2024-05-08 19:46:07 205 1

原创 关于C#事件

Event

2024-05-08 18:08:48 316 1

原创 Editor拓展

Unity

2024-05-08 17:46:26 184 1

原创 Command模式代码设计

Unity

2024-05-08 17:21:03 98 1

原创 Event基类设计

unity

2024-05-08 16:52:02 78 1

原创 bindableproterty代码设计

Unity

2024-05-08 14:55:05 260 1

原创 学习日记:处理校验网页

实例化对象把HTTPPasswordMgrWithDefaultRealm作为参数传入。#将创建的auth_handler作为参数传入build_opener。#利用Opener的open方法打开链接就可校验成功。

2024-02-16 18:16:46 385

空空如也

空空如也

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

TA关注的人

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