Ejemplo n.º 1
0
        private void FireEventsIfNeeded()
        {
            if (_currentInfo.State != _previousFrameInfo.State)
            {
                StateChanged?.Invoke(_currentInfo.State);
            }
            if (_currentInfo.HpPercent != _previousFrameInfo.HpPercent)
            {
                HpChanged?.Invoke(_currentInfo.HpPercent);
            }
            if (_currentInfo.IsInParty != _previousFrameInfo.IsInParty)
            {
                IsInPartyChanged?.Invoke(_currentInfo.IsInParty);
            }
            if (_currentInfo.MpPercent != _previousFrameInfo.MpPercent)
            {
                MpChanged?.Invoke(_currentInfo.MpPercent);
            }
            if (_currentInfo.PartySize != _previousFrameInfo.PartySize)
            {
                PartySizeChanged?.Invoke(_currentInfo.PartySize);
            }
            if (_currentInfo.Position.X != _previousFrameInfo.Position.X || _currentInfo.Position.Y != _previousFrameInfo.Position.Y)
            {
                PositionChanged?.Invoke(_currentInfo.Position);
            }

            if (IsInParty && _currentInfo.SelectedPartyMemberHpPercent != _previousFrameInfo.SelectedPartyMemberHpPercent)
            {
                PartyMemberHpChanged?.Invoke(_currentInfo.SelectedPartyMemberHpPercent);
            }
            if (_currentInfo.IsPartyMemberSelected != _previousFrameInfo.IsPartyMemberSelected)
            {
                PartyMemberSelectedChanged?.Invoke(_currentInfo.IsPartyMemberSelected);
            }
            if (_currentInfo.IsKingDisplayed != _previousFrameInfo.IsKingDisplayed)
            {
                KingDisplayChanged?.Invoke(_currentInfo.IsKingDisplayed);
            }
            if (_currentInfo.IsMonsterSelected != _previousFrameInfo.IsMonsterSelected)
            {
                MonsterSelectedChanged?.Invoke(_currentInfo.IsMonsterSelected);
            }
            if (_currentInfo.SelectedMonsterHpPercent != _previousFrameInfo.SelectedMonsterHpPercent)
            {
                SelectedMonsterHpChanged?.Invoke(_currentInfo.SelectedMonsterHpPercent);
            }
            if (_currentInfo.SelectedPartyMemberIndex != _previousFrameInfo.SelectedPartyMemberIndex)
            {
                SelectedPartyMemberIndexChanged?.Invoke(_currentInfo.SelectedPartyMemberIndex);
            }
        }
Ejemplo n.º 2
0
 public void HitByAsteroid(Asteroid asteroid)
 {
     HP -= asteroid.Size;
     HpChanged?.Invoke(this, new EventArgs());
 }