using System;
|
using LitJson;
|
using UnityEngine;
|
using System.Collections.Generic;
|
|
|
public class QYBattleField : BattleField
|
{
|
|
|
public QYBattleField(string _guid) : base(_guid)
|
{
|
|
}
|
|
public override void Init(int MapID, int FuncLineID, JsonData _extendData,
|
List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
|
{
|
base.Init(MapID, FuncLineID, _extendData, _redTeamList, _blueTeamList, turnMax);
|
|
SetBattleMode(BattleMode.Record);
|
}
|
public override void AutoSetBattleMode()
|
{
|
SetBattleMode(BattleMode.Record);
|
}
|
|
public override void TurnFightState(int TurnNum, int State,
|
uint FuncLineID, JsonData extendData)
|
{
|
base.TurnFightState(TurnNum, State, FuncLineID, extendData);
|
|
switch (State)
|
{
|
// 起始状态标记
|
case 0:
|
break;
|
case 1://准备完毕
|
break;
|
case 2://战斗中
|
break;
|
case 3://战斗结束
|
break;
|
case 4://结算奖励
|
break;
|
case 5://结束状态标记
|
break;
|
default:
|
BattleDebug.LogError("recieve a unknown State");
|
break;
|
}
|
}
|
|
protected override void OnSettlement(JsonData turnFightStateData)
|
{
|
base.OnSettlement(turnFightStateData);
|
}
|
|
public override void WhaleFall()
|
{
|
AutoFightModel.Instance.isPause = false;
|
Destroy();
|
// 切出战斗界面不弹演武场界面
|
if (UIManager.Instance.IsOpened<QYBattleWin>())
|
{
|
UIManager.Instance.CloseWindow<QYBattleWin>();
|
QunyingManager.Instance.openQYWinNeedRoll = false;
|
UIManager.Instance.OpenWindow<QYWin>();
|
}
|
}
|
|
public override void Run()
|
{
|
if (operationAgent == null)
|
{
|
//防范异常
|
return;
|
}
|
base.Run();
|
}
|
|
public override void DistributeNextPackage()
|
{
|
if (IsBattleFinish)
|
return;
|
|
// 不要调用base的函数
|
BattleManager.Instance.DistributeNextReportPackage(guid);
|
}
|
|
|
|
public override void ShowWindow(HB424_tagSCTurnFightInit vNetData)
|
{
|
QYBattleWin fsBattleWin = UIManager.Instance.GetUI<QYBattleWin>();// as FullScreenBattleWin;
|
if (null == fsBattleWin)
|
{
|
fsBattleWin = UIManager.Instance.OpenWindow<QYBattleWin>();
|
}
|
fsBattleWin.SetBattleField(this);
|
if (UIManager.Instance.IsOpened<QYWin>())
|
{
|
UIManager.Instance.CloseWindow<QYWin>();
|
}
|
}
|
}
|