public AgentData ToAgentData() { UUID agentId = new UUID(this.AgentId); AgentData agentData = new AgentData { ActiveGroupID = new UUID(this.ActiveGroupID), AgentAccess = this.AgentAccess, AgentID = agentId, AgentPrefs = (this.AgentPrefs != null) ? this.AgentPrefs.ToAgentPrefs(agentId) : new AgentPreferencesData(), AlwaysRun = this.AlwaysRun, Anims = PackedAnimation.ToAnimations(this.Anims), Appearance = this.Appearance.ToAppearance(agentId), Aspect = this.Aspect, AtAxis = this.AtAxis, BodyRotation = this.BodyRotation, CallbackURI = this.CallbackURI, Center = this.Center, ChangedGrid = false, CircuitCode = this.CircuitCode, ControlFlags = this.ControlFlags, EnergyLevel = this.EnergyLevel, Far = this.Far, GodLevel = this.GodLevel, Groups = PackedGroupMembership.ToGroups(this.Groups), HeadRotation = this.HeadRotation, LeftAxis = this.LeftAxis, LocomotionState = this.LocomotionState, LocomotionFlags = (AgentLocomotionFlags)this.LocomotionFlags, Position = this.Position, PreyAgent = new UUID(this.PreyAgent), RegionHandle = this.RegionHandle, SatOnGroup = new UUID(this.SatOnGroup), SatOnPrim = new UUID(this.SatOnPrim), SatOnPrimOffset = this.SatOnPrimOffset, SerializedAttachments = this.SerializedAttachments, SessionID = new UUID(this.SessionId), Size = this.Size, Throttles = this.Throttles, UpAxis = this.UpAxis, Velocity = this.Velocity, RemoteAgents = this.RemoteAgents, ConstantForces = this.ConstantForces, ConstantForcesAreLocal = this.ConstantForcesAreLocal, PresenceFlags = this.PresenceFlags, AvatarAsAPrim = this.AvatarAsAPrim }; return agentData; }
internal static AgentGroupData[] ToGroups(PackedGroupMembership[] packedGroupMembership) { if (packedGroupMembership == null) return null; AgentGroupData[] groups = new AgentGroupData[packedGroupMembership.Length]; for (int i = 0; i < packedGroupMembership.Length; i++) { var packedGroup = packedGroupMembership[i]; groups[i] = new AgentGroupData(new UUID(packedGroup.GroupID), packedGroup.GroupPowers, packedGroup.AcceptNotices); } return groups; }
internal static PackedGroupMembership[] FromGroups(AgentGroupData[] agentGroupData) { if (agentGroupData == null) return null; PackedGroupMembership[] groups = new PackedGroupMembership[agentGroupData.Length]; for (int i = 0; i < agentGroupData.Length; i++) { var group = agentGroupData[i]; groups[i] = new PackedGroupMembership { AcceptNotices = group.AcceptNotices, GroupID = group.GroupID.Guid, GroupPowers = group.GroupPowers }; } return groups; }
internal static AgentPutMessage FromAgentData(AgentData data) { AgentPutMessage message = new AgentPutMessage { ActiveGroupID = data.ActiveGroupID.Guid, AgentAccess = data.AgentAccess, AgentId = data.AgentID.Guid, AgentPrefs = PackedAgentPrefs.FromAgentPrefs(data.AgentPrefs), AlwaysRun = data.AlwaysRun, Anims = PackedAnimation.FromAnimations(data.Anims), Appearance = PackedAppearance.FromAppearance(data.Appearance), Aspect = data.Aspect, AtAxis = data.AtAxis, BodyRotation = data.BodyRotation, CallbackURI = data.CallbackURI, Center = data.Center, CircuitCode = data.CircuitCode, ControlFlags = data.ControlFlags, EnergyLevel = data.EnergyLevel, Far = data.Far, GodLevel = data.GodLevel, Groups = PackedGroupMembership.FromGroups(data.Groups), HeadRotation = data.HeadRotation, LeftAxis = data.LeftAxis, LocomotionState = data.LocomotionState, LocomotionFlags = (int)data.LocomotionFlags, Position = data.Position, PreyAgent = data.PreyAgent.Guid, RegionHandle = data.RegionHandle, SatOnGroup = data.SatOnGroup.Guid, SatOnPrim = data.SatOnPrim.Guid, SatOnPrimOffset = data.SatOnPrimOffset, SerializedAttachments = data.SerializedAttachments, SessionId = data.SessionID.Guid, Size = data.Size, Throttles = data.Throttles, UpAxis = data.UpAxis, Velocity = data.Velocity, RemoteAgents = data.RemoteAgents, ConstantForces = data.ConstantForces, ConstantForcesAreLocal = data.ConstantForcesAreLocal, PresenceFlags = data.PresenceFlags, AvatarAsAPrim = data.AvatarAsAPrim }; return message; }
internal static PackedGroupMembership[] FromGroups(AgentGroupData[] agentGroupData) { if (agentGroupData == null) { return(null); } PackedGroupMembership[] groups = new PackedGroupMembership[agentGroupData.Length]; for (int i = 0; i < agentGroupData.Length; i++) { var group = agentGroupData[i]; groups[i] = new PackedGroupMembership { AcceptNotices = group.AcceptNotices, GroupID = group.GroupID.Guid, GroupPowers = group.GroupPowers }; } return(groups); }