骑砍2霸主MOD开发(14)-进击的巨人

一.巨人

sbyte boneIndex = Skeleton.GetBoneIndexFromName(Mission
   .MainAgent.AgentVisuals.GetSkeleton().GetName(), "r_hand");
cp = Mission.MainAgent.AgentVisuals
   .AddPrefabToAgentVisualBoneByRealBoneIndex("p_sword_a", boneIndex);
float agentScale = Mission.MainAgent.AgentScale;
agentScale += 9f;
MethodInfo method = AccessTools.Method(typeof(Agent), "SetInitialAgentScale");
method.Invoke(Mission.MainAgent, new object[1] { agentScale });

二.巨人践踏

    public class HugeManTimer_1 : PLCommonBasicMissionTimer
    {
        private Mission _mission;

        public HugeManTimer_1(Mission mission, float triggerInterval, bool isTriggerOnce) : base(triggerInterval, isTriggerOnce)
        {
            _mission = mission;
        }

        public override void TriggerTimerScript()
        {
            try
            {
                MainAgentSpeedUp();

                MainAgentSwordAttack();
            }
            catch (Exception ex)
            {
                File.AppendAllLines(PLModuleConstans.ModuleCrashLogPath, new string[] { ex.ToString(), ex.Message, ex.StackTrace });
            }
        }

        private void MainAgentSpeedUp()
        {
            if (Input.IsKeyDown(InputKey.W))
            {
                PLAgentUtilities.AgentMoveAlongAxix(_mission.MainAgent, 0.3f, PLAgentUtilities.Axix.Y);
            }

            if (Input.IsKeyDown(InputKey.S))
            {
                PLAgentUtilities.AgentMoveAlongAxix(_mission.MainAgent, -0.3f, PLAgentUtilities.Axix.Y);
            }

            if (Input.IsKeyDown(InputKey.A))
            {
                PLAgentUtilities.AgentMoveAlongAxix(_mission.MainAgent, -0.3f, PLAgentUtilities.Axix.X);
            }

            if (Input.IsKeyDown(InputKey.D))
            {
                PLAgentUtilities.AgentMoveAlongAxix(_mission.MainAgent, 0.3f, PLAgentUtilities.Axix.X);
            }
        }


        private void MainAgentSwordAttack()
        {
            if (MissionAgentBehavior.cp == null)
            {
                return;
            }
            if (Input.IsKeyPressed(InputKey.LeftMouseButton))
            {
                MBList<Agent> enemyAgentList = new MBList<Agent>();
                _mission.GetNearbyEnemyAgents(new Vec2(_mission.MainAgent.Frame.origin.x, _mission.MainAgent.Frame.origin.y), 
                    5f, _mission.MainAgent.Team, enemyAgentList);
                foreach (Agent enemyAgent in enemyAgentList)
                {
                    PLAgentUtilities.GiveDamageToAgent(_mission.MainAgent, enemyAgent, 60);
                }
            }

            if (Input.IsKeyPressed(InputKey.Space))
            {
                MBList<Agent> enemyAgentList = new MBList<Agent>();
                _mission.GetNearbyEnemyAgents(new Vec2(_mission.MainAgent.Frame.origin.x, _mission.MainAgent.Frame.origin.y),
                    5f, _mission.MainAgent.Team, enemyAgentList);
                foreach (Agent enemyAgent in enemyAgentList)
                {
                    PLAgentUtilities.GiveDamageToAgent(_mission.MainAgent, enemyAgent, 100);
                }
            }
        }
    }

相关推荐

  1. 2霸主MOD开发(14)-巨人

    2024-06-08 14:04:03       35 阅读
  2. 2霸主MOD开发(12)-游戏实例GameEntity

    2024-06-08 14:04:03       34 阅读
  3. 2霸主MOD开发(5)-游戏事件

    2024-06-08 14:04:03       36 阅读
  4. 2霸主MOD开发(11)-瓦兰迪亚火骑兵

    2024-06-08 14:04:03       30 阅读
  5. 2霸主MOD开发(4)-游戏场景(scene)制作

    2024-06-08 14:04:03       32 阅读
  6. 2霸主MOD开发(8)-action_sets.xml骨骼动画

    2024-06-08 14:04:03       34 阅读
  7. 战团MOD开发(19)-ID掩码算法

    2024-06-08 14:04:03       60 阅读
  8. 战团MOD开发(34)-光照系统

    2024-06-08 14:04:03       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 14:04:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 14:04:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 14:04:03       82 阅读
  4. Python语言-面向对象

    2024-06-08 14:04:03       91 阅读

热门阅读

  1. 详解MySQL的MVCC机制

    2024-06-08 14:04:03       35 阅读
  2. 正则限制字符串的长度必须是n的倍数

    2024-06-08 14:04:03       30 阅读
  3. 解释Hibernate框架的作用和与JDBC的区别

    2024-06-08 14:04:03       31 阅读
  4. CSS-布局-flex

    2024-06-08 14:04:03       28 阅读
  5. npm发布自己的插件包

    2024-06-08 14:04:03       30 阅读
  6. c语言如何改变文件读取位置

    2024-06-08 14:04:03       30 阅读
  7. 林锐C语言--高质量C/C++编程(第五六章)

    2024-06-08 14:04:03       33 阅读
  8. kotlin调用类文件

    2024-06-08 14:04:03       27 阅读
  9. Kotlin 运算符重载

    2024-06-08 14:04:03       33 阅读
  10. Kotlin 引用(双冒号::)

    2024-06-08 14:04:03       27 阅读
  11. Nginx配置负载均衡

    2024-06-08 14:04:03       31 阅读
  12. git commit rule

    2024-06-08 14:04:03       24 阅读