骑砍2霸主MOD开发(11)-瓦兰迪亚火骑兵

一.火焰灼烧Timer

    public class FlameCavalryTimer_1 : PLCommonBasicMissionTimer{private Mission _mission;public FlameCavalryTimer_1(Mission mission, float triggerInterval, bool isTriggerOnce) : base(triggerInterval, isTriggerOnce){_mission = mission;}public override void TriggerTimerScript(){try{BrunEnemyAround();}catch (Exception ex){File.AppendAllLines(PLModuleConstans.ModuleCrashLogPath, new string[] { ex.ToString(), ex.Message, ex.StackTrace });}}private void BrunEnemyAround(){_mission.Agents.ForEach(cavalryAgent =>{if (cavalryAgent.IsHuman && cavalryAgent.Team.IsFriendOf(_mission.PlayerTeam)){MBList<Agent> enemyAgentList = new MBList<Agent>();_mission.GetNearbyEnemyAgents(new Vec2(cavalryAgent.Frame.origin.x, cavalryAgent.Frame.origin.y), 2f, cavalryAgent.Team, enemyAgentList);foreach (Agent enemyAgent in enemyAgentList){PLDamageUtilities.GiveDamageToEnemey(cavalryAgent, enemyAgent, 60);}}});}}

二.火骑兵Timer

    public class FlameCavalryTimer_2 : PLCommonBasicMissionTimer{private Mission _mission;public FlameCavalryTimer_2(Mission mission, float triggerInterval, bool isTriggerOnce) : base(triggerInterval, isTriggerOnce){_mission = mission;}public override void TriggerTimerScript(){try{InitCavalryFlame();}catch (Exception ex){File.AppendAllLines(PLModuleConstans.ModuleCrashLogPath, new string[] { ex.ToString(), ex.Message, ex.StackTrace });}}private void InitCavalryFlame(){InformationManager.DisplayMessage(new InformationMessage("InitCavalryFlame"));_mission.Agents.ForEach(cavalryAgent =>{if (cavalryAgent.IsHuman && cavalryAgent.Team.IsFriendOf(_mission.PlayerTeam)){if (!MissionAgentBehavior._cavalryFlamesMap.ContainsKey(cavalryAgent)){GameEntity emptyEntity = GameEntity.CreateEmpty(_mission.Scene);MatrixFrame agentFrame = cavalryAgent.Frame;emptyEntity.SetFrame(ref agentFrame);emptyEntity.AddParticleSystemComponent("psys_airplane_fire_2");MissionAgentBehavior._cavalryFlamesMap.Add(cavalryAgent, emptyEntity);}}});}}public class FlameCavalryTimer_3 : PLCommonBasicMissionTimer{private Mission _mission;public FlameCavalryTimer_3(Mission mission, float triggerInterval, bool isTriggerOnce) : base(triggerInterval, isTriggerOnce){_mission = mission;}public override void TriggerTimerScript(){try{SyncCavalryFlame();}catch (Exception ex){File.AppendAllLines(PLModuleConstans.ModuleCrashLogPath, new string[] { ex.ToString(), ex.Message, ex.StackTrace });}}private void SyncCavalryFlame(){for (int i = 0; i < MissionAgentBehavior._cavalryFlamesMap.Count; i++){Agent cavalryAgent = MissionAgentBehavior._cavalryFlamesMap.ElementAt(i).Key;GameEntity flame = MissionAgentBehavior._cavalryFlamesMap.ElementAt(i).Value;MatrixFrame agentFrame = cavalryAgent.Frame;flame.SetFrame(ref agentFrame);}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/24613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言后端开发学习(一)——JWT的介绍以及基于JWT实现登录验证

什么是JWT JWT,全名为JSON Web Token&#xff0c;是当下主流的一种服务端通信认证方式&#xff0c;具有轻量,无状态的特点&#xff0c;它实现了让我们在用户与服务器之间传递安全可靠的Json文本信息&#xff0c;它的使用过程主要是这样的&#xff1a; 当用户注册的时候&#x…

【百万字详解Redis】集群

文章目录 一、集群模式概述1.1、什么是集群模式1.2、集群模式特点1.3、集群工作方式 二、集群模式的搭建2.1、搭建前的准备2.2、修改集群配置2.3、启动redis服务2.4、创建集群2.5、查看redis服务状态2.6、进入一个节点2.7、测试操作 三、集群操作3.1、主从切换3.2、从节点操作3…

【Python】解决Python报错:ValueError: not enough values to unpack (expected 2, got 1)

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 函数返回值解包2.2 遍历含有不同长度元组的列表 3. 解决方案3.1 检查和调整返回值3.2 安全的解包操作 4. 预防措施4.1 使用异常处理4.2 单元测试 结语 引言 在Python编程中&#xff0c;ValueError 是一个常见的异常类…

2024年如何通过完善的工程化,从0到1手把手建立个人 react 组件库

本文聚焦于快速创建并部署个人的组件库&#xff0c;方便平时开发中将通用的组件抽出&#xff0c;也可用于简历上展示个人的组件成果~ 组件库体验地址&#xff1a;components-library 关于以上内容&#xff0c;你是否好奇如何实现的&#xff0c;对于大多数项目&#xff0c;诸如…

【C语言】预处理详解(上卷)

前言 预处理也是C语言中非常重要的存在。那么就详细地来了解一下吧。 预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的。 1 __FILE__ //进行编译的源文件 2 __LINE__ //文件当前的…

JavaSE——抽象类和接口

目录 一 .抽象类 1.抽象类概念 2.抽象类语法 3.抽象类特性 4.抽象类的作用 二. 接口 1.接口的概念 2.语法规则 3.接口的使用 4.接口特性 5.实现多个接口 6.接口间的继承 三.抽象类和接口的区别 一 .抽象类 1.抽象类概念 在面向对象的概念中&#xff0c;所有的对…

python -- series和 DataFrame增删改数据

学习目标 知道df添加新列的操作 知道insert函数插入列数据 知道drop函数删除df的行或列数据 知道drop_duplicates函数对df或series进行数据去重 知道unique函数对series进行数据去重 知道apply函数的使用方法 1 DataFrame添加列 注意:本文用到的数据集在文章顶部 1.1 直…

第十一章:净世山的考验

经过连番苦战&#xff0c;林风、赵无极、柳如烟和秦天四人终于抵达了净世山。这座山峰高耸入云&#xff0c;峭壁陡峭&#xff0c;仿佛一道天然屏障守护着山顶的净世珠。他们抬头仰望&#xff0c;只见云雾缭绕&#xff0c;山巅隐于其中&#xff0c;显得更加神秘莫测。四人互相点…

数据结构学习笔记-二叉树

1.特殊的二叉树 &#xff08;1&#xff09;满二叉树 一棵树高度为h&#xff0c;且含有2^h-1个结点的二叉树。 特点&#xff1a;只有最后一层有叶子结点&#xff1b; 不存在度为1的结点&#xff1b; 按层序从1开始编号&#xff0c;结点i的左孩子为20i&#xff0c;右孩子为2…

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数

import java.util.Scanner; public class Tese_A21 {public static void main(String[] args) {Scanner scannernew Scanner(System.in);System.out.println("请输入一个整数&#xff1a;");int number scanner.nextInt(); // 要检查的数if (isPrime(number)) {Syst…

微信小程序 map

组件 地图个性化样式组件是腾讯位置服务为开发者提供的地图高级能力&#xff0c;开发者可以在法律允许的范围内定制地图风格&#xff0c;支持定制背景面、背景线、道路、POI等地图元素颜色、显示层级等内容&#xff1b;支持按照类型精细化管理POI的显示、隐藏&#xff1b;灵活…

JMS VS AMQP

JMS&#xff08;Java Message Service&#xff09;是一个为Java平台设计的API&#xff0c;主要针对Java开发者提供了一套用于企业级消息服务的标准接口。而AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;是一个应用层协议&#xff0c;它提供了一个开放的、标准…

【Unity】资源管理与热更 YooAsset+HybridCLR

1 前言 Unity资源管理与热更新该用什么方法&#xff1f;当然是YooAssetHybridCLR了&#xff0c;YooAsset负责资源管理与热更&#xff0c;HybridCLR负责支持代码热更。 但这里我就不自己讲了&#xff0c;我会提供相关学习链接&#xff08;前人栽树我躺平&#xff09;。 2 学习链…

BUG解决: Zotero 文献GBT7714无法正常调用

1. 下载csl文件 网上有推荐直接下载现成版本的&#xff0c;比如参考资料【1】的蓝奏云文件&#xff0c;但是还是无法实现功能&#xff08;空文档中可以用了&#xff09;。 2. Github版本 也有说网盘版本和那个 Juris-M 的 CSL bug 太多的。 总结 后面发现&#xff0c;只需…

带池化注意力 Strip Pooling | Rethinking Spatial Pooling for Scene Parsing

论文地址:https://arxiv.org/abs/2003.13328 代码地址:https://github.com/houqb/SPNet 空间池化已被证明在捕获像素级预测任务的长距离上下文信息方面非常有效,如场景解析。在本文中,我们超越了通常具有N N规则形状的常规空间池化,重新思考空间池化的构成,引入了一种…

对比深度图聚类的硬样本感知网络

Hard Sample Aware Network for Contrastive Deep Graph Clustering 文章目录 Hard Sample Aware Network for Contrastive Deep Graph Clustering摘要引言方法实验结论启发点 摘要 本文提出了一种名为Hard Sample Aware Network (HSAN)的新方法&#xff0c;用于对比深度图聚类…

Git+Gitlab 远程库测试学习

Git远程仓库 1、Git远程仓库 何搭建Git远程仓库呢&#xff1f;我们可以借助互联网上提供的一些代码托管服务来实现 Gitee 码云是国内的一个代码托管平台&#xff0c;由于服务器在国内&#xff0c;所以相比于GitHub&#xff0c;码云速度会更快 码云 Gitee - 基于 Git 的代码托…

Python实现连连看9

&#xff08;2&#xff09;标识选中的图片 在判断出玩家选中的是哪一张图片之后&#xff0c;接下来就可以标识选中的图片了&#xff0c;即在该选中的图片外围画矩形。代码如下所示。 FIRSTCLICK True #FIRSTCLICK是全局变量 if(click_col>0 and click_row>0) and \(no…

【进程调度的基本过程】初步认识进程和线程的区别与联系:计算机是如何工作的

​ &#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【Java】登神长阶 史诗般的Java成神之路 &#x1f43a;一.冯诺依曼体系结构 认识计算机的祖师爷 -- 冯诺依曼 冯诺依曼&#xff08;John von Neumann&#xff0c;1903年12⽉28⽇-1957年2⽉8⽇&…

使用 Clang-Tidy 进行C++静态代码分析:一个完整的配置实例

文章目录 使用 Clang-Tidy 进行静态代码分析&#xff1a;一个完整的配置实例0. Clang-Tidy简介1. 安装 Clang-Tidy2. 配置 .clang-tidy3. 检查项详解3.1 静态分析器&#xff08;Static Analyzer&#xff09;3.2 现代化&#xff08;Modernize&#xff09;3.3 Google 代码风格&am…