news 2026/4/23 15:53:55

开发功能开关-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开发功能开关-–-behaviac

原文

behaviac的运行时提供有核心的更新行为树的功能,在其之上,还有logging,热加载,连调等调试功能。这些调试功能只是‘开发’功能,在游戏发布后实际上是不需要的。

除了可以在config.h中定义BEHAVIAC_RELEASE宏为1来完全使‘开发功能’不被编译外。也可以保留这些‘开发’功能但只是使用下面所列的‘开关’来关闭或者打开某些功能。

具体可以参考优化及性能

Cpp

namespacebehaviac{classBEHAVIAC_APIConfig{public:staticboolIsProfiling();staticvoidSetProfiling(boolbEnabled);//logging是否打开staticboolIsLogging();staticvoidSetLogging(boolbLogging);//logging打开的情况下,是否每次logging的时候都FlushstaticboolIsLoggingFlush();staticvoidSetLoggingFlush(boolbFlush);//socket连接是否打开,只有打开socket连接,连调功能才会支持staticboolIsSocketing();staticvoidSetSocketing(boolbSocketing);//是否是阻塞模式,当时阻塞模式的时候,游戏会阻塞,等待编辑器的连接,//只有成功建立连接后,游戏才继续运行staticboolIsSocketBlocking();staticvoidSetSocketBlocking(boolbBlocking);//游戏和编辑器建立连接的时候使用的端口staticvoidSetSocketPort(unsignedshortport);staticunsignedshortGetSocketPort();//热加载是否打开staticboolIsHotReload();staticvoidSetHotReload(boolbHotReload);};

具体的代码可以查看behaviac/base/workspace.h

Unity

C#下同名函数的意义和Cpp一样,此外,IsSuppressingNonPublicWarning是个用来控制是否输出非public成员的警告。

IsSuppressingNonPublicWarning为true的时候,Agent的成员(field,method,property)如果不是public的,则输出警告信息,从而可以修改其为public,这样的话,当使用导出格式为c#时其效率就是最高的,而且没有GC Alloc。

具体的代码请查看behaviac/runtime/workspace.cs

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:57:14

DAY37 早停策略和模型权重的保存

浙大疏锦行 import torch import torch.nn as nn import torch.optim as optim from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split import numpy as npirisload_iris() Xiris.data yiris.targetX_train,X_test,y_train,y_testtra…

作者头像 李华
网站建设 2026/4/23 6:08:52

g++演示如何从C++代码到可执行程序

🎬 个人主页:Vect个人主页🎬 GitHub:Vect的代码仓库🔥 个人专栏: 《数据结构与算法》《C学习之旅》《Linux》⛺️Per aspera ad astra. 文章目录1. C如何从代码到可执行文件1.0. 一小段代码进行演示1.1. 预处理阶段: g…

作者头像 李华
网站建设 2026/4/23 11:47:41

第八周学习

这周完成了课程中关于豆瓣首页的制作,初步掌握了制作静态页面的方法 项目实战-豆瓣首页 图标 <title>豆瓣</title><link rel"shortcut icon" type"image/x-icon" href"./favicon.ico"><link rel"stylesheet" h…

作者头像 李华
网站建设 2026/4/23 1:38:36

基于PLCS7 - 200的饮料自动机设计分享

基于PLCS7-200的饮料自动机 本设计包括设计报告&#xff0c;仿真工程。 设计方案 1&#xff0e;自动售货机有3个投币孔分别为1、5和10元。 2&#xff0e;售货共有汽水和咖啡两种选择&#xff0c;饮料分为十二元和十五元。 3.如果顾客投入硬币在限定的时间内&#xff08;2分钟&a…

作者头像 李华
网站建设 2026/4/23 11:53:03

Java基础大厂高频后台开发-面试常考八股题

一、基础概念 1)JVM是什么&#xff1a; ● 概念&#xff1a;运行 Java 字节码的虚拟机。针对不同系统有不同的实现&#xff0c;保证Java"一次编译&#xff0c;到处运行" ● 作用&#xff1a;将Java字节码转换为特定平台的机器码&#xff0c;实现跨平台性 ● 关键&…

作者头像 李华
网站建设 2026/4/23 10:11:33

实习面试题-MapReduce 面试题

1.MapReduce 的基本工作流程是什么?它包括哪些主要阶段? 回答重点 MapReduce 是一种编程模型及其相关实现,用于处理和生成大规模数据集。基本工作流程包括两个主要阶段:Map 阶段和 Reduce 阶段。 1)Map 阶段:在这个阶段,输入数据被分成小片段,每个片段被分配给一个 …

作者头像 李华