public static IEnumerable <CAvatar> GetAvatars() { if (_Avatars.Count == 0) { return(null); } var result = new CAvatar[_Avatars.Count]; _Avatars.Values.CopyTo(result, 0); return(result); }
public static int NewAvatar(string fileName) { CAvatar avatar = CAvatar.GetAvatar(fileName); if (avatar == null) { return(-1); } avatar.ID = _AvatarIDs.Dequeue(); _Avatars.Add(avatar.ID, avatar); _AvatarsChanged = true; return(avatar.ID); }
public static void EditAvatar(CAvatar editAvatar) { if (editAvatar == null) { return; } var change = new SChange { Action = EAction.EditAvatar, Avatar = editAvatar }; lock (_QueueMutex) { _Queue.Enqueue(change); } }
public static void AddAvatar(CAvatar newAvatar) { if (newAvatar == null) { return; } var change = new SChange { Action = EAction.AddAvatar, Avatar = newAvatar }; lock (_QueueMutex) { _Queue.Enqueue(change); } }
private static void _LoadAvatars() { var knownFiles = new List <string>(); if (_Avatars.Count > 0) { var ids = new int[_Avatars.Keys.Count]; _Avatars.Keys.CopyTo(ids, 0); foreach (int id in ids) { if (_Avatars[id].Reload()) { knownFiles.Add(Path.GetFileName(_Avatars[id].FileName)); } else { _Avatars.Remove(id); } } } var files = new List <string>(); foreach (string path in CConfig.ProfileFolders) { files.AddRange(CHelper.ListImageFiles(path, true, true)); } foreach (string file in files) { if (knownFiles.Contains(Path.GetFileName(file))) { continue; } CAvatar avatar = CAvatar.GetAvatar(file); if (avatar != null) { avatar.ID = _AvatarIDs.Dequeue(); _Avatars.Add(avatar.ID, avatar); } } _ProfilesChanged = true; }
private static CAvatar _AddAvatar(CBase64Image avatarData) { try { string filename = _SaveImage(avatarData, "snapshot", CConfig.ProfileFolders[0]); CAvatar avatar = CAvatar.GetAvatar(filename); if (avatar != null) { CProfiles.AddAvatar(avatar); return(avatar); } return(null); } catch { return(null); } }
private static SProfileData _CreateProfileData(CProfile profile, bool isReadonly) { SProfileData profileData = new SProfileData { IsEditable = !isReadonly, ProfileId = profile.ID, PlayerName = profile.PlayerName, //Is TR_USERROLE_GUEST or TR_USERROLE_NORMAL? Type = (profile.UserRole.HasFlag(EUserRole.TR_USERROLE_NORMAL) ? 1 : 0), Difficulty = (int)profile.Difficulty }; CAvatar avatar = profile.Avatar; if (avatar != null) { if (File.Exists(avatar.FileName)) { profileData.Avatar = new CBase64Image(_CreateDelayedImage(avatar.FileName)); } } return(profileData); }