Sanguosha.UI.Controls.PlayerViewModel._UpdateAttributes C# (CSharp) Method

_UpdateAttributes() private method

private _UpdateAttributes ( ) : void
return void
        private void _UpdateAttributes()
        {
            if (_player == null)
            {
                IsDrank = false;
                IsDying = false;
                StatusMarks.Clear();
                Marks.Clear();
                return;
            }

            foreach (var attribute in _player.Attributes.Keys)
            {
                if (attribute == Sanguosha.Expansions.Battle.Cards.Jiu.Drank)
                {
                    IsDrank = (_player[attribute] == 1);
                }
                else if (attribute == Player.IsDying)
                {
                    IsDying = (_player[attribute] == 1);
                }
                else if (attribute.IsMark)
                {
                    int count = _player[attribute];
                    MarkViewModel model = null;
                    foreach (var mark in Marks)
                    {
                        if (mark.PlayerAttribute == attribute)
                        {
                            model = mark;
                            break;
                        }
                    }

                    if (model == null)
                    {
                        model = new MarkViewModel() { PlayerAttribute = attribute };
                        Marks.Add(model);
                    }

                    model.Number = _player[attribute];
                }
                else if (attribute.IsStatus)
                {
                    int count = _player[attribute];
                    MarkViewModel model = null;
                    foreach (var mark in StatusMarks)
                    {
                        if (mark.PlayerAttribute == attribute)
                        {
                            model = mark;
                            break;
                        }
                    }

                    if (model == null)
                    {
                        model = new MarkViewModel() { PlayerAttribute = attribute };
                        StatusMarks.Add(model);
                    }

                    model.Number = _player[attribute];
                }
            }
        }