Пример #1
0
            RuntimeActor actor;             // 关联的玩家

            /// <summary>
            /// 应用
            /// </summary>
            /// <param name="battler">对战者</param>
            /// <param name="result">结果</param>
            public static void apply(RuntimeBattler battler, RuntimeActionResult result)
            {
                var calc = new ResultApplyCalc(battler, result);

                calc.processHP();
                calc.processHitFreeze();
                calc.processAddBuffs();
            }
Пример #2
0
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="battler">对战者</param>
            /// <param name="result">结果</param>
            ResultApplyCalc(RuntimeBattler battler, RuntimeActionResult result)
            {
                this.battler = battler;
                this.result  = result;

                subject = result.action?.subject;
                actor   = (battler as RuntimeActor) ??
                          (subject as RuntimeActor);
            }
Пример #3
0
        /// <summary>
        /// 与玩家碰撞回调
        /// </summary>
        /// <param name="player"></param>
        public void onPlayerColl(MapPlayer player)
        {
            if (damage == 0 || !player.runtimeBattler.isTargetEnable())
            {
                return;
            }

            var result = new RuntimeActionResult();

            result.hpDamage = damage;
            result.hitting  = hitting;
            result.freezing = freezing;

            player.runtimeBattler.applyResult(result);
        }
Пример #4
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="action">行动</param>
 ActionResultGenerator(RuntimeActionResult result)
 {
     this.result = result;
 }
Пример #5
0
            /// <summary>
            /// 生成
            /// </summary>
            /// <param name="action">行动</param>
            /// <returns>返回结果</returns>
            public static void generate(RuntimeActionResult result)
            {
                var generator = new ActionResultGenerator(result);

                generator.processEffect();
            }