private void UpdateStatViews() { var equipments = equipmentSlots .Where(slot => !slot.IsLock && !slot.IsEmpty) .Select(slot => slot.Item as Equipment) .Where(item => !(item is null)) .ToList(); var stats = _tempStats.SetAll( _tempStats.Level, equipments, null, Game.Game.instance.TableSheets.EquipmentItemSetEffectSheet ); avatarStats.SetData(stats); }
private void UpdateStatViews() { var equipments = equipmentSlots .Where(slot => !slot.IsLock && !slot.IsEmpty) .Select(slot => slot.Item as Equipment) .Where(item => !(item is null)) .ToList(); var costumeIds = costumeSlots .Where(slot => !slot.IsLock && !slot.IsEmpty) .Select(slot => slot.Item.Id) .ToList(); var costumeStatSheet = Game.Game.instance.TableSheets.CostumeStatSheet; var statModifiers = new List <StatModifier>(); foreach (var itemId in costumeIds) { statModifiers.AddRange( costumeStatSheet.OrderedList .Where(r => r.CostumeId == itemId) .Select(row => new StatModifier(row.StatType, StatModifier.OperationType.Add, (int)row.Stat)) ); } var currentAvatarState = Game.Game.instance.States.CurrentAvatarState; _player.Set(currentAvatarState); var stats = _player.Model.Stats.SetAll( _player.Model.Stats.Level, equipments, null, Game.Game.instance.TableSheets.EquipmentItemSetEffectSheet ); stats.SetOption(statModifiers); avatarStats.SetData(stats); UpdateUIPlayer(); }