示例#1
0
        private void GenerateDefaultNameIfEmpty(MemberType memberType, GameSessionMemberImp member)
        {
            if (!string.IsNullOrEmpty(member.Name))
            {
                return;
            }

            switch (memberType)
            {
            case MemberType.ActivePlayer:
                member.Name = "Player" + member.PlayerIndex;
                break;

            case MemberType.Computer:
                member.Name = GetUniqueComFigureName();
                break;

            case MemberType.Watcher:
                member.Name = "Watcher";
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(memberType), memberType, null);
            }
        }
示例#2
0
        public void AddMember(MemberType memberType, string name = null)
        {
            var member = new GameSessionMemberImp(this, _currentId++, name, memberType);

            if (memberType != MemberType.Watcher)
            {
                member.PlayerIndex = GetNextFreePlayerIndex();
            }
            GenerateDefaultNameIfEmpty(memberType, member);

            _members.Add(member);
        }