Rimworld Mod制作教程9 角色想法相关解读

1 想法核心机制流程

当一个想法生效,从最底层到生效,所经历的顺序应该为:
Pawn实例的Tick()
->Pawn_NeedsTracker实例的NeedsTrackerTick()
->Need_Mood实例的NeedInterval()
->Need_Seeker父类的NeedInterval()
->Need_Mood实例的CurInstantLevel访问器
->ThoughtHandler实例的TotalMoodOffset()
->ThoughtHandler实例的GetDistinctMoodThoughtGroups()
->ThoughtHandler实例的GetAllMoodThoughts()
->SituationalThoughtHandler实例的AppendMoodThoughts()
->SituationalThoughtHandler实例的CheckRecalculateMoodThoughts()中完成想法实例的创建
->Thought_Situational实例的Active访问器决定当前想法是否满足生效条件
->回到Need_Seeker中设定CurLevel值

至此想法的level值已完成设定,CurLevel会影响各种事情,比如角色在rest_need上的level等级超过最大容量,pawn分配行为时会尝试休息,无视当前的策略方针

2 各部分类介绍

2.1 Pawn_NeedsTracker

我把它称之为需求追踪器
Pawn_NeedsTracker 实例创建时会与pawn绑定,并且按照一个比较sb的过滤规则过滤掉一部分need,Pawn_NeedsTracker 主要负责管理调度pawn身上的所有need,以及对外暴露need相关接口。

2.2 Need_Mood

心情上的需求,继承自Need_Seeker,实现心情相关的需求功能,内部有三个重要参数

 public ThoughtHandler thoughts; //负责处理角色想法相关
 public PawnObserver observer; //负责监视角色的交互来产生 回忆型心情
 public PawnRecentMemory recentMemory; //主要记录最近有没有外出 有没有灯光

2.3 ThoughtHandler

想法处理器,内部把想法分为两类,

public MemoryThoughtHandler memories; //回忆型的想法
public SituationalThoughtHandler situational; //情景型的想法

并且负责处理SocialThoughts社会型想法,就是人与人之间的看法,这个由另一个模块Pawn_RelationsTracker关系追踪器来控制,这里暂且无视。

ThoughtHandler中有个核心的函数public float TotalMoodOffset()
用来计算当前pawn所有生效的非社会型想法 对 心情上的需求 的影响值

2.4 SituationalThought

情景型想法,继承自Thought,主要为这个想法提供了一个理由。

2.5 SituationalThoughtHandler

情景型想法处理器,负责情景型想法的管理,生效,过期相关的判定。

如果这篇文章对你有帮助,点赞收藏支持一下呗!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
环世界(RimWorld)是一款自由度很高的沙盒游戏,玩家可以通过MOD来扩展游戏的内容和玩法。制作环世界MOD需要一定的编程和美术基础,以下是一个简单的环世界MOD制作教程: 1. 准备工作:首先需要下载并安装环世界的MOD制作工具,比如Modding Tools包。同时需要一个文本编辑器(如Notepad++)和一些图片处理软件(如Photoshop)。 2. 创建MOD文件夹:在环世界的Mods文件夹下创建一个新的文件夹,这将是你的MOD的根目录。 3. 编写MOD描述文件:在MOD的根目录下创建一个描述文件About文件夹,里面存放MOD的一些基本信息,如作者、版本、说明等。 4. 编写MOD内容:根据你的设想,可以编写新增的角色、任务、建筑、装备等内容。这需要对XML和C#等语言有一定的了解,可以参考环世界的官方文档和教程来进行编写。同时,对于新增的角色或建筑,还需要设计对应的图片和动画。 5. 测试和优化:在制作MOD后,需要进行测试以确保MOD的正确性和稳定性。可以将MOD放到游戏的Mods文件夹下进行测试,根据测试结果进行改进。 6. 发布MOD:如果MOD通过了测试并且稳定可用,就可以考虑发布MOD了。可以将MOD上传到环世界社区网站或其他MOD分享平台,供其他玩家下载和使用。 制作环世界MOD是一个需要耐心和技术的过程,但可以让玩家们创造出更多有趣的游戏内容和体验。希望以上简单的教程可以帮助到对环世界MOD制作感兴趣的玩家们。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值