From 13e4d83d2aa3c2024b2a82dc392a0e53770bbc70 Mon Sep 17 00:00:00 2001 From: MW Date: Tue, 12 Jun 2007 17:30:59 +0000 Subject: some more rearranging. --- OpenSim/OpenSim.Region/World/Entities/Avatar.cs | 225 ++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 OpenSim/OpenSim.Region/World/Entities/Avatar.cs (limited to 'OpenSim/OpenSim.Region/World/Entities/Avatar.cs') diff --git a/OpenSim/OpenSim.Region/World/Entities/Avatar.cs b/OpenSim/OpenSim.Region/World/Entities/Avatar.cs new file mode 100644 index 0000000..c88e0cc --- /dev/null +++ b/OpenSim/OpenSim.Region/World/Entities/Avatar.cs @@ -0,0 +1,225 @@ +/* +* Copyright (c) Contributors, http://www.openmetaverse.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using libsecondlife; +using libsecondlife.Packets; +using OpenSim.Physics.Manager; +using OpenSim.Framework.Inventory; +using OpenSim.Framework.Interfaces; +using OpenSim.Framework.Types; +using Axiom.MathLib; + +namespace OpenSim.Region +{ + public partial class Avatar : Entity + { + public static bool PhysicsEngineFlying = false; + public static AvatarAnimations Animations; + public string firstname; + public string lastname; + public IClientAPI ControllingClient; + public LLUUID current_anim; + public int anim_seq; + private static libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock AvatarTemplate; + private bool updateflag = false; + private byte movementflag = 0; + private List forcesList = new List(); + private short _updateCount = 0; + private Axiom.MathLib.Quaternion bodyRot; + private LLObject.TextureEntry avatarAppearanceTexture = null; + private byte[] visualParams; + private AvatarWearable[] Wearables; + private LLVector3 positionLastFrame = new LLVector3(0, 0, 0); + private ulong m_regionHandle; + private Dictionary m_clientThreads; + private bool childAvatar = false; + + protected RegionInfo m_regionInfo; + /// + /// + /// + /// + /// + /// + /// + public Avatar(IClientAPI theClient, World world, Dictionary clientThreads, RegionInfo reginfo) + { + + m_world = world; + m_clientThreads = clientThreads; + this.uuid = theClient.AgentId; + + m_regionInfo = reginfo; + OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Avatar.cs - Loading details from grid (DUMMY)"); + ControllingClient = theClient; + this.firstname = ControllingClient.FirstName; + this.lastname = ControllingClient.LastName; + localid = this.m_world.NextLocalId; + Pos = ControllingClient.StartPos; + visualParams = new byte[218]; + for (int i = 0; i < 218; i++) + { + visualParams[i] = 100; + } + + Wearables = AvatarWearable.DefaultWearables; + + this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005")); + + //register for events + ControllingClient.OnRequestWearables += new GenericCall(this.SendOurAppearance); + //ControllingClient.OnSetAppearance += new SetAppearance(this.SetAppearance); + ControllingClient.OnCompleteMovementToRegion += new GenericCall2(this.CompleteMovement); + ControllingClient.OnCompleteMovementToRegion += new GenericCall2(this.SendInitialPosition); + /* ControllingClient.OnAgentUpdate += new GenericCall3(this.HandleAgentUpdate); + ControllingClient.OnStartAnim += new StartAnim(this.SendAnimPack); + ControllingClient.OnChildAgentStatus += new StatusChange(this.ChildStatusChange); + ControllingClient.OnStopMovement += new GenericCall2(this.StopMovement); + */ + } + + /// + /// + /// + public PhysicsActor PhysActor + { + set + { + this._physActor = value; + } + get + { + return _physActor; + } + } + + /// + /// + /// + /// + public void ChildStatusChange(bool status) + { + + } + + /// + /// + /// + public override void addForces() + { + + } + + /// + /// likely to removed very soon + /// + /// + public static void SetupTemplate(string name) + { + + } + + /// + /// likely to removed very soon + /// + /// + protected static void SetDefaultPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata) + { + + + + } + + /// + /// + /// + public void CompleteMovement() + { + this.ControllingClient.MoveAgentIntoRegion(m_regionInfo); + } + + /// + /// + /// + /// + public void HandleAgentUpdate(Packet pack) + { + this.HandleUpdate((AgentUpdatePacket)pack); + } + + /// + /// + /// + /// + public void HandleUpdate(AgentUpdatePacket pack) + { + + } + + /// + /// + /// + public void SendRegionHandshake() + { + + } + + /// + /// + /// + public static void LoadAnims() + { + + } + + /// + /// + /// + public override void LandRenegerated() + { + + } + + + public class NewForce + { + public float X; + public float Y; + public float Z; + + public NewForce() + { + + } + } + } + +} -- cgit v1.1