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

作者 : admin 本文共2094个字,预计阅读时间需要6分钟 发布时间: 2024-06-10 共3人阅读

一.巨人

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 enemyAgentList = new MBList();
                _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 enemyAgentList = new MBList();
                _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);
                }
            }
        }
    }

本站无任何商业行为
个人在线分享 » 骑砍2霸主MOD开发(14)-进击的巨人
E-->