Working set mesh
This commit is contained in:
parent
5581dfa8ad
commit
930a17d730
@ -18,12 +18,10 @@ namespace Deer {
|
||||
MeshComponent(const MeshComponent&) = default;
|
||||
|
||||
inline void setMesh(uint16_t _meshId) {
|
||||
active = true;
|
||||
meshId = _meshId;
|
||||
}
|
||||
|
||||
inline void clear() {
|
||||
active = false;
|
||||
meshId = 0;
|
||||
}
|
||||
|
||||
@ -42,9 +40,13 @@ namespace Deer {
|
||||
inline bool isActive() {
|
||||
return active;
|
||||
}
|
||||
|
||||
inline bool setActive(bool value) {
|
||||
return active = value;
|
||||
}
|
||||
private:
|
||||
uint16_t meshId;
|
||||
bool active;
|
||||
bool active = false;
|
||||
};
|
||||
|
||||
struct ShaderComponent {
|
||||
|
@ -36,8 +36,10 @@ namespace Deer {
|
||||
for (const auto& entry : std::filesystem::directory_iterator(searchPath)) {
|
||||
if (entry.is_directory())
|
||||
dirData.dirs.push_back(entry.path().lexically_relative(idPath));
|
||||
else if (entry.path().extension() == extension)
|
||||
dirData.elements.push_back(entry.path().lexically_relative(idPath));
|
||||
else if (entry.path().extension() == extension) {
|
||||
Path ent = entry.path().lexically_relative(idPath);
|
||||
dirData.elements.push_back(ent.parent_path() / ent.stem());
|
||||
}
|
||||
}
|
||||
|
||||
return dirData;
|
||||
|
@ -8,7 +8,7 @@ namespace Deer {
|
||||
VertexArray* mesh_data = nullptr;
|
||||
};
|
||||
|
||||
size_t minModelId = 0;
|
||||
size_t minModelId = 1;
|
||||
MeshManagerContainer meshes[SCENE_MAX_MESH_COUNT]{};
|
||||
std::unordered_map<Path, size_t> mesh_name_id;
|
||||
|
||||
|
@ -51,6 +51,9 @@ namespace Deer {
|
||||
bool hasMeshComponent();
|
||||
void removeMeshComponent();
|
||||
|
||||
// This is an internal function to avoid undefined behaviour from angelscript and avoid problems
|
||||
bool assertEntity(const char* funcName);
|
||||
|
||||
// This function can be adapted to get a specific transform since the data is the same
|
||||
EntityStruct getSelf();
|
||||
};
|
||||
@ -71,14 +74,18 @@ namespace Deer {
|
||||
};
|
||||
|
||||
struct MeshComponentStruct : EntityStruct {
|
||||
bool check_self();
|
||||
bool assertMeshComponent();
|
||||
|
||||
bool isActive();
|
||||
void setActive(bool);
|
||||
|
||||
bool hasMesh();
|
||||
void clear();
|
||||
|
||||
std::string getMesh();
|
||||
void setMesh(std::string&);
|
||||
|
||||
bool assertMeshComponent(const char* funcName);
|
||||
};
|
||||
|
||||
EntityStruct getRoot();
|
||||
|
@ -12,7 +12,7 @@ namespace Deer {
|
||||
}
|
||||
|
||||
// Renders the ui elements in the same line
|
||||
void sameLine();
|
||||
void sameline();
|
||||
// Renders a line separator
|
||||
void separator();
|
||||
|
||||
@ -39,6 +39,9 @@ namespace Deer {
|
||||
// Renders a big text
|
||||
void titleEnd(std::string&);
|
||||
|
||||
// Renders a big text in the center of a specified height
|
||||
void titleCenterY(std::string&, int);
|
||||
|
||||
// Renders a icon in the specified size in pixels
|
||||
void drawIcon(std::string& iconId, int size);
|
||||
// Renders a icon in the specified size in pixels at the center
|
||||
@ -57,9 +60,18 @@ namespace Deer {
|
||||
// Prepares the function to accept payload with the id and calls the function with the data
|
||||
void dragDropTarget(std::string&, CScriptAny*, asIScriptFunction*);
|
||||
|
||||
bool inputText(std::string& label, std::string&, std::string&);
|
||||
|
||||
// Draws a simple input with a label, input and output string
|
||||
bool inputText(std::string& label, std::string&, std::string&);
|
||||
// Draws a simple checkbox
|
||||
bool checkbox(std::string& label, bool);
|
||||
// Draws a simple checkbox
|
||||
bool checkboxDisabled(std::string& label, bool);
|
||||
// Draws a complex slider that with double click you can set a specific value
|
||||
float magicSlider(std::string&, float, float);
|
||||
// Draws a complex slider that with double click you can set a specific value in vec3
|
||||
glm::vec3 magicSlider3(std::string&, glm::vec3, float);
|
||||
|
||||
void registerUIFunctions();
|
||||
}
|
||||
}
|
@ -5,6 +5,7 @@
|
||||
#include "Deer/Scene.h"
|
||||
|
||||
#define GET_ENTITY(id) Scene::environment.getEntity(id)
|
||||
#define ASSERT_ENTITY(func, ret) if (!assertEntity(func)) ret;
|
||||
|
||||
namespace Deer {
|
||||
namespace EditorEngine {
|
||||
@ -22,7 +23,19 @@ namespace Deer {
|
||||
return entityId;
|
||||
}
|
||||
|
||||
bool EntityStruct::assertEntity(const char* funcName) {
|
||||
if (!Scene::environment.entityExists(entityId)) {
|
||||
DEER_UI_ENGINE_ERROR("Error, invalid entity calling {0}, entityId : {1}", funcName, entityId);
|
||||
if (currentDockPanelExecution)
|
||||
currentDockPanelExecution->invalidate();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string EntityStruct::getName() {
|
||||
ASSERT_ENTITY("getName()", return "NULL");
|
||||
|
||||
return GET_ENTITY(entityId)
|
||||
.getComponent<TagComponent>()
|
||||
.tag;
|
||||
@ -30,26 +43,36 @@ namespace Deer {
|
||||
|
||||
|
||||
void EntityStruct::setName(std::string& name) {
|
||||
ASSERT_ENTITY("setName()", return);
|
||||
|
||||
GET_ENTITY(entityId)
|
||||
.getComponent<TagComponent>()
|
||||
.tag = name;
|
||||
}
|
||||
|
||||
void EntityStruct::destroy() {
|
||||
ASSERT_ENTITY("destroy()", return);
|
||||
|
||||
GET_ENTITY(entityId)
|
||||
.destroy();
|
||||
}
|
||||
|
||||
bool EntityStruct::isRoot() {
|
||||
ASSERT_ENTITY("isRoot()", return false);
|
||||
|
||||
return entityId == 0;
|
||||
}
|
||||
|
||||
bool EntityStruct::exists() {
|
||||
ASSERT_ENTITY("exists()", return false);
|
||||
|
||||
return Scene::environment
|
||||
.entityExists(entityId);
|
||||
}
|
||||
|
||||
void EntityStruct::setParent(EntityStruct parent_struct) {
|
||||
ASSERT_ENTITY("setParent()", return);
|
||||
|
||||
Entity& parent = GET_ENTITY(parent_struct.entityId);
|
||||
|
||||
GET_ENTITY(entityId)
|
||||
@ -57,6 +80,8 @@ namespace Deer {
|
||||
}
|
||||
|
||||
EntityStruct EntityStruct::getParent() {
|
||||
ASSERT_ENTITY("getParent()", return *this);
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
if (self.isRoot())
|
||||
return *this;
|
||||
@ -64,9 +89,9 @@ namespace Deer {
|
||||
return EntityStruct(self.getParentId());
|
||||
}
|
||||
|
||||
EntityStruct getParent();
|
||||
|
||||
bool EntityStruct::isDescendantOf(EntityStruct parent_struct) {
|
||||
ASSERT_ENTITY("isDescendantOf()", return false);
|
||||
|
||||
Entity& parent = GET_ENTITY(parent_struct.entityId);
|
||||
|
||||
return GET_ENTITY(entityId)
|
||||
@ -74,44 +99,64 @@ namespace Deer {
|
||||
}
|
||||
|
||||
bool EntityStruct::opEquals(const EntityStruct& other) {
|
||||
ASSERT_ENTITY("opEquals()", return false);
|
||||
|
||||
return entityId == other.entityId;
|
||||
}
|
||||
|
||||
EntityStruct EntityStruct::getSelf() {
|
||||
ASSERT_ENTITY("getSelf()", return *this);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
glm::vec3 TransformComponentStruct::getPosition() {
|
||||
ASSERT_ENTITY("getPosition()", return glm::vec3());
|
||||
|
||||
return GET_ENTITY(entityId).getComponent<TransformComponent>().position;
|
||||
}
|
||||
|
||||
glm::vec3 TransformComponentStruct::getScale() {
|
||||
ASSERT_ENTITY("getScale()", return glm::vec3());
|
||||
|
||||
return GET_ENTITY(entityId).getComponent<TransformComponent>().scale;
|
||||
}
|
||||
|
||||
glm::vec3 TransformComponentStruct::getRotation() {
|
||||
ASSERT_ENTITY("getRotation()", return glm::vec3());
|
||||
|
||||
return GET_ENTITY(entityId).getComponent<TransformComponent>().getEulerAngles();
|
||||
}
|
||||
|
||||
void TransformComponentStruct::setPosition(glm::vec3 value) {
|
||||
ASSERT_ENTITY("setPosition()", return);
|
||||
|
||||
GET_ENTITY(entityId).getComponent<TransformComponent>().position = value;
|
||||
}
|
||||
|
||||
void TransformComponentStruct::setScale(glm::vec3 value) {
|
||||
ASSERT_ENTITY("setScale()", return);
|
||||
|
||||
GET_ENTITY(entityId).getComponent<TransformComponent>().scale = value;
|
||||
}
|
||||
|
||||
void TransformComponentStruct::setRotation(glm::vec3 value) {
|
||||
ASSERT_ENTITY("setRotation()", return);
|
||||
|
||||
GET_ENTITY(entityId).getComponent<TransformComponent>().setEulerAngles(value);
|
||||
}
|
||||
|
||||
int EntityChildArrayStruct::getChildCount() {
|
||||
ASSERT_ENTITY("getChildCount()", return 0);
|
||||
|
||||
return GET_ENTITY(entityId)
|
||||
.getComponent<RelationshipComponent>()
|
||||
.childCount;
|
||||
}
|
||||
|
||||
EntityStruct EntityChildArrayStruct::getChild(int i) {
|
||||
ASSERT_ENTITY("getChild()", return *this);
|
||||
|
||||
RelationshipComponent& rc = GET_ENTITY(entityId)
|
||||
.getComponent<RelationshipComponent>();
|
||||
|
||||
@ -127,6 +172,8 @@ namespace Deer {
|
||||
}
|
||||
|
||||
EntityStruct EntityStruct::createChild(std::string& name) {
|
||||
ASSERT_ENTITY("createChild()", return *this);
|
||||
|
||||
Entity& me = GET_ENTITY(entityId);
|
||||
|
||||
Entity& newEnt = Scene::environment
|
||||
@ -138,6 +185,8 @@ namespace Deer {
|
||||
}
|
||||
|
||||
EntityStruct EntityStruct::getMeshComponent() {
|
||||
ASSERT_ENTITY("getMeshComponent()", return *this);
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (!self.hasComponent<MeshComponent>()) {
|
||||
@ -148,12 +197,16 @@ namespace Deer {
|
||||
}
|
||||
|
||||
bool EntityStruct::hasMeshComponent() {
|
||||
ASSERT_ENTITY("hasMeshComponent()", return false);
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
return self.hasComponent<MeshComponent>();
|
||||
}
|
||||
|
||||
void EntityStruct::removeMeshComponent() {
|
||||
ASSERT_ENTITY("removeMeshComponent()", return);
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (self.hasComponent<MeshComponent>()) {
|
||||
@ -162,6 +215,7 @@ namespace Deer {
|
||||
}
|
||||
|
||||
bool MeshComponentStruct::isActive() {
|
||||
ASSERT_ENTITY("isActive()", return false);
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (!self.hasComponent<MeshComponent>()) {
|
||||
@ -175,7 +229,24 @@ namespace Deer {
|
||||
return self.getComponent<MeshComponent>().isActive();
|
||||
}
|
||||
|
||||
void MeshComponentStruct::setActive(bool value) {
|
||||
ASSERT_ENTITY("setActive(bool)", return);
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (!self.hasComponent<MeshComponent>()) {
|
||||
DEER_UI_ENGINE_ERROR("Entity {0} has no component Mesh Component", entityId);
|
||||
|
||||
if (currentDockPanelExecution)
|
||||
currentDockPanelExecution->invalidate();
|
||||
return;
|
||||
}
|
||||
|
||||
self.getComponent<MeshComponent>().setActive(value);
|
||||
}
|
||||
|
||||
bool MeshComponentStruct::hasMesh() {
|
||||
ASSERT_ENTITY("hasMesh()", return false);
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (!self.hasComponent<MeshComponent>()) {
|
||||
@ -190,6 +261,8 @@ namespace Deer {
|
||||
}
|
||||
|
||||
void MeshComponentStruct::clear() {
|
||||
ASSERT_ENTITY("clear()", return);
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (!self.hasComponent<MeshComponent>()) {
|
||||
@ -204,6 +277,8 @@ namespace Deer {
|
||||
}
|
||||
|
||||
std::string MeshComponentStruct::getMesh() {
|
||||
ASSERT_ENTITY("getMesh()", return "NULL");
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (!self.hasComponent<MeshComponent>()) {
|
||||
@ -218,6 +293,8 @@ namespace Deer {
|
||||
}
|
||||
|
||||
void MeshComponentStruct::setMesh(std::string& name) {
|
||||
ASSERT_ENTITY("setMesh()", return);
|
||||
|
||||
Entity& self = GET_ENTITY(entityId);
|
||||
|
||||
if (!self.hasComponent<MeshComponent>()) {
|
||||
|
@ -243,6 +243,13 @@ namespace Deer {
|
||||
asMETHOD(MeshComponentStruct, setMesh),
|
||||
asCALL_THISCALL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterObjectMethod(
|
||||
"MeshComponent",
|
||||
"void set_isActive(const bool) property",
|
||||
asMETHOD(MeshComponentStruct, setActive),
|
||||
asCALL_THISCALL
|
||||
));
|
||||
}
|
||||
|
||||
void registerTransformComponent() {
|
||||
|
@ -38,8 +38,19 @@ namespace Deer {
|
||||
textCenter(txt);
|
||||
ImGui::PopFont();
|
||||
}
|
||||
|
||||
void titleCenterY(std::string& txt, int) {
|
||||
ImGui::PushFont(titleText);
|
||||
|
||||
void sameLine() {
|
||||
float textHeight = ImGui::GetFontSize();
|
||||
float yOffset = (64.0f - textHeight) * 0.5f;
|
||||
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + yOffset);
|
||||
|
||||
ImGui::Text("%s", txt.c_str());
|
||||
ImGui::PopFont();
|
||||
}
|
||||
|
||||
void sameline() {
|
||||
ImGui::SameLine();
|
||||
}
|
||||
|
||||
@ -180,7 +191,7 @@ namespace Deer {
|
||||
|
||||
data->AddRef();
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(10, 10));
|
||||
if (ImGui::BeginDragDropSource()) {
|
||||
if (ImGui::BeginDragDropSource(ImGuiDragDropFlags_SourceAllowNullID)) {
|
||||
if (DragDropPayload::payload)
|
||||
DragDropPayload::payload->Release();
|
||||
|
||||
@ -230,9 +241,21 @@ namespace Deer {
|
||||
|
||||
return edited;
|
||||
}
|
||||
|
||||
#include "imgui.h"
|
||||
|
||||
bool checkbox(std::string& label, bool value) {
|
||||
ImGui::Checkbox(label.c_str(), &value);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
bool checkboxDisabled(std::string& label, bool value) {
|
||||
ImGui::BeginDisabled();
|
||||
ImGui::Checkbox(label.c_str(), &value);
|
||||
ImGui::EndDisabled();
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
float magicSlider(std::string& txt, float value, float speed) {
|
||||
|
||||
ImGui::PushID(txt.c_str());
|
||||
|
@ -0,0 +1,159 @@
|
||||
#include "DeerStudio/EditorEngine.h"
|
||||
#include "DeerStudio/EditorEngine/ErrorHandle.h"
|
||||
#include "DeerStudio/EditorEngine/API.h"
|
||||
|
||||
#include "scripthandle.h"
|
||||
#include "scriptany.h"
|
||||
#include "angelscript.h"
|
||||
|
||||
namespace Deer {
|
||||
void EditorEngine::registerUIFunctions() {
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void textColor(float, float, float, const string& in)",
|
||||
asFUNCTION(textColor),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void text(const string& in)",
|
||||
asFUNCTION(text),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void textCenter(const string& in)",
|
||||
asFUNCTION(textCenter),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void textEnd(const string& in)",
|
||||
asFUNCTION(textEnd),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void drawIcon(const string& in, int)",
|
||||
asFUNCTION(drawIcon),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool isItemClicked(int)",
|
||||
asFUNCTION(
|
||||
isItemClicked
|
||||
),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool isMouseDoubleClicked(int)",
|
||||
asFUNCTION(
|
||||
isMouseDoubleClicked
|
||||
),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void drawIconCentered(const string& in, int)",
|
||||
asFUNCTION(drawIconCentered),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void space()",
|
||||
asFUNCTION(space),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool menuItem(const string& in)",
|
||||
asFUNCTION(menuItem),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool button(const string& in)",
|
||||
asFUNCTION(button),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool buttonCenter(const string&in)",
|
||||
asFUNCTION(buttonCenter),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool buttonEnd(const string&in)",
|
||||
asFUNCTION(buttonEnd),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool inputText(const string& in, const string& in, string& out)",
|
||||
asFUNCTION(inputText),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool checkbox(const string& in, bool)",
|
||||
asFUNCTION(checkbox),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool checkboxDisabled(const string& in, bool)",
|
||||
asFUNCTION(checkboxDisabled),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"float magicSlider(const string& in, float, float)",
|
||||
asFUNCTION(magicSlider),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"vec3 magicSlider3(const string& in, vec3, float)",
|
||||
asFUNCTION(magicSlider3),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void sameline()",
|
||||
asFUNCTION(sameline),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void separator()",
|
||||
asFUNCTION(separator),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void title(const string&in)",
|
||||
asFUNCTION(title),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void titleEnd(const string&in)",
|
||||
asFUNCTION(titleEnd),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void titleCenter(const string&in)",
|
||||
asFUNCTION(titleCenter),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void titleCenterY(const string&in, int)",
|
||||
asFUNCTION(titleCenterY),
|
||||
asCALL_CDECL
|
||||
));
|
||||
}
|
||||
}
|
@ -8,52 +8,7 @@ namespace Deer {
|
||||
void EditorEngine::registerEditorEngineFunctions() {
|
||||
registerEntityFunctions();
|
||||
registerMathFunctions();
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void textColor(float, float, float, const string& in)",
|
||||
asFUNCTION(textColor),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void text(const string& in)",
|
||||
asFUNCTION(text),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void textCenter(const string& in)",
|
||||
asFUNCTION(textCenter),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void textEnd(const string& in)",
|
||||
asFUNCTION(textEnd),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void drawIcon(const string& in, int)",
|
||||
asFUNCTION(drawIcon),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool isItemClicked(int)",
|
||||
asFUNCTION(
|
||||
isItemClicked
|
||||
),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool isMouseDoubleClicked(int)",
|
||||
asFUNCTION(
|
||||
isMouseDoubleClicked
|
||||
),
|
||||
asCALL_CDECL
|
||||
));
|
||||
registerUIFunctions();
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void setupAutomaticColumns(int)",
|
||||
@ -89,12 +44,6 @@ namespace Deer {
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void drawIconCentered(const string& in, int)",
|
||||
asFUNCTION(drawIconCentered),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"int getResourceCount(ResourceType, const string& in)",
|
||||
asFUNCTION(getResourceCount),
|
||||
@ -149,12 +98,6 @@ namespace Deer {
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void space()",
|
||||
asFUNCTION(space),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void contextItemPopup(const string& in, any@+, ReciverFunc@+)",
|
||||
asFUNCTION(contextItemPopup),
|
||||
@ -191,12 +134,6 @@ namespace Deer {
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool menuItem(const string& in)",
|
||||
asFUNCTION(menuItem),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void dragDropSource(const string& in, any@, const string& in)",
|
||||
asFUNCTION(dragDropSource),
|
||||
@ -209,71 +146,6 @@ namespace Deer {
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool button(const string& in)",
|
||||
asFUNCTION(button),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool buttonCenter(const string&in)",
|
||||
asFUNCTION(buttonCenter),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool buttonEnd(const string&in)",
|
||||
asFUNCTION(buttonEnd),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"bool inputText(const string& in, const string& in, string& out)",
|
||||
asFUNCTION(inputText),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"float magicSlider(const string& in, float, float)",
|
||||
asFUNCTION(magicSlider),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"vec3 magicSlider3(const string& in, vec3, float)",
|
||||
asFUNCTION(magicSlider3),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void sameLine()",
|
||||
asFUNCTION(sameLine),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void separator()",
|
||||
asFUNCTION(separator),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void title(const string&in)",
|
||||
asFUNCTION(title),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void titleEnd(const string&in)",
|
||||
asFUNCTION(titleEnd),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
AS_CHECK(scriptEngine->RegisterGlobalFunction(
|
||||
"void titleCenter(const string&in)",
|
||||
asFUNCTION(titleCenter),
|
||||
asCALL_CDECL
|
||||
));
|
||||
|
||||
}
|
||||
}
|
BIN
roe/editor/icons/object3d.png
Normal file
BIN
roe/editor/icons/object3d.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 309 B |
@ -33,6 +33,9 @@ class MeshExplorer : DockPanel {
|
||||
int meshCount = getResourceCount(ResourceType::Mesh, cache_currentPath);
|
||||
for (int i = 0; i < meshCount; i++) {
|
||||
drawIconCentered("file", 64);
|
||||
dragDropSource("MESH",
|
||||
any(getResourcePathById(ResourceType::Mesh, cache_currentPath, i)),
|
||||
getResourcePathById(ResourceType::Mesh, cache_currentPath, i));
|
||||
|
||||
textCenter(getResourceNameById(ResourceType::Mesh, cache_currentPath, i));
|
||||
nextColumn();
|
||||
|
@ -18,5 +18,32 @@ void renderMeshComponent(any@ data) {
|
||||
|
||||
MeshComponent meshComponent = entity.getMeshComponent();
|
||||
|
||||
text(meshComponent.getMesh());
|
||||
if (meshComponent.hasMesh) {
|
||||
meshComponent.isActive = checkbox("Active", meshComponent.isActive);
|
||||
} else {
|
||||
checkboxDisabled("Active", meshComponent.isActive);
|
||||
}
|
||||
|
||||
space();
|
||||
|
||||
drawIcon("object3d", 64);
|
||||
|
||||
dragDropTarget("MESH", any(meshComponent), setMeshComponentMesh);
|
||||
|
||||
sameline();
|
||||
titleCenterY("Mesh Name", 64);
|
||||
dragDropTarget("MESH", any(meshComponent), setMeshComponentMesh);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void setMeshComponentMesh(any@ meshComponent_data, any@ mesh_data){
|
||||
string mesh;
|
||||
mesh_data.retrieve(mesh);
|
||||
|
||||
MeshComponent meshComponent;
|
||||
meshComponent_data.retrieve(meshComponent);
|
||||
|
||||
print(mesh);
|
||||
meshComponent.setMesh(mesh);
|
||||
}
|
@ -20,7 +20,7 @@ class PropertiesPannel : DockPanel {
|
||||
if (entity.isRoot)
|
||||
return;
|
||||
|
||||
sameLine();
|
||||
sameline();
|
||||
if (buttonEnd("Add Component")) {
|
||||
openPopup("ADD_COMPONENT", any(entity));
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ void renameEntity(any@ data) {
|
||||
if (inputText("##RENAME", name, name)) {
|
||||
entity.name = name;
|
||||
}
|
||||
sameLine();
|
||||
sameline();
|
||||
if (button("Accept")) {
|
||||
closePopup();
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ DockId=0x00000001,0
|
||||
Pos=880,24
|
||||
Size=400,474
|
||||
Collapsed=0
|
||||
DockId=0x00000004,1
|
||||
DockId=0x00000004,0
|
||||
|
||||
[Window][Viewport]
|
||||
Pos=258,24
|
||||
@ -82,7 +82,7 @@ Collapsed=0
|
||||
Pos=880,24
|
||||
Size=400,474
|
||||
Collapsed=0
|
||||
DockId=0x00000004,0
|
||||
DockId=0x00000004,1
|
||||
|
||||
[Window][PropertiesP]
|
||||
Pos=942,24
|
||||
@ -103,7 +103,7 @@ DockSpace ID=0xA1672E74 Window=0x4647B76E Pos=0,24 Size=1280,696 Split=Y
|
||||
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=878,338 Split=X Selected=0x13926F0B
|
||||
DockNode ID=0x00000005 Parent=0x00000003 SizeRef=256,446 Selected=0xE45B9F93
|
||||
DockNode ID=0x00000006 Parent=0x00000003 SizeRef=620,446 CentralNode=1 Selected=0x13926F0B
|
||||
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=400,338 Selected=0xA35A27E3
|
||||
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=400,338 Selected=0x2A2C795E
|
||||
DockNode ID=0x00000002 Parent=0x00000007 SizeRef=2560,331 Selected=0xCF339702
|
||||
DockNode ID=0x00000008 Parent=0xA1672E74 SizeRef=1280,220 Selected=0xD962995A
|
||||
|
||||
|
@ -1,466 +0,0 @@
|
||||
{
|
||||
"mesh": {
|
||||
"hasNormalData": true,
|
||||
"vertexPositions": [
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"vertexNormals": [
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
}
|
||||
],
|
||||
"indices": [0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22]
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,71 +0,0 @@
|
||||
{
|
||||
"mesh": {
|
||||
"hasNormalData": true,
|
||||
"vertexPositions": [
|
||||
{
|
||||
"x": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 128,
|
||||
"dec": 64
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 129,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 129,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"vertexNormals": [
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
}
|
||||
],
|
||||
"indices": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
]
|
||||
}
|
||||
}
|
2459
roe/meshes/experiments/meca.dmesh
Normal file
2459
roe/meshes/experiments/meca.dmesh
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,466 +0,0 @@
|
||||
{
|
||||
"mesh": {
|
||||
"hasNormalData": true,
|
||||
"vertexPositions": [
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 136,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"x": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
},
|
||||
"y": {
|
||||
"int": 128,
|
||||
"dec": 0
|
||||
},
|
||||
"z": {
|
||||
"int": 120,
|
||||
"dec": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"vertexNormals": [
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": -64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 64,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": -64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 64,
|
||||
"z": 0
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": -64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 64
|
||||
}
|
||||
],
|
||||
"indices": [0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22]
|
||||
}
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
"voxelAspect": {
|
||||
"name": "",
|
||||
"textureFaces": {
|
||||
"left": "",
|
||||
"right": "",
|
||||
"down": "",
|
||||
"up": "",
|
||||
"front": "",
|
||||
"back": ""
|
||||
},
|
||||
"emission": {
|
||||
"red": 0,
|
||||
"green": 0,
|
||||
"blue": 0
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"voxel": {
|
||||
"name": "",
|
||||
"type": "air"
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user