434 lines
10 KiB
C#
434 lines
10 KiB
C#
/********************************************************************************
|
||
* 文件名: BaseAttr.cs
|
||
* 全路径: \Script\Player\BaseAttr.cs
|
||
* 创建人: 李嘉
|
||
* 创建时间:2013-11-20
|
||
*
|
||
* 功能说明:Obj基础战斗属性,以及基础属性换算公式
|
||
* 修改记录:
|
||
*********************************************************************************/
|
||
using GCGame.Table;
|
||
using UnityEngine.Events;
|
||
|
||
public enum SKILLDELANDGAINTYPE //技能的消耗和收益
|
||
{
|
||
HPTYPE_INVAILID =-1,
|
||
HPTYPE_VALUE =101,//血值
|
||
HPTYPE_RATE =102,//血百分百
|
||
MPTYPE_VALUE = 201,//蓝值
|
||
MPTYPE_RATE = 202,//蓝百分百
|
||
XPTYPE_VALUE = 301,//战意值
|
||
XPTYPE_RATE = 302,//战意百分百
|
||
COINTYPE =401,//金币
|
||
}
|
||
public enum COMBATATTE
|
||
{
|
||
MAXHP =0, //血上限
|
||
MAXMP =1, //蓝上限
|
||
MAXXP =2, //战意上限
|
||
PYSATTACK =3, //物理攻击
|
||
MAGATTACK =4, //魔法攻击
|
||
PYSDEF =5, //物理防御
|
||
MAGDEF =6, //魔法防御
|
||
HIT =7, //命中
|
||
DODGE =8, //闪避
|
||
CRITICAL =9, //暴击
|
||
DECRITICAL =10, //暴抗
|
||
STRIKE =11, //穿透
|
||
DUCTICAL =12, //韧性
|
||
CRITIADD =13, //暴击伤害加成
|
||
CRITIMIS =14, //暴击伤害减免
|
||
MOVESPEED =15, //移动速度
|
||
ATTACKSPEED =16, //攻击速度
|
||
COMBATATTE_MAXNUM,
|
||
}
|
||
|
||
public enum MIXBATATTR
|
||
{
|
||
MIXATTR_BEGIN = 999,
|
||
MIXATTR_ALLATTACK = 1000,
|
||
MIXATTR_ALLDEF = 1001,
|
||
}
|
||
|
||
public class MaxBatAttrUtil
|
||
{
|
||
public static bool IsContainType(MIXBATATTR nMixType, COMBATATTE nJudgeAttrType)
|
||
{
|
||
switch (nMixType)
|
||
{
|
||
case MIXBATATTR.MIXATTR_ALLDEF:
|
||
{
|
||
if (nJudgeAttrType == COMBATATTE.PYSDEF || nJudgeAttrType == COMBATATTE.MAGDEF)
|
||
{
|
||
return true;
|
||
}
|
||
}
|
||
break;
|
||
case MIXBATATTR.MIXATTR_ALLATTACK:
|
||
{
|
||
if (nJudgeAttrType == COMBATATTE.PYSATTACK || nJudgeAttrType == COMBATATTE.MAGATTACK)
|
||
{
|
||
return true;
|
||
}
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
return false;
|
||
}
|
||
}
|
||
|
||
public class BaseAttr
|
||
{
|
||
//生命值
|
||
private long m_nHP = 0;
|
||
public long HP
|
||
{
|
||
get { return m_nHP; }
|
||
set { m_nHP = value; }
|
||
}
|
||
private long m_nMaxHP = 0;
|
||
public long MaxHP
|
||
{
|
||
get { return m_nMaxHP; }
|
||
set { m_nMaxHP = value; }
|
||
}
|
||
private long m_nCurMaxHP = 0;
|
||
public long CurMaxHP
|
||
{
|
||
get { return m_nCurMaxHP; }
|
||
set { m_nCurMaxHP = value; }
|
||
}
|
||
//法力值
|
||
private int m_nMp = 0;
|
||
public int MP
|
||
{
|
||
get { return m_nMp; }
|
||
set { m_nMp = value; }
|
||
}
|
||
|
||
//跨服声望
|
||
private int m_nCrossServerScore = 0;
|
||
public int CrossServerScore
|
||
{
|
||
get { return m_nCrossServerScore; }
|
||
set { m_nCrossServerScore = value; }
|
||
}
|
||
|
||
private int m_nMaxMp = 0;
|
||
public int MaxMP
|
||
{
|
||
get { return m_nMaxMp; }
|
||
set { m_nMaxMp = value; }
|
||
}
|
||
//战意
|
||
private int m_nXp = 0;
|
||
public int XP
|
||
{
|
||
get { return m_nXp; }
|
||
set { m_nXp = value; }
|
||
}
|
||
|
||
private int m_nMaxXp = 0;
|
||
public int MaxXP
|
||
{
|
||
get { return m_nMaxXp; }
|
||
set { m_nMaxXp = value; }
|
||
}
|
||
|
||
public long Exp { set; get; }
|
||
public long HeadExp { set; get; }
|
||
public long SkillExp { set; get; }
|
||
public float Xiewei { set; get; }
|
||
|
||
//名字
|
||
private string m_RoleName = "";
|
||
public string RoleName
|
||
{
|
||
get { return m_RoleName; }
|
||
set { m_RoleName = value; }
|
||
}
|
||
|
||
//称号
|
||
private string m_TitleName;
|
||
public string TitlenName
|
||
{
|
||
set { GameManager.gameManager.PlayerDataPool.TitleInvestitive.SetTitleName(value); }
|
||
get { return GameManager.gameManager.PlayerDataPool.TitleInvestitive.GetCurrentTitle(); }
|
||
}
|
||
|
||
//等级
|
||
private int m_nLevel = 0;
|
||
public int Level
|
||
{
|
||
get { return m_nLevel; }
|
||
set { m_nLevel = value; }
|
||
}
|
||
|
||
//职业
|
||
private int _Profession = 0;
|
||
public int Profession
|
||
{
|
||
get { return _Profession; }
|
||
set { _Profession = value; }
|
||
}
|
||
|
||
// 头像
|
||
private string m_strHeadPic = "";
|
||
public string HeadPic
|
||
{
|
||
get { return m_strHeadPic; }
|
||
set { m_strHeadPic = value; }
|
||
}
|
||
|
||
//数据表ID,既RoleBase中的ID
|
||
private int m_nRoleBaseID = -1;
|
||
public int RoleBaseID
|
||
{
|
||
get { return m_nRoleBaseID; }
|
||
set { m_nRoleBaseID = value; }
|
||
}
|
||
// 数据表,延迟初始化
|
||
public Tab_RoleBaseAttr RoleData
|
||
{
|
||
get
|
||
{
|
||
return _roleData ?? (_roleData = TableManager.GetRoleBaseAttrByID(RoleBaseID, 0));
|
||
}
|
||
}
|
||
private Tab_RoleBaseAttr _roleData;
|
||
|
||
//玩家支付的数目
|
||
private int m_PayCout;
|
||
public int PayCount
|
||
{
|
||
set { m_PayCout = value; }
|
||
get { return m_PayCout; }
|
||
}
|
||
|
||
//玩家已花费的灵玉
|
||
private int m_JadgeCost;
|
||
public int JadgeCost
|
||
{
|
||
set { m_JadgeCost = value; }
|
||
get { return m_JadgeCost; }
|
||
}
|
||
|
||
//玩家已经登录的天数
|
||
private int m_LoginDays;
|
||
public int LoginDays
|
||
{
|
||
set { m_LoginDays = value; }
|
||
get { return m_LoginDays; }
|
||
}
|
||
|
||
//补签次数
|
||
private int m_RecheckNum;
|
||
public int RecheckNum
|
||
{
|
||
set { m_RecheckNum = value; }
|
||
get { return m_RecheckNum; }
|
||
}
|
||
|
||
//可否再领一次奖(在线签到)
|
||
private int m_TimeDouble;
|
||
public int TimeDouble
|
||
{
|
||
set { m_TimeDouble = value; }
|
||
get { return m_TimeDouble; }
|
||
}
|
||
//进阶翅膀ID
|
||
private int m_AdvanceWingId;
|
||
public int AdvanceWingId
|
||
{
|
||
set { m_AdvanceWingId = value; }
|
||
get { return m_AdvanceWingId; }
|
||
}
|
||
//神兵ID
|
||
private int m_AdvanceGodweaponId;
|
||
public int AdvanceGodweaponId
|
||
{
|
||
set { m_AdvanceGodweaponId = value; }
|
||
get { return m_AdvanceGodweaponId; }
|
||
}
|
||
//暗器ID
|
||
private int m_AdvanceWishId;
|
||
public int AdvanceWishId
|
||
{
|
||
set { m_AdvanceWishId = value; }
|
||
get { return m_AdvanceWishId; }
|
||
}
|
||
|
||
//Seal玉玺
|
||
private int m_AdvanceSealId;
|
||
public int AdvanceSealId
|
||
{
|
||
get { return m_AdvanceSealId; }
|
||
set { m_AdvanceSealId = value; }
|
||
}
|
||
|
||
//Mask面具
|
||
private int m_AdvanceMaskId;
|
||
public int AdvanceMaskId
|
||
{
|
||
set { m_AdvanceMaskId = value; }
|
||
get { return m_AdvanceMaskId; }
|
||
}
|
||
|
||
//Crown皇冠
|
||
private int m_AdvanceCrownId;
|
||
public int AdvanceCrownId
|
||
{
|
||
set { m_AdvanceCrownId = value; }
|
||
get { return m_AdvanceCrownId; }
|
||
}
|
||
|
||
//队长福利等级
|
||
private int m_CaptainWelfareLevel;
|
||
public int CaptainWelfareLevel
|
||
{
|
||
get { return m_CaptainWelfareLevel; }
|
||
set { m_CaptainWelfareLevel = value; }
|
||
}
|
||
|
||
private int m_nPkValue = 0;
|
||
public int PKValue
|
||
{
|
||
get { return m_nPkValue; }
|
||
set { m_nPkValue = value; }
|
||
}
|
||
|
||
private int m_nForce = -1;
|
||
public int Force
|
||
{
|
||
get { return m_nForce; }
|
||
set {
|
||
m_nForce = value;
|
||
if (CaptureFlagStatePanelCtr.Instance && CaptureFlagStatePanelCtr.Instance.isActiveAndEnabled)
|
||
CaptureFlagStatePanelCtr.Instance.SetCampMark();
|
||
}
|
||
}
|
||
|
||
private int m_nWarForce = 0;
|
||
public int WarForce //用来把判断是否是在战场 不是0表示是在战场 并且和主角相同表示是在同一个阵营
|
||
{
|
||
get { return m_nWarForce; }
|
||
set { m_nWarForce = value; }
|
||
}
|
||
|
||
//比武积分
|
||
private int m_FightScore;
|
||
public int FightScore
|
||
{
|
||
set { m_FightScore = value; }
|
||
get { return m_FightScore; }
|
||
}
|
||
|
||
//情义积分
|
||
private int m_QingYiScore;
|
||
public int QingYiScore
|
||
{
|
||
set { m_QingYiScore = value; }
|
||
get { return m_QingYiScore; }
|
||
}
|
||
|
||
//受赠积分
|
||
private int m_ShouZengScore;
|
||
public int ShouZengScore
|
||
{
|
||
get { return m_ShouZengScore; }
|
||
set { m_ShouZengScore = value; }
|
||
}
|
||
private float m_fMoveSpeed = 5.0f;
|
||
public float MoveSpeed
|
||
{
|
||
get
|
||
{
|
||
#if UNITY_ANDROID
|
||
return m_fMoveSpeed - 0.1f;
|
||
#else
|
||
return m_fMoveSpeed;
|
||
#endif
|
||
}
|
||
set
|
||
{
|
||
if (m_fMoveSpeed != value)
|
||
{
|
||
m_fMoveSpeed = value;
|
||
if (onMoveSpeedUpdate != null)
|
||
onMoveSpeedUpdate();
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 移动速度被修改事件
|
||
/// </summary>
|
||
// 注:暂时采用事件抛出的方式来通知角色需要更新速度
|
||
public UnityAction onMoveSpeedUpdate;
|
||
|
||
//死亡状态
|
||
public bool Die { get; set; }
|
||
|
||
//朝向
|
||
private float m_fDirection = 0.0f;
|
||
public float Direction
|
||
{
|
||
get { return m_fDirection; }
|
||
set { m_fDirection = value; }
|
||
}
|
||
|
||
//战斗力
|
||
private int m_nCombatValue = 0;
|
||
public int CombatValue
|
||
{
|
||
get { return m_nCombatValue; }
|
||
set { m_nCombatValue = value; }
|
||
}
|
||
|
||
//装备总评分 装备基础评分+宝石+强化
|
||
private int m_EquipTotalCombatValue = 0;
|
||
public int EquipTotalCombatValue
|
||
{
|
||
set { m_EquipTotalCombatValue = value; }
|
||
get { return m_EquipTotalCombatValue; }
|
||
}
|
||
|
||
//每日活力
|
||
private int m_DailyActivityVal = 0;
|
||
public int DailyActivityVal
|
||
{
|
||
set { m_DailyActivityVal = value; }
|
||
get { return m_DailyActivityVal; }
|
||
}
|
||
|
||
//体能
|
||
private int m_nCurStamina = 0;
|
||
public int CurStamina
|
||
{
|
||
get { return m_nCurStamina; }
|
||
set { m_nCurStamina = value; }
|
||
}
|
||
private int m_nOffLineExp = 0;
|
||
public int OffLineExp
|
||
{
|
||
get { return m_nOffLineExp; }
|
||
set { m_nOffLineExp = value; }
|
||
}
|
||
|
||
//学会的轻功技能等级
|
||
private int m_nLightSkillLevel = 0;
|
||
public int LightSkillLevel
|
||
{
|
||
get { return m_nLightSkillLevel; }
|
||
set { m_nLightSkillLevel = value; }
|
||
}
|
||
|
||
private ulong _Guid = 0;
|
||
public ulong Guid
|
||
{
|
||
get { return _Guid; }
|
||
set { _Guid = value; }
|
||
}
|
||
}
|