예제 #1
0
    public GameRangeAttributeInstance AddRangeAttribute(GameRangeAttribute attribute)
    {
        GameRangeAttributeInstance attr = new GameRangeAttributeInstance(this.m_Owner, attribute);

        AddRangeAttribute(attr);
        return(attr);
    }
예제 #2
0
    protected override void RegistAttribute()
    {
        base.RegistAttribute();

        _cfg = BossConfig.GetData(Id);

        gameObject.name = _cfg.Name;
        var _hp = new GameRangeAttribute(E_Attribute.Hp.ToString(), 0, _cfg.Hp);

        m_Hp = AddRangeAttribute(_hp);
        var _mp = new GameRangeAttribute(E_Attribute.Mp.ToString(), 0, _cfg.Mp, 0.1f);

        m_Mp = AddRangeAttribute(_mp);
        var _attack = new GameAttribute(E_Attribute.Atk.ToString(), _cfg.Attack);

        m_Attack = AddAttribute(_attack);
        var _moveSpeed = new GameAttribute(E_Attribute.MoveSpeed.ToString(), _cfg.MoveSpeed);

        m_MoveSpeed = AddAttribute(_moveSpeed);

        m_CaculateDelta = TimerManager.Instance.AddListener(0, 0.02f, m_MonoAttribute.CaculateRangeDelta, null, true);


        _shield  = new GameRangeAttribute(E_Attribute.Shield.ToString(), 0, _cfg.Shield, 0.02f);
        m_Shield = AddRangeAttribute(_shield);


        UIBattleWindow.ShowBossUI();
        UIBattleWindow.OnBossHpChange(m_Hp.Current, m_Hp.GetMinTotalValue(), m_Hp.GetMaxTotalValue());
        UIBattleWindow.OnBossShieldChange(m_Shield.Current, m_Shield.GetMinTotalValue(), m_Shield.GetMaxTotalValue());
        GetRangeAttribute(E_Attribute.Hp.ToString()).OnValueChanged     += (delta) => { UIBattleWindow.OnBossHpChange(m_Hp.Current, m_Hp.GetMinTotalValue(), m_Hp.GetMaxTotalValue()); };
        GetRangeAttribute(E_Attribute.Shield.ToString()).OnValueChanged += (delta) => { UIBattleWindow.OnBossShieldChange(m_Shield.Current, m_Shield.GetMinTotalValue(), m_Shield.GetMaxTotalValue()); };

        AudioManager.Instance.PlayBGM(_cfg.FightBGM);
    }
예제 #3
0
 public void AddRangeAttribute(GameRangeAttributeInstance rangeAttribute)
 {
     if (!m_RangeAttributesList.Contains(rangeAttribute))
     {
         m_RangeAttributesList.Add(rangeAttribute);
         m_RangeAttributeNameDict.Add(rangeAttribute.Name, rangeAttribute);
     }
 }
예제 #4
0
 /// <summary>
 /// 清空属性回复值加成
 /// </summary>
 /// <param name="attribute"></param>
 /// <param name="modifier"></param>
 public void ClearDeltaModifier(GameRangeAttributeInstance attribute)
 {
     attribute.ClearDeltaModifier();
 }
예제 #5
0
 /// <summary>
 /// 移除属性回复值加成
 /// </summary>
 /// <param name="attribute"></param>
 /// <param name="modifier"></param>
 public void RemoveDeltaModifier(GameRangeAttributeInstance attribute, GameAttributeModifier modifier)
 {
     attribute.RemoveDeltaModifier(modifier);
 }
예제 #6
0
 /// <summary>
 /// 增加属性回复值加成
 /// </summary>
 /// <param name="attribute"></param>
 /// <param name="modifier"></param>
 public void AddDeltaModifier(GameRangeAttributeInstance attribute, GameAttributeModifier modifier)
 {
     attribute.AddDeltaModifier(modifier);
 }
예제 #7
0
 public void AddRangeAttributeModifier(GameRangeAttributeInstance rangeAttribute, GameAttributeModifier modifier)
 {
 }
예제 #8
0
 public void RemoveRangeAttributeModifier(GameRangeAttributeInstance modifier)
 {
 }