yyl
2025-12-01 2d9d25786ca92d7c7864c5d204e518d33bac4f3f
125 战斗 回合变更时机改变
2个文件已修改
2个文件已添加
65 ■■■■■ 已修改文件
Main/System/Battle/BattleField/BattleField.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/RecordActions/RoundChangeAction.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/RecordActions/RoundChangeAction.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/RecordPlayer/RecordActionType.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/BattleField.cs
@@ -334,14 +334,26 @@
    public virtual void TurnFightState(int TurnNum, int State,
        uint FuncLineID, JsonData extendData)
    {
        round = TurnNum;
        OnRoundChange?.Invoke(round, turnMax);
        // var tempTurnNum = TurnNum;
        // RoundChangeAction roundChangeAction = new RoundChangeAction(this, () =>
        // {
        //     round = tempTurnNum;
        //     OnRoundChange?.Invoke(round, turnMax);
        // });
        // recordPlayer.PlayRecord(roundChangeAction);
    }
    public virtual void OnTurnFightObjAction(int turnNum, int ObjID)
    {
        round = turnNum;
        OnRoundChange?.Invoke(round, turnMax);
        var tempTurnNum = turnNum;
        RoundChangeAction roundChangeAction = new RoundChangeAction(this, () =>
        {
            round = tempTurnNum;
            OnRoundChange?.Invoke(round, turnMax);
        });
        recordPlayer.PlayRecord(roundChangeAction);
    }
    public virtual void OnTurnFightState(int turnNum, int State, int FuncLineID, JsonData turnFightStateData)
Main/System/Battle/BattleField/RecordActions/RoundChangeAction.cs
New file
@@ -0,0 +1,32 @@
using UnityEngine;
using System.Collections.Generic;
using System;
public class RoundChangeAction : RecordAction
{
    private Action roundChangeCallback;
    public RoundChangeAction(BattleField _battleField, Action _roundChangeCallback = null)
        : base(RecordActionType.RoundChange, _battleField, null)
    {
        roundChangeCallback = _roundChangeCallback;
    }
    public override void ForceFinish()
    {
        if (isFinish)
            return;
        roundChangeCallback?.Invoke();
        isFinish = true;
    }
    public override void Run()
    {
        if (isFinish)
            return;
        base.Run();
        roundChangeCallback?.Invoke();
        isFinish = true;
    }
}
Main/System/Battle/BattleField/RecordActions/RoundChangeAction.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d5654a9657402024ba4fd44796a67dc3
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/Battle/RecordPlayer/RecordActionType.cs
@@ -10,4 +10,6 @@
    BattleStart,//战斗开始
    DodgeFinish,//闪避完成
    RoundChange,//回合切换
}