public GameRangeAttributeInstance AddRangeAttribute(GameRangeAttribute attribute) { GameRangeAttributeInstance attr = new GameRangeAttributeInstance(this.m_Owner, attribute); AddRangeAttribute(attr); return(attr); }
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); }
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; }
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; }
/// <summary> /// 添加有最大最小值的属性 /// </summary> /// <param name="attribute"></param> /// <returns></returns> public GameRangeAttributeInstance AddRangeAttribute(GameRangeAttribute attribute) { var rangeAttributeInstance = m_MonoAttribute.AddRangeAttribute(attribute); return(rangeAttributeInstance); }