Пример #1
0
        public virtual void DoUpdate(LFloat deltaTime, EntityAttri ownerAttri)
        {
            if (timer > counter * config.triggerInterval)
            {
                counter++;
                //trigger buff
                for (int i = 0; i < config.count; i++)
                {
                    var at   = config.Attris[i];
                    var type = (EEntityAttriType)System.Math.Abs(at.attriType);
                    switch (type)
                    {
                    case EEntityAttriType.Hp: {
                        ownerAttri.Hp += at.val + LMath.FloorToInt(at.percent * triggerAttri.Hp);
                        break;
                    }

                    case EEntityAttriType.MaxHp: {
                        ownerAttri.MaxHp += at.val + LMath.FloorToInt(at.percent * triggerAttri.Hp);
                        break;
                    }
                    }
                }
            }
        }
Пример #2
0
 public void CopyFrom(EntityAttri attri)
 {
     IsSilence    = attri.IsSilence;
     IsStone      = attri.IsStone;
     IsFrozen     = attri.IsFrozen;
     IsInvincible = attri.IsInvincible;
     IsInVisible  = attri.IsInVisible;
     Hp           = attri.Hp;
     MaxHp        = attri.MaxHp;
     Speed        = attri.Speed;
 }
Пример #3
0
        public virtual void DoStart(EntityAttri ownerAttri)
        {
            for (int i = 0; i < config.count; i++)
            {
                var  at    = config.Attris[i];
                bool isSet = at.val != 0;
                var  type  = (EEntityAttriType)System.Math.Abs(at.attriType);
                if (isSet)
                {
                    switch (type)
                    {
                    case EEntityAttriType.IsSilence: {
                        ownerAttri.IsSilence = isSet;
                        break;
                    }

                    case EEntityAttriType.IsStone: {
                        ownerAttri.IsStone = isSet;
                        break;
                    }

                    case EEntityAttriType.IsFrozen: {
                        ownerAttri.IsFrozen = isSet;
                        break;
                    }

                    case EEntityAttriType.IsInvincible: {
                        ownerAttri.IsInvincible = isSet;
                        break;
                    }

                    case EEntityAttriType.IsInVisible: {
                        ownerAttri.IsInVisible = isSet;
                        break;
                    }
                    }
                }
            }
        }