Compare commits
106 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cf43817658 | |||
| 4769970715 | |||
| 3c8159220c | |||
| 2cbeef4c69 | |||
| 192de80782 | |||
| 51a588657e | |||
| 73716c28e2 | |||
| a3b7bd7df5 | |||
| 11025b5466 | |||
| eba36b8492 | |||
| 55854f5c0d | |||
| 12a181c1ff | |||
| b131f56f5e | |||
| 24aac6a00d | |||
| 45a92b362f | |||
| 2085d9ec9e | |||
| 6a3f585fb9 | |||
| 7b4826cb44 | |||
| 28d412f5c7 | |||
| 0e5f6da9a9 | |||
| 42b52a6766 | |||
| 9c2e459e0c | |||
| 8299b99e2f | |||
| c708f1582c | |||
| 782c1a388a | |||
| a188a3f7fa | |||
| ed7d00c1d8 | |||
| 9090be8acf | |||
| a3d4eb65d5 | |||
| 9b2a4be707 | |||
| 5474a18753 | |||
| 53cae25eb2 | |||
| 0a43f8104e | |||
| ca8b7cbee8 | |||
| be3cfef65f | |||
| 65f5bc673f | |||
| a22bc00d46 | |||
| 5bfcffc142 | |||
| 7054822be2 | |||
| ee92200300 | |||
| d3b1053f21 | |||
| 0c97ce7a4a | |||
| 13f020ddf5 | |||
| 8bcafc1151 | |||
| 65da634c71 | |||
| 97cbc55223 | |||
| c519ba2536 | |||
| 4b7613a659 | |||
| 7408da401b | |||
| a63ecb8133 | |||
| 788407b709 | |||
| 0e70dc6fa3 | |||
| 44302bb0f3 | |||
| 181017313d | |||
| 6615fe9438 | |||
| 113448dbf0 | |||
| 5c9616d4af | |||
| a954cbbf50 | |||
| dec2234019 | |||
| 0334ec3fa7 | |||
| 5fcd26cd3e | |||
| 8102f3a2ea | |||
| cbb17d22d4 | |||
| 8bed5194d8 | |||
| eb42217885 | |||
| 7e12d00874 | |||
| 505a6c7396 | |||
| 8866dd6054 | |||
| b6fd18baed | |||
| 4245264029 | |||
| d12246833e | |||
| 44baa47bba | |||
| b95c1fdfa4 | |||
| 7b348379ac | |||
| 6aeb281249 | |||
| 04f6233d99 | |||
| d6cc1eaac4 | |||
| d0de169613 | |||
| 79fe7693a6 | |||
| b6ba8a5bd7 | |||
| f8b9606cdf | |||
| 84fddf02e2 | |||
| d03b3fb071 | |||
| 7e92d6f53f | |||
| 47d2fb6a9b | |||
| 0c557317a9 | |||
| a304b00038 | |||
| ada1bac2a7 | |||
| 8cf9caf7aa | |||
| dd80323342 | |||
| af2f017cb4 | |||
| aa3b8cd652 | |||
| fcba0a28b8 | |||
| aacfc47fb5 | |||
| 680a12d88f | |||
| 46dff1a59c | |||
| 382e00cff4 | |||
| 77e1dacb6f | |||
| 37aa1eaa18 | |||
| 1411964dcf | |||
| 35269315cc | |||
| 8f8b64f99c | |||
| 923589524b | |||
| 00eeed2e20 | |||
| 0630885d92 | |||
| 3467315aef |
@@ -14,6 +14,9 @@ endif()
|
|||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
|
||||||
|
elseif(MSVC)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||||||
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#set(BUILD_SHARED_LIBS FALSE)
|
#set(BUILD_SHARED_LIBS FALSE)
|
||||||
@@ -34,6 +37,12 @@ foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
|
|||||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
|
||||||
endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES)
|
endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES)
|
||||||
|
|
||||||
|
# DEBUG definition
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
|
||||||
|
$<$<CONFIG:Debug>:DEBUG>
|
||||||
|
$<$<CONFIG:RelWithDebInfo>:DEBUG>
|
||||||
|
)
|
||||||
|
|
||||||
include(cotire)
|
include(cotire)
|
||||||
add_subdirectory(src/Engine)
|
add_subdirectory(src/Engine)
|
||||||
add_subdirectory(src/Game)
|
add_subdirectory(src/Game)
|
||||||
|
|||||||
+1
-1
Submodule assets updated: 068fbb2d20...c4898d8281
@@ -4,13 +4,14 @@
|
|||||||
#include "../Core/System.h"
|
#include "../Core/System.h"
|
||||||
#include "../Core/Octree.h"
|
#include "../Core/Octree.h"
|
||||||
#include "Collision.h"
|
#include "Collision.h"
|
||||||
|
#include "EntityAABB.h"
|
||||||
|
|
||||||
class CollidableOctreeSystem : public ImpureSystem, public PureSystem
|
class CollidableOctreeSystem : public ImpureSystem, public PureSystem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CollidableOctreeSystem(World* world, EventBroker* eventBroker, Octree<AABB>* octree)
|
CollidableOctreeSystem(World* world, EventBroker* eventBroker, Octree<EntityAABB>* octree, const std::string& componentType)
|
||||||
: System(world, eventBroker)
|
: System(world, eventBroker)
|
||||||
, PureSystem("Collidable")
|
, PureSystem(componentType)
|
||||||
, m_Octree(octree)
|
, m_Octree(octree)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
@@ -18,7 +19,7 @@ public:
|
|||||||
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& component, double dt) override;
|
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& component, double dt) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Octree<AABB>* m_Octree;
|
Octree<EntityAABB>* m_Octree;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
#include "../Core/Transform.h"
|
#include "../Core/Transform.h"
|
||||||
#include "../Core/Entity.h"
|
#include "../Core/Entity.h"
|
||||||
#include "../Core/EntityWrapper.h"
|
#include "../Core/EntityWrapper.h"
|
||||||
|
#include "EntityAABB.h"
|
||||||
|
|
||||||
class World;
|
class World;
|
||||||
struct ComponentWrapper;
|
struct ComponentWrapper;
|
||||||
@@ -58,10 +59,9 @@ bool AABBVsAABB(const AABB& a, const AABB& b);
|
|||||||
//Return true if the boxes are intersecting.
|
//Return true if the boxes are intersecting.
|
||||||
//Also outputs the minimum translation that box [a] would need in order to resolve collision.
|
//Also outputs the minimum translation that box [a] would need in order to resolve collision.
|
||||||
bool AABBVsAABB(const AABB& a, const AABB& b, glm::vec3& minimumTranslation);
|
bool AABBVsAABB(const AABB& a, const AABB& b, glm::vec3& minimumTranslation);
|
||||||
bool IsSameBoxProbably(const AABB& first, const AABB& second, const float epsilon = 0.0001f);
|
|
||||||
|
|
||||||
// Calculates an absolute AABB from an entity AABB component
|
// Calculates an absolute AABB from an entity AABB component
|
||||||
boost::optional<AABB> EntityAbsoluteAABB(EntityWrapper& entity);
|
boost::optional<EntityAABB> EntityAbsoluteAABB(EntityWrapper& entity);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,30 +7,23 @@
|
|||||||
#include "../Common.h"
|
#include "../Common.h"
|
||||||
#include "../Core/System.h"
|
#include "../Core/System.h"
|
||||||
#include "../Core/EventBroker.h"
|
#include "../Core/EventBroker.h"
|
||||||
#include "../Core/EKeyUp.h"
|
|
||||||
#include "../Core/Octree.h"
|
#include "../Core/Octree.h"
|
||||||
|
#include "EntityAABB.h"
|
||||||
|
|
||||||
class CollisionSystem : public PureSystem
|
class CollisionSystem : public PureSystem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CollisionSystem(World* world, EventBroker* eventBroker, Octree<AABB>* octree)
|
CollisionSystem(World* world, EventBroker* eventBroker, Octree<EntityAABB>* octree)
|
||||||
: System(world, eventBroker)
|
: System(world, eventBroker)
|
||||||
, PureSystem("Collidable")
|
, PureSystem("Collidable")
|
||||||
, m_Octree(octree)
|
, m_Octree(octree)
|
||||||
, zPress(false)
|
{ }
|
||||||
{
|
|
||||||
//TODO: Debug stuff, remove later.
|
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EKeyUp, &CollisionSystem::OnKeyUp);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& component, double dt) override;
|
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& component, double dt) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Octree<AABB>* m_Octree;
|
Octree<EntityAABB>* m_Octree;
|
||||||
bool zPress;
|
std::vector<EntityAABB> m_OctreeResult;
|
||||||
|
|
||||||
EventRelay<CollisionSystem, Events::KeyUp> m_EKeyUp;
|
|
||||||
bool OnKeyUp(const Events::KeyUp &event);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
#define Events_TriggerEnter_h__
|
#define Events_TriggerEnter_h__
|
||||||
|
|
||||||
#include "../Core/EventBroker.h"
|
#include "../Core/EventBroker.h"
|
||||||
#include "../Core/Entity.h"
|
#include "../Core/EntityWrapper.h"
|
||||||
|
|
||||||
namespace Events
|
namespace Events
|
||||||
{
|
{
|
||||||
@@ -11,27 +11,27 @@ namespace Events
|
|||||||
struct TriggerTouch : Event
|
struct TriggerTouch : Event
|
||||||
{
|
{
|
||||||
/** The id of the entity that touches the trigger. */
|
/** The id of the entity that touches the trigger. */
|
||||||
EntityID Entity;
|
EntityWrapper Entity;
|
||||||
/** The id of the trigger entity. */
|
/** The id of the trigger entity. */
|
||||||
EntityID Trigger;
|
EntityWrapper Trigger;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Thrown once, when an entity has completely left a trigger. */
|
/** Thrown once, when an entity has completely left a trigger. */
|
||||||
struct TriggerLeave : Event
|
struct TriggerLeave : Event
|
||||||
{
|
{
|
||||||
/** The id of the entity that left the trigger. */
|
/** The id of the entity that left the trigger. */
|
||||||
EntityID Entity;
|
EntityWrapper Entity;
|
||||||
/** The id of the trigger entity. */
|
/** The id of the trigger entity. */
|
||||||
EntityID Trigger;
|
EntityWrapper Trigger;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Thrown once, when an entity is completely contained inside a trigger. */
|
/** Thrown once, when an entity is completely contained inside a trigger. */
|
||||||
struct TriggerEnter : Event
|
struct TriggerEnter : Event
|
||||||
{
|
{
|
||||||
/** The id of the entity that entered the trigger. */
|
/** The id of the entity that entered the trigger. */
|
||||||
EntityID Entity;
|
EntityWrapper Entity;
|
||||||
/** The id of the trigger entity. */
|
/** The id of the trigger entity. */
|
||||||
EntityID Trigger;
|
EntityWrapper Trigger;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#ifndef EntityAABB_h__
|
||||||
|
#define EntityAABB_h__
|
||||||
|
|
||||||
|
#include "../Core/AABB.h"
|
||||||
|
#include "../Core/EntityWrapper.h"
|
||||||
|
|
||||||
|
struct EntityAABB : AABB
|
||||||
|
{
|
||||||
|
EntityAABB() = default;
|
||||||
|
|
||||||
|
EntityAABB(const glm::vec3& minPos, const glm::vec3& maxPos)
|
||||||
|
: AABB(minPos, maxPos)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
EntityAABB(const AABB& aabb)
|
||||||
|
: AABB(aabb)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
EntityWrapper Entity;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -8,13 +8,14 @@
|
|||||||
#include "../Core/EventBroker.h"
|
#include "../Core/EventBroker.h"
|
||||||
#include "../Core/Octree.h"
|
#include "../Core/Octree.h"
|
||||||
#include "ETrigger.h"
|
#include "ETrigger.h"
|
||||||
|
#include "EntityAABB.h"
|
||||||
|
|
||||||
class AABB;
|
class AABB;
|
||||||
|
|
||||||
class TriggerSystem : public PureSystem
|
class TriggerSystem : public PureSystem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TriggerSystem(World* world, EventBroker* eventBroker, Octree<AABB>* octree)
|
TriggerSystem(World* world, EventBroker* eventBroker, Octree<EntityAABB>* octree)
|
||||||
: System(world, eventBroker)
|
: System(world, eventBroker)
|
||||||
, PureSystem("Trigger")
|
, PureSystem("Trigger")
|
||||||
, m_Octree(octree)
|
, m_Octree(octree)
|
||||||
@@ -27,9 +28,10 @@ public:
|
|||||||
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& component, double dt) override;
|
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& component, double dt) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Octree<AABB>* m_Octree;
|
Octree<EntityAABB>* m_Octree;
|
||||||
std::unordered_map<EntityID, std::unordered_set<EntityID>> m_EntitiesTouchingTrigger;
|
std::vector<EntityAABB> m_OctreeOut;
|
||||||
std::unordered_map<EntityID, std::unordered_set<EntityID>> m_EntitiesCompletelyInTrigger;
|
std::unordered_map<EntityWrapper, std::unordered_set<EntityWrapper>> m_EntitiesTouchingTrigger;
|
||||||
|
std::unordered_map<EntityWrapper, std::unordered_set<EntityWrapper>> m_EntitiesCompletelyInTrigger;
|
||||||
|
|
||||||
//TODO: Only exists for debug purposes, remove later.
|
//TODO: Only exists for debug purposes, remove later.
|
||||||
EventRelay<TriggerSystem, Events::TriggerEnter> m_EEnter;
|
EventRelay<TriggerSystem, Events::TriggerEnter> m_EEnter;
|
||||||
@@ -40,13 +42,13 @@ private:
|
|||||||
bool OnLeave(const Events::TriggerLeave &event);
|
bool OnLeave(const Events::TriggerLeave &event);
|
||||||
|
|
||||||
//True if leave event was thrown.
|
//True if leave event was thrown.
|
||||||
bool throwLeaveIfWasInTrigger(std::unordered_set<EntityID>& triggerSet, EntityID pId, EntityID tId);
|
bool throwLeaveIfWasInTrigger(std::unordered_set<EntityWrapper>& triggerSet, EntityWrapper colliderENtity, EntityWrapper triggerEntity);
|
||||||
template<typename Event>
|
template<typename Event>
|
||||||
void publish(EntityID pId, EntityID tId)
|
void publish(EntityWrapper collider, EntityWrapper trigger)
|
||||||
{
|
{
|
||||||
Event e;
|
Event e;
|
||||||
e.Trigger = tId;
|
e.Trigger = trigger;
|
||||||
e.Entity = pId;
|
e.Entity = collider;
|
||||||
m_EventBroker->Publish(e);
|
m_EventBroker->Publish(e);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <array>
|
||||||
|
|
||||||
#include "Core/Util/Logging.h"
|
#include "Core/Util/Logging.h"
|
||||||
#include "Core/Util/IfDebug.h"
|
#include "Core/Util/IfDebug.h"
|
||||||
@@ -9,7 +9,6 @@ public:
|
|||||||
AABB() = default;
|
AABB() = default;
|
||||||
//No checks are made. Values in minPos must be less than values in maxPos, i.e. min.x < max.x, etc.
|
//No checks are made. Values in minPos must be less than values in maxPos, i.e. min.x < max.x, etc.
|
||||||
AABB(const glm::vec3& minPos, const glm::vec3& maxPos);
|
AABB(const glm::vec3& minPos, const glm::vec3& maxPos);
|
||||||
AABB(const glm::vec4& minPos, const glm::vec4& maxPos);
|
|
||||||
//No checks are made. Size must consist of non-negative numbers.
|
//No checks are made. Size must consist of non-negative numbers.
|
||||||
static AABB FromOriginSize(const glm::vec3& origin, const glm::vec3& size);
|
static AABB FromOriginSize(const glm::vec3& origin, const glm::vec3& size);
|
||||||
virtual ~AABB();
|
virtual ~AABB();
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ class ComponentWrapperFactory
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ComponentWrapperFactory() = default;
|
ComponentWrapperFactory() = default;
|
||||||
ComponentWrapperFactory(std::string componentTypeName, std::size_t allocation = 0)
|
ComponentWrapperFactory(std::string componentTypeName, unsigned int allocation = 0)
|
||||||
{
|
{
|
||||||
m_ComponentInfo.Name = componentTypeName;
|
m_ComponentInfo.Name = componentTypeName;
|
||||||
m_ComponentInfo.Meta->Allocation = allocation;
|
m_ComponentInfo.Meta->Allocation = allocation;
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ private:
|
|||||||
~EntityFile();
|
~EntityFile();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static std::size_t GetTypeStride(std::string typeName);
|
static unsigned int GetTypeStride(std::string typeName);
|
||||||
static void WriteAttributeData(char* outData, const ComponentInfo::Field_t& field, const std::map<std::string, std::string>& attributes);
|
static void WriteAttributeData(char* outData, const ComponentInfo::Field_t& field, const std::map<std::string, std::string>& attributes);
|
||||||
static void WriteValueData(char* outData, const ComponentInfo::Field_t& field, const char* valueData);
|
static void WriteValueData(char* outData, const ComponentInfo::Field_t& field, const char* valueData);
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ struct EntityWrapper
|
|||||||
|
|
||||||
static const EntityWrapper Invalid;
|
static const EntityWrapper Invalid;
|
||||||
|
|
||||||
|
const std::string Name();
|
||||||
bool HasComponent(const std::string& componentType);
|
bool HasComponent(const std::string& componentType);
|
||||||
EntityWrapper Parent();
|
EntityWrapper Parent();
|
||||||
EntityWrapper FirstChildByName(const std::string& name);
|
EntityWrapper FirstChildByName(const std::string& name);
|
||||||
@@ -34,7 +35,9 @@ struct EntityWrapper
|
|||||||
bool operator==(const EntityWrapper& e) const;
|
bool operator==(const EntityWrapper& e) const;
|
||||||
bool operator!=(const EntityWrapper& e) const;
|
bool operator!=(const EntityWrapper& e) const;
|
||||||
explicit operator EntityID() const;
|
explicit operator EntityID() const;
|
||||||
operator bool();
|
|
||||||
|
private:
|
||||||
|
EntityWrapper firstChildByNameRecursive(const std::string& name, EntityID parent);
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
|
|||||||
@@ -8,8 +8,10 @@
|
|||||||
namespace Transform
|
namespace Transform
|
||||||
{
|
{
|
||||||
|
|
||||||
|
glm::mat4 AbsoluteTransformation(EntityWrapper entity);
|
||||||
glm::vec3 AbsolutePosition(EntityWrapper entity);
|
glm::vec3 AbsolutePosition(EntityWrapper entity);
|
||||||
glm::vec3 AbsolutePosition(World* world, EntityID entity);
|
glm::vec3 AbsolutePosition(World* world, EntityID entity);
|
||||||
|
glm::vec3 AbsoluteOrientationEuler(EntityWrapper entity);
|
||||||
glm::quat AbsoluteOrientation(EntityWrapper entity);
|
glm::quat AbsoluteOrientation(EntityWrapper entity);
|
||||||
glm::quat AbsoluteOrientation(World* world, EntityID entity);
|
glm::quat AbsoluteOrientation(World* world, EntityID entity);
|
||||||
glm::vec3 AbsoluteScale(EntityWrapper entity);
|
glm::vec3 AbsoluteScale(EntityWrapper entity);
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ enum class FileWatcher::FileEventFlags
|
|||||||
};
|
};
|
||||||
|
|
||||||
inline FileWatcher::FileEventFlags operator|(FileWatcher::FileEventFlags a, FileWatcher::FileEventFlags b) { return static_cast<FileWatcher::FileEventFlags>(static_cast<int>(a) | static_cast<int>(b)); }
|
inline FileWatcher::FileEventFlags operator|(FileWatcher::FileEventFlags a, FileWatcher::FileEventFlags b) { return static_cast<FileWatcher::FileEventFlags>(static_cast<int>(a) | static_cast<int>(b)); }
|
||||||
inline bool operator&(FileWatcher::FileEventFlags a, FileWatcher::FileEventFlags b) { return static_cast<int>(a)& static_cast<int>(b); }
|
inline bool operator&(FileWatcher::FileEventFlags a, FileWatcher::FileEventFlags b) { return (static_cast<int>(a) & static_cast<int>(b)) != 0; }
|
||||||
|
|
||||||
class FileWatcher::Worker
|
class FileWatcher::Worker
|
||||||
{
|
{
|
||||||
@@ -54,7 +54,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
struct FileInfo
|
struct FileInfo
|
||||||
{
|
{
|
||||||
int Size;
|
std::size_t Size;
|
||||||
std::time_t Timestamp;
|
std::time_t Timestamp;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -29,41 +29,9 @@ enum _LOG_LEVEL
|
|||||||
|
|
||||||
extern _LOG_LEVEL LOG_LEVEL;
|
extern _LOG_LEVEL LOG_LEVEL;
|
||||||
|
|
||||||
const static char* _LOG_LEVEL_PREFIX[] =
|
extern const char* _LOG_LEVEL_PREFIX[];
|
||||||
{
|
|
||||||
"EE: ",
|
|
||||||
"",
|
|
||||||
"WW: ",
|
|
||||||
"DD: "
|
|
||||||
};
|
|
||||||
|
|
||||||
static void _LOG(_LOG_LEVEL logLevel, const char* file, const char* func, unsigned int line, const char* format, ...)
|
extern void _LOG(_LOG_LEVEL logLevel, const char* file, const char* func, unsigned int line, const char* format, ...);
|
||||||
{
|
|
||||||
if (logLevel > LOG_LEVEL) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
char* message = nullptr;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
size_t size = vsnprintf(message, 0, format, args) + 1;
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
message = new char[size];
|
|
||||||
vsnprintf(message, size, format, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
if (logLevel == LOG_LEVEL_ERROR) {
|
|
||||||
std::cerr << file << ":" << line << " " << func << std::endl;
|
|
||||||
std::cerr << _LOG_LEVEL_PREFIX[logLevel] << message << std::endl;
|
|
||||||
} else {
|
|
||||||
std::cout << _LOG_LEVEL_PREFIX[logLevel] << message << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
delete[] message;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define LOG(logLevel, format, ...) \
|
#define LOG(logLevel, format, ...) \
|
||||||
_LOG(logLevel, __BASE_FILE__, __func__, __LINE__, format, ##__VA_ARGS__)
|
_LOG(logLevel, __BASE_FILE__, __func__, __LINE__, format, ##__VA_ARGS__)
|
||||||
@@ -77,7 +45,11 @@ static void _LOG(_LOG_LEVEL logLevel, const char* file, const char* func, unsign
|
|||||||
#define LOG_INFO(format, ...) \
|
#define LOG_INFO(format, ...) \
|
||||||
LOG(LOG_LEVEL_INFO, format, ##__VA_ARGS__)
|
LOG(LOG_LEVEL_INFO, format, ##__VA_ARGS__)
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
#define LOG_DEBUG(format, ...) \
|
#define LOG_DEBUG(format, ...) \
|
||||||
LOG(LOG_LEVEL_DEBUG, format, ##__VA_ARGS__)
|
LOG(LOG_LEVEL_DEBUG, format, ##__VA_ARGS__)
|
||||||
|
#else
|
||||||
|
#define LOG_DEBUG(format, ...)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // Logging_h__
|
#endif // Logging_h__
|
||||||
@@ -23,7 +23,7 @@ public:
|
|||||||
m_SpeedMultiplier = m_Config->Get<float>("Editor.CameraSpeed", 3.f);
|
m_SpeedMultiplier = m_Config->Get<float>("Editor.CameraSpeed", 3.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual const glm::vec3 Movement() const override { return m_Movement * m_SpeedMultiplier; }
|
virtual const glm::vec3 Movement() const override { return m_Movement * static_cast<float>(m_SpeedMultiplier); }
|
||||||
|
|
||||||
void Enable() { m_Enabled = true; }
|
void Enable() { m_Enabled = true; }
|
||||||
void Disable() { m_Enabled = false; }
|
void Disable() { m_Enabled = false; }
|
||||||
@@ -69,7 +69,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
ConfigFile* m_Config;
|
ConfigFile* m_Config;
|
||||||
bool m_Enabled = false;
|
bool m_Enabled = false;
|
||||||
float m_SpeedMultiplier = 1.f;
|
double m_SpeedMultiplier = 1.f;
|
||||||
|
|
||||||
EventRelay<EventContext, Events::MousePress> m_EMousePress;
|
EventRelay<EventContext, Events::MousePress> m_EMousePress;
|
||||||
bool OnMousePress(const Events::MousePress& e)
|
bool OnMousePress(const Events::MousePress& e)
|
||||||
@@ -105,7 +105,7 @@ protected:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_SpeedMultiplier += e.DeltaY * (0.1f * m_SpeedMultiplier);
|
m_SpeedMultiplier += e.DeltaY * (0.1 * m_SpeedMultiplier);
|
||||||
m_Config->Set("Editor.CameraSpeed", m_SpeedMultiplier);
|
m_Config->Set("Editor.CameraSpeed", m_SpeedMultiplier);
|
||||||
m_Config->SaveToDisk();
|
m_Config->SaveToDisk();
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include <nativefiledialog/nfd.h>
|
#include <nativefiledialog/nfd.h>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <boost/any.hpp>
|
#include <boost/any.hpp>
|
||||||
|
#include <boost/algorithm/string/replace.hpp>
|
||||||
#include "../Common.h"
|
#include "../Common.h"
|
||||||
#include "../GLM.h"
|
#include "../GLM.h"
|
||||||
#include <glm/gtx/common.hpp>
|
#include <glm/gtx/common.hpp>
|
||||||
@@ -18,6 +19,8 @@
|
|||||||
#include "../Core/ResourceManager.h"
|
#include "../Core/ResourceManager.h"
|
||||||
#include "../Core/EPause.h"
|
#include "../Core/EPause.h"
|
||||||
#include "../Core/EKeyDown.h"
|
#include "../Core/EKeyDown.h"
|
||||||
|
#include "../Core/ELockMouse.h"
|
||||||
|
#include "../Core/EFileDropped.h"
|
||||||
#include "../Rendering/Texture.h"
|
#include "../Rendering/Texture.h"
|
||||||
|
|
||||||
class EditorGUI
|
class EditorGUI
|
||||||
@@ -32,6 +35,12 @@ public:
|
|||||||
Scale
|
Scale
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class WidgetSpace
|
||||||
|
{
|
||||||
|
Global,
|
||||||
|
Local
|
||||||
|
};
|
||||||
|
|
||||||
void Draw();
|
void Draw();
|
||||||
|
|
||||||
void SelectEntity(EntityWrapper entity);
|
void SelectEntity(EntityWrapper entity);
|
||||||
@@ -73,6 +82,9 @@ public:
|
|||||||
// Called when the user selects a widget mode.
|
// Called when the user selects a widget mode.
|
||||||
typedef std::function<void(WidgetMode)> OnWidgetMode_t;
|
typedef std::function<void(WidgetMode)> OnWidgetMode_t;
|
||||||
void SetWidgetModeCallback(OnWidgetMode_t f) { m_OnWidgetMode = f; }
|
void SetWidgetModeCallback(OnWidgetMode_t f) { m_OnWidgetMode = f; }
|
||||||
|
// Called when the user selects a widget space.
|
||||||
|
typedef std::function<void(WidgetSpace)> OnWidgetSpace_t;
|
||||||
|
void SetWidgetSpaceCallback(OnWidgetSpace_t f) { m_OnWidgetSpace = f; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
World* m_World;
|
World* m_World;
|
||||||
@@ -93,8 +105,12 @@ private:
|
|||||||
EntityWrapper m_CurrentlyDragging = EntityWrapper::Invalid;
|
EntityWrapper m_CurrentlyDragging = EntityWrapper::Invalid;
|
||||||
std::string m_LastErrorMessage;
|
std::string m_LastErrorMessage;
|
||||||
WidgetMode m_CurrentWidgetMode = WidgetMode::Translate;
|
WidgetMode m_CurrentWidgetMode = WidgetMode::Translate;
|
||||||
|
WidgetSpace m_CurrentWidgetSpace = WidgetSpace::Global;
|
||||||
std::set<std::string> m_ModalsToOpen;
|
std::set<std::string> m_ModalsToOpen;
|
||||||
std::map<std::string, boost::any> m_ModalData;
|
std::map<std::string, boost::any> m_ModalData;
|
||||||
|
std::string m_DroppedFile = "";
|
||||||
|
bool m_Paused = false;
|
||||||
|
bool m_MouseLocked = false;
|
||||||
|
|
||||||
// Callbacks
|
// Callbacks
|
||||||
OnEntitySelectedCallback_t m_OnEntitySelected = nullptr;
|
OnEntitySelectedCallback_t m_OnEntitySelected = nullptr;
|
||||||
@@ -107,10 +123,21 @@ private:
|
|||||||
OnComponentAttach_t m_OnComponentAttach = nullptr;
|
OnComponentAttach_t m_OnComponentAttach = nullptr;
|
||||||
OnComponentDelete_t m_OnComponentDelete = nullptr;
|
OnComponentDelete_t m_OnComponentDelete = nullptr;
|
||||||
OnWidgetMode_t m_OnWidgetMode = nullptr;
|
OnWidgetMode_t m_OnWidgetMode = nullptr;
|
||||||
|
OnWidgetSpace_t m_OnWidgetSpace = nullptr;
|
||||||
|
|
||||||
// Events
|
// Events
|
||||||
EventRelay<EditorGUI, Events::KeyDown> m_EKeyDown;
|
EventRelay<EditorGUI, Events::KeyDown> m_EKeyDown;
|
||||||
bool OnKeyDown(const Events::KeyDown& e);
|
bool OnKeyDown(const Events::KeyDown& e);
|
||||||
|
EventRelay<EditorGUI, Events::FileDropped> m_EFileDropped;
|
||||||
|
bool OnFileDropped(const Events::FileDropped& e);
|
||||||
|
EventRelay<EditorGUI, Events::Pause> m_EPause;
|
||||||
|
bool OnPause(const Events::Pause& e);
|
||||||
|
EventRelay<EditorGUI, Events::Resume> m_EResume;
|
||||||
|
bool OnResume(const Events::Resume& e);
|
||||||
|
EventRelay<EditorGUI, Events::LockMouse> m_ELockMouse;
|
||||||
|
bool OnLockMouse(const Events::LockMouse& e);
|
||||||
|
EventRelay<EditorGUI, Events::UnlockMouse> m_EUnlockMouse;
|
||||||
|
bool OnUnlockMouse(const Events::UnlockMouse& e);
|
||||||
|
|
||||||
// Utility functions
|
// Utility functions
|
||||||
boost::filesystem::path fileOpenDialog();
|
boost::filesystem::path fileOpenDialog();
|
||||||
@@ -118,6 +145,9 @@ private:
|
|||||||
const std::string formatEntityName(EntityWrapper entity);
|
const std::string formatEntityName(EntityWrapper entity);
|
||||||
GLuint tryLoadTexture(std::string filePath);
|
GLuint tryLoadTexture(std::string filePath);
|
||||||
void openModal(const std::string& modal);
|
void openModal(const std::string& modal);
|
||||||
|
void setWidgetMode(WidgetMode mode);
|
||||||
|
void toggleWidgetSpace();
|
||||||
|
static bool compareCharArray(const char* c1, const char* c2);
|
||||||
|
|
||||||
// Entity file handling methods
|
// Entity file handling methods
|
||||||
void entityImport(World* world);
|
void entityImport(World* world);
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ private:
|
|||||||
double m_LastTime = 0.f;
|
double m_LastTime = 0.f;
|
||||||
bool m_Enabled = true;
|
bool m_Enabled = true;
|
||||||
EditorGUI::WidgetMode m_WidgetMode = EditorGUI::WidgetMode::Translate;
|
EditorGUI::WidgetMode m_WidgetMode = EditorGUI::WidgetMode::Translate;
|
||||||
|
EditorGUI::WidgetSpace m_WidgetSpace = EditorGUI::WidgetSpace::Global;
|
||||||
EntityWrapper m_Widget = EntityWrapper::Invalid;
|
EntityWrapper m_Widget = EntityWrapper::Invalid;
|
||||||
EntityWrapper m_CurrentSelection = EntityWrapper::Invalid;
|
EntityWrapper m_CurrentSelection = EntityWrapper::Invalid;
|
||||||
|
|
||||||
@@ -57,6 +58,7 @@ private:
|
|||||||
void OnEntityChangeName(EntityWrapper entity, const std::string& name);
|
void OnEntityChangeName(EntityWrapper entity, const std::string& name);
|
||||||
void OnComponentAttach(EntityWrapper entity, const std::string& componentType);
|
void OnComponentAttach(EntityWrapper entity, const std::string& componentType);
|
||||||
void OnComponentDelete(EntityWrapper entity, const std::string& componentType);
|
void OnComponentDelete(EntityWrapper entity, const std::string& componentType);
|
||||||
|
void OnWidgetSpace(EditorGUI::WidgetSpace widgetSpace);
|
||||||
|
|
||||||
// Events
|
// Events
|
||||||
EventRelay<EditorSystem, Events::MousePress> m_EMousePress;
|
EventRelay<EditorSystem, Events::MousePress> m_EMousePress;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define Events_InputCommand_h__
|
#define Events_InputCommand_h__
|
||||||
|
|
||||||
#include "Core/EventBroker.h"
|
#include "Core/EventBroker.h"
|
||||||
|
#include "Core/EntityWrapper.h"
|
||||||
|
|
||||||
namespace Events
|
namespace Events
|
||||||
{
|
{
|
||||||
@@ -10,6 +11,7 @@ struct InputCommand : Event
|
|||||||
{
|
{
|
||||||
/** Numerical ID of the player. */
|
/** Numerical ID of the player. */
|
||||||
int PlayerID;
|
int PlayerID;
|
||||||
|
EntityWrapper Player;
|
||||||
/** The command that was sent. */
|
/** The command that was sent. */
|
||||||
std::string Command;
|
std::string Command;
|
||||||
/** The value of the command. */
|
/** The value of the command. */
|
||||||
|
|||||||
@@ -15,7 +15,11 @@ public:
|
|||||||
virtual const glm::vec3 Rotation() const { return m_Rotation; }
|
virtual const glm::vec3 Rotation() const { return m_Rotation; }
|
||||||
virtual bool Jumping() const { return m_Jumping; }
|
virtual bool Jumping() const { return m_Jumping; }
|
||||||
virtual bool Crouching() const { return m_Crouching; }
|
virtual bool Crouching() const { return m_Crouching; }
|
||||||
|
virtual bool DoubleJumping() const { return m_DoubleJumping; }
|
||||||
|
virtual void SetDoubleJumping(bool isDoubleJumping) {
|
||||||
|
m_DoubleJumping = isDoubleJumping;
|
||||||
|
}
|
||||||
|
|
||||||
void LockMouse();
|
void LockMouse();
|
||||||
void UnlockMouse();
|
void UnlockMouse();
|
||||||
virtual bool OnCommand(const Events::InputCommand& e) override;
|
virtual bool OnCommand(const Events::InputCommand& e) override;
|
||||||
@@ -27,8 +31,9 @@ protected:
|
|||||||
glm::vec3 m_Rotation;
|
glm::vec3 m_Rotation;
|
||||||
glm::vec3 m_Movement;
|
glm::vec3 m_Movement;
|
||||||
bool m_Jumping = false;
|
bool m_Jumping = false;
|
||||||
|
bool m_DoubleJumping = false;
|
||||||
bool m_Crouching = false;
|
bool m_Crouching = false;
|
||||||
|
|
||||||
EventRelay<EventContext, Events::LockMouse> m_ELockMouse;
|
EventRelay<EventContext, Events::LockMouse> m_ELockMouse;
|
||||||
bool OnLockMouse(const Events::LockMouse& e);
|
bool OnLockMouse(const Events::LockMouse& e);
|
||||||
EventRelay<EventContext, Events::UnlockMouse> m_EUnlockMouse;
|
EventRelay<EventContext, Events::UnlockMouse> m_EUnlockMouse;
|
||||||
@@ -36,7 +41,7 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <typename EventContext>
|
template <typename EventContext>
|
||||||
FirstPersonInputController<EventContext>::FirstPersonInputController(EventBroker* eventBroker, int playerID)
|
FirstPersonInputController<EventContext>::FirstPersonInputController(EventBroker* eventBroker, int playerID)
|
||||||
: InputController(eventBroker)
|
: InputController(eventBroker)
|
||||||
, m_PlayerID(playerID)
|
, m_PlayerID(playerID)
|
||||||
{
|
{
|
||||||
@@ -113,14 +118,14 @@ bool FirstPersonInputController<EventContext>::OnCommand(const Events::InputComm
|
|||||||
template <typename EventContext>
|
template <typename EventContext>
|
||||||
bool FirstPersonInputController<EventContext>::OnUnlockMouse(const Events::UnlockMouse& e)
|
bool FirstPersonInputController<EventContext>::OnUnlockMouse(const Events::UnlockMouse& e)
|
||||||
{
|
{
|
||||||
m_MouseLocked = false;
|
m_MouseLocked = false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename EventContext>
|
template <typename EventContext>
|
||||||
bool FirstPersonInputController<EventContext>::OnLockMouse(const Events::LockMouse& e)
|
bool FirstPersonInputController<EventContext>::OnLockMouse(const Events::LockMouse& e)
|
||||||
{
|
{
|
||||||
m_MouseLocked = true;
|
m_MouseLocked = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,14 +36,13 @@ private:
|
|||||||
boost::asio::ip::udp::socket m_Socket;
|
boost::asio::ip::udp::socket m_Socket;
|
||||||
|
|
||||||
// Sending message to server logic
|
// Sending message to server logic
|
||||||
int bytesRead = -1;
|
size_t bytesRead = 0;
|
||||||
char readBuf[INPUTSIZE] = { 0 };
|
char readBuf[INPUTSIZE] = { 0 };
|
||||||
|
|
||||||
// Packet loss logic
|
// Packet loss logic
|
||||||
PacketID m_PacketID = 0;
|
PacketID m_PacketID = 0;
|
||||||
PacketID m_PreviousPacketID = 0;
|
PacketID m_PreviousPacketID = 0;
|
||||||
PacketID m_SendPacketID = 0;
|
PacketID m_SendPacketID = 0;
|
||||||
AckBitPattern ackBitField = 0;
|
|
||||||
|
|
||||||
// Game logic
|
// Game logic
|
||||||
World* m_World;
|
World* m_World;
|
||||||
@@ -70,7 +69,7 @@ private:
|
|||||||
|
|
||||||
// Private member functions
|
// Private member functions
|
||||||
void readFromServer();
|
void readFromServer();
|
||||||
int receive(char* data);
|
size_t receive(char* data);
|
||||||
void send(Packet& packet);
|
void send(Packet& packet);
|
||||||
void connect();
|
void connect();
|
||||||
void disconnect();
|
void disconnect();
|
||||||
|
|||||||
@@ -11,12 +11,10 @@
|
|||||||
#include "Core/ConfigFile.h"
|
#include "Core/ConfigFile.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <bitset>
|
|
||||||
|
|
||||||
#define INPUTSIZE 4097
|
#define INPUTSIZE 32000
|
||||||
typedef unsigned int PlayerID;
|
typedef unsigned int PlayerID;
|
||||||
typedef unsigned int PacketID;
|
typedef unsigned int PacketID;
|
||||||
typedef unsigned int AckBitPattern;
|
|
||||||
|
|
||||||
class Network
|
class Network
|
||||||
{
|
{
|
||||||
@@ -31,7 +29,7 @@ protected:
|
|||||||
unsigned int m_SaveDataIntervalMs = 1000;
|
unsigned int m_SaveDataIntervalMs = 1000;
|
||||||
std::clock_t m_SaveDataTimer;
|
std::clock_t m_SaveDataTimer;
|
||||||
unsigned int m_MaxConnections;
|
unsigned int m_MaxConnections;
|
||||||
unsigned int m_TimeoutMs;
|
double m_TimeoutMs;
|
||||||
void saveToFile();
|
void saveToFile();
|
||||||
void updateNetworkData();
|
void updateNetworkData();
|
||||||
void initialize();
|
void initialize();
|
||||||
|
|||||||
@@ -3,16 +3,16 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
struct NetworkData {
|
struct NetworkData {
|
||||||
unsigned int TotalTime = 0;
|
double TotalTime = 0;
|
||||||
unsigned int TotalDataReceived = 0;
|
size_t TotalDataReceived = 0;
|
||||||
unsigned int TotalDataSent = 0;
|
size_t TotalDataSent = 0;
|
||||||
unsigned int AmountOfMessagesReceived = 0;
|
size_t AmountOfMessagesReceived = 0;
|
||||||
unsigned int AmountOfMessagesSent = 0;
|
unsigned int AmountOfMessagesSent = 0;
|
||||||
// Interval based
|
// Interval based
|
||||||
unsigned int DataReceivedThisInterval = 0;
|
size_t DataReceivedThisInterval = 0;
|
||||||
unsigned int DataSentThisInterval = 0;
|
size_t DataSentThisInterval = 0;
|
||||||
// pair: first=reveived, second=send
|
// pair: first=reveived, second=send
|
||||||
std::vector<std::pair<unsigned int, unsigned int>> BandwidthBytes;
|
std::vector<std::pair<size_t, size_t>> BandwidthBytes;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -11,12 +11,12 @@ class Packet
|
|||||||
public:
|
public:
|
||||||
// arg1: Type of message (Connect, Disconnect...)
|
// arg1: Type of message (Connect, Disconnect...)
|
||||||
// arg2: PacketID for identifying packet loss.
|
// arg2: PacketID for identifying packet loss.
|
||||||
Packet(MessageType type, unsigned int& packetID, unsigned int lastReceivedPacket, unsigned int ackBitField);
|
Packet(MessageType type, unsigned int& packetID);
|
||||||
// Used to create packet from already existing data buffer.
|
// Used to create packet from already existing data buffer.
|
||||||
Packet(char* data, const int sizeOfPacket);
|
Packet(char* data, const size_t sizeOfPacket);
|
||||||
Packet(MessageType type);
|
Packet(MessageType type);
|
||||||
~Packet();
|
~Packet();
|
||||||
void Init(MessageType type, unsigned int& packetID, unsigned int lastReceivedPacket, unsigned int ackBitField);
|
void Init(MessageType type, unsigned int& packetID);
|
||||||
|
|
||||||
// Add primitive types like int, float, char...
|
// Add primitive types like int, float, char...
|
||||||
template<typename T>
|
template<typename T>
|
||||||
@@ -50,21 +50,19 @@ public:
|
|||||||
// Pops the first element as if it was a string.
|
// Pops the first element as if it was a string.
|
||||||
std::string ReadString();
|
std::string ReadString();
|
||||||
char* ReadData(int SizeOfData);
|
char* ReadData(int SizeOfData);
|
||||||
// No purpose any more
|
void ChangePacketID(unsigned int& packetID);
|
||||||
//void ChangePacketID(unsigned int& packetID);
|
size_t Size() { return m_Offset; };
|
||||||
void ChangeHeaderInfo(unsigned int& packetID, unsigned int lastReceivedPacket, unsigned int ackBitField);
|
|
||||||
int Size() { return m_Offset; };
|
|
||||||
char* Data() { return m_Data; };
|
char* Data() { return m_Data; };
|
||||||
unsigned int DataReadSize() { return m_ReturnDataOffset; }
|
size_t DataReadSize() { return m_ReturnDataOffset; }
|
||||||
unsigned int MaxSize() { return m_MaxPacketSize; }
|
size_t MaxSize() { return m_MaxPacketSize; }
|
||||||
unsigned int HeaderSize() { return m_HeaderSize; }
|
size_t HeaderSize() { return m_HeaderSize; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
char* m_Data;
|
char* m_Data;
|
||||||
unsigned int m_ReturnDataOffset = 0;
|
size_t m_ReturnDataOffset = 0;
|
||||||
int m_Offset = 0;
|
size_t m_Offset = 0;
|
||||||
unsigned int m_MaxPacketSize = 512;
|
size_t m_MaxPacketSize = 512;
|
||||||
unsigned int m_HeaderSize = 0;
|
size_t m_HeaderSize = 0;
|
||||||
void resizeData();
|
void resizeData();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,7 @@ struct PlayerDefinition {
|
|||||||
::EntityID EntityID = EntityID_Invalid;
|
::EntityID EntityID = EntityID_Invalid;
|
||||||
std::string Name = "";
|
std::string Name = "";
|
||||||
boost::asio::ip::udp::endpoint Endpoint;
|
boost::asio::ip::udp::endpoint Endpoint;
|
||||||
// The ID of the last sent packet. (Local sequence number)
|
|
||||||
unsigned int PacketID;
|
unsigned int PacketID;
|
||||||
// The ID of the last received packet. (Remote sequence number)
|
|
||||||
// This is sent as the ackNumber.
|
|
||||||
unsigned int LastPacketReceivedID;
|
|
||||||
// The bit pattern of the last 32 received packets.
|
|
||||||
unsigned int AckBitField;
|
|
||||||
std::clock_t StopTime;
|
std::clock_t StopTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -34,15 +34,16 @@ private:
|
|||||||
|
|
||||||
// Sending messages to client logic
|
// Sending messages to client logic
|
||||||
std::map<PlayerID, PlayerDefinition> m_ConnectedPlayers;
|
std::map<PlayerID, PlayerDefinition> m_ConnectedPlayers;
|
||||||
|
// HACK: Fix INPUTSIZE
|
||||||
char readBuffer[INPUTSIZE] = { 0 };
|
char readBuffer[INPUTSIZE] = { 0 };
|
||||||
int bytesRead = 0;
|
size_t bytesRead = 0;
|
||||||
// time for previouse message
|
// time for previouse message
|
||||||
std::clock_t previousPingMessage = std::clock();
|
std::clock_t previousePingMessage = std::clock();
|
||||||
std::clock_t previousSnapshotMessage = std::clock();
|
std::clock_t previousSnapshotMessage = std::clock();
|
||||||
std::clock_t timOutTimer = std::clock();
|
std::clock_t timOutTimer = std::clock();
|
||||||
// How often we send messages (milliseconds)
|
// How often we send messages (milliseconds)
|
||||||
int pingIntervalMs;
|
float pingIntervalMs;
|
||||||
int snapshotInterval;
|
float snapshotInterval;
|
||||||
int checkTimeOutInterval = 100;
|
int checkTimeOutInterval = 100;
|
||||||
int m_NextPlayerID = 0;
|
int m_NextPlayerID = 0;
|
||||||
|
|
||||||
@@ -58,26 +59,25 @@ private:
|
|||||||
PacketID m_PreviousPacketID = 0;
|
PacketID m_PreviousPacketID = 0;
|
||||||
|
|
||||||
// Private member functions
|
// Private member functions
|
||||||
void addChildrenToPacket(Packet& packet, EntityID entityID);
|
size_t receive(char* data);
|
||||||
|
void readFromClients();
|
||||||
|
void send(PlayerID player, Packet& packet);
|
||||||
|
void send(Packet& packet);
|
||||||
void broadcast(Packet& packet);
|
void broadcast(Packet& packet);
|
||||||
|
void sendSnapshot();
|
||||||
|
void addChildrenToPacket(Packet& packet, EntityID entityID);
|
||||||
|
void sendPing();
|
||||||
void checkForTimeOuts();
|
void checkForTimeOuts();
|
||||||
void disconnect(PlayerID playerID);
|
void disconnect(PlayerID playerID);
|
||||||
void identifyPacketLoss();
|
|
||||||
void kick(PlayerID player);
|
|
||||||
int receive(char* data);
|
|
||||||
void readFromClients();
|
|
||||||
void send(PlayerID playerID, Packet& packet);
|
|
||||||
void send(Packet& packet);
|
|
||||||
void sendSnapshot();
|
|
||||||
void sendPing();
|
|
||||||
void parseClientPing(PlayerID playerID);
|
|
||||||
void parseConnect(Packet& packet, PlayerID playerID);
|
|
||||||
void parseDisconnect();
|
|
||||||
void parseMessageType(Packet& packet);
|
void parseMessageType(Packet& packet);
|
||||||
void parseOnInputCommand(Packet& packet);
|
void parseOnInputCommand(Packet& packet);
|
||||||
void parseOnPlayerDamage(Packet& packet);
|
void parseOnPlayerDamage(Packet& packet);
|
||||||
|
void parseConnect(Packet& packet);
|
||||||
|
void parseDisconnect();
|
||||||
|
void parseClientPing();
|
||||||
void parsePing();
|
void parsePing();
|
||||||
|
void identifyPacketLoss();
|
||||||
|
void kick(PlayerID player);
|
||||||
PlayerID GetPlayerIDFromEndpoint(boost::asio::ip::udp::endpoint endpoint);
|
PlayerID GetPlayerIDFromEndpoint(boost::asio::ip::udp::endpoint endpoint);
|
||||||
// Debug event
|
// Debug event
|
||||||
EventRelay<Server, Events::InputCommand> m_EInputCommand;
|
EventRelay<Server, Events::InputCommand> m_EInputCommand;
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#ifndef AnimationSystem_h__
|
||||||
|
#define AnimationSystem_h__
|
||||||
|
|
||||||
|
#include "GLM.h"
|
||||||
|
|
||||||
|
#include "Common.h"
|
||||||
|
#include "Core/System.h"
|
||||||
|
#include "Core/ResourceManager.h"
|
||||||
|
#include "Rendering/Model.h"
|
||||||
|
#include "Rendering/EAnimationComplete.h"
|
||||||
|
#include "Rendering/Skeleton.h"
|
||||||
|
|
||||||
|
class AnimationSystem : public PureSystem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AnimationSystem(World* world, EventBroker* eventBroker)
|
||||||
|
: System(world, eventBroker)
|
||||||
|
, PureSystem("Animation")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
~AnimationSystem() { }
|
||||||
|
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& animationComponent, double dt) override;
|
||||||
|
private:
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "ShaderProgram.h"
|
#include "ShaderProgram.h"
|
||||||
//#include "Util/UnorderedMapVec2.h"
|
//#include "Util/UnorderedMapVec2.h"
|
||||||
#include "Texture.h"
|
#include "Texture.h"
|
||||||
|
#include "imgui/imgui.h"
|
||||||
|
|
||||||
class DrawColorCorrectionPass
|
class DrawColorCorrectionPass
|
||||||
{
|
{
|
||||||
@@ -16,14 +17,13 @@ public:
|
|||||||
void InitializeFrameBuffers();
|
void InitializeFrameBuffers();
|
||||||
void InitializeShaderPrograms();
|
void InitializeShaderPrograms();
|
||||||
|
|
||||||
void Draw(GLuint sceneTexture, GLuint bloomTexture);
|
void Draw(GLuint sceneTexture, GLuint bloomTexture, GLfloat gamma, GLfloat exposure);
|
||||||
private:
|
private:
|
||||||
const IRenderer* m_Renderer;
|
const IRenderer* m_Renderer;
|
||||||
|
|
||||||
ShaderProgram* m_ColorCorrectionProgram;
|
ShaderProgram* m_ColorCorrectionProgram;
|
||||||
|
|
||||||
Model* m_ScreenQuad;
|
Model* m_ScreenQuad;
|
||||||
GLfloat m_Exposure;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -30,9 +30,18 @@ public:
|
|||||||
private:
|
private:
|
||||||
void GenerateTexture(GLuint* texture, GLenum wrapping, GLenum filtering, glm::vec2 dimensions, GLint internalFormat, GLint format, GLenum type) const;
|
void GenerateTexture(GLuint* texture, GLenum wrapping, GLenum filtering, glm::vec2 dimensions, GLint internalFormat, GLint format, GLenum type) const;
|
||||||
void GenerateMipMapTexture(GLuint* texture, GLenum wrapping, glm::vec2 dimensions, GLint format, GLenum type, GLint numMipMaps) const;
|
void GenerateMipMapTexture(GLuint* texture, GLenum wrapping, glm::vec2 dimensions, GLint format, GLenum type, GLint numMipMaps) const;
|
||||||
|
void DrawModelRenderQueues(std::list<std::shared_ptr<RenderJob>>& job, RenderScene& scene);
|
||||||
|
|
||||||
|
void BindExplosionUniforms(GLuint shaderHandle, std::shared_ptr<ExplosionEffectJob>& job, RenderScene& scene);
|
||||||
|
void BindModelUniforms(GLuint shaderHandle, std::shared_ptr<ModelJob>& job, RenderScene& scene);
|
||||||
|
|
||||||
|
void BindExplosionTextures(std::shared_ptr<ExplosionEffectJob>& job);
|
||||||
|
void BindModelTextures(std::shared_ptr<ModelJob>& job);
|
||||||
|
|
||||||
Texture* m_WhiteTexture;
|
Texture* m_WhiteTexture;
|
||||||
Texture* m_BlackTexture;
|
Texture* m_BlackTexture;
|
||||||
|
Texture* m_NeutralNormalTexture;
|
||||||
|
Texture* m_GreyTexture;
|
||||||
|
|
||||||
FrameBuffer m_FinalPassFrameBuffer;
|
FrameBuffer m_FinalPassFrameBuffer;
|
||||||
GLuint m_BloomTexture;
|
GLuint m_BloomTexture;
|
||||||
@@ -43,6 +52,7 @@ private:
|
|||||||
const LightCullingPass* m_LightCullingPass;
|
const LightCullingPass* m_LightCullingPass;
|
||||||
|
|
||||||
ShaderProgram* m_ForwardPlusProgram;
|
ShaderProgram* m_ForwardPlusProgram;
|
||||||
|
ShaderProgram* m_ExplosionEffectProgram;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#ifndef Events_AnimationComplete_h__
|
||||||
|
#define Events_AnimationComplete_h__
|
||||||
|
|
||||||
|
#include "../Core/EventBroker.h"
|
||||||
|
#include "../Core/EntityWrapper.h"
|
||||||
|
|
||||||
|
namespace Events
|
||||||
|
{
|
||||||
|
|
||||||
|
struct AnimationComplete : Event
|
||||||
|
{
|
||||||
|
EntityWrapper Entity;
|
||||||
|
std::string Name;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
#ifndef ExplosionEffectJob_h__
|
||||||
|
#define ExplosionEffectJob_h__
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
#include "../Common.h"
|
||||||
|
#include "../GLM.h"
|
||||||
|
#include "../Core/ComponentWrapper.h"
|
||||||
|
#include "Texture.h"
|
||||||
|
#include "Model.h"
|
||||||
|
#include "RenderJob.h"
|
||||||
|
#include "../Core/ResourceManager.h"
|
||||||
|
#include "Camera.h"
|
||||||
|
#include "../Core/World.h"
|
||||||
|
|
||||||
|
struct ExplosionEffectJob : ModelJob
|
||||||
|
{
|
||||||
|
ExplosionEffectJob(ComponentWrapper explosionEffectComponent, ::Model* model, Camera* camera, glm::mat4 matrix, ::RawModel::MaterialGroup matGroup, ComponentWrapper modelComponent, ::World* world, glm::vec4 fillColor, float fillPercentage)
|
||||||
|
: ModelJob(model, camera, matrix, matGroup, modelComponent, world, fillColor, fillPercentage)
|
||||||
|
{
|
||||||
|
ExplosionOrigin = (glm::vec3)explosionEffectComponent["ExplosionOrigin"];
|
||||||
|
TimeSinceDeath = (double)explosionEffectComponent["TimeSinceDeath"];
|
||||||
|
ExplosionDuration = (double)explosionEffectComponent["ExplosionDuration"];
|
||||||
|
EndColor = (glm::vec4)explosionEffectComponent["EndColor"];
|
||||||
|
Randomness = (bool)explosionEffectComponent["Randomness"];
|
||||||
|
RandomnessScalar = (double)explosionEffectComponent["RandomnessScalar"];
|
||||||
|
Velocity = (glm::vec2)explosionEffectComponent["Velocity"];
|
||||||
|
ColorByDistance = (bool)explosionEffectComponent["ColorByDistance"];
|
||||||
|
ExponentialAccelaration = (bool)explosionEffectComponent["ExponentialAccelaration"];
|
||||||
|
};
|
||||||
|
|
||||||
|
glm::vec3 ExplosionOrigin;
|
||||||
|
double TimeSinceDeath = 0.f; //Seconds
|
||||||
|
double ExplosionDuration = 2.f;
|
||||||
|
//bool Gravity = true;
|
||||||
|
//double GravityForce = 1.f; // Speed
|
||||||
|
//double ObjectRadius = 2.f; // TODO: Change this for object radius when it's available
|
||||||
|
glm::vec4 EndColor;
|
||||||
|
bool Randomness = false;
|
||||||
|
|
||||||
|
float RandomnessScalar = 1.f;
|
||||||
|
glm::vec2 Velocity;
|
||||||
|
bool ColorByDistance = false;
|
||||||
|
//bool ReverseAnimation = false;
|
||||||
|
//bool Wireframe = false;
|
||||||
|
bool ExponentialAccelaration = false;
|
||||||
|
|
||||||
|
std::array<float, 50> RandomNumbers = {
|
||||||
|
0.3257552917701f,
|
||||||
|
0.07601508315467f,
|
||||||
|
0.57408909014151f,
|
||||||
|
0.0f,
|
||||||
|
0.8618231368539f,
|
||||||
|
0.074957156588769f,
|
||||||
|
0.39413607511396f,
|
||||||
|
0.54579346698979f,
|
||||||
|
0.83222648353885f,
|
||||||
|
0.83635707285086f,
|
||||||
|
0.34473986148124f,
|
||||||
|
0.98092448710507f,
|
||||||
|
0.46346380070944f,
|
||||||
|
0.7308761201477f,
|
||||||
|
0.70832470371776f,
|
||||||
|
0.28268750909841f,
|
||||||
|
0.26291620883295f,
|
||||||
|
0.07685032816457f,
|
||||||
|
0.30760929515008f,
|
||||||
|
0.2781575388639f ,
|
||||||
|
0.016950582161988f ,
|
||||||
|
0.25787915254844f ,
|
||||||
|
0.76293767279151f ,
|
||||||
|
0.67730279903733f ,
|
||||||
|
0.49042877018937f ,
|
||||||
|
0.13002237823327f ,
|
||||||
|
0.62803373841012f ,
|
||||||
|
0.94525353747665f ,
|
||||||
|
0.32893980076953f ,
|
||||||
|
0.95952951719962f ,
|
||||||
|
0.056386206790985f ,
|
||||||
|
0.012030893476694f ,
|
||||||
|
0.93090049220757f,
|
||||||
|
0.83579883064879f,
|
||||||
|
0.79733513938139f,
|
||||||
|
0.8796381046435f ,
|
||||||
|
0.94160434600972f ,
|
||||||
|
0.76901855588379f ,
|
||||||
|
0.50253688101775f ,
|
||||||
|
0.82457069578793f ,
|
||||||
|
0.80157403359263f ,
|
||||||
|
0.87291810189975f ,
|
||||||
|
0.64679548919517f ,
|
||||||
|
0.42664138899494f ,
|
||||||
|
0.77171308303797f ,
|
||||||
|
0.75567959237643f ,
|
||||||
|
0.45190826265696f ,
|
||||||
|
0.59844922628181f ,
|
||||||
|
0.56534937655802f ,
|
||||||
|
0.195656257307f};
|
||||||
|
|
||||||
|
void CalculateHash() override
|
||||||
|
{
|
||||||
|
Hash = 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -25,21 +25,23 @@ class IRenderer
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GLFWwindow* Window() const { return m_Window; }
|
GLFWwindow* Window() const { return m_Window; }
|
||||||
|
//Returns screen size including window border and header
|
||||||
Rectangle Resolution() const { return m_Resolution; }
|
Rectangle Resolution() const { return m_Resolution; }
|
||||||
void SetResolution(const Rectangle& resolution) { m_Resolution = resolution; }
|
virtual void SetResolution(const Rectangle& resolution) { m_Resolution = resolution; }
|
||||||
bool Fullscreen() { return m_Fullscreen; }
|
bool Fullscreen() { return m_Fullscreen; }
|
||||||
void SetFullscreen(bool fullscreen) { m_Fullscreen = fullscreen; }
|
virtual void SetFullscreen(bool fullscreen) { m_Fullscreen = fullscreen; }
|
||||||
bool VSYNC() const { return m_VSYNC; }
|
bool VSYNC() const { return m_VSYNC; }
|
||||||
void SetVSYNC(bool vsync) { m_VSYNC = vsync; }
|
virtual void SetVSYNC(bool vsync) { m_VSYNC = vsync; }
|
||||||
|
//Returns screen size excluding window border and header
|
||||||
|
Rectangle GetViewportSize() const { return m_ViewportSize; }
|
||||||
virtual void Initialize() = 0;
|
virtual void Initialize() = 0;
|
||||||
virtual void Update(double dt) = 0;
|
virtual void Update(double dt) = 0;
|
||||||
virtual void Draw(RenderFrame& rq) = 0;
|
virtual void Draw(RenderFrame& rq) = 0;
|
||||||
virtual PickData Pick(glm::vec2 screenCord) = 0;
|
virtual PickData Pick(glm::vec2 screenCord) = 0;
|
||||||
|
|
||||||
World* m_World; //Temp world, untill viktor merge.
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Rectangle m_Resolution = Rectangle::Rectangle(1280, 720);
|
Rectangle m_Resolution = Rectangle::Rectangle(1280, 720);
|
||||||
|
Rectangle m_ViewportSize = Rectangle::Rectangle(1280, 720);
|
||||||
bool m_Fullscreen = false;
|
bool m_Fullscreen = false;
|
||||||
bool m_VSYNC = false;
|
bool m_VSYNC = false;
|
||||||
int m_GLVersion[2];
|
int m_GLVersion[2];
|
||||||
|
|||||||
@@ -13,18 +13,35 @@
|
|||||||
#include "Camera.h"
|
#include "Camera.h"
|
||||||
#include "../Core/World.h"
|
#include "../Core/World.h"
|
||||||
#include "../Core/Transform.h"
|
#include "../Core/Transform.h"
|
||||||
|
#include "Skeleton.h"
|
||||||
|
|
||||||
struct ModelJob : RenderJob
|
struct ModelJob : RenderJob
|
||||||
{
|
{
|
||||||
ModelJob(Model* model, Camera* camera, glm::mat4 matrix, ::RawModel::MaterialGroup matGroup, ComponentWrapper modelComponent, World* world)
|
ModelJob(Model* model, Camera* camera, glm::mat4 matrix, ::RawModel::MaterialGroup matGroup, ComponentWrapper modelComponent, World* world, glm::vec4 fillColor, float fillPercentage)
|
||||||
: RenderJob()
|
: RenderJob()
|
||||||
{
|
{
|
||||||
Model = model;
|
Model = model;
|
||||||
TextureID = (matGroup.Texture) ? matGroup.Texture->ResourceID : 0;
|
TextureID = (matGroup.Texture) ? matGroup.Texture->ResourceID : 0;
|
||||||
DiffuseTexture = matGroup.Texture.get();
|
if (modelComponent["DiffuseTexture"]) {
|
||||||
NormalTexture = matGroup.NormalMap.get();
|
DiffuseTexture = matGroup.Texture.get();
|
||||||
SpecularTexture = matGroup.SpecularMap.get();
|
} else {
|
||||||
IncandescenceTexture = matGroup.IncandescenceMap.get();
|
DiffuseTexture = nullptr;
|
||||||
|
}
|
||||||
|
if (modelComponent["NormalMap"]) {
|
||||||
|
NormalTexture = matGroup.NormalMap.get();
|
||||||
|
} else {
|
||||||
|
NormalTexture = nullptr;
|
||||||
|
}
|
||||||
|
if (modelComponent["SpecularMap"]) {
|
||||||
|
SpecularTexture = matGroup.SpecularMap.get();
|
||||||
|
} else {
|
||||||
|
SpecularTexture = nullptr;
|
||||||
|
}
|
||||||
|
if (modelComponent["GlowMap"]) {
|
||||||
|
IncandescenceTexture = matGroup.IncandescenceMap.get();
|
||||||
|
} else {
|
||||||
|
IncandescenceTexture = nullptr;
|
||||||
|
}
|
||||||
DiffuseColor = matGroup.DiffuseColor;
|
DiffuseColor = matGroup.DiffuseColor;
|
||||||
SpecularColor = matGroup.SpecularColor;
|
SpecularColor = matGroup.SpecularColor;
|
||||||
IncandescenceColor = matGroup.IncandescenceColor;
|
IncandescenceColor = matGroup.IncandescenceColor;
|
||||||
@@ -37,6 +54,16 @@ struct ModelJob : RenderJob
|
|||||||
glm::vec3 worldpos = glm::vec3(camera->ViewMatrix() * glm::vec4(abspos, 1));
|
glm::vec3 worldpos = glm::vec3(camera->ViewMatrix() * glm::vec4(abspos, 1));
|
||||||
Depth = worldpos.z;
|
Depth = worldpos.z;
|
||||||
World = world;
|
World = world;
|
||||||
|
|
||||||
|
FillColor = fillColor;
|
||||||
|
FillPercentage = fillPercentage;
|
||||||
|
Skeleton = Model->m_RawModel->m_Skeleton;
|
||||||
|
|
||||||
|
if (world->HasComponent(Entity, "Animation") && Skeleton != nullptr) {
|
||||||
|
auto animationComponent = world->GetComponent(Entity, "Animation");
|
||||||
|
Animation = model->m_RawModel->m_Skeleton->GetAnimation(animationComponent["Name"]);
|
||||||
|
AnimationTime = (double)animationComponent["Time"];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
unsigned int TextureID;
|
unsigned int TextureID;
|
||||||
@@ -51,6 +78,11 @@ struct ModelJob : RenderJob
|
|||||||
float Shininess = 0.f;
|
float Shininess = 0.f;
|
||||||
glm::vec4 Color;
|
glm::vec4 Color;
|
||||||
const ::Model* Model = nullptr;
|
const ::Model* Model = nullptr;
|
||||||
|
::Skeleton* Skeleton = nullptr;
|
||||||
|
const ::Skeleton::Animation* Animation = nullptr;
|
||||||
|
|
||||||
|
float AnimationTime = 0.f;
|
||||||
|
|
||||||
glm::vec4 DiffuseColor;
|
glm::vec4 DiffuseColor;
|
||||||
glm::vec4 SpecularColor;
|
glm::vec4 SpecularColor;
|
||||||
glm::vec4 IncandescenceColor;
|
glm::vec4 IncandescenceColor;
|
||||||
@@ -58,6 +90,9 @@ struct ModelJob : RenderJob
|
|||||||
unsigned int EndIndex = 0;
|
unsigned int EndIndex = 0;
|
||||||
World* World;
|
World* World;
|
||||||
|
|
||||||
|
glm::vec4 FillColor = glm::vec4(0);
|
||||||
|
float FillPercentage = 0.0;
|
||||||
|
|
||||||
void CalculateHash() override
|
void CalculateHash() override
|
||||||
{
|
{
|
||||||
Hash = TextureID;
|
Hash = TextureID;
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
#ifndef PickingPass_h__
|
#ifndef PickingPass_h__
|
||||||
#define PickingPass_h__
|
#define PickingPass_h__
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "IRenderer.h"
|
#include "IRenderer.h"
|
||||||
#include "PickingPassState.h"
|
#include "PickingPassState.h"
|
||||||
#include "FrameBuffer.h"
|
#include "FrameBuffer.h"
|
||||||
@@ -10,8 +8,7 @@
|
|||||||
#include "Util/UnorderedMapiVec2.h"
|
#include "Util/UnorderedMapiVec2.h"
|
||||||
#include "../Core/EventBroker.h"
|
#include "../Core/EventBroker.h"
|
||||||
#include "../Core/World.h"
|
#include "../Core/World.h"
|
||||||
|
#include "Rendering/Skeleton.h"
|
||||||
|
|
||||||
|
|
||||||
class PickingPass
|
class PickingPass
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -75,21 +75,21 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
void ReadMeshFile(std::string filePath);
|
void ReadMeshFile(std::string filePath);
|
||||||
void ReadMeshFileHeader(unsigned int& offset, char* fileData, unsigned int& fileByteSize);
|
void ReadMeshFileHeader(std::size_t& offset, char* fileData);
|
||||||
void ReadMesh(unsigned int& offset, char* fileData, unsigned int& fileByteSize);
|
void ReadMesh(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
|
||||||
void ReadVertices(unsigned int& offset, char* fileData, unsigned int& fileByteSize);
|
void ReadVertices(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
|
||||||
void ReadIndices(unsigned int& offset, char* fileData, unsigned int& fileByteSize);
|
void ReadIndices(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
|
||||||
|
|
||||||
void ReadMaterialFile(std::string filePath);
|
void ReadMaterialFile(std::string filePath);
|
||||||
void ReadMaterials(unsigned int &offset, char* fileData, unsigned int& fileByteSize);
|
void ReadMaterials(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
|
||||||
void ReadMaterialSingle(unsigned int &offset, char* fileData, unsigned int& fileByteSize);
|
void ReadMaterialSingle(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
|
||||||
|
|
||||||
void ReadAnimationFile(std::string filePath);
|
void ReadAnimationFile(std::string filePath);
|
||||||
void ReadAnimationBindPoses(unsigned int &offset, char* fileData, unsigned int& fileByteSize);
|
void ReadAnimationBindPoses(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
|
||||||
void ReadAnimationJoint(unsigned int &offset, char* fileData, unsigned int& fileByteSize);
|
void ReadAnimationJoint(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
|
||||||
void ReadAnimationClips(unsigned int &offset, char* fileData, unsigned int& fileByteSize, unsigned int numberOfClips);
|
void ReadAnimationClips(std::size_t& offset, char* fileData, const unsigned int& fileByteSize, unsigned int numberOfClips);
|
||||||
void ReadAnimationClipSingle(unsigned int &offset, char* fileData, unsigned int& fileByteSize, unsigned int clipIndex);
|
void ReadAnimationClipSingle(std::size_t& offset, char* fileData, const unsigned int& fileByteSize, unsigned int clipIndex);
|
||||||
void ReadAnimationKeyFrame(unsigned int &offset, char* fileData, unsigned int& fileByteSize, unsigned int numberOfJoints, Skeleton::Animation& animation);
|
void ReadAnimationKeyFrame(std::size_t& offset, char* fileData, const unsigned int& fileByteSize, unsigned int numberOfJoints, Skeleton::Animation& animation);
|
||||||
|
|
||||||
//void CreateSkeleton(std::vector<std::tuple<std::string, glm::mat4>> &boneInfo, std::map<std::string, int> &boneNameMapping, aiNode* node, int parentID);
|
//void CreateSkeleton(std::vector<std::tuple<std::string, glm::mat4>> &boneInfo, std::map<std::string, int> &boneNameMapping, aiNode* node, int parentID);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,20 +14,24 @@
|
|||||||
#include "TextJob.h"
|
#include "TextJob.h"
|
||||||
#include "PointLightJob.h"
|
#include "PointLightJob.h"
|
||||||
#include "DirectionalLightJob.h"
|
#include "DirectionalLightJob.h"
|
||||||
|
#include "ExplosionEffectJob.h"
|
||||||
|
|
||||||
struct RenderScene
|
struct RenderScene
|
||||||
{
|
{
|
||||||
::Camera* Camera = nullptr;
|
::Camera* Camera = nullptr;
|
||||||
std::list<std::shared_ptr<RenderJob>> ForwardJobs;
|
std::list<std::shared_ptr<RenderJob>> OpaqueObjects;
|
||||||
|
std::list<std::shared_ptr<RenderJob>> TransparentObjects;
|
||||||
std::list<std::shared_ptr<RenderJob>> PointLightJobs;
|
std::list<std::shared_ptr<RenderJob>> PointLightJobs;
|
||||||
std::list<std::shared_ptr<RenderJob>> TextJobs;
|
std::list<std::shared_ptr<RenderJob>> TextJobs;
|
||||||
std::list<std::shared_ptr<RenderJob>> DirectionalLightJobs;
|
std::list<std::shared_ptr<RenderJob>> DirectionalLightJobs;
|
||||||
Rectangle Viewport;
|
Rectangle Viewport;
|
||||||
bool ClearDepth = false;
|
bool ClearDepth = false;
|
||||||
|
glm::vec4 AmbientColor;
|
||||||
|
|
||||||
void Clear()
|
void Clear()
|
||||||
{
|
{
|
||||||
ForwardJobs.clear();
|
OpaqueObjects.clear();
|
||||||
|
TransparentObjects.clear();
|
||||||
PointLightJobs.clear();
|
PointLightJobs.clear();
|
||||||
TextJobs.clear();
|
TextJobs.clear();
|
||||||
DirectionalLightJobs.clear();
|
DirectionalLightJobs.clear();
|
||||||
@@ -37,6 +41,9 @@ struct RenderScene
|
|||||||
struct RenderFrame
|
struct RenderFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
//TODO: Getters
|
||||||
|
GLfloat Gamma = 2.2f;
|
||||||
|
GLfloat Exposure = 1.f;
|
||||||
|
|
||||||
void Add(RenderScene &scene)
|
void Add(RenderScene &scene)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -29,22 +29,25 @@ private:
|
|||||||
const IRenderer* m_Renderer;
|
const IRenderer* m_Renderer;
|
||||||
RenderFrame* m_RenderFrame;
|
RenderFrame* m_RenderFrame;
|
||||||
Camera* m_Camera;
|
Camera* m_Camera;
|
||||||
|
World* m_World;
|
||||||
EntityWrapper m_CurrentCamera = EntityWrapper::Invalid;
|
EntityWrapper m_CurrentCamera = EntityWrapper::Invalid;
|
||||||
EntityWrapper m_LocalPlayer = EntityWrapper::Invalid;
|
EntityWrapper m_LocalPlayer = EntityWrapper::Invalid;
|
||||||
|
|
||||||
EventRelay<RenderSystem, Events::SetCamera> m_ESetCamera;
|
EventRelay<RenderSystem, Events::SetCamera> m_ESetCamera;
|
||||||
bool OnSetCamera(Events::SetCamera &event);
|
bool OnSetCamera(Events::SetCamera &event);
|
||||||
|
EventRelay<RenderSystem, Events::InputCommand> m_EInputCommand;
|
||||||
|
bool OnInputCommand(const Events::InputCommand& e);
|
||||||
|
EventRelay<RenderSystem, Events::PlayerSpawned> m_EPlayerSpawned;
|
||||||
|
bool OnPlayerSpawned(Events::PlayerSpawned& e);
|
||||||
|
|
||||||
|
void fillModels(std::list<std::shared_ptr<RenderJob>>& opaqueJobs, std::list<std::shared_ptr<RenderJob>>& transparentJobs);
|
||||||
void fillText(std::list<std::shared_ptr<RenderJob>>& jobs, World* world);
|
void fillText(std::list<std::shared_ptr<RenderJob>>& jobs, World* world);
|
||||||
void fillPointLights(std::list<std::shared_ptr<RenderJob>>& jobs, World* world);
|
void fillPointLights(std::list<std::shared_ptr<RenderJob>>& jobs, World* world);
|
||||||
void fillDirectionalLights(std::list<std::shared_ptr<RenderJob>>& jobs, World* world);
|
void fillDirectionalLights(std::list<std::shared_ptr<RenderJob>>& jobs, World* world);
|
||||||
EventRelay<RenderSystem, Events::InputCommand> m_EInputCommand;
|
|
||||||
bool OnInputCommand(const Events::InputCommand& e);
|
|
||||||
|
|
||||||
void fillModels(std::list<std::shared_ptr<RenderJob>>& jobs);
|
|
||||||
void fillLight(std::list<std::shared_ptr<RenderJob>>& jobs);
|
void fillLight(std::list<std::shared_ptr<RenderJob>>& jobs);
|
||||||
|
bool isChildOfACamera(EntityWrapper entity);
|
||||||
|
bool isChildOfCurrentCamera(EntityWrapper entity);
|
||||||
|
|
||||||
EventRelay<RenderSystem, Events::PlayerSpawned> m_EPlayerSpawned;
|
|
||||||
bool OnPlayerSpawned(Events::PlayerSpawned& e);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -73,6 +73,8 @@ private:
|
|||||||
void GenerateTexture(GLuint* texture, GLenum wrapping, GLenum filtering, glm::vec2 dimensions, GLint internalFormat, GLint format, GLenum type);
|
void GenerateTexture(GLuint* texture, GLenum wrapping, GLenum filtering, glm::vec2 dimensions, GLint internalFormat, GLint format, GLenum type);
|
||||||
//--------------------ShaderPrograms-------------------//
|
//--------------------ShaderPrograms-------------------//
|
||||||
ShaderProgram* m_BasicForwardProgram;
|
ShaderProgram* m_BasicForwardProgram;
|
||||||
|
ShaderProgram* m_ExplosionEffectProgram;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -9,7 +9,7 @@ inline bool _GLERROR(const char* info, const char* file, const char* func, unsig
|
|||||||
GLenum error = glGetError();
|
GLenum error = glGetError();
|
||||||
if (error != GL_NO_ERROR)
|
if (error != GL_NO_ERROR)
|
||||||
{
|
{
|
||||||
_LOG(LOG_LEVEL_ERROR, file, func, line, "GL Error: %s, %i, %s", info, error, gluErrorString(error));
|
_LOG(LOG_LEVEL_ERROR, file, func, line, "GL Error: %s\nError code: %i, %s\n", info, error, gluErrorString(error));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
#include "Common.h"
|
||||||
|
#include "Core/System.h"
|
||||||
|
|
||||||
|
class ExplosionEffectSystem : public PureSystem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ExplosionEffectSystem(World* world, EventBroker* eventBroker)
|
||||||
|
: System(world, eventBroker)
|
||||||
|
, PureSystem("ExplosionEffect")
|
||||||
|
{ }
|
||||||
|
|
||||||
|
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& component, double dt) override
|
||||||
|
{
|
||||||
|
|
||||||
|
if ((double)component["TimeSinceDeath"] > (double)component["ExplosionDuration"]) {
|
||||||
|
(double)component["TimeSinceDeath"] = 0.f;
|
||||||
|
}
|
||||||
|
(double&)component["TimeSinceDeath"] += dt;
|
||||||
|
|
||||||
|
//if ((bool)Component["Gravity"] == true) {
|
||||||
|
// (bool)Component["ExponentialAccelaration"] = false;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
};
|
||||||
+5
-2
@@ -14,6 +14,7 @@
|
|||||||
#include "Core/EKeyDown.h"
|
#include "Core/EKeyDown.h"
|
||||||
#include "Core/EntityFilePreprocessor.h"
|
#include "Core/EntityFilePreprocessor.h"
|
||||||
#include "Core/SystemPipeline.h"
|
#include "Core/SystemPipeline.h"
|
||||||
|
#include "ExplosionEffectSystem.h"
|
||||||
#include "Editor/EditorSystem.h"
|
#include "Editor/EditorSystem.h"
|
||||||
#include "Core/EntityFile.h"
|
#include "Core/EntityFile.h"
|
||||||
#include "Rendering/RenderSystem.h"
|
#include "Rendering/RenderSystem.h"
|
||||||
@@ -21,6 +22,7 @@
|
|||||||
#include "Core/Octree.h"
|
#include "Core/Octree.h"
|
||||||
#include "Rendering/Font.h"
|
#include "Rendering/Font.h"
|
||||||
#include "Systems/InterpolationSystem.h"
|
#include "Systems/InterpolationSystem.h"
|
||||||
|
#include "Collision/EntityAABB.h"
|
||||||
// Network
|
// Network
|
||||||
#include <boost/thread.hpp>
|
#include <boost/thread.hpp>
|
||||||
#include "Network/Network.h"
|
#include "Network/Network.h"
|
||||||
@@ -48,8 +50,9 @@ private:
|
|||||||
InputProxy* m_InputProxy;
|
InputProxy* m_InputProxy;
|
||||||
GUI::Frame* m_FrameStack;
|
GUI::Frame* m_FrameStack;
|
||||||
World* m_World;
|
World* m_World;
|
||||||
Octree<AABB>* m_OctreeCollision;
|
Octree<EntityAABB>* m_OctreeCollision;
|
||||||
Octree<AABB>* m_OctreeFrustrumCulling;
|
Octree<EntityAABB>* m_OctreeTrigger;
|
||||||
|
Octree<EntityAABB>* m_OctreeFrustrumCulling;
|
||||||
SystemPipeline* m_SystemPipeline;
|
SystemPipeline* m_SystemPipeline;
|
||||||
RenderFrame* m_RenderFrame;
|
RenderFrame* m_RenderFrame;
|
||||||
// Network variables
|
// Network variables
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ private:
|
|||||||
int m_BlueTeamHomeCapturePoint = m_NotACapturePoint;
|
int m_BlueTeamHomeCapturePoint = m_NotACapturePoint;
|
||||||
|
|
||||||
int m_NumberOfCapturePoints = 0;
|
int m_NumberOfCapturePoints = 0;
|
||||||
std::map<int, EntityID> m_CapturePointNumberToEntityIDMap;
|
std::map<int, EntityWrapper> m_CapturePointNumberToEntityMap;
|
||||||
|
|
||||||
//std::vector<ComponentWrapper>
|
//std::vector<ComponentWrapper>
|
||||||
|
|
||||||
@@ -48,8 +48,8 @@ private:
|
|||||||
bool m_ResetTimers = false;
|
bool m_ResetTimers = false;
|
||||||
|
|
||||||
//vectors which will keep track of enter/leave changes
|
//vectors which will keep track of enter/leave changes
|
||||||
std::vector<std::tuple<EntityID, EntityID>> m_ETriggerTouchVector;
|
std::vector<std::tuple<EntityWrapper, EntityWrapper>> m_ETriggerTouchVector;
|
||||||
std::vector<std::tuple<EntityID, EntityID>> m_ETriggerLeaveVector;
|
std::vector<std::tuple<EntityWrapper, EntityWrapper>> m_ETriggerLeaveVector;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -24,7 +24,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
//methods which will take care of specific events
|
//methods which will take care of specific events
|
||||||
EventRelay<HealthSystem, Events::PlayerDamage> m_EPlayerDamage;
|
EventRelay<HealthSystem, Events::PlayerDamage> m_EPlayerDamage;
|
||||||
bool HealthSystem::OnPlayerDamaged(const Events::PlayerDamage& e);
|
bool HealthSystem::OnPlayerDamaged(Events::PlayerDamage& e);
|
||||||
EventRelay<HealthSystem, Events::PlayerHealthPickup> m_EPlayerHealthPickup;
|
EventRelay<HealthSystem, Events::PlayerHealthPickup> m_EPlayerHealthPickup;
|
||||||
bool HealthSystem::OnPlayerHealthPickup(const Events::PlayerHealthPickup& e);
|
bool HealthSystem::OnPlayerHealthPickup(const Events::PlayerHealthPickup& e);
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class InterpolationSystem : public PureSystem
|
|||||||
glm::vec3 Position;
|
glm::vec3 Position;
|
||||||
glm::vec3 Scale;
|
glm::vec3 Scale;
|
||||||
glm::quat Orientation;
|
glm::quat Orientation;
|
||||||
double interpolationTime;
|
float interpolationTime;
|
||||||
};
|
};
|
||||||
public:
|
public:
|
||||||
InterpolationSystem(World* world, EventBroker* eventBroker);
|
InterpolationSystem(World* world, EventBroker* eventBroker);
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#ifndef LifetimeSystem_h__
|
||||||
|
#define LifetimeSystem_h__
|
||||||
|
|
||||||
|
#include "Core/System.h"
|
||||||
|
|
||||||
|
class LifetimeSystem : public ImpureSystem, PureSystem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LifetimeSystem(World* world, EventBroker* eventBroker)
|
||||||
|
: System(world, eventBroker)
|
||||||
|
, PureSystem("Lifetime")
|
||||||
|
{ }
|
||||||
|
|
||||||
|
virtual void Update(double dt) override;
|
||||||
|
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& cLifetime, double dt) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::vector<EntityWrapper> m_Deletions;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#ifndef PlayerHUD_h__
|
||||||
|
#define PlayerHUD_h__
|
||||||
|
|
||||||
|
#include "../../Engine/Core/System.h"
|
||||||
|
#include "../../Engine/GLM.h"
|
||||||
|
#include "../../Engine/Rendering/ESetCamera.h"
|
||||||
|
#include <imgui/imgui.h>
|
||||||
|
|
||||||
|
class PlayerHUD : public ImpureSystem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PlayerHUD(World* world, EventBroker* eventBrokerer);
|
||||||
|
~PlayerHUD();
|
||||||
|
|
||||||
|
virtual void Update(double dt) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
World* m_World;
|
||||||
|
EventBroker* m_EventBroker;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
#include "Core/EShoot.h"
|
#include "Core/EShoot.h"
|
||||||
#include "Core/EPlayerSpawned.h"
|
#include "Core/EPlayerSpawned.h"
|
||||||
#include "Input/EInputCommand.h"
|
#include "Input/EInputCommand.h"
|
||||||
|
#include "Core/EntityFile.h"
|
||||||
|
#include "Core/EntityFileParser.h"
|
||||||
|
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
@@ -33,7 +35,7 @@ private:
|
|||||||
EventRelay<WeaponSystem, Events::PlayerSpawned> m_EPlayerSpawned;
|
EventRelay<WeaponSystem, Events::PlayerSpawned> m_EPlayerSpawned;
|
||||||
bool WeaponSystem::OnPlayerSpawned(const Events::PlayerSpawned& e);
|
bool WeaponSystem::OnPlayerSpawned(const Events::PlayerSpawned& e);
|
||||||
EventRelay<WeaponSystem, Events::Shoot> m_EShoot;
|
EventRelay<WeaponSystem, Events::Shoot> m_EShoot;
|
||||||
bool WeaponSystem::OnShoot(const Events::Shoot& e);
|
bool WeaponSystem::OnShoot(Events::Shoot& e);
|
||||||
EventRelay<WeaponSystem, Events::InputCommand> m_EInputCommand;
|
EventRelay<WeaponSystem, Events::InputCommand> m_EInputCommand;
|
||||||
bool WeaponSystem::OnInputCommand(const Events::InputCommand& e);
|
bool WeaponSystem::OnInputCommand(const Events::InputCommand& e);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,10 +15,6 @@ Space=Jump
|
|||||||
LeftControl=Crouch
|
LeftControl=Crouch
|
||||||
LeftShift=Sprint
|
LeftShift=Sprint
|
||||||
F1=ToggleEditor
|
F1=ToggleEditor
|
||||||
1=EditorToolMove
|
|
||||||
2=EditorToolRotate
|
|
||||||
3=EditorToolScale
|
|
||||||
X=EditorToggleTransformSpace
|
|
||||||
C=ConnectToServer
|
C=ConnectToServer
|
||||||
N=SwitchToServer
|
N=SwitchToServer
|
||||||
M=SwitchToClient
|
M=SwitchToClient
|
||||||
|
|||||||
@@ -11,7 +11,9 @@
|
|||||||
<xs:include schemaLocation="Components/AABB.xsd"/>
|
<xs:include schemaLocation="Components/AABB.xsd"/>
|
||||||
<xs:include schemaLocation="Components/PointLight.xsd"/>
|
<xs:include schemaLocation="Components/PointLight.xsd"/>
|
||||||
<xs:include schemaLocation="Components/DirectionalLight.xsd"/>
|
<xs:include schemaLocation="Components/DirectionalLight.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/SceneLight.xsd"/>
|
||||||
<xs:include schemaLocation="Components/Trigger.xsd"/>
|
<xs:include schemaLocation="Components/Trigger.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/ExplosionEffect.xsd"/>
|
||||||
<xs:include schemaLocation="Components/Health.xsd"/>
|
<xs:include schemaLocation="Components/Health.xsd"/>
|
||||||
<xs:include schemaLocation="Components/CapturePoint.xsd"/>
|
<xs:include schemaLocation="Components/CapturePoint.xsd"/>
|
||||||
<xs:include schemaLocation="Components/Listener.xsd"/>
|
<xs:include schemaLocation="Components/Listener.xsd"/>
|
||||||
@@ -23,4 +25,9 @@
|
|||||||
<xs:include schemaLocation="Components/Team.xsd"/>
|
<xs:include schemaLocation="Components/Team.xsd"/>
|
||||||
<xs:include schemaLocation="Components/UniformScale.xsd"/>
|
<xs:include schemaLocation="Components/UniformScale.xsd"/>
|
||||||
<xs:include schemaLocation="Components/EditorWidget.xsd"/>
|
<xs:include schemaLocation="Components/EditorWidget.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/HealthHUD.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/Animation.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/Fill.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/Lifetime.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/HiddenForLocalPlayer.xsd"/>
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Animation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Animation.xsd">
|
||||||
|
<Name></Name>
|
||||||
|
<Time>0</Time>
|
||||||
|
<Speed>0</Speed>
|
||||||
|
<Loop>true</Loop>
|
||||||
|
</Animation>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
|
||||||
|
<xs:element name="Animation">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="Name" type="t:string" minOccurs="0"/>
|
||||||
|
<xs:element name="Time" type="t:double" minOccurs="0"/>
|
||||||
|
<xs:element name="Speed" type="t:double" minOccurs="0"/>
|
||||||
|
<xs:element name="Loop" type="t:bool" minOccurs="0"/>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -2,22 +2,11 @@
|
|||||||
|
|
||||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
<xs:include schemaLocation="../Types/TeamEnum.xsd"/>
|
||||||
<xs:complexType name="TeamEnum" mixed="true">
|
|
||||||
<xs:complexContent>
|
|
||||||
<xs:extension base="t:enum">
|
|
||||||
<xs:choice>
|
|
||||||
<xs:element name="Spectator" type="xs:integer" fixed="1" minOccurs="0"/>
|
|
||||||
<xs:element name="Red" type="xs:integer" fixed="2" minOccurs="0"/>
|
|
||||||
<xs:element name="Blue" type="xs:integer" fixed="3" minOccurs="0"/>
|
|
||||||
</xs:choice>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:complexContent>
|
|
||||||
</xs:complexType>
|
|
||||||
|
|
||||||
<xs:element name="CapturePoint">
|
<xs:element name="CapturePoint">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>A Capture Point. Add a Team Component to specify who currently owns it</xs:documentation>
|
<xs:documentation>A Capture Point. Make sure to update the HomePoint,CapturePointNumber,Team for each</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:all>
|
<xs:all>
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<ExplosionEffect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ExplosionEffect.xsd">
|
||||||
|
<ExplosionOrigin X="0" Y="0" Z="0"/>
|
||||||
|
<TimeSinceDeath>0</TimeSinceDeath>
|
||||||
|
<ExplosionDuration>2</ExplosionDuration>
|
||||||
|
<!--<Gravity>1</Gravity>-->
|
||||||
|
<!--<GravityForce>1</GravityForce>-->
|
||||||
|
<!--<ObjectRadius>2</ObjectRadius>-->
|
||||||
|
<EndColor R="0" G="0" B="0" A="0"/>
|
||||||
|
<Randomness>0</Randomness>
|
||||||
|
<RandomnessScalar>1</RandomnessScalar>
|
||||||
|
<Velocity X="2" Y="2"/>
|
||||||
|
<ColorByDistance>0</ColorByDistance>
|
||||||
|
<!--<ReverseAnimation>0</ReverseAnimation>-->
|
||||||
|
<!--<Wireframe>0</Wireframe>-->
|
||||||
|
<ExponentialAccelaration>0</ExponentialAccelaration>
|
||||||
|
</ExplosionEffect>
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
|
||||||
|
<xs:element name="ExplosionEffect">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>A component that trigger the death effect</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="ExplosionOrigin" type="t:Vector" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>The position in which to spawn the component</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="TimeSinceDeath" type="t:double" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Seconds since death</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="ExplosionDuration" type="t:double" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>How many seconds the death animation should be</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<!--<xs:element name="Gravity" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Enable/disable gravity</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>-->
|
||||||
|
<!--<xs:element name="GravityForce" type="t:double" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>The force of the gravity</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>-->
|
||||||
|
<!--<xs:element name="ObjectRadius" type="t:double" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Object radius (TO BE REMOVED AND AUTOMATED)</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>-->
|
||||||
|
<xs:element name="EndColor" type="t:Color" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>The tint the polys end with</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Randomness" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Add some randomness to the explosion</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="RandomnessScalar" type="t:double" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Alter the power of the randomness</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Velocity" type="t:Vector" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>The velocity factors (start/end)</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="ColorByDistance" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Change the color by its moved distance instead of by its time</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<!--<xs:element name="ReverseAnimation" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Implosions are cooler</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>-->
|
||||||
|
<!--<xs:element name="Wireframe" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Enable/disable wireframe</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>-->
|
||||||
|
<xs:element name="ExponentialAccelaration" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Linear/Exponential accelaration</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Fill xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Fill.xsd">
|
||||||
|
<Percentage>0.0</Percentage>
|
||||||
|
<Color R="1" G="1" B="1" A="1"/>
|
||||||
|
</Fill>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
|
||||||
|
<xs:element name="Fill">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="Percentage" type="t:double" minOccurs="0"/>
|
||||||
|
<xs:element name="Color" type="t:Color" minOccurs="0"/>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<HealthHUD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HealthHUD.xsd"/>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
|
||||||
|
<xs:element name="HealthHUD">
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<HiddenForLocalPlayer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HiddenForLocalPlayer.xsd"/>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
|
||||||
|
<xs:element name="HiddenForLocalPlayer">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Used to make the entity invisible if it's parented to the current local player entity (for first person player model and such)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Lifetime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Lifetime.xsd">
|
||||||
|
<Lifetime>0</Lifetime>
|
||||||
|
</Lifetime>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
|
||||||
|
<xs:element name="Lifetime">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="Lifetime" type="t:double" minOccurs="0"/>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -2,5 +2,10 @@
|
|||||||
<Model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Model.xsd">
|
<Model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Model.xsd">
|
||||||
<Resource></Resource>
|
<Resource></Resource>
|
||||||
<Color R="1" G="1" B="1" A="1"/>
|
<Color R="1" G="1" B="1" A="1"/>
|
||||||
|
<Transparent>false</Transparent>
|
||||||
<Visible>true</Visible>
|
<Visible>true</Visible>
|
||||||
|
<DiffuseTexture>true</DiffuseTexture>
|
||||||
|
<NormalMap>true</NormalMap>
|
||||||
|
<SpecularMap>true</SpecularMap>
|
||||||
|
<GlowMap>true</GlowMap>
|
||||||
</Model>
|
</Model>
|
||||||
@@ -15,8 +15,23 @@
|
|||||||
<xs:element name="Color" type="t:Color" minOccurs="0">
|
<xs:element name="Color" type="t:Color" minOccurs="0">
|
||||||
<xs:annotation><xs:documentation>Color tint</xs:documentation></xs:annotation>
|
<xs:annotation><xs:documentation>Color tint</xs:documentation></xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element name="Transparent" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Wether the model is transparent or not</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="Visible" type="t:bool" minOccurs="0">
|
<xs:element name="Visible" type="t:bool" minOccurs="0">
|
||||||
<xs:annotation><xs:documentation>Wether the model is visible or not</xs:documentation></xs:annotation>
|
<xs:annotation><xs:documentation>Whether the model is visible or not</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="DiffuseTexture" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Whether the model should use the Diffuse texture or not</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="NormalMap" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Whether the model should use the Normalmap or not</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="SpecularMap" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Whether the model should use the Specularmap or not</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="GlowMap" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Whether the model should use the Glowmap or not</xs:documentation></xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:all>
|
</xs:all>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<SceneLight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SceneLight.xsd">
|
||||||
|
<AmbientColor R="0.2" G="0.2" B="0.2" A="1"/>
|
||||||
|
<Visible>true</Visible>
|
||||||
|
<Gamma>2.2</Gamma>
|
||||||
|
<Exposure>1</Exposure>
|
||||||
|
</SceneLight>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
<xs:element name="SceneLight">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Some settings for the scene lighting</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="AmbientColor" type="t:Color" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Color of the ambient light</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Visible" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Wether the ambient light should be applied or not</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Gamma" type="t:double" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Gamma correction for the scene</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Exposure" type="t:double" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>The exposure of the camera</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -2,18 +2,7 @@
|
|||||||
|
|
||||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
<xs:include schemaLocation="../Types/TeamEnum.xsd"/>
|
||||||
<xs:complexType name="TeamEnum" mixed="true">
|
|
||||||
<xs:complexContent>
|
|
||||||
<xs:extension base="t:enum">
|
|
||||||
<xs:choice>
|
|
||||||
<xs:element name="Spectator" type="xs:integer" fixed="1" minOccurs="0"/>
|
|
||||||
<xs:element name="Red" type="xs:integer" fixed="2" minOccurs="0"/>
|
|
||||||
<xs:element name="Blue" type="xs:integer" fixed="3" minOccurs="0"/>
|
|
||||||
</xs:choice>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:complexContent>
|
|
||||||
</xs:complexType>
|
|
||||||
|
|
||||||
<xs:element name="Team">
|
<xs:element name="Team">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>models/dummyscene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="-0" Z="0"/>
|
<Position X="0" Y="-0" Z="0"/>
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>models/animtest.</Resource>
|
<Resource>Models/Test/AnimTest.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.0966923237" Y="1.2939688" Z="0.399702221"/>
|
<Position X="-0.0966923237" Y="1.2939688" Z="0.399702221"/>
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>models/animTest.mesh</Resource>
|
<Resource>Models/Test/AnimTest.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="1.31816244" Z="1.1888907"/>
|
<Position X="0" Y="1.31816244" Z="1.1888907"/>
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>models/animTest.mesh</Resource>
|
<Resource>Models/Test/AnimTest.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0.708824873" Y="1.30000007" Z="0"/>
|
<Position X="0.708824873" Y="1.30000007" Z="0"/>
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>models/animTest.mesh</Resource>
|
<Resource>Models/Test/AnimTest.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="1.36948848" Y="1.20000005" Z="0"/>
|
<Position X="1.36948848" Y="1.20000005" Z="0"/>
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="AssetBase" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCylinder.mesh</Resource>
|
||||||
|
<Color A="1" B="1.56862748" G="1.56862748" R="1.56862748"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-0.231354833" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity name="Light">
|
||||||
|
<Components>
|
||||||
|
<c:PointLight/>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.663784981" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="RotationOrigin">
|
||||||
|
<Components>
|
||||||
|
<c:RaptorCopter>
|
||||||
|
<Speed>0.5</Speed>
|
||||||
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
|
</c:RaptorCopter>
|
||||||
|
<c:Transform>
|
||||||
|
<Orientation X="0" Y="28.7916641" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Asset">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="1" Z="0"/>
|
||||||
|
<Orientation X="0.524000049" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:CapturePoint/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Team/>
|
||||||
|
<c:Transform/>
|
||||||
|
<c:Trigger/>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children/>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/DummyScene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<HomePointForTeam>3</HomePointForTeam>
|
<HomePointForTeam>3</HomePointForTeam>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.200000003" R="0"/>
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<CapturePointNumber>1</CapturePointNumber>
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="1" R="1"/>
|
<Color A="1" B="0" G="1" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
<CapturePointNumber>2</CapturePointNumber>
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="1" R="0"/>
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
<CapturePointNumber>3</CapturePointNumber>
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -138,7 +138,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/DummyScene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<CaptureTimer>6.9158446328696002</CaptureTimer>
|
<CaptureTimer>6.9158446328696002</CaptureTimer>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="1" R="1"/>
|
<Color A="1" B="0" G="1" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<CapturePointNumber>1</CapturePointNumber>
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="1" R="0"/>
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<CapturePointNumber>2</CapturePointNumber>
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
<CapturePointNumber>3</CapturePointNumber>
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/DummyScene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<HomePointForTeam>3</HomePointForTeam>
|
<HomePointForTeam>3</HomePointForTeam>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.200000003" R="0"/>
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<CapturePointNumber>1</CapturePointNumber>
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="1" R="0"/>
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
<CapturePointNumber>2</CapturePointNumber>
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="1" R="1"/>
|
<Color A="1" B="0" G="1" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
<CapturePointNumber>3</CapturePointNumber>
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/DummyScene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<HomePointForTeam>3</HomePointForTeam>
|
<HomePointForTeam>3</HomePointForTeam>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.200000003" R="0"/>
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<CapturePointNumber>1</CapturePointNumber>
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="1" R="1"/>
|
<Color A="1" B="0" G="1" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
<CapturePointNumber>2</CapturePointNumber>
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="1" R="0"/>
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<CapturePointNumber>3</CapturePointNumber>
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<CapturePointNumber>4</CapturePointNumber>
|
<CapturePointNumber>4</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -176,7 +176,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -194,7 +194,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/DummyScene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<HomePointForTeam>3</HomePointForTeam>
|
<HomePointForTeam>3</HomePointForTeam>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.200000003" R="0"/>
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<CapturePointNumber>1</CapturePointNumber>
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="1" R="0"/>
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
<CapturePointNumber>2</CapturePointNumber>
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
<CapturePointNumber>3</CapturePointNumber>
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="1" R="1"/>
|
<Color A="1" B="0" G="1" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<CapturePointNumber>4</CapturePointNumber>
|
<CapturePointNumber>4</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -187,7 +187,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
<Color A="1" B="1" G="0.196078435" R="0.196078435"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
|
|||||||
@@ -0,0 +1,173 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.340887427" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:CapturePoint>
|
||||||
|
<HomePointForTeam>
|
||||||
|
<Red/>
|
||||||
|
</HomePointForTeam>
|
||||||
|
</c:CapturePoint>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="6.60000038" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
<c:Trigger/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:CapturePoint>
|
||||||
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
|
</c:CapturePoint>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Team/>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="4.46673203" Y="0" Z="3.50259304"/>
|
||||||
|
</c:Transform>
|
||||||
|
<c:Trigger/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:CapturePoint>
|
||||||
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
|
</c:CapturePoint>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Blue/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="3.00000024" Y="0" Z="0.113596022"/>
|
||||||
|
</c:Transform>
|
||||||
|
<c:Trigger/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:CapturePoint>
|
||||||
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
|
</c:CapturePoint>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Blue/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="1.75382805" Y="0" Z="0.0895374417"/>
|
||||||
|
</c:Transform>
|
||||||
|
<c:Trigger/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:CapturePoint>
|
||||||
|
<HomePointForTeam>
|
||||||
|
<Blue/>
|
||||||
|
</HomePointForTeam>
|
||||||
|
<CapturePointNumber>4</CapturePointNumber>
|
||||||
|
</c:CapturePoint>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Blue/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.56674248" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
<c:Trigger/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:Health/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Player/>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Blue/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="4.29100037" Y="-0.08556436" Z="1.29717529"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:AABB/>
|
||||||
|
<c:Health/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Player/>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="5.43557501" Y="0.888866663" Z="1.55849135"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.600000024" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
<Orientation X="0" Y="0" Z="0"/>
|
<Orientation X="0" Y="0" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/DummyScene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
<Scale X="2" Y="2" Z="2"/>
|
<Scale X="2" Y="2" Z="2"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/RotationWidgetX.mesh</Resource>
|
<Resource>Models/Widgets/Rotate/RotationWidgetX.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Trigger>
|
<c:Trigger>
|
||||||
</c:Trigger>
|
</c:Trigger>
|
||||||
|
|||||||
@@ -2,11 +2,13 @@
|
|||||||
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
<Components>
|
<Components>
|
||||||
<c:Transform/>
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-1" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
|
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity name="Ground">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
@@ -18,90 +20,320 @@
|
|||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity name="Listener">
|
||||||
<Components>
|
|
||||||
<c:Model>
|
|
||||||
<Resource>An error</Resource>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="1" Y="1" Z="0"/>
|
|
||||||
<Orientation X="0" Y="0.785390019" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children>
|
|
||||||
<Entity>
|
|
||||||
<Components>
|
|
||||||
<c:Model>
|
|
||||||
<Resource>An error</Resource>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="2" Y="0" Z="0"/>
|
|
||||||
<Orientation X="0" Y="0.785390019" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
</Children>
|
|
||||||
</Entity>
|
|
||||||
<Entity>
|
|
||||||
<Components>
|
<Components>
|
||||||
<c:Camera/>
|
<c:Camera/>
|
||||||
<c:Listener/>
|
<c:Listener/>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="1.36896265" Y="4.4259491" Z="10.6640663"/>
|
<Position X="1.36896265" Y="4.10503054" Z="10.6640663"/>
|
||||||
<Orientation X="-0.0349078141" Y="0.157154545" Z="-2.60252193e-07"/>
|
<Orientation X="-0.0349078141" Y="0.157154545" Z="-2.60252193e-07"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity name="DirectionalLight">
|
||||||
<Components>
|
<Components>
|
||||||
<c:DirectionalLight/>
|
<c:DirectionalLight>
|
||||||
|
<Intensity>0.80000001192092896</Intensity>
|
||||||
|
</c:DirectionalLight>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/DirectionalLightWidget.mesh</Resource>
|
<Resource>Models/Widgets/Lights/DirectionalLightWidget.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
|
<c:RaptorCopter>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="2.1529963" Y="6.59221172" Z="0.169116676"/>
|
<Position X="2.1529963" Y="6.59221172" Z="0.169116676"/>
|
||||||
<Orientation X="4.32000017" Y="4.6340003" Z="0"/>
|
<Orientation X="4.16300011" Y="7875.41211" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity name="AssaultTPose">
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:ExplosionEffect>
|
||||||
|
<ColorByDistance>true</ColorByDistance>
|
||||||
|
<Velocity X="0" Y="0" Z="0.300000012"/>
|
||||||
|
<ExplosionOrigin X="0" Y="1.30000007" Z="0"/>
|
||||||
|
<TimeSinceDeath>5.0498686575577523</TimeSinceDeath>
|
||||||
|
<ExplosionDuration>5</ExplosionDuration>
|
||||||
|
<EndColor A="1" B="1" G="0" R="0"/>
|
||||||
|
<RandomnessScalar>3</RandomnessScalar>
|
||||||
|
</c:ExplosionEffect>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Assault.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-2.00568962" Y="0.527161121" Z="0"/>
|
<Position X="-1.68900967" Y="0.527161121" Z="-1.59648728"/>
|
||||||
|
<Orientation X="0" Y="1.64900005" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity name="SecondaryWeapon">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/SecondaryWeapon.fbx</Resource>
|
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
|
||||||
|
<Transparent>true</Transparent>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.546139359" Y="0.853016734" Z="0.177482292"/>
|
<Position X="-0.560000002" Y="0.754308224" Z="0.181485131"/>
|
||||||
<Orientation X="1.47266471" Y="0.524984181" Z="1.243698"/>
|
<Orientation X="0.989000022" Y="0" Z="6.10900021"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="SecondaryWeaponRed">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Weapons/Red/DefenderGunRed.mesh</Resource>
|
||||||
|
<Transparent>true</Transparent>
|
||||||
|
<NormalMap>false</NormalMap>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.515922487" Y="0.787437975" Z="0.132855967"/>
|
||||||
|
<Orientation X="0.989000022" Y="0" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity name="AnimationGroupOrigin">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="1.11190474" Y="0.490183681" Z="0"/>
|
||||||
|
<Orientation X="0" Y="1.02100003" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="RunAnim">
|
||||||
|
<Components>
|
||||||
|
<c:Animation>
|
||||||
|
<Name>Run</Name>
|
||||||
|
<Time>0.17818245776980568</Time>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
</c:Animation>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.786919653" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Walkanim">
|
||||||
|
<Components>
|
||||||
|
<c:Animation>
|
||||||
|
<Name>Walk</Name>
|
||||||
|
<Time>0.34546191187031372</Time>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
</c:Animation>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="UnitSphere">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="0.294117659" B="19.6078434" G="1.17647064" R="0.0392156877"/>
|
||||||
|
<Transparent>true</Transparent>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.754540265" Z="0"/>
|
||||||
|
<Scale X="0.800000012" Y="1.9000001" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Log">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Props/TreeLog.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="3.70000029" Z="0"/>
|
<Position X="-4" Y="0.698000014" Z="-1"/>
|
||||||
|
<Orientation X="0" Y="2.74900007" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
|
<Entity name="SpheresOrigin">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="6.80000019" Y="4.9000001" Z="-5.9000001"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="CombinedSpheres">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Test/NormSpecIncdMapSphere.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="RotationPoint">
|
||||||
|
<Components>
|
||||||
|
<c:RaptorCopter>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
<Axis X="1" Y="1" Z="1"/>
|
||||||
|
</c:RaptorCopter>
|
||||||
|
<c:Transform>
|
||||||
|
<Orientation X="6484.80273" Y="6484.80273" Z="6484.80273"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="PointLight">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:PointLight>
|
||||||
|
<Radius>3</Radius>
|
||||||
|
<Intensity>1.1399998664855957</Intensity>
|
||||||
|
</c:PointLight>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-1.70000005" Y="0" Z="0"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="PointLight">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:PointLight>
|
||||||
|
<Radius>5.0100002288818359</Radius>
|
||||||
|
<Intensity>0.69999998807907104</Intensity>
|
||||||
|
</c:PointLight>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.900000036" Y="1.10000002" Z="0"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="PointLight">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:PointLight>
|
||||||
|
<Radius>4</Radius>
|
||||||
|
<Intensity>0.80000001192092896</Intensity>
|
||||||
|
</c:PointLight>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.400000006" Y="-1" Z="-1.50000012"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="SphereRotationOrigin">
|
||||||
|
<Components>
|
||||||
|
<c:RaptorCopter>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
|
</c:RaptorCopter>
|
||||||
|
<c:Transform>
|
||||||
|
<Orientation X="0" Y="6281.02246" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="NormalSphere">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Test/NormalMapSphere.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="1.82700014" Y="0" Z="-0.166000009"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="SpecularSphere">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Test/SpecularMapSphere.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-1.06487739" Y="0" Z="1.52336037"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Rotationpoint">
|
||||||
|
<Components>
|
||||||
|
<c:RaptorCopter>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
<Axis X="0.699999988" Y="1" Z="0.300000012"/>
|
||||||
|
</c:RaptorCopter>
|
||||||
|
<c:Transform>
|
||||||
|
<Orientation X="4905.44824" Y="7008.50781" Z="2103.03223"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="PointLight">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:PointLight>
|
||||||
|
<Radius>3</Radius>
|
||||||
|
<Intensity>1.1399998664855957</Intensity>
|
||||||
|
</c:PointLight>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.600000024" Y="0.5" Z="0"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="GlowMap">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Test/IncandescenceMapSphere.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-1.10000002" Y="0" Z="-1.80000007"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="SceneColors">
|
||||||
|
<Components>
|
||||||
|
<c:SceneLight>
|
||||||
|
<Gamma>1.3999999761581421</Gamma>
|
||||||
|
</c:SceneLight>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
|
|
||||||
</Entity>
|
</Entity>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<Axis X="1" Y="0" Z="0"/>
|
<Axis X="1" Y="0" Z="0"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/RotationWidgetX.mesh</Resource>
|
<Resource>Models/Widgets/Rotate/RotationWidgetX.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/RotationWidgetY.mesh</Resource>
|
<Resource>Models/Widgets/Rotate/RotationWidgetY.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<Axis X="0" Y="0" Z="1"/>
|
<Axis X="0" Y="0" Z="1"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/RotationWidgetZ.mesh</Resource>
|
<Resource>Models/Widgets/Rotate/RotationWidgetZ.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/ScaleWidgetOrigin.mesh</Resource>
|
<Resource>Models/Widgets/Scale/ScalingWidgetOrigin.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
<c:UniformScale>
|
<c:UniformScale>
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
</Type>
|
</Type>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/ScaleWidgetX.mesh</Resource>
|
<Resource>Models/Widgets/Scale/ScalingWidgetX.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
</Type>
|
</Type>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/ScaleWidgetY.mesh</Resource>
|
<Resource>Models/Widgets/Scale/ScalingWidgetY.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
</Type>
|
</Type>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/ScaleWidgetZ.mesh</Resource>
|
<Resource>Models/Widgets/Scale/ScalingWidgetZ.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/TranslationWidgetOrigin.mesh</Resource>
|
<Resource>Models/Widgets/Translate/TranslationWidgetOrigin.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
<c:UniformScale>
|
<c:UniformScale>
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
<Axis X="1" Y="0" Z="0"/>
|
<Axis X="1" Y="0" Z="0"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/TranslationWidgetX.mesh</Resource>
|
<Resource>Models/Widgets/Translate/TranslationWidgetX.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/TranslationWidgetY.mesh</Resource>
|
<Resource>Models/Widgets/Translate/TranslationWidgetY.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<Axis X="0" Y="0" Z="1"/>
|
<Axis X="0" Y="0" Z="1"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/TranslationWidgetZ.mesh</Resource>
|
<Resource>Models/Widgets/Translate/TranslationWidgetZ.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
<Axis X="0" Y="1" Z="1"/>
|
<Axis X="0" Y="1" Z="1"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/WidgetPlaneX.mesh</Resource>
|
<Resource>Models/Widgets/Translate/TranslationWidgetPlaneX.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<Axis X="1" Y="0" Z="1"/>
|
<Axis X="1" Y="0" Z="1"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/WidgetPlaneY.mesh</Resource>
|
<Resource>Models/Widgets/Translate/TranslationWidgetPlaneY.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -78,21 +78,12 @@
|
|||||||
<Axis X="1" Y="1" Z="0"/>
|
<Axis X="1" Y="1" Z="0"/>
|
||||||
</c:EditorWidget>
|
</c:EditorWidget>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/WidgetPlaneZ.mesh</Resource>
|
<Resource>Models/Widgets/Translate/TranslationWidgetPlaneZ.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity name="Light">
|
|
||||||
<Components>
|
|
||||||
<c:PointLight/>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="0.400000006" Y="0.400000006" Z="0.400000006"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
</Children>
|
</Children>
|
||||||
|
|
||||||
</Entity>
|
</Entity>
|
||||||
|
|||||||
@@ -5,16 +5,6 @@
|
|||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
|
|
||||||
<Children>
|
<Children/>
|
||||||
<Entity>
|
|
||||||
<Components>
|
|
||||||
<c:Model>
|
|
||||||
<Resource></Resource>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform/>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
</Children>
|
|
||||||
|
|
||||||
</Entity>
|
</Entity>
|
||||||
|
|||||||
@@ -0,0 +1,78 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="GotToGoFast" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-0.00432979874" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="1" G="39.2156868" R="392.15686"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:RaptorCopter>
|
||||||
|
<Axis X="1.50000012" Y="-2.20000005" Z="2.10000014"/>
|
||||||
|
</c:RaptorCopter>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="2.87819886" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Animation>
|
||||||
|
<Name>Run</Name>
|
||||||
|
<Time>0.56277947897317659</Time>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
</c:Animation>
|
||||||
|
<c:ExplosionEffect>
|
||||||
|
<Velocity X="0" Y="1.10000002" Z="3.30000019"/>
|
||||||
|
<ExplosionOrigin X="-0.600000024" Y="1" Z="0"/>
|
||||||
|
<TimeSinceDeath>0.95625903442123672</TimeSinceDeath>
|
||||||
|
<EndColor A="0" B="0.815686285" G="1" R="0"/>
|
||||||
|
</c:ExplosionEffect>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/AssaultAnimated.mesh</Resource>
|
||||||
|
<Color A="1" B="392156.875" G="1" R="1"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.5" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew pew </Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,60</Resource>
|
||||||
|
<Color A="0" B="0.972549021" G="3.92156863" R="39.2156868"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.245514169" Y="0.817000031" Z="-0.883219421"/>
|
||||||
|
<Scale X="0.300000012" Y="0.300000012" Z="1"/>
|
||||||
|
<Orientation X="0" Y="1.52600002" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:DirectionalLight/>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<Entity name="Scenemesh">
|
<Entity name="Scenemesh">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models\MapVersion1.mesh</Resource>
|
<Resource>Models/LevelBase/MapVersion1.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
<Intensity>2</Intensity>
|
<Intensity>2</Intensity>
|
||||||
</c:DirectionalLight>
|
</c:DirectionalLight>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/DirectionalLightWidget.mesh</Resource>
|
<Resource>Models/Widgets/Lights/DirectionalLightWidget.mesh</Resource>
|
||||||
<Visible>false</Visible>
|
<Visible>false</Visible>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -123,6 +123,121 @@
|
|||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
|
<Entity name="BluSpawn">
|
||||||
|
<Components>
|
||||||
|
<c:PlayerSpawn/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</c:Model>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Blue/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="57.7363472" Y="1.18853188" Z="79.5"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-2.05988312" Y="0" Z="2.79573512"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="1.85022807" Y="0" Z="-2.08909845"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="2.98651481" Y="0" Z="-4.67667246"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-5.16323137" Y="0" Z="3.62892342"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="RedSpawn">
|
||||||
|
<Components>
|
||||||
|
<c:PlayerSpawn/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</c:Model>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-60.2567062" Y="1.60000002" Z="-78.1000061"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0" Z="2.24403"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="2.20245028" Y="0" Z="-1.97843659"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="4.79769945" Y="0" Z="-5.2088728"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
|
|
||||||
</Entity>
|
</Entity>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>models/animTest.mesh</Resource>
|
<Resource>Models/Test/AnimTest.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:SpawnPoint/>
|
<c:SpawnPoint/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Assault.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0" R="1"/>
|
<Color A="1" B="0" G="0" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:SpawnPoint/>
|
<c:SpawnPoint/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Assault.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
<Color A="1" B="0.0117647061" G="0" R="1"/>
|
<Color A="1" B="0.0117647061" G="0" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:DirectionalLight/>
|
<c:DirectionalLight/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/DirectionalLightWidget.mesh</Resource>
|
<Resource>sModels/Widgets/Lights/DirectionalLightWidget.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-6.00145912" Y="1.42697716" Z="3.04144025"/>
|
<Position X="-6.00145912" Y="1.42697716" Z="3.04144025"/>
|
||||||
@@ -146,7 +146,6 @@
|
|||||||
</c:Team>
|
</c:Team>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0.300000012" Y="0.0270000007" Z="6.67400026"/>
|
<Position X="0.300000012" Y="0.0270000007" Z="6.67400026"/>
|
||||||
<Orientation X="0" Y="3.20700026" Z="0"/>
|
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -154,7 +153,7 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:SpawnPoint/>
|
<c:SpawnPoint/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Assault.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.254901975" R="0"/>
|
<Color A="1" B="1" G="0.254901975" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -167,7 +166,7 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:SpawnPoint/>
|
<c:SpawnPoint/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Assault.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.254901975" R="0"/>
|
<Color A="1" B="1" G="0.254901975" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -178,6 +177,123 @@
|
|||||||
</Entity>
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
</Entity>
|
</Entity>
|
||||||
|
<Entity name="Player">
|
||||||
|
<Components>
|
||||||
|
<c:AABB>
|
||||||
|
<Origin X="0" Y="0.772000015" Z="0"/>
|
||||||
|
<Size X="1" Y="1.60000002" Z="1"/>
|
||||||
|
</c:AABB>
|
||||||
|
<c:Collidable/>
|
||||||
|
<c:Model/>
|
||||||
|
<c:Physics>
|
||||||
|
<Gravity>false</Gravity>
|
||||||
|
</c:Physics>
|
||||||
|
<c:Player>
|
||||||
|
<MovementSpeed>5</MovementSpeed>
|
||||||
|
</c:Player>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-1.68112314" Y="0.0264999866" Z="3.06287026"/>
|
||||||
|
<Orientation X="0" Y="2.14675093" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Camera">
|
||||||
|
<Components>
|
||||||
|
<c:Camera/>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="1.37700009" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="PlayerName">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,100</Resource>
|
||||||
|
<Color A="1" B="0" G="1" R="0"/>
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.247910097" Z="-0.447844714"/>
|
||||||
|
<Scale X="0.100000001" Y="0.113000005" Z="0.5"/>
|
||||||
|
<Orientation X="0" Y="3.14199996" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="CameraModel">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Widgets/Camera.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.0331346765" Z="-0.0792061687"/>
|
||||||
|
<Scale X="1.30000007" Y="1.50000012" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="ThirdPersonCamera">
|
||||||
|
<Components>
|
||||||
|
<c:Camera/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Widgets/Camera.mesh</Resource>
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.284000009" Y="1.83800006" Z="1.18900001"/>
|
||||||
|
<Orientation X="5.95600033" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="PlayerModel">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultHeadless.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="1"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Orientation X="0" Y="3.14159274" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="AABBStanding">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
<Color A="0.427450985" B="1" G="1" R="1"/>
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.772000015" Z="0"/>
|
||||||
|
<Scale X="1" Y="1.60000002" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="AABBCrouching">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
<Color A="0.745098054" B="1" G="0" R="1"/>
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.772000015" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
|
|
||||||
</Entity>
|
</Entity>
|
||||||
|
|||||||
@@ -7,8 +7,10 @@
|
|||||||
<Size X="1" Y="1.60000002" Z="1"/>
|
<Size X="1" Y="1.60000002" Z="1"/>
|
||||||
</c:AABB>
|
</c:AABB>
|
||||||
<c:Collidable/>
|
<c:Collidable/>
|
||||||
<c:Model/>
|
<c:Health/>
|
||||||
<c:Physics/>
|
<c:Physics>
|
||||||
|
<Velocity X="2.30999646e-23" Y="0" Z="1.05272533e-23"/>
|
||||||
|
</c:Physics>
|
||||||
<c:Player>
|
<c:Player>
|
||||||
<MovementSpeed>5</MovementSpeed>
|
<MovementSpeed>5</MovementSpeed>
|
||||||
</c:Player>
|
</c:Player>
|
||||||
@@ -18,8 +20,7 @@
|
|||||||
</Team>
|
</Team>
|
||||||
</c:Team>
|
</c:Team>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.246963501" Y="0.0265000071" Z="3.01600003"/>
|
<Position X="9.56501799e-22" Y="-0.471999973" Z="4.35902473e-22"/>
|
||||||
<Orientation X="0" Y="2.14675093" Z="0"/>
|
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
|
|
||||||
@@ -37,10 +38,9 @@
|
|||||||
<c:Text>
|
<c:Text>
|
||||||
<Resource>Fonts/DroidSans.ttf,100</Resource>
|
<Resource>Fonts/DroidSans.ttf,100</Resource>
|
||||||
<Color A="1" B="0" G="1" R="0"/>
|
<Color A="1" B="0" G="1" R="0"/>
|
||||||
<Visible>false</Visible>
|
|
||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0.247910097" Z="-0.447844714"/>
|
<Position X="0.100000001" Y="0.248000011" Z="-0.248000011"/>
|
||||||
<Scale X="0.100000001" Y="0.113000005" Z="0.5"/>
|
<Scale X="0.100000001" Y="0.113000005" Z="0.5"/>
|
||||||
<Orientation X="0" Y="3.14199996" Z="0"/>
|
<Orientation X="0" Y="3.14199996" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
@@ -50,7 +50,8 @@
|
|||||||
<Entity name="CameraModel">
|
<Entity name="CameraModel">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Camera.mesh</Resource>
|
<Resource>Models/Widgets/Camera.mesh</Resource>
|
||||||
|
<Visible>false</Visible>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0.0331346765" Z="-0.0792061687"/>
|
<Position X="0" Y="0.0331346765" Z="-0.0792061687"/>
|
||||||
@@ -59,13 +60,81 @@
|
|||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
|
<Entity name="HUD">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0" Z="-0.5"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="HealthBar">
|
||||||
|
<Components>
|
||||||
|
<c:Fill>
|
||||||
|
<Percentage>1</Percentage>
|
||||||
|
<Color A="0" B="1" G="0" R="0"/>
|
||||||
|
</c:Fill>
|
||||||
|
<c:HealthHUD/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitHexagon.mesh</Resource>
|
||||||
|
<Color A="1" B="0.70588237" G="0.70588237" R="0.70588237"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.383000016" Y="-0.185000002" Z="0"/>
|
||||||
|
<Scale X="0.150000006" Y="0.150000006" Z="0.150000006"/>
|
||||||
|
<Orientation X="0" Y="0.594000041" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Crosshair">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Weapons/CrosshairQuad.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0" Z="0.200000003"/>
|
||||||
|
<Scale X="0.00600000005" Y="1" Z="0.00600000005"/>
|
||||||
|
<Orientation X="1.57000005" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Weapon">
|
||||||
|
<Components>
|
||||||
|
<c:ExplosionEffect>
|
||||||
|
<ColorByDistance>true</ColorByDistance>
|
||||||
|
<Velocity X="0.800000012" Y="0.0379999988" Z="0"/>
|
||||||
|
<ExplosionDuration>3.7999999523162842</ExplosionDuration>
|
||||||
|
<EndColor A="0" B="23.5294113" G="11.7647057" R="0"/>
|
||||||
|
<Randomness>true</Randomness>
|
||||||
|
</c:ExplosionEffect>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.180000007" Y="-0.183000013" Z="0"/>
|
||||||
|
<Orientation X="0" Y="3.08300018" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="WeaponMuzzle">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.215000004" Y="-0.153000012" Z="-0.266000003"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity name="ThirdPersonCamera">
|
<Entity name="ThirdPersonCamera">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Camera/>
|
<c:Camera/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Camera.mesh</Resource>
|
<Resource>Models/Widgets/Camera.mesh</Resource>
|
||||||
<Visible>false</Visible>
|
<Visible>false</Visible>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -77,13 +146,17 @@
|
|||||||
</Entity>
|
</Entity>
|
||||||
<Entity name="PlayerModel">
|
<Entity name="PlayerModel">
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Animation>
|
||||||
|
<Name>Hold Pos</Name>
|
||||||
|
<Time>0.73506627647571587</Time>
|
||||||
|
<Speed>1</Speed>
|
||||||
|
</c:Animation>
|
||||||
|
<c:HiddenForLocalPlayer/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/AssaultHeadless.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0" R="1"/>
|
<Color A="1" B="0" G="0" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform/>
|
||||||
<Orientation X="0" Y="3.14159274" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="PointLight" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:PointLight>
|
||||||
|
<Radius>3</Radius>
|
||||||
|
<Intensity>1.1399998664855957</Intensity>
|
||||||
|
</c:PointLight>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children/>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCylinder.mesh</Resource>
|
||||||
|
<Color A="0" B="0" G="0" R="39.2156868"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.0400000028" Y="26.2000008" Z="0.0400000028"/>
|
||||||
|
<Orientation X="1.57070005" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children/>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Lifetime>
|
||||||
|
<Lifetime>0.25</Lifetime>
|
||||||
|
</c:Lifetime>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Weapons/CylinderBullet.mesh</Resource>
|
||||||
|
<Color A="0.156862751" B="39.2156868" G="7.84313726" R="0"/>
|
||||||
|
<Transparent>true</Transparent>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.0109999999" Y="0.0289999992" Z="100"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children/>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCylinder.mesh</Resource>
|
||||||
|
<Color A="0" B="0" G="0" R="39.2156868"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.0400000028" Y="26.2000008" Z="0.0400000028"/>
|
||||||
|
<Orientation X="1.57070005" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children/>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Lifetime>
|
||||||
|
<Lifetime>0.25</Lifetime>
|
||||||
|
</c:Lifetime>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Weapons/CylinderBullet.mesh</Resource>
|
||||||
|
<Color A="0.156862751" B="0" G="0.525490224" R="39.2156868"/>
|
||||||
|
<Transparent>true</Transparent>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.0110000009" Y="0.029000001" Z="100"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children/>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -6,34 +6,115 @@
|
|||||||
</Components>
|
</Components>
|
||||||
|
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity name="Player">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Camera>
|
<c:Health>
|
||||||
<Name>ActionCamera</Name>
|
<Health>65.990005493164063</Health>
|
||||||
</c:Camera>
|
</c:Health>
|
||||||
<c:Model>
|
<c:Player/>
|
||||||
<Resource>Models/Camera.mesh</Resource>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.504807115" Y="6.00582743" Z="9.68687439"/>
|
<Position X="0" Y="0" Z="2.5"/>
|
||||||
<Orientation X="-0.733036518" Y="0.000105090476" Z="5.12391125e-07"/>
|
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity name="Model">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Text>
|
<c:Model>
|
||||||
<Content>Camera #2</Content>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
<Color A="1" B="3.92156863" G="3.92156863" R="3.92156863"/>
|
||||||
<Alignment>0</Alignment>
|
</c:Model>
|
||||||
</c:Text>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0.700063765" Y="0.310270816" Z="-1"/>
|
<Orientation X="0" Y="3.14159203" Z="0"/>
|
||||||
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
|
<Entity name="Camera">
|
||||||
|
<Components>
|
||||||
|
<c:Camera>
|
||||||
|
<FOV>80</FOV>
|
||||||
|
</c:Camera>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Widgets/Camera.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="1.39121652" Z="-0.043014247"/>
|
||||||
|
<Orientation X="6.28300047" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="HUD">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-0.000463247066" Z="-0.744767368"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Hexagon">
|
||||||
|
<Components>
|
||||||
|
<c:HealthHUD/>
|
||||||
|
<c:Fill>
|
||||||
|
<Percentage>0.65990006923675537</Percentage>
|
||||||
|
<Color A="0" B="0.659900069" G="0" R="0.340099931"/>
|
||||||
|
</c:Fill>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitHexagon.mesh</Resource>
|
||||||
|
<Color A="0.313725501" B="0.70588237" G="0.70588237" R="0.70588237"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.285538822" Y="-0.282350302" Z="-1.52214652e-05"/>
|
||||||
|
<Scale X="0.200000003" Y="0.200000003" Z="0.5"/>
|
||||||
|
<Orientation X="0" Y="0.666000009" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Ammo">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>24</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,60</Resource>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-1.43861985e-06" Y="0.0125972452" Z="0.0100018298"/>
|
||||||
|
<Scale X="0.349999994" Y="0.349999994" Z="0.200000003"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>262</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,60</Resource>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-4.27209579e-06" Y="-0.0390000008" Z="5.43686883e-06"/>
|
||||||
|
<Scale X="0.65200001" Y="0.643000007" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:HealthHUD/>
|
||||||
|
<c:Text>
|
||||||
|
<Content>65/100</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,60</Resource>
|
||||||
|
<Color A="1" B="0.659900069" G="0" R="0.340099931"/>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.200000003" Y="0.200000003" Z="0.200000003"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity>
|
||||||
@@ -42,7 +123,7 @@
|
|||||||
<Resource>Models/Core/UnitPlane.mesh</Resource>
|
<Resource>Models/Core/UnitPlane.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="-1" Z="0.600000024"/>
|
<Position X="0" Y="-0.689623177" Z="0.600000024"/>
|
||||||
<Scale X="100" Y="1" Z="100"/>
|
<Scale X="100" Y="1" Z="100"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -51,7 +132,8 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Assault.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
|
<Color A="1" B="3.92156863" G="1" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-2.5" Y="0" Z="1"/>
|
<Position X="-2.5" Y="0" Z="1"/>
|
||||||
@@ -64,6 +146,7 @@
|
|||||||
<c:Text>
|
<c:Text>
|
||||||
<Content>Welcome!</Content>
|
<Content>Welcome!</Content>
|
||||||
<Resource>Fonts/DroidSans.ttf,1280</Resource>
|
<Resource>Fonts/DroidSans.ttf,1280</Resource>
|
||||||
|
<Color A="0" B="3.92156863" G="3.92156863" R="3.92156863"/>
|
||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="0.700000048"/>
|
<Position X="0" Y="0" Z="0.700000048"/>
|
||||||
@@ -74,32 +157,40 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:RaptorCopter>
|
<c:RaptorCopter>
|
||||||
<Speed>2</Speed>
|
<Speed>3</Speed>
|
||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0.200000003" Y="3.4000001" Z="0.5"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="2.37320328" Z="0"/>
|
<Orientation X="758.058899" Y="20632.8691" Z="1320.68018"/>
|
||||||
<Orientation X="0" Y="8252.15918" Z="0"/>
|
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="7.84313726" G="0" R="7.84313726"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Color A="1" B="1" G="0" R="1"/>
|
<Color A="1" B="1" G="0" R="1"/>
|
||||||
<Radius>6</Radius>
|
<Radius>70</Radius>
|
||||||
<Intensity>0.5</Intensity>
|
<Intensity>0.5</Intensity>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-2.5" Y="0" Z="0"/>
|
<Position X="-2.5" Y="0" Z="0"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="7.84313726"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Color A="1" B="0" G="0" R="1"/>
|
<Color A="1" B="0" G="0" R="1"/>
|
||||||
<Radius>8</Radius>
|
<Radius>70</Radius>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-5" Y="0" Z="0"/>
|
<Position X="-5" Y="0" Z="0"/>
|
||||||
@@ -111,21 +202,30 @@
|
|||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="0" G="7.84313726" R="7.84313726"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Color A="1" B="0" G="1" R="1"/>
|
<Color A="1" B="0" G="1" R="1"/>
|
||||||
<Radius>6</Radius>
|
<Radius>70</Radius>
|
||||||
<Intensity>0.5</Intensity>
|
<Intensity>0.5</Intensity>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="-2.5"/>
|
<Position X="0" Y="0" Z="-2.5"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="0" G="7.84313726" R="0"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Color A="1" B="0" G="1" R="0"/>
|
<Color A="1" B="0" G="1" R="0"/>
|
||||||
<Radius>8</Radius>
|
<Radius>70</Radius>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="-5"/>
|
<Position X="0" Y="0" Z="-5"/>
|
||||||
@@ -137,21 +237,30 @@
|
|||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="7.84313726" G="7.84313726" R="0"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Color A="1" B="1" G="1" R="0"/>
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
<Radius>6</Radius>
|
<Radius>70</Radius>
|
||||||
<Intensity>0.5</Intensity>
|
<Intensity>0.5</Intensity>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="2.5"/>
|
<Position X="0" Y="0" Z="2.5"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="7.84313726" G="0" R="0"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Color A="1" B="1" G="0.00784313772" R="0"/>
|
<Color A="1" B="1" G="0" R="0"/>
|
||||||
<Radius>8</Radius>
|
<Radius>70</Radius>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="5"/>
|
<Position X="0" Y="0" Z="5"/>
|
||||||
@@ -163,19 +272,28 @@
|
|||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="7.84313726" G="7.84313726" R="7.84313726"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Radius>6</Radius>
|
<Radius>70</Radius>
|
||||||
<Intensity>0.5</Intensity>
|
<Intensity>0.5</Intensity>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="2.5" Y="0" Z="0"/>
|
<Position X="2.5" Y="0" Z="0"/>
|
||||||
|
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitSphere.obj</Resource>
|
||||||
|
<Color A="1" B="7.84313726" G="7.84313726" R="7.84313726"/>
|
||||||
|
</c:Model>
|
||||||
<c:PointLight>
|
<c:PointLight>
|
||||||
<Radius>8</Radius>
|
<Radius>70</Radius>
|
||||||
</c:PointLight>
|
</c:PointLight>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="5" Y="0" Z="0"/>
|
<Position X="5" Y="0" Z="0"/>
|
||||||
@@ -190,7 +308,8 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Assault.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
|
<Color A="1" B="1" G="1" R="3.92156863"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="2.5" Y="0" Z="1"/>
|
<Position X="2.5" Y="0" Z="1"/>
|
||||||
@@ -198,46 +317,15 @@
|
|||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity>
|
<Entity name="DirectionalLight">
|
||||||
<Components>
|
|
||||||
<c:Camera>
|
|
||||||
<Name>MainCamera</Name>
|
|
||||||
</c:Camera>
|
|
||||||
<c:Listener/>
|
|
||||||
<c:Model>
|
|
||||||
<Resource>Models/Camera.mesh</Resource>
|
|
||||||
<Visible>false</Visible>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="-1.27354908" Y="5.18422079" Z="10.6223917"/>
|
|
||||||
<Orientation X="-0.436328411" Y="-0.0523675606" Z="1.67869363e-08"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children>
|
|
||||||
<Entity>
|
|
||||||
<Components>
|
|
||||||
<c:Text>
|
|
||||||
<Content>Taiwan #1</Content>
|
|
||||||
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
|
||||||
<Alignment>0</Alignment>
|
|
||||||
</c:Text>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="0.716896772" Y="0.296712071" Z="-1"/>
|
|
||||||
<Scale X="0.100000001" Y="0.100000001" Z="0.100000001"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
</Children>
|
|
||||||
</Entity>
|
|
||||||
<Entity>
|
|
||||||
<Components>
|
<Components>
|
||||||
<c:DirectionalLight>
|
<c:DirectionalLight>
|
||||||
<Color A="1" B="0.996078432" G="1" R="1"/>
|
<Color A="1" B="0.996078432" G="1" R="1"/>
|
||||||
<Intensity>0.80000001192092896</Intensity>
|
<Intensity>0.10000000149011612</Intensity>
|
||||||
</c:DirectionalLight>
|
</c:DirectionalLight>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/DirectionalLightWidget.mesh</Resource>
|
<Resource>Models/Widgets/Lights/DirectionalLightWidget.mesh</Resource>
|
||||||
|
<Color A="1" B="0" G="3.92156863" R="3.92156863"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.0013256073" Y="1.89540339" Z="6.53467274"/>
|
<Position X="-0.0013256073" Y="1.89540339" Z="6.53467274"/>
|
||||||
@@ -250,6 +338,7 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
<Color A="1" B="1" G="39.2156868" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-5.4082036" Y="0" Z="-1.84950542"/>
|
<Position X="-5.4082036" Y="0" Z="-1.84950542"/>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<Entity>
|
<Entity>
|
||||||
<Components>
|
<Components>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/DummyScene.mesh</Resource>
|
<Resource>Models/Test/DummyScene.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform/>
|
<c:Transform/>
|
||||||
</Components>
|
</Components>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<HomePointForTeam>3</HomePointForTeam>
|
<HomePointForTeam>3</HomePointForTeam>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="0.200000003" R="0"/>
|
<Color A="1" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<CapturePointNumber>1</CapturePointNumber>
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="1" G="1" R="0"/>
|
<Color A="1" B="1" G="1" R="0"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
<CapturePointNumber>2</CapturePointNumber>
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
<CapturePointNumber>3</CapturePointNumber>
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="1" R="1"/>
|
<Color A="1" B="0" G="1" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
<c:Team/>
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<CapturePointNumber>4</CapturePointNumber>
|
<CapturePointNumber>4</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitSphere.mesh</Resource>
|
<Resource>Models/Core/UnitSphere.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0.200000003" R="1"/>
|
<Color A="1" B="0" G="0.200000003" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
<c:Team>
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
<Color A="1" B="0.482352942" G="0.490196079" R="1"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -171,7 +171,7 @@
|
|||||||
</c:Health>
|
</c:Health>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0" R="2.25"/>
|
<Color A="1" B="0" G="0" R="2.25"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
</c:Health>
|
</c:Health>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>../assets/Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="1" B="0" G="0" R="4.5"/>
|
<Color A="1" B="0" G="0" R="4.5"/>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Player/>
|
<c:Player/>
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="SoundEmitter" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:SoundEmitter/>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity name="SoundEmitterText">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>SoundEmitter</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.5" Y="0.5" Z="0.5"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="SpawnerRedTeam" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:PlayerSpawn/>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity name="SpawnPointRedTeam">
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="1" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="SpawnPointRedTeam">
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-1" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="SpawnPointRedTeam">
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="SpawnPointRedTeam">
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0" Z="-1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="SpawnPointRedTeam" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="1.31625879" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children/>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="BluSpawn" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:PlayerSpawn/>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Blue/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="57.7363472" Y="1.18853188" Z="79.5"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity>
|
||||||
|
<Components>
|
||||||
|
<c:SpawnPoint/>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user