Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f739e22f3 | |||
| 8cf83454d7 | |||
| 41f0daaf3f |
@@ -9,7 +9,7 @@
|
|||||||
#include "../Core/EntityFilePreprocessor.h"
|
#include "../Core/EntityFilePreprocessor.h"
|
||||||
#include "../Core/EntityFileParser.h"
|
#include "../Core/EntityFileParser.h"
|
||||||
#include "../Core/EntityFileWriter.h"
|
#include "../Core/EntityFileWriter.h"
|
||||||
#include "../Core/EMouseRelease.h"
|
#include "../Core/EMousePress.h"
|
||||||
#include "EditorGUI.h"
|
#include "EditorGUI.h"
|
||||||
#include "EditorStats.h"
|
#include "EditorStats.h"
|
||||||
|
|
||||||
@@ -52,8 +52,8 @@ private:
|
|||||||
void OnComponentDelete(EntityWrapper entity, const std::string& componentType);
|
void OnComponentDelete(EntityWrapper entity, const std::string& componentType);
|
||||||
|
|
||||||
// Events
|
// Events
|
||||||
EventRelay<EditorSystem, Events::MouseRelease> m_EMouseRelease;
|
EventRelay<EditorSystem, Events::MousePress> m_EMousePress;
|
||||||
bool OnMouseRelease(const Events::MouseRelease& e);
|
bool OnMousePress(const Events::MousePress& e);
|
||||||
EventRelay<EditorSystem, Events::WidgetDelta> m_EWidgetDelta;
|
EventRelay<EditorSystem, Events::WidgetDelta> m_EWidgetDelta;
|
||||||
bool OnWidgetDelta(const Events::WidgetDelta& e);
|
bool OnWidgetDelta(const Events::WidgetDelta& e);
|
||||||
};
|
};
|
||||||
@@ -31,7 +31,7 @@ EditorSystem::EditorSystem(World* world, EventBroker* eventBroker, IRenderer* re
|
|||||||
m_EditorGUI->SetComponentDeleteCallback(std::bind(&EditorSystem::OnComponentDelete, this, std::placeholders::_1, std::placeholders::_2));
|
m_EditorGUI->SetComponentDeleteCallback(std::bind(&EditorSystem::OnComponentDelete, this, std::placeholders::_1, std::placeholders::_2));
|
||||||
m_EditorGUI->SetWidgetModeCallback(std::bind(&EditorSystem::setWidgetMode, this, std::placeholders::_1));
|
m_EditorGUI->SetWidgetModeCallback(std::bind(&EditorSystem::setWidgetMode, this, std::placeholders::_1));
|
||||||
|
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EMouseRelease, &EditorSystem::OnMouseRelease);
|
EVENT_SUBSCRIBE_MEMBER(m_EMousePress, &EditorSystem::OnMousePress);
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EWidgetDelta, &EditorSystem::OnWidgetDelta);
|
EVENT_SUBSCRIBE_MEMBER(m_EWidgetDelta, &EditorSystem::OnWidgetDelta);
|
||||||
|
|
||||||
m_EditorStats = new EditorStats();
|
m_EditorStats = new EditorStats();
|
||||||
@@ -121,9 +121,10 @@ void EditorSystem::OnComponentDelete(EntityWrapper entity, const std::string& co
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EditorSystem::OnMouseRelease(const Events::MouseRelease& e)
|
bool EditorSystem::OnMousePress(const Events::MousePress& e)
|
||||||
{
|
{
|
||||||
if (e.Button == GLFW_MOUSE_BUTTON_1) {
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
|
if (!io.WantCaptureMouse && !io.WantCaptureKeyboard && e.Button == GLFW_MOUSE_BUTTON_1) {
|
||||||
PickData pick = m_Renderer->Pick(glm::vec2(e.X, e.Y));
|
PickData pick = m_Renderer->Pick(glm::vec2(e.X, e.Y));
|
||||||
if (pick.World == m_World) {
|
if (pick.World == m_World) {
|
||||||
m_CurrentSelection = EntityWrapper(m_World, pick.Entity);
|
m_CurrentSelection = EntityWrapper(m_World, pick.Entity);
|
||||||
|
|||||||
@@ -58,7 +58,8 @@ bool EditorWidgetSystem::OnMouseMove(const Events::MouseMove& e)
|
|||||||
|
|
||||||
bool EditorWidgetSystem::OnMousePress(const Events::MousePress & e)
|
bool EditorWidgetSystem::OnMousePress(const Events::MousePress & e)
|
||||||
{
|
{
|
||||||
if (e.Button == GLFW_MOUSE_BUTTON_1) {
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
|
if (!io.WantCaptureMouse && !io.WantCaptureKeyboard && e.Button == GLFW_MOUSE_BUTTON_1) {
|
||||||
m_PickData = m_Renderer->Pick(glm::vec2(e.X, e.Y));
|
m_PickData = m_Renderer->Pick(glm::vec2(e.X, e.Y));
|
||||||
if (m_PickData.Entity != EntityID_Invalid && m_PickData.World == m_World) {
|
if (m_PickData.Entity != EntityID_Invalid && m_PickData.World == m_World) {
|
||||||
m_PickEntity = EntityWrapper(m_World, m_PickData.Entity);
|
m_PickEntity = EntityWrapper(m_World, m_PickData.Entity);
|
||||||
|
|||||||
@@ -66,6 +66,9 @@ void CapturePointSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper
|
|||||||
nextPossibleCapturePoint["Blue"] = -1;
|
nextPossibleCapturePoint["Blue"] = -1;
|
||||||
for (size_t i = 0; i < m_NumberOfCapturePoints; i++)
|
for (size_t i = 0; i < m_NumberOfCapturePoints; i++)
|
||||||
{
|
{
|
||||||
|
if (!m_World->HasComponent(m_CapturePointNumberToEntityIDMap[i], "Team")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
ComponentWrapper& capturePointOwnedBy = m_World->GetComponent(m_CapturePointNumberToEntityIDMap[i], "Team");
|
ComponentWrapper& capturePointOwnedBy = m_World->GetComponent(m_CapturePointNumberToEntityIDMap[i], "Team");
|
||||||
if ((int)capturePointOwnedBy["Team"] == redTeam && m_RedTeamHomeCapturePoint == 0) {
|
if ((int)capturePointOwnedBy["Team"] == redTeam && m_RedTeamHomeCapturePoint == 0) {
|
||||||
nextPossibleCapturePoint["Red"] = i + 1;
|
nextPossibleCapturePoint["Red"] = i + 1;
|
||||||
@@ -76,6 +79,9 @@ void CapturePointSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper
|
|||||||
}
|
}
|
||||||
for (int i = m_NumberOfCapturePoints - 1; i >= 0; i--)
|
for (int i = m_NumberOfCapturePoints - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
|
if (!m_World->HasComponent(m_CapturePointNumberToEntityIDMap[i], "Team")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
ComponentWrapper& capturePointOwnedBy = m_World->GetComponent(m_CapturePointNumberToEntityIDMap[i], "Team");
|
ComponentWrapper& capturePointOwnedBy = m_World->GetComponent(m_CapturePointNumberToEntityIDMap[i], "Team");
|
||||||
if ((int)capturePointOwnedBy["Team"] == redTeam && m_RedTeamHomeCapturePoint != 0) {
|
if ((int)capturePointOwnedBy["Team"] == redTeam && m_RedTeamHomeCapturePoint != 0) {
|
||||||
nextPossibleCapturePoint["Red"] = i - 1;
|
nextPossibleCapturePoint["Red"] = i - 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user