From f37d2a338e21030777cfefa593f4c5a1d656c8c3 Mon Sep 17 00:00:00 2001 From: krzys-h Date: Tue, 11 Aug 2015 23:37:44 +0200 Subject: [PATCH] Moved SetHighlight to CControllableObject --- src/object/interface/controllable_object.h | 2 ++ src/object/old_object.cpp | 4 ++-- src/object/old_object.h | 2 +- src/object/old_object_interface.cpp | 8 -------- src/object/old_object_interface.h | 3 --- src/object/robotmain.cpp | 10 ++++++---- 6 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/object/interface/controllable_object.h b/src/object/interface/controllable_object.h index f257829b..63d96316 100644 --- a/src/object/interface/controllable_object.h +++ b/src/object/interface/controllable_object.h @@ -44,6 +44,8 @@ public: virtual bool GetSelect() = 0; virtual bool GetSelectable() = 0; + virtual void SetHighlight(bool highlight) = 0; + virtual void SetCameraType(Gfx::CameraType type) = 0; virtual Gfx::CameraType GetCameraType() = 0; virtual void SetCameraDist(float dist) = 0; diff --git a/src/object/old_object.cpp b/src/object/old_object.cpp index 01ab979c..28a629c5 100644 --- a/src/object/old_object.cpp +++ b/src/object/old_object.cpp @@ -2505,9 +2505,9 @@ bool COldObject::GetCameraLock() // Management of the demonstration of the object. -void COldObject::SetHighlight(bool mode) +void COldObject::SetHighlight(bool highlight) { - if (mode) + if (highlight) { int list[OBJECTMAXPART+1]; diff --git a/src/object/old_object.h b/src/object/old_object.h index 0ca196f9..270948be 100644 --- a/src/object/old_object.h +++ b/src/object/old_object.h @@ -230,7 +230,7 @@ public: void SetCameraLock(bool lock) override; bool GetCameraLock() override; - void SetHighlight(bool mode) override; + void SetHighlight(bool highlight) override; void SetSelect(bool select, bool bDisplayError = true) override; bool GetSelect() override; diff --git a/src/object/old_object_interface.cpp b/src/object/old_object_interface.cpp index b6a8f831..7c8b8bd0 100644 --- a/src/object/old_object_interface.cpp +++ b/src/object/old_object_interface.cpp @@ -147,14 +147,6 @@ bool COldObjectInterface::GetVirusMode() } -void COldObjectInterface::SetHighlight(bool mode) -{ - // TODO: temporary hack - return; - //throw std::logic_error("SetHighlight: not implemented!"); -} - - void COldObjectInterface::SetEnable(bool bEnable) { throw std::logic_error("SetEnable: not implemented!"); diff --git a/src/object/old_object_interface.h b/src/object/old_object_interface.h index b4a2bfad..516217e3 100644 --- a/src/object/old_object_interface.h +++ b/src/object/old_object_interface.h @@ -111,9 +111,6 @@ public: virtual void SetVirusMode(bool bEnable); virtual bool GetVirusMode(); - // This sets highlight on mouse over object, goes to CControllableObject - virtual void SetHighlight(bool mode); - // Main CObject class? virtual void SetEnable(bool bEnable); virtual bool GetEnable(); diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp index bd84d3ed..f30b8947 100644 --- a/src/object/robotmain.cpp +++ b/src/object/robotmain.cpp @@ -2154,10 +2154,11 @@ void CRobotMain::HiliteClear() for (CObject* obj : m_objMan->GetAllObjects()) { - obj->SetHighlight(false); - m_map->SetHighlight(0); - m_short->SetHighlight(0); + if (!obj->Implements(ObjectInterfaceType::Controllable)) continue; + dynamic_cast(obj)->SetHighlight(false); } + m_map->SetHighlight(0); + m_short->SetHighlight(0); m_hilite = false; } @@ -2213,7 +2214,8 @@ void CRobotMain::HiliteObject(Math::Point pos) if (IsSelectable(obj)) { - obj->SetHighlight(true); + assert(obj->Implements(ObjectInterfaceType::Controllable)); + dynamic_cast(obj)->SetHighlight(true); m_map->SetHighlight(obj); m_short->SetHighlight(obj); m_hilite = true;