コード例 #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 GameRangeAttributeInstance(MonoEntity monoCell, GameRangeAttribute attribute)
 {
     this.m_MonoCell                   = monoCell;
     this.m_GameRangeAttribute         = attribute;
     m_GameAttributeMinModifiersList   = new List <GameAttributeModifier>();
     m_GameAttributeMaxModifiersList   = new List <GameAttributeModifier>();
     m_GameAttributeDeltaModifiersList = new List <GameAttributeModifier>();
     Current = attribute.Max.Value;
 }
コード例 #4
0
    protected override void RegistAttribute()
    {
        base.RegistAttribute();
        _cfg = MonsterConfig.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);
        AttackTarget    = GameManager.Player;
    }
コード例 #5
0
    /// <summary>
    /// 添加有最大最小值的属性
    /// </summary>
    /// <param name="attribute"></param>
    /// <returns></returns>
    public GameRangeAttributeInstance AddRangeAttribute(GameRangeAttribute attribute)
    {
        var rangeAttributeInstance = m_MonoAttribute.AddRangeAttribute(attribute);

        return(rangeAttributeInstance);
    }