private void ServerRemote_LeaderSetOfficerRoleTitle( FactionMemberRole role, FactionOfficerRoleTitle roleTitle) { var leaderCharacter = ServerRemoteContext.Character; ServerValidateHasAccessRights(leaderCharacter, FactionMemberAccessRights.Leader, out var faction); SharedValidateIsOfficerRole(role); var binding = Faction.GetPrivateState(faction).OfficerRoleTitleBinding; if (binding.TryGetValue(role, out var currentRoleTitle) && currentRoleTitle == roleTitle) { return; } binding[role] = roleTitle; ServerAddLogEntry(faction, new FactionLogEntryRoleRenamed(byOfficer: leaderCharacter, previousRoleTitle: currentRoleTitle, newRoleTitle: roleTitle)); Logger.Important($"Officer role title changed: {role} -> {roleTitle}"); }
public FactionLogEntryRoleRenamed( ICharacter byOfficer, FactionOfficerRoleTitle previousRoleTitle, FactionOfficerRoleTitle newRoleTitle) : base(byOfficer) { this.PreviousRoleTitle = previousRoleTitle; this.NewRoleTitle = newRoleTitle; }
public FactionLogEntryRoleAccessRightsChanged( ICharacter byOfficer, FactionOfficerRoleTitle roleTitle, FactionMemberAccessRights newAccessRights) : base(byOfficer) { this.RoleTitle = roleTitle; this.NewAccessRights = newAccessRights; }
public ViewModelFactionRoleTitleEditor( FactionMemberRole factionMemberRole, FactionOfficerRoleTitle selectedTitle, Action selectedTitleChanged) { this.AllTitles = EnumHelper.EnumValuesToViewModel <FactionOfficerRoleTitle>() .OrderBy(e => e.Description, StringComparer.OrdinalIgnoreCase) .ToArray(); this.FactionMemberRole = factionMemberRole; this.selectedTitle = selectedTitle; this.selectedTitleChanged = selectedTitleChanged; }
public static void ClientLeaderSetOfficerRoleTitle( FactionMemberRole role, FactionOfficerRoleTitle roleTitle) { ClientValidateHasAccessRights(FactionMemberAccessRights.Leader); SharedValidateIsOfficerRole(role); var binding = Faction.GetPrivateState(ClientCurrentFaction).OfficerRoleTitleBinding; if (binding.TryGetValue(role, out var currentRoleTitle) && currentRoleTitle == roleTitle) { return; } Instance.CallServer( _ => _.ServerRemote_LeaderSetOfficerRoleTitle(role, roleTitle)); Logger.Important($"Officer role title changed: {role} -> {roleTitle}"); }
private void ViewModelSelectedTitleChangedHandler() { this.title = this.viewModel.SelectedTitle; this.SelectedTitleChanged?.Invoke(this); }
public FactionRoleTitleEditor(FactionMemberRole role, FactionOfficerRoleTitle title) { this.role = role; this.title = title; }