using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace YLBattle
{
///
/// 战斗环境
///
public class BattleParam
{
#region 配置信息
///
/// 单场战斗总时间, 单位毫秒
///
public int BattleShowTime = 0;
#endregion
#region 战场变量
///
/// 万一是打副本呢? 副本的ID 502000开始
///
public int carbonId = 0;
///
/// 关卡模式 [0=普通关卡 【1=无穷尽】 2=pvp 3=test 4=guide]
///
public int levelMode = 0;
///
/// 当前关卡编号
///
public int levelID = 0;
///
/// 关卡(波次)进度
///
public int levelStatus = 0;
///
/// 关卡总数
///
public int levelTotalStatus = 0;
///
/// 当前关卡的难度
///
public int levelDifficity;
///
/// 地图名称
///
public string levelSenceBundle = "";
///
/// 地图名称
///
public string levelSenceBGBundle = "";
///
/// 关卡名称
///
public string levelName = string.Empty;
///
/// Boss警告id
///
public string warningFighterId = string.Empty;
///
/// 必杀警告id
///
public string criticalFighterId = string.Empty;
///
/// 己方技能释放者id
///
public string mBlueSkillFighterId = string.Empty;
///
/// 敌方技能释放者id
///
public string mRedSkillFighterId = string.Empty;
///
/// (当前波次)是否有boss出场
///
public bool IsBossArrival = false;
///
/// 是否释放了队长技能
///
public bool IsCastLeaderSkill = false;
///
/// 当前boss.Fighter.ID()
///
public string bossId = string.Empty;
///
/// 暂停标志
///
public bool IsPause = false;
///
/// 蓝队数据重新加载标志
///
public bool reloadBlue = false;
///
/// 是否双倍速
///
public bool isSecSpeed = false;
///
/// 连击伤害倍率 (X/100)
///
public int BattleLianJiDamageRate = 50;
///
/// 连击
/// 1、只要是攻击,就+1是吧,普通,技能,连击,都算
/// 2、上一次的更新(+1)超过2秒没更新,就重置
///
public int BattleLianJiIndex = 0;
///
/// 上一次连击时间
///
public long LastBattleLianJiTime = 0;
///
/// 己方上一次TeamPower值
///
public long LastCOMBOTime = 0;
///
/// 己方上一次Power值
///
public long LastPowerTime = 0;
///
/// 当前己方(连击)能量值值
///
private long BlueCOMBOPower = 0;
///
/// 当前己方(连击)能量值上限
///
public long BlueTeamMaxPower = 0;
///
/// 当前己方(技能)能量值值
///
private long BlueTeamSkillPower = 0;
///
/// 当前敌方(技能)能量值值
///
private long RedTeamSkillPower = 0;
///
/// 当前己方(技能)能量值上限
///
public long BlueTeamMaxSkillPower = 0;
///
/// 当前敌方(技能)能量值上限
///
public long RedTeamMaxSkillPower = 0;
///
/// 己方必杀时间
///
public long BlueCriticalTime = 0;
///
/// 释放技能恢复值
///
public int IncreasePowerByCastSkill = 0;
///
/// 战斗队伍最大人数
///
public int BattleTeamMaxFighter = 0;
///
/// 是否有友情支援
///
public bool isFriendHelp = false;
///
/// 好友playerID
///
public string mFriendUID = string.Empty;
///
/// 对手UID
///
public string mPVP_PlayerUID = string.Empty;
///
/// 对手类型
///
public string mPVP_Type = string.Empty;
///
/// 无穷尽关卡模式, 战斗结束,玩家离开战斗时的状态
/// 0 = 未通关 1= 通关
///
public int mBattleForever_LeaveState = 0;
///
/// 己方当前正在攻击的角色ID
///
public string mBlueCurrentCenterAttacker = string.Empty;
///
/// 敌方当前正在攻击的角色ID
///
public string mRedCurrentCenterAttacker = string.Empty;
#endregion
#region 关卡数据
///
/// 己方
///
public List blueteam = new List();
///
/// 敌方
///
public List redteam = new List();
///
/// 友方
///
public IFighterAdapter friend = null;
#endregion
#region 数据提供及通用适配器
///
/// 显示适配器
///
public IShowAdapter mShowAdapter;
///
/// 地图数据适配器
///
public IFieldAdapter mFieldAdapter;
///
/// 技能适配器
///
public ISkillAdapter mSkillAdapter;
///
/// 调试输出适配
///
public IDebug mDebugHelper;
///
/// 时间中心
///
public TimeHelper mTimeHelper;
///
/// 随机数发生器
///
public RandomHelper mRandom;
#endregion
#region 数据及逻辑处理适配器
///
/// 战斗全局接口
///
public IBattleGlobalOper mBattleGlobalOper;
///
/// 战场交互接口
///
public IBattleInnerOper mBattleInnerOper;
///
/// 事件中心
///
public IEventDispatcher mEventDisp;
///
/// 战斗对象操作接口
///
public ILogicFighterOper mLogicFighterOper;
///
/// 子弹管理操作
///
public X2Battle.BulletManager mBulletManagerOpr;
///
/// buff管理操作
///
public IBuffOper mBuffManagerOpr;
#endregion
#region (get)
///
/// (连击)能量值
///
public long BattleCOMBOPower
{
set
{
BlueCOMBOPower = value;
if (BlueCOMBOPower >= BlueTeamMaxPower)
{
BlueCOMBOPower = BlueTeamMaxPower;
}
if (BlueCOMBOPower < 0)
{
BlueCOMBOPower = 0;
}
}
get { return BlueCOMBOPower; }
}
///
/// (技能槽)能量值
///
public long BattleBlueTeamSkillPower
{
set
{
BlueTeamSkillPower = value;
if (BlueTeamSkillPower >= BlueTeamMaxSkillPower)
{
BlueTeamSkillPower = BlueTeamMaxSkillPower;
}
if (BlueTeamSkillPower < 0)
{
BlueTeamSkillPower = 0;
}
}
get { return BlueTeamSkillPower; }
}
///
/// (技能槽)能量值
///
public long BattleRedTeamSkillPower
{
set
{
RedTeamSkillPower = value;
if (RedTeamSkillPower >= RedTeamMaxSkillPower)
{
RedTeamSkillPower = RedTeamMaxSkillPower;
}
if (RedTeamSkillPower < 0)
{
RedTeamSkillPower = 0;
}
}
get { return RedTeamSkillPower; }
}
///
/// 无穷尽关卡模式, 战斗结束,玩家离开战斗时的状态
/// 0 = 未通关 1= 通关
///
/// 关卡编号
public int BattleForever_LeaveState()
{
return this.mBattleForever_LeaveState;
}
///
/// 当前战斗关卡编号
///
/// 关卡编号
public int BattleLevelID()
{
return this.levelID;
}
///
/// 当前战斗关卡所 归属的副本编号
///
///
public int BattleCarbonID()
{
return this.carbonId;
}
///
/// 获取当前关卡场景进度
///
/// 进度值
public int BattleLevelStatus()
{
return this.levelStatus;
}
///
/// 获取战斗场景背景图名称
///
/// 背景图名称
public string BattleSceneBundle()
{
return this.levelSenceBundle;
}
///
/// 获取战斗场景背景图名称
///
/// 背景图名称
public string BattleSceneBgBundle()
{
return this.levelSenceBGBundle;
}
///
/// 获取调试信息适配器
///
/// 适配器对象
public IDebug DebugHelper()
{
return this.mDebugHelper;
}
///
/// 获取显示适配器
///
/// 适配器信息
public IShowAdapter ShowAdapter()
{
return this.mShowAdapter;
}
///
/// 获取战场地图模板数据适配器
///
/// 适配器信息
public IFieldAdapter FieldAdapter()
{
return this.mFieldAdapter;
}
///
/// 获取技能数据适配器
///
/// 适配器信息
public ISkillAdapter SkillAdapter()
{
return this.mSkillAdapter;
}
///
/// 时间辅助类
///
/// 时间对象
public TimeHelper TimeCenter()
{
return this.mTimeHelper;
}
///
/// 随机数发生器
///
/// 随机数对象
public RandomHelper Random()
{
return this.mRandom;
}
///
/// 事件中心
///
///
public IEventDispatcher EventDisp()
{
return this.mEventDisp;
}
///
/// 外部数据交互接口
///
/// 接口信息
public IBattleGlobalOper BattleGlobalOper()
{
return this.mBattleGlobalOper;
}
///
/// 获取内部交互接口
///
/// 接口信息
public IBattleInnerOper BattleInnerOper()
{
return this.mBattleInnerOper;
}
///
/// 获取蓝队重新加载标志
///
/// true重新加载, false不重新加载
public bool RealodBule()
{
return this.reloadBlue;
}
///
/// 己方成员列表
///
/// 己方成员列表
public List BlueTeam()
{
return this.blueteam;
}
///
/// 敌方成员列表
///
/// 敌方成员列表
public List RedTeam()
{
return this.redteam;
}
///
/// 朋友
///
///
public string FriendUID
{
set
{
mFriendUID = value;
if (mFriendUID.Trim().Length > 0)
{
isFriendHelp = true;
}
}
get { return mFriendUID; }
}
#endregion
///
/// 购买buff,所花费的金币
///
public int BuyBuffCostGold { get; set; }
///
/// 战前已购买并配置的buff
///
public List TeamBuffs { get; set; }
}
}