示例#1
0
 public void HandleDamage(VBuff buff, VBio target, float damage)
 {
     foreach (KeyValuePair <string, VBSBase> kv in this._buffStates)
     {
         kv.Value.OnDamage(buff, target, damage);
     }
 }
示例#2
0
        public void HandleBuffStateAdded(string id, VBuff buff)
        {
            BuffStateData buffStateData = ModelFactory.GetBuffStateData(id);
            VBSBase       buffState     = VBSBase.Create(buffStateData.type);

            buffState.Init(id, buff, this);
            this._buffStates[id] = buffState;
        }
示例#3
0
 public void HandleHurt(VBuff buff, VBio caster, float damage)
 {
     foreach (KeyValuePair <string, VBSBase> kv in this._buffStates)
     {
         kv.Value.OnHurt(buff, caster, damage);
     }
     UIEvent.Hurt(buff, caster, this, damage);
 }
示例#4
0
        protected override void InternalOnRemoveFromBattle()
        {
            this.followedBuff?.RedRef();
            this.followedBuff = null;
            this.followedTarget?.RedRef();
            this.followedTarget = null;

            base.InternalOnRemoveFromBattle();
        }
示例#5
0
        public void HandleTrigger(VBuff buff, int triggerIndex)
        {
            string[] fxss = buff.trigger?.fxs;
            if (fxss == null)
            {
                return;
            }

            int index = fxss.Length - 1;

            index = triggerIndex <= index ? triggerIndex : index;

            string fxId = fxss[index];

            if (!string.IsNullOrEmpty(fxId))
            {
                Effect fx = this.battle.CreateEffect(fxId);
                fx.SetupTerritory(buff.caster, this, Vector3.zero);
            }
        }
示例#6
0
 public void HandleExitBuff(VBuff buff)
 {
 }
示例#7
0
 public void HandleEnterBuff(VBuff buff)
 {
 }