Ejemplo n.º 1
0
 public override void TakeEffect(BuffArgs args)
 {
     if (args.GetType() == typeof(StatDecreaseArgs))
     {
         UpdateStat((StatDecreaseArgs)args);
     }
 }
Ejemplo n.º 2
0
    void Update()
    {
        buffMaganer.OnUpdate();

        if (Input.GetKeyDown(KeyCode.Q))
        {
            BuffArgs buffArgs = new BuffArgs();
            buffArgs.m_cintinueTime = 5;
            buffArgs.m_addition     = false;
            buffArgs.m_fValue1      = 10;
            buffMaganer.BuffAdd(BuffType.Buff.BuffSpeedUp, buffArgs);
        }
        else if (Input.GetKeyDown(KeyCode.W))
        {
            BuffArgs buffArgs = new BuffArgs();
            buffArgs.m_timer    = 1;
            buffArgs.m_times    = 5;
            buffArgs.m_addition = false;
            buffArgs.m_fValue1  = 10;
            buffMaganer.PerBuffAdd(BuffType.PerBuff.BufferAddBlood, buffArgs);
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            buffMaganer.BuffRemove(BuffType.Buff.BuffSpeedUp);
        }
    }
Ejemplo n.º 3
0
    //公开的方法

    //1.增加一个Buff
    private void BuffAddBase(object buff, BuffArgs buffArgs)
    {
        //反射技术 -->根据字符串名称创建一个对象实例
        BuffStateBase newBuff = Activator.CreateInstance(Type.GetType(buff.ToString())) as BuffStateBase;

        newBuff.CurrBuffArgs     = buffArgs;
        newBuff.CurrentBuffType  = buff.GetType();
        newBuff.CurrentBuffState = buff;
        newBuff.CurrCtrl         = CurrCtrl;

        //将Buff添加到容器中
        //m_addition
        if (buffArgs.m_addition)
        {
            newBuff.OnEnter();
            m_BuffList.Add(newBuff);
        }
        else
        {
            //判断当前容器中,是否包含这个Buff
            BuffStateBase findBuff = BuffCheckExitsBase(buff);
            if (findBuff != null)
            {
                findBuff.CurrBuffArgs.m_cintinueTime = newBuff.CurrBuffArgs.m_cintinueTime;
            }
            //如果没有,则直接加进去
            else
            {
                newBuff.OnEnter();
                m_BuffList.Add(newBuff);
            }
        }
    }
Ejemplo n.º 4
0
 private void Initialize()
 {
     Owner      = null;
     Lifespan   = 0;
     ParentType = _ParentType.None;
     Type       = _Type.None;
     BuffArgs   = new BuffArgs();
 }
Ejemplo n.º 5
0
 public override void TakeEffect(BuffArgs args)
 {
 }
Ejemplo n.º 6
0
 public void PerDeBuffAdd(BuffType.PerDeBuff perDeBuff, BuffArgs buffArgs)
 {
     BuffAddBase(perDeBuff, buffArgs);
 }
Ejemplo n.º 7
0
 public void DeBuffAdd(BuffType.DeBuff deBuff, BuffArgs buffArgs)
 {
     BuffAddBase(deBuff, buffArgs);
 }
Ejemplo n.º 8
0
 public void BuffAdd(BuffType.Buff buff, BuffArgs buffArgs)
 {
     BuffAddBase(buff, buffArgs);
 }