* Extended Script API with GetRandomAvatar
* The script will now get a IScriptEntity to it's host object with get/sets * The script gets a IScriptReadnlyEntity interface to entities other than the host object. * the test script now follows a random avatar.0.1-prestable
parent
6d8dcd1d1d
commit
7169acc47e
|
@ -9,6 +9,7 @@ using OpenSim.Assets;
|
|||
using OpenSim.Framework.Inventory;
|
||||
using libsecondlife;
|
||||
using OpenSim.RegionServer.world.scripting;
|
||||
using Avatar=libsecondlife.Avatar;
|
||||
|
||||
namespace OpenSim.CAPS
|
||||
{
|
||||
|
@ -141,8 +142,6 @@ namespace OpenSim.CAPS
|
|||
|
||||
private class TestScript : Script
|
||||
{
|
||||
int toggle = 0;
|
||||
|
||||
public TestScript()
|
||||
: base(LLUUID.Random())
|
||||
{
|
||||
|
@ -151,13 +150,21 @@ namespace OpenSim.CAPS
|
|||
|
||||
private void MyOnFrame(IScriptContext context)
|
||||
{
|
||||
toggle = 2 - toggle;
|
||||
LLVector3 pos = context.Entity.Pos;
|
||||
|
||||
LLVector3 pos = context.GetPos();
|
||||
IScriptReadonlyEntity avatar;
|
||||
|
||||
pos.X += (toggle - 1);
|
||||
if( context.TryGetRandomAvatar( out avatar ) )
|
||||
{
|
||||
LLVector3 avatarPos = avatar.Pos;
|
||||
|
||||
context.MoveTo(pos);
|
||||
float x = pos.X + ((float)avatarPos.X.CompareTo(pos.X))/2;
|
||||
float y = pos.Y + ((float)avatarPos.Y.CompareTo(pos.Y))/2;
|
||||
|
||||
LLVector3 newPos = new LLVector3( x, y, pos.Z );
|
||||
|
||||
context.Entity.Pos = newPos;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -194,7 +201,7 @@ namespace OpenSim.CAPS
|
|||
foreach (Entity entity in m_world.Entities.Values)
|
||||
{
|
||||
string testScriptLink = "javascript:loadXMLDoc('Admin/AddTestScript/" + entity.uuid.ToString() + "');";
|
||||
responseString += String.Format( "<li>[{0}] \"{1}\" @ {2} <a href=\"{3}\">add test script</a></li>", entity.uuid, entity.getName(), entity.position, testScriptLink );
|
||||
responseString += String.Format( "<li>[{0}] \"{1}\" @ {2} <a href=\"{3}\">add test script</a></li>", entity.uuid, entity.Name, entity.Pos, testScriptLink );
|
||||
}
|
||||
responseString += "</ul>";
|
||||
return responseString;
|
||||
|
|
|
@ -187,6 +187,9 @@
|
|||
<Compile Include="world\scripting\IScriptContext.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="world\scripting\IScriptEntity.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="world\scripting\IScriptHandler.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
<include name="world/World.cs" />
|
||||
<include name="world/scripting/IScript.cs" />
|
||||
<include name="world/scripting/IScriptContext.cs" />
|
||||
<include name="world/scripting/IScriptEntity.cs" />
|
||||
<include name="world/scripting/IScriptHandler.cs" />
|
||||
<include name="world/scripting/Script.cs" />
|
||||
</sources>
|
||||
|
|
|
@ -19,7 +19,6 @@ namespace OpenSim.world
|
|||
public SimClient ControllingClient;
|
||||
public LLUUID current_anim;
|
||||
public int anim_seq;
|
||||
private PhysicsActor _physActor;
|
||||
private static libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock AvatarTemplate;
|
||||
private bool updateflag = false;
|
||||
private byte movementflag = 0;
|
||||
|
@ -30,7 +29,6 @@ namespace OpenSim.world
|
|||
private byte[] visualParams;
|
||||
private AvatarWearable[] Wearables;
|
||||
private LLVector3 positionLastFrame = new LLVector3(0, 0, 0);
|
||||
private World m_world;
|
||||
private ulong m_regionHandle;
|
||||
private Dictionary<uint, SimClient> m_clientThreads;
|
||||
private string m_regionName;
|
||||
|
@ -45,8 +43,7 @@ namespace OpenSim.world
|
|||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Avatar.cs - Loading details from grid (DUMMY)");
|
||||
ControllingClient = TheClient;
|
||||
localid = 8880000 + (this.m_world._localNumber++);
|
||||
position = new LLVector3(100.0f, 100.0f, 30.0f);
|
||||
position.Z = m_world.LandMap[(int)position.Y * 256 + (int)position.X] + 1;
|
||||
Pos = new LLVector3(100.0f, 100.0f, m_world.LandMap[(int)Pos.Y * 256 + (int)Pos.X] + 1);
|
||||
visualParams = new byte[218];
|
||||
for (int i = 0; i < 218; i++)
|
||||
{
|
||||
|
@ -209,7 +206,7 @@ namespace OpenSim.world
|
|||
this.uuid = objupdate.ObjectData[0].FullID = ControllingClient.AgentID;
|
||||
objupdate.ObjectData[0].NameValue = _enc.GetBytes("FirstName STRING RW SV " + firstname + "\nLastName STRING RW SV " + lastname + " \0");
|
||||
|
||||
libsecondlife.LLVector3 pos2 = new LLVector3((float)this.position.X, (float)this.position.Y, (float)this.position.Z);
|
||||
libsecondlife.LLVector3 pos2 = new LLVector3((float)this.Pos.X, (float)this.Pos.Y, (float)this.Pos.Z);
|
||||
|
||||
byte[] pb = pos2.GetBytes();
|
||||
|
||||
|
@ -614,23 +611,7 @@ namespace OpenSim.world
|
|||
|
||||
public override void LandRenegerated()
|
||||
{
|
||||
position = new LLVector3(100.0f, 100.0f, 30.0f);
|
||||
position.Z = this.m_world.LandMap[(int)position.Y * 256 + (int)position.X] + 50;
|
||||
if (this._physActor != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
lock (this.m_world.LockPhysicsEngine)
|
||||
{
|
||||
|
||||
this._physActor.Position = new PhysicsVector(position.X, position.Y, position.Z);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
Pos = new LLVector3(100.0f, 100.0f, this.m_world.LandMap[(int)Pos.Y * 256 + (int)Pos.X] + 50);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,31 +2,78 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Axiom.MathLib;
|
||||
using OpenSim.Physics.Manager;
|
||||
using OpenSim.types;
|
||||
using libsecondlife;
|
||||
using OpenSim.RegionServer.world.scripting;
|
||||
|
||||
namespace OpenSim.world
|
||||
{
|
||||
public class Entity
|
||||
public abstract class Entity : IScriptReadonlyEntity
|
||||
{
|
||||
public libsecondlife.LLUUID uuid;
|
||||
public uint localid;
|
||||
public LLVector3 position;
|
||||
public LLVector3 velocity;
|
||||
public Quaternion rotation;
|
||||
protected string name;
|
||||
protected List<Entity> children;
|
||||
|
||||
protected string m_name;
|
||||
public virtual string Name
|
||||
{
|
||||
get { return m_name; }
|
||||
}
|
||||
|
||||
private LLVector3 m_pos;
|
||||
protected PhysicsActor _physActor;
|
||||
protected World m_world;
|
||||
|
||||
public LLVector3 Pos
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this._physActor != null)
|
||||
{
|
||||
m_pos.X = _physActor.Position.X;
|
||||
m_pos.Y = _physActor.Position.Y;
|
||||
m_pos.Z = _physActor.Position.Z;
|
||||
}
|
||||
|
||||
return m_pos;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (this._physActor != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
lock (this.m_world.LockPhysicsEngine)
|
||||
{
|
||||
|
||||
this._physActor.Position = new PhysicsVector(value.X, value.Y, value.Z);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
m_pos = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public Entity()
|
||||
{
|
||||
uuid = new libsecondlife.LLUUID();
|
||||
localid = 0;
|
||||
position = new LLVector3();
|
||||
m_pos = new LLVector3();
|
||||
velocity = new LLVector3();
|
||||
rotation = new Quaternion();
|
||||
name = "(basic entity)";
|
||||
m_name = "(basic entity)";
|
||||
children = new List<Entity>();
|
||||
}
|
||||
|
||||
public virtual void addForces()
|
||||
{
|
||||
foreach (Entity child in children)
|
||||
|
@ -42,11 +89,6 @@ namespace OpenSim.world
|
|||
}
|
||||
}
|
||||
|
||||
public virtual string getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public virtual Mesh getMesh()
|
||||
{
|
||||
Mesh mesh = new Mesh();
|
||||
|
|
|
@ -19,13 +19,11 @@ namespace OpenSim.world
|
|||
protected bool updateFlag = false;
|
||||
protected bool dirtyFlag = false;
|
||||
private ObjectUpdatePacket OurPacket;
|
||||
private PhysicsActor _physActor;
|
||||
private bool physicsEnabled = false;
|
||||
private bool physicstest = false;
|
||||
private LLVector3 positionLastFrame = new LLVector3(0, 0, 0);
|
||||
private Dictionary<uint, SimClient> m_clientThreads;
|
||||
private ulong m_regionHandle;
|
||||
private World m_world;
|
||||
private const uint FULL_MASK_PERMISSIONS = 2147483647;
|
||||
|
||||
public bool PhysicsEnabled
|
||||
|
@ -130,7 +128,7 @@ namespace OpenSim.world
|
|||
|
||||
public void UpdatePosition(LLVector3 pos)
|
||||
{
|
||||
this.position = pos;
|
||||
this.Pos = pos;
|
||||
if (this._physActor != null) // && this.physicsEnabled)
|
||||
{
|
||||
try
|
||||
|
@ -208,7 +206,7 @@ namespace OpenSim.world
|
|||
|
||||
if (this.physicstest)
|
||||
{
|
||||
LLVector3 pos = this.position;
|
||||
LLVector3 pos = this.Pos;
|
||||
pos.Z += 0.0001f;
|
||||
this.UpdatePosition(pos);
|
||||
this.physicstest = false;
|
||||
|
@ -226,7 +224,7 @@ namespace OpenSim.world
|
|||
}
|
||||
else
|
||||
{
|
||||
lPos = this.position;
|
||||
lPos = this.Pos;
|
||||
}
|
||||
byte[] pb = lPos.GetBytes();
|
||||
Array.Copy(pb, 0, OurPacket.ObjectData[0].ObjectData, 0, pb.Length);
|
||||
|
@ -300,7 +298,7 @@ namespace OpenSim.world
|
|||
this.physicsEnabled = pack.AgentData.UsePhysics;
|
||||
if (this._physActor.Kinematic == false)
|
||||
{
|
||||
LLVector3 pos = this.position;
|
||||
LLVector3 pos = this.Pos;
|
||||
this.UpdatePosition(pos);
|
||||
pos.Z += 0.000001f;
|
||||
this.UpdatePosition(pos);
|
||||
|
@ -310,7 +308,7 @@ namespace OpenSim.world
|
|||
{
|
||||
PhysicsVector vec = this._physActor.Position;
|
||||
LLVector3 pos = new LLVector3(vec.X, vec.Y, vec.Z);
|
||||
this.position = pos;
|
||||
this.Pos = pos;
|
||||
this.updateFlag = true;
|
||||
}
|
||||
}
|
||||
|
@ -319,7 +317,7 @@ namespace OpenSim.world
|
|||
public void MakeParent(Primitive prim)
|
||||
{
|
||||
this.primData.ParentID = prim.localid;
|
||||
this.position -= prim.position;
|
||||
this.Pos -= prim.Pos;
|
||||
this.dirtyFlag = true;
|
||||
}
|
||||
|
||||
|
@ -385,7 +383,7 @@ namespace OpenSim.world
|
|||
this.newPrimFlag = true;
|
||||
this.primData.FullID = this.uuid = objupdate.ObjectData[0].FullID;
|
||||
this.localid = objupdate.ObjectData[0].ID;
|
||||
this.primData.Position = this.position = pos1;
|
||||
this.primData.Position = this.Pos = pos1;
|
||||
this.OurPacket = objupdate;
|
||||
}
|
||||
|
||||
|
@ -466,7 +464,7 @@ namespace OpenSim.world
|
|||
|
||||
this.uuid = objupdate.ObjectData[0].FullID;
|
||||
this.localid = objupdate.ObjectData[0].ID;
|
||||
this.position = pos1;
|
||||
this.Pos = pos1;
|
||||
this.OurPacket = objupdate;
|
||||
if (newprim)
|
||||
{
|
||||
|
@ -501,7 +499,7 @@ namespace OpenSim.world
|
|||
}
|
||||
else
|
||||
{
|
||||
lPos = this.position;
|
||||
lPos = this.Pos;
|
||||
lRot = this.rotation;
|
||||
}
|
||||
byte[] pb = lPos.GetBytes();
|
||||
|
@ -557,10 +555,9 @@ namespace OpenSim.world
|
|||
{
|
||||
this.primData.FullID = this.uuid;
|
||||
this.primData.LocalID = this.localid;
|
||||
this.primData.Position = this.position;
|
||||
this.primData.Position = this.Pos;
|
||||
this.primData.Rotation = new LLQuaternion(this.rotation.x, this.rotation.y, this.rotation.z, this.rotation.w);
|
||||
this.m_world.localStorage.StorePrim(this.primData);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -335,7 +335,7 @@ namespace OpenSim.world
|
|||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world");
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Starting RegionHandshake ");
|
||||
NewAvatar.SendRegionHandshake(this);
|
||||
PhysicsVector pVec = new PhysicsVector(NewAvatar.position.X, NewAvatar.position.Y, NewAvatar.position.Z);
|
||||
PhysicsVector pVec = new PhysicsVector(NewAvatar.Pos.X, NewAvatar.Pos.Y, NewAvatar.Pos.Z);
|
||||
lock (this.LockPhysicsEngine)
|
||||
{
|
||||
NewAvatar.PhysActor = this.phyScene.AddAvatar(pVec);
|
||||
|
@ -348,7 +348,7 @@ namespace OpenSim.world
|
|||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs: AddNewPrim() - Creating new prim");
|
||||
Primitive prim = new Primitive(m_clientThreads, m_regionHandle, this);
|
||||
prim.CreateFromPacket(addPacket, AgentClient.AgentID, this._primCount);
|
||||
PhysicsVector pVec = new PhysicsVector(prim.position.X, prim.position.Y, prim.position.Z);
|
||||
PhysicsVector pVec = new PhysicsVector(prim.Pos.X, prim.Pos.Y, prim.Pos.Z);
|
||||
PhysicsVector pSize = new PhysicsVector(0.255f, 0.255f, 0.255f);
|
||||
if (OpenSim.world.Avatar.PhysicsEngineFlying)
|
||||
{
|
||||
|
@ -521,7 +521,7 @@ namespace OpenSim.world
|
|||
reply.ChatData.Message = inchatpack.ChatData.Message;
|
||||
reply.ChatData.ChatType = 1;
|
||||
reply.ChatData.SourceType = 1;
|
||||
reply.ChatData.Position = simClient.ClientAvatar.position;
|
||||
reply.ChatData.Position = simClient.ClientAvatar.Pos;
|
||||
reply.ChatData.FromName = enc.GetBytes(simClient.ClientAvatar.firstname + " " + simClient.ClientAvatar.lastname + "\0");
|
||||
reply.ChatData.OwnerID = simClient.AgentID;
|
||||
reply.ChatData.SourceID = simClient.AgentID;
|
||||
|
|
|
@ -7,7 +7,7 @@ namespace OpenSim.RegionServer.world.scripting
|
|||
{
|
||||
public interface IScriptContext
|
||||
{
|
||||
bool MoveTo(LLVector3 newPos);
|
||||
LLVector3 GetPos();
|
||||
IScriptEntity Entity { get; }
|
||||
bool TryGetRandomAvatar(out IScriptReadonlyEntity avatar);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using libsecondlife;
|
||||
|
||||
namespace OpenSim.RegionServer.world.scripting
|
||||
{
|
||||
public interface IScriptReadonlyEntity
|
||||
{
|
||||
LLVector3 Pos { get; }
|
||||
string Name { get; }
|
||||
}
|
||||
|
||||
public interface IScriptEntity
|
||||
{
|
||||
LLVector3 Pos { get; set; }
|
||||
string Name { get; }
|
||||
}
|
||||
}
|
|
@ -4,13 +4,14 @@ using System.Text;
|
|||
using libsecondlife;
|
||||
using OpenSim.Physics.Manager;
|
||||
using OpenSim.world;
|
||||
using Primitive=OpenSim.world.Primitive;
|
||||
using Avatar=OpenSim.world.Avatar;
|
||||
using Primitive = OpenSim.world.Primitive;
|
||||
|
||||
namespace OpenSim.RegionServer.world.scripting
|
||||
{
|
||||
public delegate void ScriptEventHandler( IScriptContext context );
|
||||
public delegate void ScriptEventHandler(IScriptContext context);
|
||||
|
||||
public class ScriptHandler : IScriptContext
|
||||
public class ScriptHandler : IScriptContext, IScriptEntity, IScriptReadonlyEntity
|
||||
{
|
||||
private World m_world;
|
||||
private Script m_script;
|
||||
|
@ -29,7 +30,7 @@ namespace OpenSim.RegionServer.world.scripting
|
|||
m_script.OnFrame(this);
|
||||
}
|
||||
|
||||
public ScriptHandler( Script script, Entity entity, World world )
|
||||
public ScriptHandler(Script script, Entity entity, World world)
|
||||
{
|
||||
m_script = script;
|
||||
m_entity = entity;
|
||||
|
@ -38,22 +39,57 @@ namespace OpenSim.RegionServer.world.scripting
|
|||
|
||||
#region IScriptContext Members
|
||||
|
||||
bool IScriptContext.MoveTo(LLVector3 newPos)
|
||||
IScriptEntity IScriptContext.Entity
|
||||
{
|
||||
if (m_entity is Primitive)
|
||||
get
|
||||
{
|
||||
Primitive prim = m_entity as Primitive;
|
||||
// Of course, we really should have asked the physEngine if this is possible, and if not, returned false.
|
||||
prim.UpdatePosition( newPos );
|
||||
return true;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
bool IScriptContext.TryGetRandomAvatar(out IScriptReadonlyEntity avatar)
|
||||
{
|
||||
foreach (Entity entity in m_world.Entities.Values )
|
||||
{
|
||||
if( entity is Avatar )
|
||||
{
|
||||
avatar = entity;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
avatar = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
LLVector3 IScriptContext.GetPos()
|
||||
#endregion
|
||||
|
||||
#region IScriptEntity and IScriptReadonlyEntity Members
|
||||
|
||||
public string Name
|
||||
{
|
||||
return m_entity.position;
|
||||
get
|
||||
{
|
||||
return m_entity.Name;
|
||||
}
|
||||
}
|
||||
|
||||
public LLVector3 Pos
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_entity.Pos;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (m_entity is Primitive)
|
||||
{
|
||||
Primitive prim = m_entity as Primitive;
|
||||
// Of course, we really should have asked the physEngine if this is possible, and if not, returned false.
|
||||
prim.UpdatePosition( value );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -8,7 +8,6 @@ namespace OpenSim.RegionServer.world.scripting
|
|||
public class Script
|
||||
{
|
||||
private LLUUID m_scriptId;
|
||||
|
||||
public virtual LLUUID ScriptId
|
||||
{
|
||||
get
|
||||
|
|
198
OpenSim.sln
198
OpenSim.sln
|
@ -37,85 +37,121 @@ EndProject
|
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGridServices.GridServer", "OpenGridServices.GridServer\OpenGridServices.GridServer.csproj", "{21BFC8E2-0000-0000-0000-000000000000}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{438A9556-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{438A9556-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectDependencies) = postSolution
|
||||
({438A9556-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({438A9556-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({438A9556-0000-0000-0000-000000000000}).7 = ({8BE16150-0000-0000-0000-000000000000})
|
||||
({438A9556-0000-0000-0000-000000000000}).8 = ({8BB20F0A-0000-0000-0000-000000000000})
|
||||
({438A9556-0000-0000-0000-000000000000}).9 = ({632E1BFD-0000-0000-0000-000000000000})
|
||||
({63A05FE9-0000-0000-0000-000000000000}).2 = ({8BE16150-0000-0000-0000-000000000000})
|
||||
({E88EF749-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({8BE16150-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({8BE16150-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({66591469-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({66591469-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({83C87BE6-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({83C87BE6-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({4F874463-0000-0000-0000-000000000000}).2 = ({8BE16150-0000-0000-0000-000000000000})
|
||||
({B0027747-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({B0027747-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({8BB20F0A-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({8BB20F0A-0000-0000-0000-000000000000}).3 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({988F0AC4-0000-0000-0000-000000000000}).3 = ({8BE16150-0000-0000-0000-000000000000})
|
||||
({B55C0B5D-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({B55C0B5D-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({632E1BFD-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({632E1BFD-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({632E1BFD-0000-0000-0000-000000000000}).7 = ({E88EF749-0000-0000-0000-000000000000})
|
||||
({632E1BFD-0000-0000-0000-000000000000}).8 = ({8BE16150-0000-0000-0000-000000000000})
|
||||
({632E1BFD-0000-0000-0000-000000000000}).9 = ({8BB20F0A-0000-0000-0000-000000000000})
|
||||
({E1B79ECF-0000-0000-0000-000000000000}).4 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({E1B79ECF-0000-0000-0000-000000000000}).5 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({7E494328-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({7E494328-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({546099CD-0000-0000-0000-000000000000}).4 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({546099CD-0000-0000-0000-000000000000}).5 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
({21BFC8E2-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000})
|
||||
({21BFC8E2-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000})
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{438A9556-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{438A9556-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{83C87BE6-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4F874463-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B0027747-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E494328-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{546099CD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
Loading…
Reference in New Issue