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); } }
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); }