/// <summary> /// Gets the view value. /// </summary> /// <param name="playerPosition">The player position.</param> /// <returns>The value which is used in the message for the corresponding enum value.</returns> public static GuildMemberRole Convert(this GuildPosition playerPosition) { return(playerPosition switch { GuildPosition.GuildMaster => GuildMemberRole.GuildMaster, GuildPosition.NormalMember => GuildMemberRole.NormalMember, GuildPosition.BattleMaster => GuildMemberRole.BattleMaster, _ => GuildMemberRole.Undefined, });
private byte GetGuildMemberStatusCode(GuildPosition position) { switch (position) { case GuildPosition.NormalMember: return(0); case GuildPosition.GuildMaster: return(0x80); case GuildPosition.BattleMaster: return(0x20); } throw new ArgumentException("GuildPosition not mapped."); }
private byte PlayerPositionValue(GuildPosition playerPosition) { switch (playerPosition) { case GuildPosition.GuildMaster: return(0x80); case GuildPosition.NormalMember: return(0x00); case GuildPosition.BattleMaster: return(0x20); default: throw new ArgumentException(nameof(playerPosition)); } }
/// <summary> /// Gets the view value. /// </summary> /// <param name="playerPosition">The player position.</param> /// <returns>The value which is used in the message for the corresponding enum value.</returns> public static byte GetViewValue(this GuildPosition playerPosition) { switch (playerPosition) { case GuildPosition.GuildMaster: return(0x80); case GuildPosition.NormalMember: return(0x00); case GuildPosition.BattleMaster: return(0x20); default: throw new ArgumentException(nameof(playerPosition)); } }
//主角是否处于某种头衔 public bool IsPosition(GuildPosition guildPosition) { List <PGuildMember> dataList = GetGuildMembersList(MeVo.instance.guildId); if (null == dataList) { return(false); } PGuildMember me = GetMember(dataList, MeVo.instance.Id); if (null == me) { return(false); } else { return((byte)guildPosition == me.position); } }
/// <inheritdoc/> public void ChangeGuildMemberPosition(uint guildId, Guid characterId, GuildPosition role) { try { if (this.guildDictionary.TryGetValue(guildId, out GuildContainer guild)) { var guildMember = guild.Guild.Members.FirstOrDefault(m => m.Id == characterId); if (guildMember != null) { guildMember.Status = role; guild.DatabaseContext.SaveChanges(); var listEntry = guild.Members[characterId]; listEntry.PlayerPosition = role; } } } catch (Exception ex) { Log.Error(ex); } }
// 根据职位获取其职位名称 public string GetPositionText(GuildPosition position) { switch (GuildPosition) { case GuildPosition.CHAIRMAN: return(Str.Get("UI_GUILD_POSITION_CHAIRMAN")); case GuildPosition.VICE_CHAIRMAN: return(Str.Get("UI_GUILD_POSITION_VICE_CHAIRMAN")); case GuildPosition.ELITE_MEMBER: return(Str.Get("UI_GUILD_POSITION_ELITE_MEMBER")); case GuildPosition.MEMBER: return(Str.Get("UI_GUILD_POSITION_MEMBER")); case GuildPosition.NEWBIE_MEMBER: return(Str.Get("UI_GUILD_POSITION_NEWBIE_MEMBER")); } return(""); }
/// <summary> /// Initializes a new instance of the <see cref="GuildMemberStatus"/> class. /// </summary> /// <param name="guildId">The guild identifier.</param> /// <param name="position">The position.</param> public GuildMemberStatus(uint guildId, GuildPosition position) { this.GuildId = guildId; this.Position = position; }
/// <inheritdoc/> public GuildMemberStatus CreateGuildMember(uint guildId, Guid characterId, string characterName, GuildPosition role, byte serverId) { try { if (this.guildDictionary.TryGetValue(guildId, out GuildContainer guild)) { if (guild.Members.ContainsKey(characterId)) { Log.WarnFormat("Guildmember already exists: {0}", characterName); return(null); } var guildMember = guild.DatabaseContext.CreateNew <GuildMember>(); guildMember.Id = characterId; guildMember.Status = role; guildMember.GuildId = guild.Guild.Id; guild.Guild.Members.Add(guildMember); guild.DatabaseContext.SaveChanges(); guild.Members.Add(characterId, new GuildListEntry { PlayerName = characterName, PlayerPosition = guildMember.Status, ServerId = serverId }); return(new GuildMemberStatus(guildId, guildMember.Status)); } } catch (Exception ex) { // Rollback? Log.Error(ex); } return(null); }
/// <inheritdoc/> public GuildMemberInfo CreateGuildMember(Guid guildId, Guid characterId, string characterName, GuildPosition role) { try { if (this.guildDictionary.TryGetValue(guildId, out GuildContainer guild)) { if (guild.Members.ContainsKey(characterName)) { Log.WarnFormat("Guildmember already exists: {0}", characterName); return(null); } using (this.repositoryManager.UseContext(guild.DatabaseContext)) { var guildMember = this.repositoryManager.CreateNew <GuildMemberInfo>(); guildMember.CharacterId = characterId; guildMember.GuildId = guildId; guildMember.Name = characterName; guildMember.Status = role; guild.Members.Add(guildMember.Name, guildMember); guild.Guild.Members.Add(guildMember); guild.DatabaseContext.SaveChanges(); return(guildMember); } } } catch (Exception ex) { // Rollback? Log.Error(ex); } return(null); }