Exemple #1
0
        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;
        }
Exemple #4
0
        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);
        }