Exemplo n.º 1
0
 public EffectDescriptor(UnitEffect.EFFECT_TYPE type, int value, CIGameObject producer, EffectResponsibility responsibility)
 {
     Type           = type;
     Responsibility = responsibility;
     Value          = value;
     EffectProducer = producer;
 }
Exemplo n.º 2
0
    /**********************************************************************************/
    // функция применения эффектов
    //
    /**********************************************************************************/
    public void ApplyEffect(EffectDescriptor effect)
    {
        if (!m_isActive)
        {
            return;
        }

        UnitEffect.EFFECT_TYPE eType = effect.Type;
        bool weHaveEffect            = m_effects.ContainsKey(eType);
        bool effectWasApplied        = false;

        if (weHaveEffect)
        {
            if (m_effects[eType] != null)
            {
                m_effects[eType].EffectProducer = effect.EffectProducer;
                m_effects[eType].Activate(effect.Value);
                effectWasApplied = true;
            }
        }

        if (effectWasApplied == false && effect.Responsibility == EffectDescriptor.EffectResponsibility.REQUIRED)
        {
            Debug.LogError("We cann't apply effect: " + eType + " !");
        }
    }
Exemplo n.º 3
0
    /**********************************************************************************/
    // функция применения эффектов
    //
    /**********************************************************************************/
    public override void ApplyEffect(EffectDescriptor effect)
    {
        UnitEffect.EFFECT_TYPE eType = effect.Type;
        bool weHaveEffect            = m_effects.ContainsKey(eType);

        if (weHaveEffect)
        {
            m_effects[eType].EffectProducer = effect.EffectProducer;
            m_effects[eType].Activate(effect.Value);
        }
        else if (effect.Responsibility == EffectDescriptor.EffectResponsibility.REQUIRED)
        {
            Debug.LogError("We cann't apply effect: " + eType + " !");
        }
    }
Exemplo n.º 4
0
 /**********************************************************************************/
 // функция добавления новых эффектов
 //
 /**********************************************************************************/
 public void SetEffect(UnitEffect.EFFECT_TYPE effectSlot, UnitEffect effect)
 {
     m_effects[effectSlot] = effect;
 }