当前位置: 首页 > news >正文

骑砍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);}}}

相关文章:

  • k8s使用yml文件部署
  • 【Vue】——组件的注册与引用
  • 默认launcher
  • 鸿蒙OS初识
  • Python的Pillow(图像处理库)的一些学习笔记
  • docker实战命令大全
  • 【Python】使用flask作为web服务器
  • “薅羊毛”到被“割韭菜”,警惕网络副业陷井
  • 基于电荷的EPFL HEMT模型
  • 使用Ollama+OpenWebUI本地部署Gemma谷歌AI开放大模型完整指南
  • 【论文速读 | USENIX Security‘2022】Debloating Address Sanitizer
  • Python下载库
  • unity中常见的角色控制方法
  • 十种排序算法的python实现
  • 把qml程序制作成安装包(Windows)
  • .pyc 想到的一些问题
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • android 一些 utils
  • golang 发送GET和POST示例
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • JSDuck 与 AngularJS 融合技巧
  • learning koa2.x
  • mysql常用命令汇总
  • MySQL数据库运维之数据恢复
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 构造函数(constructor)与原型链(prototype)关系
  • 聊聊flink的BlobWriter
  • 使用Swoole加速Laravel(正式环境中)
  • 思否第一天
  • 选择阿里云数据库HBase版十大理由
  • ​​​【收录 Hello 算法】9.4 小结
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ‌JavaScript 数据类型转换
  • #微信小程序:微信小程序常见的配置传旨
  • $jQuery 重写Alert样式方法
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (11)iptables-仅开放指定ip访问指定端口
  • (poj1.2.1)1970(筛选法模拟)
  • (理论篇)httpmoudle和httphandler一览
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (算法)N皇后问题
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转)我也是一只IT小小鸟
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .Net程序帮助文档制作
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET设计模式(11):组合模式(Composite Pattern)
  • [ Socket学习 ] 第一章:网络基础知识
  • [AIGC] MySQL存储引擎详解
  • [Android实例] 保持屏幕长亮的两种方法 [转]
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [BJDCTF2020]Easy MD51
  • [C#] 如何调用Python脚本程序