summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/Buff/XBuffTriggerByLife.cs
blob: f54a6aa653b2490450abcb2b6c00d5314deddaee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;

namespace XMainClient
{
	internal class XBuffTriggerByLife : XBuffTrigger
	{
		private float _hpTriggerPercent = 0f;

		public XBuffTriggerByLife(XBuff buff) : base(buff)
		{
			this._hpTriggerPercent = base._GetTriggerParam(buff.BuffInfo, 0);
		}

		public override bool CheckTriggerCondition()
		{
			bool isDummy = base.Entity.IsDummy;
			return !isDummy && base.Entity.Attributes.HPPercent <= (double)this._hpTriggerPercent;
		}

		public override void OnAdd(XEntity entity, CombatEffectHelper pEffectHelper)
		{
			base.OnAdd(entity, pEffectHelper);
			base.Trigger();
		}

		public override void OnAttributeChanged(XAttrChangeEventArgs e)
		{
			bool flag = e.AttrKey == XAttributeDefine.XAttr_CurrentHP_Basic;
			if (flag)
			{
				base.Trigger();
			}
		}
	}
}