157 lines
4.0 KiB
C#
157 lines
4.0 KiB
C#
|
using UnityEngine;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace Games.ImpactModle
|
|||
|
{
|
|||
|
public enum BUFFICON
|
|||
|
{
|
|||
|
MAX_BUFFICONUM = 5, //主角头像显示的最大buff 图标位 加一个宠物Buff 但是最多只能显示4个buff
|
|||
|
}
|
|||
|
|
|||
|
public enum BUFFTYPE
|
|||
|
{
|
|||
|
DEBUFF =0, //减益BUFF
|
|||
|
BUFF =1,//增益BUFF
|
|||
|
}
|
|||
|
|
|||
|
//玩家身上的一些buff产生的效果
|
|||
|
public enum DISABLESTATE
|
|||
|
{
|
|||
|
None = -1,
|
|||
|
Disable_UseSkill = 0, //不能使用技能
|
|||
|
Disable_Move, //不能移动
|
|||
|
Disable_Select, //不能选择目标
|
|||
|
GodState, //无敌状态
|
|||
|
StealState, //隐身状态
|
|||
|
TauntState, //嘲讽状态
|
|||
|
BlackScreen, //黑屏状态
|
|||
|
Chaos, //混乱
|
|||
|
Disable_BeSelect, // 不可被选中状态
|
|||
|
}
|
|||
|
|
|||
|
public class ImpactInfo
|
|||
|
{
|
|||
|
public void CleanUp()
|
|||
|
{
|
|||
|
m_nHandleId = 0;
|
|||
|
m_nIsForever = false;//Buff 是否永久
|
|||
|
m_nRemainTime = 0;//Buff 剩余时间(单位s)
|
|||
|
m_nAddnum = 0; //叠加个数
|
|||
|
}
|
|||
|
|
|||
|
private uint m_nHandleId;//Buff Id
|
|||
|
public uint HandleId
|
|||
|
{
|
|||
|
get { return m_nHandleId; }
|
|||
|
set { m_nHandleId = value; }
|
|||
|
}
|
|||
|
private bool m_nIsForever;//Buff 是否永久
|
|||
|
public bool IsForever
|
|||
|
{
|
|||
|
get { return m_nIsForever; }
|
|||
|
set { m_nIsForever = value; }
|
|||
|
}
|
|||
|
private float m_nRemainTime;//Buff 剩余时间(单位s)
|
|||
|
public float RemainTime
|
|||
|
{
|
|||
|
get { return m_nRemainTime; }
|
|||
|
set { m_nRemainTime = value; }
|
|||
|
}
|
|||
|
private int m_nAddnum;
|
|||
|
public int AddNum
|
|||
|
{
|
|||
|
get { return m_nAddnum; }
|
|||
|
set { m_nAddnum = value; }
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public class ClientImpactInfo
|
|||
|
{
|
|||
|
public string m_BuffDescribe = "";
|
|||
|
|
|||
|
public void CleanUp()
|
|||
|
{
|
|||
|
m_nImpactId =-1;//Buff Id
|
|||
|
m_BuffDescribe = "";
|
|||
|
}
|
|||
|
|
|||
|
List<ImpactInfo> m_ImpactInfos = new List<ImpactInfo>();
|
|||
|
|
|||
|
public void RemoveBuff(uint handleId)
|
|||
|
{
|
|||
|
for (int i = 0; i < m_ImpactInfos.Count; i++)
|
|||
|
{
|
|||
|
if (m_ImpactInfos[i].HandleId == handleId)
|
|||
|
{
|
|||
|
m_ImpactInfos.RemoveAt(i);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void AddBuff(ImpactInfo impact)
|
|||
|
{
|
|||
|
for(int i=0;i< m_ImpactInfos.Count;i++)
|
|||
|
{
|
|||
|
if(m_ImpactInfos[i].HandleId == impact.HandleId)
|
|||
|
{
|
|||
|
m_ImpactInfos.RemoveAt(i);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
m_ImpactInfos.Add(impact);
|
|||
|
}
|
|||
|
|
|||
|
public bool IsVaild()
|
|||
|
{
|
|||
|
return (m_nImpactId != -1 && m_ImpactInfos.Count > 0);
|
|||
|
}
|
|||
|
private int m_nImpactId;//Buff Id
|
|||
|
public int ImpactId
|
|||
|
{
|
|||
|
get { return m_nImpactId; }
|
|||
|
set { m_nImpactId = value; }
|
|||
|
}
|
|||
|
|
|||
|
public bool IsForever
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
for (int i = 0; i < m_ImpactInfos.Count; i++)
|
|||
|
{
|
|||
|
if (m_ImpactInfos[i].IsForever == true)
|
|||
|
return true;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int AddNum
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
int num = 0;
|
|||
|
for (int i = 0; i < m_ImpactInfos.Count; i++)
|
|||
|
{
|
|||
|
num += m_ImpactInfos[i].AddNum;
|
|||
|
}
|
|||
|
return num;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public float RemainTime
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
float remain = 0;
|
|||
|
for (int i = 0; i < m_ImpactInfos.Count; i++)
|
|||
|
{
|
|||
|
if (remain < m_ImpactInfos[i].RemainTime)
|
|||
|
remain = m_ImpactInfos[i].RemainTime;
|
|||
|
}
|
|||
|
return remain;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|