Removed CTaskManager
parent
7fe8199c96
commit
856c5baa0e
|
@ -188,7 +188,6 @@ set(BASE_SOURCES
|
||||||
object/task/taskgoto.cpp
|
object/task/taskgoto.cpp
|
||||||
object/task/taskgungoal.cpp
|
object/task/taskgungoal.cpp
|
||||||
object/task/taskinfo.cpp
|
object/task/taskinfo.cpp
|
||||||
object/task/taskmanager.cpp
|
|
||||||
object/task/taskmanip.cpp
|
object/task/taskmanip.cpp
|
||||||
object/task/taskpen.cpp
|
object/task/taskpen.cpp
|
||||||
object/task/taskrecover.cpp
|
object/task/taskrecover.cpp
|
||||||
|
|
|
@ -75,7 +75,6 @@
|
||||||
|
|
||||||
#include "object/task/task.h"
|
#include "object/task/task.h"
|
||||||
#include "object/task/taskbuild.h"
|
#include "object/task/taskbuild.h"
|
||||||
#include "object/task/taskmanager.h"
|
|
||||||
#include "object/task/taskmanip.h"
|
#include "object/task/taskmanip.h"
|
||||||
|
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// auto.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autobase.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,4 +117,3 @@ protected:
|
||||||
Gfx::Color m_bgCloudDown;
|
Gfx::Color m_bgCloudDown;
|
||||||
std::set<CObject*> m_cargoObjects;
|
std::set<CObject*> m_cargoObjects;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoconvert.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,4 +68,3 @@ protected:
|
||||||
bool m_bSoundClose = false;
|
bool m_bSoundClose = false;
|
||||||
int m_soundChannel = 0;
|
int m_soundChannel = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoderrick.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,4 +70,3 @@ protected:
|
||||||
int m_soundChannel = 0;
|
int m_soundChannel = 0;
|
||||||
bool m_bSoundFall = false;
|
bool m_bSoundFall = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autodestroyer.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,4 +67,3 @@ protected:
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
bool m_bExplo = false;
|
bool m_bExplo = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoegg.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,4 +71,3 @@ protected:
|
||||||
float m_progress = 0.0f;
|
float m_progress = 0.0f;
|
||||||
float m_speed = 0.0f;
|
float m_speed = 0.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autofactory.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoflag.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,4 +42,3 @@ protected:
|
||||||
int m_param = 0;
|
int m_param = 0;
|
||||||
float m_progress = 0.0f;
|
float m_progress = 0.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autohouston.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,4 +62,3 @@ protected:
|
||||||
HustonLens m_lens[HUSTONMAXLENS];
|
HustonLens m_lens[HUSTONMAXLENS];
|
||||||
int m_lensTotal = 0;
|
int m_lensTotal = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autojostle.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,4 +48,3 @@ protected:
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
Error m_error = ERR_OK;
|
Error m_error = ERR_OK;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autolabo.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// automush.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,4 +59,3 @@ protected:
|
||||||
float m_speed = 0.0f;
|
float m_speed = 0.0f;
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autonest.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,4 +60,3 @@ protected:
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
Math::Vector m_cargoPos;
|
Math::Vector m_cargoPos;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autonuclearplant.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,4 +67,3 @@ protected:
|
||||||
Math::Vector m_pos;
|
Math::Vector m_pos;
|
||||||
int m_channelSound = 0;
|
int m_channelSound = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoportico.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,4 +67,3 @@ protected:
|
||||||
int m_param = 0;
|
int m_param = 0;
|
||||||
int m_soundChannel = 0;
|
int m_soundChannel = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autopowercaptor.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,4 +63,3 @@ protected:
|
||||||
Math::Vector m_pos;
|
Math::Vector m_pos;
|
||||||
int m_channelSound = 0;
|
int m_channelSound = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autopowerplant.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,4 +71,3 @@ protected:
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
int m_partiSphere = 0;
|
int m_partiSphere = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autopowerstation.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,4 +55,3 @@ protected:
|
||||||
bool m_bLastVirus = false;
|
bool m_bLastVirus = false;
|
||||||
float m_energyVirus = 0.0f;
|
float m_energyVirus = 0.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoradar.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,4 +62,3 @@ protected:
|
||||||
float m_start = 0.0f;
|
float m_start = 0.0f;
|
||||||
int m_totalDetect = 0;
|
int m_totalDetect = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autorepair.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,4 +63,3 @@ protected:
|
||||||
float m_timeVirus = 0.0f;
|
float m_timeVirus = 0.0f;
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoresearch.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autoroot.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,4 +42,3 @@ protected:
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
Math::Vector m_center;
|
Math::Vector m_center;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autotower.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,4 +73,3 @@ protected:
|
||||||
float m_angleZfinal = 0.0f;
|
float m_angleZfinal = 0.0f;
|
||||||
int m_partiStop[4] = {};
|
int m_partiStop[4] = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// autovault.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,4 +73,3 @@ protected:
|
||||||
Math::Vector m_keyPos[4];
|
Math::Vector m_keyPos[4];
|
||||||
int m_keyParti[4] = {};
|
int m_keyParti[4] = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,23 @@
|
||||||
#include "object/implementation/task_executor_impl.h"
|
#include "object/implementation/task_executor_impl.h"
|
||||||
|
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
|
#include "object/old_object.h"
|
||||||
|
|
||||||
#include "object/task/taskmanager.h"
|
#include "object/task/taskadvance.h"
|
||||||
|
#include "object/task/taskbuild.h"
|
||||||
|
#include "object/task/taskdeletemark.h"
|
||||||
|
#include "object/task/taskfire.h"
|
||||||
|
#include "object/task/taskfireant.h"
|
||||||
|
#include "object/task/taskgungoal.h"
|
||||||
|
#include "object/task/taskinfo.h"
|
||||||
|
#include "object/task/taskpen.h"
|
||||||
|
#include "object/task/taskrecover.h"
|
||||||
|
#include "object/task/tasksearch.h"
|
||||||
|
#include "object/task/taskspiderexplo.h"
|
||||||
|
#include "object/task/tasktake.h"
|
||||||
|
#include "object/task/taskterraform.h"
|
||||||
|
#include "object/task/taskturn.h"
|
||||||
|
#include "object/task/taskwait.h"
|
||||||
|
|
||||||
CTaskExecutorObjectImpl::CTaskExecutorObjectImpl(ObjectInterfaceTypes& types, CObject* object)
|
CTaskExecutorObjectImpl::CTaskExecutorObjectImpl(ObjectInterfaceTypes& types, CObject* object)
|
||||||
: CTaskExecutorObject(types)
|
: CTaskExecutorObject(types)
|
||||||
|
@ -33,7 +48,7 @@ CTaskExecutorObjectImpl::~CTaskExecutorObjectImpl()
|
||||||
|
|
||||||
bool CTaskExecutorObjectImpl::EventProcess(const Event &event)
|
bool CTaskExecutorObjectImpl::EventProcess(const Event &event)
|
||||||
{
|
{
|
||||||
// NOTE: This function CAN'T BE CALLED BETWEEN CTaskManager::EventProcess AND CScriptFunctions::Process, otherwise weird stuff may happen to scripts (they'll be stuck executing the same task over and over again)
|
// NOTE: This function CAN'T BE CALLED BETWEEN CTask::EventProcess AND CScriptFunctions::Process, otherwise weird stuff may happen to scripts (they'll be stuck executing the same task over and over again)
|
||||||
EndedTask();
|
EndedTask();
|
||||||
|
|
||||||
if ( m_foregroundTask != nullptr )
|
if ( m_foregroundTask != nullptr )
|
||||||
|
@ -59,12 +74,12 @@ bool CTaskExecutorObjectImpl::IsBackgroundTask()
|
||||||
return m_backgroundTask != nullptr;
|
return m_backgroundTask != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
CTaskManager* CTaskExecutorObjectImpl::GetForegroundTask()
|
CForegroundTask* CTaskExecutorObjectImpl::GetForegroundTask()
|
||||||
{
|
{
|
||||||
return m_foregroundTask.get();
|
return m_foregroundTask.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
CTaskManager* CTaskExecutorObjectImpl::GetBackgroundTask()
|
CBackgroundTask* CTaskExecutorObjectImpl::GetBackgroundTask()
|
||||||
{
|
{
|
||||||
return m_backgroundTask.get();
|
return m_backgroundTask.get();
|
||||||
}
|
}
|
||||||
|
@ -118,3 +133,144 @@ Error CTaskExecutorObjectImpl::EndedTask()
|
||||||
|
|
||||||
return ERR_STOP;
|
return ERR_STOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename TaskType, typename... Args>
|
||||||
|
Error CTaskExecutorObjectImpl::StartForegroundTask(Args&&... args)
|
||||||
|
{
|
||||||
|
static_assert(std::is_base_of<CForegroundTask, TaskType>::value, "not a foreground task");
|
||||||
|
|
||||||
|
StopForegroundTask();
|
||||||
|
|
||||||
|
assert(m_object->Implements(ObjectInterfaceType::Old)); //TODO
|
||||||
|
std::unique_ptr<TaskType> task = MakeUnique<TaskType>(dynamic_cast<COldObject*>(m_object));
|
||||||
|
Error err = task->Start(std::forward<Args>(args)...);
|
||||||
|
if (err == ERR_OK)
|
||||||
|
m_foregroundTask = std::move(task);
|
||||||
|
m_object->UpdateInterface();
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename TaskType, typename... Args>
|
||||||
|
Error CTaskExecutorObjectImpl::StartBackgroundTask(Args&&... args)
|
||||||
|
{
|
||||||
|
static_assert(std::is_base_of<CBackgroundTask, TaskType>::value, "not a background task");
|
||||||
|
|
||||||
|
Error err;
|
||||||
|
TaskType* task = dynamic_cast<TaskType*>(m_backgroundTask.get());
|
||||||
|
if (task != nullptr)
|
||||||
|
{
|
||||||
|
err = task->Start(std::forward<Args>(args)...);
|
||||||
|
if (err != ERR_OK)
|
||||||
|
m_backgroundTask.reset();
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_backgroundTask.reset(); // In case the old task was of a different type
|
||||||
|
|
||||||
|
assert(m_object->Implements(ObjectInterfaceType::Old)); //TODO
|
||||||
|
std::unique_ptr<TaskType> newTask = MakeUnique<TaskType>(dynamic_cast<COldObject*>(m_object));
|
||||||
|
err = newTask->Start(std::forward<Args>(args)...);
|
||||||
|
if (err == ERR_OK)
|
||||||
|
m_backgroundTask = std::move(newTask);
|
||||||
|
}
|
||||||
|
m_object->UpdateInterface();
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskTake()
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskTake>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskManip(TaskManipOrder order, TaskManipArm arm)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskManip>(order, arm);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskFlag(TaskFlagOrder order, int rank)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskFlag>(order, rank);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskBuild(ObjectType type)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskBuild>(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskSearch()
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskSearch>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskDeleteMark()
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskDeleteMark>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskTerraform()
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskTerraform>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskRecover()
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskRecover>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskFire(float delay)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskFire>(delay);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskFireAnt(Math::Vector impact)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskFireAnt>(impact);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskSpiderExplo()
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskSpiderExplo>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskPen(bool down, TraceColor color)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskPen>(down, color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskWait(float time)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskWait>(time);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskAdvance(float length)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskAdvance>(length);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskTurn(float angle)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskTurn>(angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskGoto>(pos, altitude, goalMode, crashMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskInfo(const char *name, float value, float power, bool bSend)
|
||||||
|
{
|
||||||
|
return StartForegroundTask<CTaskInfo>(name, value, power, bSend);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskShield(TaskShieldMode mode, float delay)
|
||||||
|
{
|
||||||
|
return StartBackgroundTask<CTaskShield>(mode, delay);
|
||||||
|
}
|
||||||
|
|
||||||
|
Error CTaskExecutorObjectImpl::StartTaskGunGoal(float dirV, float dirH)
|
||||||
|
{
|
||||||
|
return StartBackgroundTask<CTaskGunGoal>(dirV, dirH);
|
||||||
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
class CObject;
|
class CObject;
|
||||||
class CTaskManager;
|
|
||||||
|
|
||||||
class CTaskExecutorObjectImpl : public CTaskExecutorObject
|
class CTaskExecutorObjectImpl : public CTaskExecutorObject
|
||||||
{
|
{
|
||||||
|
@ -37,40 +36,46 @@ public:
|
||||||
bool IsForegroundTask() override;
|
bool IsForegroundTask() override;
|
||||||
bool IsBackgroundTask() override;
|
bool IsBackgroundTask() override;
|
||||||
|
|
||||||
CTaskManager* GetForegroundTask() override;
|
CForegroundTask* GetForegroundTask() override;
|
||||||
CTaskManager* GetBackgroundTask() override;
|
CBackgroundTask* GetBackgroundTask() override;
|
||||||
|
|
||||||
void StopForegroundTask() override;
|
void StopForegroundTask() override;
|
||||||
void StopBackgroundTask() override;
|
void StopBackgroundTask() override;
|
||||||
|
|
||||||
Error StartTaskTake() { return ERR_WRONG_BOT; }
|
Error StartTaskTake() override;
|
||||||
Error StartTaskManip(TaskManipOrder order, TaskManipArm arm) { return ERR_WRONG_BOT; }
|
Error StartTaskManip(TaskManipOrder order, TaskManipArm arm) override;
|
||||||
Error StartTaskFlag(TaskFlagOrder order, int rank) { return ERR_WRONG_BOT; }
|
Error StartTaskFlag(TaskFlagOrder order, int rank) override;
|
||||||
Error StartTaskBuild(ObjectType type) { return ERR_WRONG_BOT; }
|
Error StartTaskBuild(ObjectType type) override;
|
||||||
Error StartTaskSearch() { return ERR_WRONG_BOT; }
|
Error StartTaskSearch() override;
|
||||||
Error StartTaskDeleteMark() { return ERR_WRONG_BOT; }
|
Error StartTaskDeleteMark() override;
|
||||||
Error StartTaskTerraform() { return ERR_WRONG_BOT; }
|
Error StartTaskTerraform() override;
|
||||||
Error StartTaskRecover() { return ERR_WRONG_BOT; }
|
Error StartTaskRecover() override;
|
||||||
Error StartTaskFire(float delay) { return ERR_WRONG_BOT; }
|
Error StartTaskFire(float delay) override;
|
||||||
Error StartTaskFireAnt(Math::Vector impact) { return ERR_WRONG_BOT; }
|
Error StartTaskFireAnt(Math::Vector impact) override;
|
||||||
Error StartTaskSpiderExplo() { return ERR_WRONG_BOT; }
|
Error StartTaskSpiderExplo() override;
|
||||||
Error StartTaskPen(bool down, TraceColor color = TraceColor::Default) { return ERR_WRONG_BOT; }
|
Error StartTaskPen(bool down, TraceColor color = TraceColor::Default) override;
|
||||||
|
|
||||||
Error StartTaskWait(float time) { return ERR_UNKNOWN; }
|
Error StartTaskWait(float time) override;
|
||||||
Error StartTaskAdvance(float length) { return ERR_UNKNOWN; }
|
Error StartTaskAdvance(float length) override;
|
||||||
Error StartTaskTurn(float angle) { return ERR_UNKNOWN; }
|
Error StartTaskTurn(float angle) override;
|
||||||
Error StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode) { return ERR_UNKNOWN; }
|
Error StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode) override;
|
||||||
Error StartTaskInfo(const char *name, float value, float power, bool bSend) { return ERR_UNKNOWN; }
|
Error StartTaskInfo(const char *name, float value, float power, bool bSend) override;
|
||||||
|
|
||||||
Error StartTaskShield(TaskShieldMode mode, float delay = 1000.0f) { return ERR_WRONG_BOT; }
|
Error StartTaskShield(TaskShieldMode mode, float delay = 1000.0f) override;
|
||||||
Error StartTaskGunGoal(float dirV, float dirH) { return ERR_WRONG_BOT; }
|
Error StartTaskGunGoal(float dirV, float dirH) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Error EndedTask();
|
Error EndedTask();
|
||||||
|
|
||||||
|
template<typename TaskType, typename... Args>
|
||||||
|
Error StartForegroundTask(Args&&... args);
|
||||||
|
|
||||||
|
template<typename TaskType, typename... Args>
|
||||||
|
Error StartBackgroundTask(Args&&... args);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::unique_ptr<CTaskManager> m_foregroundTask;
|
std::unique_ptr<CForegroundTask> m_foregroundTask;
|
||||||
std::unique_ptr<CTaskManager> m_backgroundTask;
|
std::unique_ptr<CBackgroundTask> m_backgroundTask;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CObject* m_object;
|
CObject* m_object;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "object/task/taskmanip.h"
|
#include "object/task/taskmanip.h"
|
||||||
#include "object/task/taskshield.h"
|
#include "object/task/taskshield.h"
|
||||||
|
|
||||||
class CTaskManager;
|
class CTask;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \class CTaskExecutorObject
|
* \class CTaskExecutorObject
|
||||||
|
@ -80,9 +80,9 @@ public:
|
||||||
virtual bool IsBackgroundTask() = 0;
|
virtual bool IsBackgroundTask() = 0;
|
||||||
|
|
||||||
//! Return the foreground task
|
//! Return the foreground task
|
||||||
virtual CTaskManager* GetForegroundTask() = 0;
|
virtual CForegroundTask* GetForegroundTask() = 0;
|
||||||
//! Return the background task
|
//! Return the background task
|
||||||
virtual CTaskManager* GetBackgroundTask() = 0;
|
virtual CBackgroundTask* GetBackgroundTask() = 0;
|
||||||
|
|
||||||
//! Stop foreground task
|
//! Stop foreground task
|
||||||
virtual void StopForegroundTask() = 0;
|
virtual void StopForegroundTask() = 0;
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motion.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motionant.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motionbee.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motionhuman.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -94,4 +92,3 @@ protected:
|
||||||
float m_tired;
|
float m_tired;
|
||||||
bool m_bDisplayPerso;
|
bool m_bDisplayPerso;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motionlevelcontroller.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,4 +31,3 @@ public:
|
||||||
void DeleteObject(bool bAll=false);
|
void DeleteObject(bool bAll=false);
|
||||||
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager);
|
void Create(Math::Vector pos, float angle, ObjectType type, float power, Gfx::COldModelManager* modelManager);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motionqueen.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motionspider.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motiontoto.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,4 +68,3 @@ protected:
|
||||||
ObjectType m_type;
|
ObjectType m_type;
|
||||||
Math::Point m_mousePos;
|
Math::Point m_mousePos;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// motionworm.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,4 +60,3 @@ protected:
|
||||||
bool m_bArmStop;
|
bool m_bArmStop;
|
||||||
float m_lastParticle;
|
float m_lastParticle;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,6 @@
|
||||||
|
|
||||||
#include "object/subclass/exchange_post.h"
|
#include "object/subclass/exchange_post.h"
|
||||||
|
|
||||||
#include "object/task/taskmanager.h"
|
|
||||||
|
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
#include "script/cbottoken.h"
|
#include "script/cbottoken.h"
|
||||||
|
@ -3208,239 +3206,6 @@ void COldObject::SetScale(const Math::Vector& scale)
|
||||||
SetPartScale(0, scale);
|
SetPartScale(0, scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move the manipulator arm.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskTake()
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskTake();
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Move the manipulator arm.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskManip(TaskManipOrder order, TaskManipArm arm)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskManip(order, arm);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Puts or removes a flag.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskFlag(TaskFlagOrder order, int rank)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskFlag(order, rank);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Built a building.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskBuild(ObjectType type)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskBuild(type);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Probe the ground.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskSearch()
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskSearch();
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete mark on ground
|
|
||||||
|
|
||||||
Error COldObject::StartTaskDeleteMark()
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskDeleteMark();
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Terraformed the ground.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskTerraform()
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskTerraform();
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Change pencil.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskPen(bool down, TraceColor color)
|
|
||||||
{
|
|
||||||
auto motionVehicle = dynamic_cast<CMotionVehicle*>(m_motion.get());
|
|
||||||
assert(motionVehicle != nullptr);
|
|
||||||
|
|
||||||
if (color == TraceColor::Default)
|
|
||||||
color = GetTraceColor();
|
|
||||||
|
|
||||||
SetTraceDown(down);
|
|
||||||
SetTraceColor(color);
|
|
||||||
|
|
||||||
m_physics->SetMotorSpeedX(0.0f);
|
|
||||||
m_physics->SetMotorSpeedY(0.0f);
|
|
||||||
m_physics->SetMotorSpeedZ(0.0f);
|
|
||||||
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskPen(down, color);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Recovers a ruin.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskRecover()
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskRecover();
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Shoots.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskFire(float delay)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskFire(delay);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Explodes spider.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskSpiderExplo()
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskSpiderExplo();
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Shoots to the ant.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskFireAnt(Math::Vector impact)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskFireAnt(impact);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
Error COldObject::StartTaskWait(float time)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskWait(time);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
Error COldObject::StartTaskAdvance(float length)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskAdvance(length);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
Error COldObject::StartTaskTurn(float angle)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskTurn(angle);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
Error COldObject::StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskGoto(pos, altitude, goalMode, crashMode);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
Error COldObject::StartTaskInfo(const char *name, float value, float power, bool bSend)
|
|
||||||
{
|
|
||||||
StopForegroundTask();
|
|
||||||
|
|
||||||
m_foregroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_foregroundTask->StartTaskInfo(name, value, power, bSend);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deploys the shield.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskShield(TaskShieldMode mode, float delay)
|
|
||||||
{
|
|
||||||
if (m_backgroundTask == nullptr)
|
|
||||||
{
|
|
||||||
m_backgroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
}
|
|
||||||
Error err = m_backgroundTask->StartTaskShield(mode, delay);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Adjusts upward.
|
|
||||||
|
|
||||||
Error COldObject::StartTaskGunGoal(float dirV, float dirH)
|
|
||||||
{
|
|
||||||
StopBackgroundTask();
|
|
||||||
|
|
||||||
m_backgroundTask = MakeUnique<CTaskManager>(this);
|
|
||||||
Error err = m_backgroundTask->StartTaskGunGoal(dirV, dirH);
|
|
||||||
UpdateInterface();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
void COldObject::UpdateInterface()
|
void COldObject::UpdateInterface()
|
||||||
{
|
{
|
||||||
if (m_objectInterface != nullptr && GetSelect())
|
if (m_objectInterface != nullptr && GetSelect())
|
||||||
|
|
|
@ -287,28 +287,6 @@ public:
|
||||||
void SetScale(const Math::Vector& scale) override;
|
void SetScale(const Math::Vector& scale) override;
|
||||||
Math::Vector GetScale() const override;
|
Math::Vector GetScale() const override;
|
||||||
|
|
||||||
Error StartTaskTake() override;
|
|
||||||
Error StartTaskManip(TaskManipOrder order, TaskManipArm arm) override;
|
|
||||||
Error StartTaskFlag(TaskFlagOrder order, int rank) override;
|
|
||||||
Error StartTaskBuild(ObjectType type) override;
|
|
||||||
Error StartTaskSearch() override;
|
|
||||||
Error StartTaskDeleteMark() override;
|
|
||||||
Error StartTaskTerraform() override;
|
|
||||||
Error StartTaskRecover() override;
|
|
||||||
Error StartTaskFire(float delay) override;
|
|
||||||
Error StartTaskFireAnt(Math::Vector impact) override;
|
|
||||||
Error StartTaskSpiderExplo() override;
|
|
||||||
Error StartTaskPen(bool down, TraceColor color = TraceColor::Default) override;
|
|
||||||
|
|
||||||
Error StartTaskWait(float time) override;
|
|
||||||
Error StartTaskAdvance(float length) override;
|
|
||||||
Error StartTaskTurn(float angle) override;
|
|
||||||
Error StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode) override;
|
|
||||||
Error StartTaskInfo(const char *name, float value, float power, bool bSend) override;
|
|
||||||
|
|
||||||
Error StartTaskShield(TaskShieldMode mode, float delay = 1000.0f) override;
|
|
||||||
Error StartTaskGunGoal(float dirV, float dirH) override;
|
|
||||||
|
|
||||||
void UpdateInterface() override;
|
void UpdateInterface() override;
|
||||||
|
|
||||||
void StopProgram() override;
|
void StopProgram() override;
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// task.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,6 +71,12 @@ public:
|
||||||
virtual bool IsBusy();
|
virtual bool IsBusy();
|
||||||
virtual bool Abort();
|
virtual bool Abort();
|
||||||
|
|
||||||
|
//! Returns true if you can control the robot while the task is executing
|
||||||
|
virtual bool IsPilot() = 0;
|
||||||
|
|
||||||
|
//! Returns true if this task is meant to be run as a background task
|
||||||
|
virtual bool IsBackground() = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Gfx::CEngine* m_engine = nullptr;
|
Gfx::CEngine* m_engine = nullptr;
|
||||||
Gfx::CLightManager* m_lightMan = nullptr;
|
Gfx::CLightManager* m_lightMan = nullptr;
|
||||||
|
@ -88,3 +92,21 @@ protected:
|
||||||
CMotion* m_motion = nullptr;
|
CMotion* m_motion = nullptr;
|
||||||
CPhysics* m_physics = nullptr;
|
CPhysics* m_physics = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class CForegroundTask : public CTask
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CForegroundTask(COldObject* object) : CTask(object) {}
|
||||||
|
|
||||||
|
bool IsBackground() final { return false; }
|
||||||
|
virtual bool IsPilot() { return false; }
|
||||||
|
};
|
||||||
|
|
||||||
|
class CBackgroundTask : public CTask
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CBackgroundTask(COldObject* object) : CTask(object) {}
|
||||||
|
|
||||||
|
bool IsBackground() final { return true; }
|
||||||
|
bool IsPilot() final { return true; }
|
||||||
|
};
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskAdvance::CTaskAdvance(COldObject* object) : CTask(object)
|
CTaskAdvance::CTaskAdvance(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,4 +147,3 @@ Error CTaskAdvance::IsEnded()
|
||||||
}
|
}
|
||||||
return ERR_CONTINUE;
|
return ERR_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskadvance.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,7 +26,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskAdvance : public CTask
|
class CTaskAdvance : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskAdvance(COldObject* object);
|
CTaskAdvance(COldObject* object);
|
||||||
|
@ -49,4 +47,3 @@ protected:
|
||||||
float m_fixTime = 0.0f;
|
float m_fixTime = 0.0f;
|
||||||
bool m_bError = false;
|
bool m_bError = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskBuild::CTaskBuild(COldObject* object) : CTask(object)
|
CTaskBuild::CTaskBuild(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskbuild.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +47,7 @@ enum TaskBuildPhase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskBuild : public CTask
|
class CTaskBuild : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskBuild(COldObject* object);
|
CTaskBuild(COldObject* object);
|
||||||
|
@ -89,4 +87,3 @@ protected:
|
||||||
int m_lightRank[TBMAXLIGHT] = {}; // lights for the effects
|
int m_lightRank[TBMAXLIGHT] = {}; // lights for the effects
|
||||||
int m_soundChannel = 0;
|
int m_soundChannel = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
||||||
CTaskDeleteMark::CTaskDeleteMark(COldObject* object) : CTask(object)
|
CTaskDeleteMark::CTaskDeleteMark(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_bExecuted = false;
|
m_bExecuted = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,15 +17,13 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// tasksearch.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
#include "object/task/task.h"
|
#include "object/task/task.h"
|
||||||
|
|
||||||
|
|
||||||
class CTaskDeleteMark : public CTask
|
class CTaskDeleteMark : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskDeleteMark(COldObject* object);
|
CTaskDeleteMark(COldObject* object);
|
||||||
|
|
|
@ -38,7 +38,7 @@ const float ENERGY_FIREi = (0.10f/2.5f); // energy consumed/organic
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskFire::CTaskFire(COldObject* object) : CTask(object)
|
CTaskFire::CTaskFire(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_soundChannel = -1;
|
m_soundChannel = -1;
|
||||||
|
|
||||||
|
@ -387,3 +387,8 @@ bool CTaskFire::Abort()
|
||||||
//? m_camera->StopCentering(m_object, 1.0f);
|
//? m_camera->StopCentering(m_object, 1.0f);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CTaskFire::IsPilot()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskfire.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskFire : public CTask
|
class CTaskFire : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskFire(COldObject* object);
|
CTaskFire(COldObject* object);
|
||||||
|
@ -37,6 +35,7 @@ public:
|
||||||
Error Start(float delay);
|
Error Start(float delay);
|
||||||
Error IsEnded();
|
Error IsEnded();
|
||||||
bool Abort();
|
bool Abort();
|
||||||
|
bool IsPilot();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
float m_delay = 0.0f;
|
float m_delay = 0.0f;
|
||||||
|
@ -50,4 +49,3 @@ protected:
|
||||||
float m_lastSound = 0.0f;
|
float m_lastSound = 0.0f;
|
||||||
int m_soundChannel = 0;
|
int m_soundChannel = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskFireAnt::CTaskFireAnt(COldObject* object) : CTask(object)
|
CTaskFireAnt::CTaskFireAnt(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_phase = TFA_NULL;
|
m_phase = TFA_NULL;
|
||||||
}
|
}
|
||||||
|
@ -212,4 +212,3 @@ bool CTaskFireAnt::Abort()
|
||||||
m_motion->SetAction(-1);
|
m_motion->SetAction(-1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskfireant.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +36,7 @@ enum TaskFireAnt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskFireAnt : public CTask
|
class CTaskFireAnt : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskFireAnt(COldObject* object);
|
CTaskFireAnt(COldObject* object);
|
||||||
|
@ -63,4 +61,3 @@ protected:
|
||||||
float m_time = 0.0f;
|
float m_time = 0.0f;
|
||||||
float m_lastParticle = 0.0f;
|
float m_lastParticle = 0.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskFlag::CTaskFlag(COldObject* object) : CTask(object)
|
CTaskFlag::CTaskFlag(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
// taskflag.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -37,7 +36,7 @@ enum TaskFlagOrder
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskFlag : public CTask
|
class CTaskFlag : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskFlag(COldObject* object);
|
CTaskFlag(COldObject* object);
|
||||||
|
@ -60,4 +59,3 @@ protected:
|
||||||
float m_time = 0.0f;
|
float m_time = 0.0f;
|
||||||
bool m_bError = false;
|
bool m_bError = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ const float SAFETY_MARGIN = 0.5f; // Smallest distance between two objects
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskGoto::CTaskGoto(COldObject* object) : CTask(object)
|
CTaskGoto::CTaskGoto(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_bmArray = 0;
|
m_bmArray = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskgoto.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,7 +73,7 @@ enum TaskGotoPhase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskGoto : public CTask
|
class CTaskGoto : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskGoto(COldObject* object);
|
CTaskGoto(COldObject* object);
|
||||||
|
@ -160,4 +158,3 @@ protected:
|
||||||
float m_leakTime = 0.0f;
|
float m_leakTime = 0.0f;
|
||||||
bool m_bLeakRecede = false;
|
bool m_bLeakRecede = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskGunGoal::CTaskGunGoal(COldObject* object) : CTask(object)
|
CTaskGunGoal::CTaskGunGoal(COldObject* object) : CBackgroundTask(object)
|
||||||
{
|
{
|
||||||
m_aimImpossible = false;
|
m_aimImpossible = false;
|
||||||
}
|
}
|
||||||
|
@ -164,4 +164,3 @@ bool CTaskGunGoal::Abort()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskgungoal.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskGunGoal : public CTask
|
class CTaskGunGoal : public CBackgroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskGunGoal(COldObject* object);
|
CTaskGunGoal(COldObject* object);
|
||||||
|
@ -48,4 +46,3 @@ protected:
|
||||||
|
|
||||||
bool m_aimImpossible = false; // set to true if impossible aim was set
|
bool m_aimImpossible = false; // set to true if impossible aim was set
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskInfo::CTaskInfo(COldObject* object) : CTask(object)
|
CTaskInfo::CTaskInfo(COldObject* object) : CForegroundTask(object)
|
||||||
, m_progress(0.0f)
|
, m_progress(0.0f)
|
||||||
, m_speed(0.0f)
|
, m_speed(0.0f)
|
||||||
, m_time(0.0f)
|
, m_time(0.0f)
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskinfo.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
|
|
||||||
class CExchangePost;
|
class CExchangePost;
|
||||||
|
|
||||||
class CTaskInfo : public CTask
|
class CTaskInfo : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskInfo(COldObject* object);
|
CTaskInfo(COldObject* object);
|
||||||
|
@ -47,4 +45,3 @@ protected:
|
||||||
float m_time = 0.0f;
|
float m_time = 0.0f;
|
||||||
bool m_error = false;
|
bool m_error = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,263 +0,0 @@
|
||||||
/*
|
|
||||||
* This file is part of the Colobot: Gold Edition source code
|
|
||||||
* Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam
|
|
||||||
* http://epsiteс.ch; http://colobot.info; http://github.com/colobot
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
* See the GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include "object/task/taskmanager.h"
|
|
||||||
|
|
||||||
#include "common/make_unique.h"
|
|
||||||
|
|
||||||
#include "object/old_object.h"
|
|
||||||
|
|
||||||
#include "object/task/taskadvance.h"
|
|
||||||
#include "object/task/taskbuild.h"
|
|
||||||
#include "object/task/taskdeletemark.h"
|
|
||||||
#include "object/task/taskfire.h"
|
|
||||||
#include "object/task/taskfireant.h"
|
|
||||||
#include "object/task/taskgungoal.h"
|
|
||||||
#include "object/task/taskinfo.h"
|
|
||||||
#include "object/task/taskpen.h"
|
|
||||||
#include "object/task/taskrecover.h"
|
|
||||||
#include "object/task/tasksearch.h"
|
|
||||||
#include "object/task/taskspiderexplo.h"
|
|
||||||
#include "object/task/tasktake.h"
|
|
||||||
#include "object/task/taskterraform.h"
|
|
||||||
#include "object/task/taskturn.h"
|
|
||||||
#include "object/task/taskwait.h"
|
|
||||||
|
|
||||||
|
|
||||||
// Object's constructor.
|
|
||||||
|
|
||||||
CTaskManager::CTaskManager(COldObject* object)
|
|
||||||
: m_object(object),
|
|
||||||
m_bPilot(false)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// Object's destructor.
|
|
||||||
|
|
||||||
CTaskManager::~CTaskManager()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TaskType, typename... Args>
|
|
||||||
Error CTaskManager::StartTask(Args&&... args)
|
|
||||||
{
|
|
||||||
auto task = MakeUnique<TaskType>(m_object);
|
|
||||||
auto* taskPtr = task.get();
|
|
||||||
m_task = std::move(task);
|
|
||||||
return taskPtr->Start(std::forward<Args>(args)...);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Waits for a while.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskWait(float time)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskWait>(time);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Advance straight ahead a certain distance.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskAdvance(float length)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskAdvance>(length);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Turns through an certain angle.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskTurn(float angle)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskTurn>(angle);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reaches a given position.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskGoto>(pos, altitude, goalMode, crashMode);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Move the manipulator arm.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskTake()
|
|
||||||
{
|
|
||||||
return StartTask<CTaskTake>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Move the manipulator arm.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskManip(TaskManipOrder order, TaskManipArm arm)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskManip>(order, arm);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Puts or removes a flag.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskFlag(TaskFlagOrder order, int rank)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskFlag>(order, rank);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Builds a building.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskBuild(ObjectType type)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskBuild>(type);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Probe the ground.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskSearch()
|
|
||||||
{
|
|
||||||
return StartTask<CTaskSearch>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete mark on ground
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskDeleteMark()
|
|
||||||
{
|
|
||||||
return StartTask<CTaskDeleteMark>();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Reads an information terminal.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskInfo(const char *name, float value, float power, bool bSend)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskInfo>(name, value, power, bSend);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Terraforms the ground.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskTerraform()
|
|
||||||
{
|
|
||||||
return StartTask<CTaskTerraform>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Changes the pencil.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskPen(bool bDown, TraceColor color)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskPen>(bDown, color);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Recovers a ruin.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskRecover()
|
|
||||||
{
|
|
||||||
return StartTask<CTaskRecover>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deploys the shield.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskShield(TaskShieldMode mode, float delay)
|
|
||||||
{
|
|
||||||
if (mode == TSM_UP || mode == TSM_START)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskShield>(mode, delay);
|
|
||||||
}
|
|
||||||
else if (m_task != nullptr)
|
|
||||||
{
|
|
||||||
// TODO: is this static_cast really safe?
|
|
||||||
return (static_cast<CTaskShield*>(m_task.get()))->Start(mode, delay);
|
|
||||||
}
|
|
||||||
return ERR_UNKNOWN;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Shoots.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskFire(float delay)
|
|
||||||
{
|
|
||||||
m_bPilot = true;
|
|
||||||
return StartTask<CTaskFire>(delay);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Shoots with the ant.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskFireAnt(Math::Vector impact)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskFireAnt>(impact);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Adjusts higher.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskGunGoal(float dirV, float dirH)
|
|
||||||
{
|
|
||||||
return StartTask<CTaskGunGoal>(dirV, dirH);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Suicide of the spider.
|
|
||||||
|
|
||||||
Error CTaskManager::StartTaskSpiderExplo()
|
|
||||||
{
|
|
||||||
return StartTask<CTaskSpiderExplo>();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Management of an event.
|
|
||||||
|
|
||||||
bool CTaskManager::EventProcess(const Event &event)
|
|
||||||
{
|
|
||||||
if (m_task == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return m_task->EventProcess(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Indicates whether the action is finished.
|
|
||||||
|
|
||||||
Error CTaskManager::IsEnded()
|
|
||||||
{
|
|
||||||
if (m_task == nullptr)
|
|
||||||
return ERR_UNKNOWN;
|
|
||||||
|
|
||||||
return m_task->IsEnded();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Indicates whether the action is pending.
|
|
||||||
|
|
||||||
bool CTaskManager::IsBusy()
|
|
||||||
{
|
|
||||||
if (m_task == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return m_task->IsBusy();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Indicates whether it is possible to control the robot
|
|
||||||
// during the execution of the current task.
|
|
||||||
|
|
||||||
bool CTaskManager::IsPilot()
|
|
||||||
{
|
|
||||||
return m_bPilot;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Suddenly ends the current action.
|
|
||||||
|
|
||||||
bool CTaskManager::Abort()
|
|
||||||
{
|
|
||||||
if (m_task == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return m_task->Abort();
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
/*
|
|
||||||
* This file is part of the Colobot: Gold Edition source code
|
|
||||||
* Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam
|
|
||||||
* http://epsiteс.ch; http://colobot.info; http://github.com/colobot
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
* See the GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
|
||||||
*/
|
|
||||||
|
|
||||||
// taskmanager.h
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "object/interface/trace_drawing_object.h"
|
|
||||||
|
|
||||||
#include "object/task/task.h"
|
|
||||||
#include "object/task/taskflag.h"
|
|
||||||
#include "object/task/taskgoto.h"
|
|
||||||
#include "object/task/taskmanip.h"
|
|
||||||
#include "object/task/taskshield.h"
|
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskManager
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CTaskManager(COldObject* object);
|
|
||||||
~CTaskManager();
|
|
||||||
|
|
||||||
Error StartTaskWait(float time);
|
|
||||||
Error StartTaskAdvance(float length);
|
|
||||||
Error StartTaskTurn(float angle);
|
|
||||||
Error StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode);
|
|
||||||
Error StartTaskTake();
|
|
||||||
Error StartTaskManip(TaskManipOrder order, TaskManipArm arm);
|
|
||||||
Error StartTaskFlag(TaskFlagOrder order, int rank);
|
|
||||||
Error StartTaskBuild(ObjectType type);
|
|
||||||
Error StartTaskSearch();
|
|
||||||
Error StartTaskDeleteMark();
|
|
||||||
Error StartTaskInfo(const char *name, float value, float power, bool bSend);
|
|
||||||
Error StartTaskTerraform();
|
|
||||||
Error StartTaskPen(bool bDown, TraceColor color);
|
|
||||||
Error StartTaskRecover();
|
|
||||||
Error StartTaskShield(TaskShieldMode mode, float delay);
|
|
||||||
Error StartTaskFire(float delay);
|
|
||||||
Error StartTaskFireAnt(Math::Vector impact);
|
|
||||||
Error StartTaskGunGoal(float dirV, float dirH);
|
|
||||||
Error StartTaskSpiderExplo();
|
|
||||||
|
|
||||||
bool EventProcess(const Event &event);
|
|
||||||
Error IsEnded();
|
|
||||||
bool IsBusy();
|
|
||||||
bool IsPilot();
|
|
||||||
bool Abort();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
template<typename TaskType, typename... Args>
|
|
||||||
Error StartTask(Args&&... args);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
std::unique_ptr<CTask> m_task;
|
|
||||||
COldObject* m_object = nullptr;
|
|
||||||
bool m_bPilot = false;
|
|
||||||
};
|
|
|
@ -51,7 +51,7 @@ const float MARGIN_BEE = 5.0f; //OK 1.9
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskManip::CTaskManip(COldObject* object) : CTask(object)
|
CTaskManip::CTaskManip(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_arm = TMA_NEUTRAL;
|
m_arm = TMA_NEUTRAL;
|
||||||
m_hand = TMH_OPEN;
|
m_hand = TMH_OPEN;
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskmanip.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,7 +56,7 @@ enum TaskManipHand
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskManip : public CTask
|
class CTaskManip : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskManip(COldObject* object);
|
CTaskManip(COldObject* object);
|
||||||
|
@ -103,4 +101,3 @@ protected:
|
||||||
float m_timeLimit = 0.0f;
|
float m_timeLimit = 0.0f;
|
||||||
ObjectType m_cargoType = OBJECT_NULL;
|
ObjectType m_cargoType = OBJECT_NULL;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,12 +25,14 @@
|
||||||
|
|
||||||
#include "object/old_object.h"
|
#include "object/old_object.h"
|
||||||
|
|
||||||
|
#include "physics/physics.h"
|
||||||
|
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
|
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskPen::CTaskPen(COldObject* object) : CTask(object)
|
CTaskPen::CTaskPen(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,6 +138,16 @@ Error CTaskPen::Start(bool bDown, TraceColor color)
|
||||||
ObjectType type;
|
ObjectType type;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (color == TraceColor::Default)
|
||||||
|
color = m_object->GetTraceColor();
|
||||||
|
|
||||||
|
m_object->SetTraceDown(bDown);
|
||||||
|
m_object->SetTraceColor(color);
|
||||||
|
|
||||||
|
m_physics->SetMotorSpeedX(0.0f);
|
||||||
|
m_physics->SetMotorSpeedY(0.0f);
|
||||||
|
m_physics->SetMotorSpeedZ(0.0f);
|
||||||
|
|
||||||
m_bError = true; // operation impossible
|
m_bError = true; // operation impossible
|
||||||
|
|
||||||
type = m_object->GetType();
|
type = m_object->GetType();
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskpen.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +36,7 @@ enum TaskPenPhase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskPen : public CTask
|
class CTaskPen : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskPen(COldObject* object);
|
CTaskPen(COldObject* object);
|
||||||
|
|
|
@ -43,7 +43,7 @@ const float RECOVER_DIST = 11.8f;
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskRecover::CTaskRecover(COldObject* object) : CTask(object)
|
CTaskRecover::CTaskRecover(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_ruin = 0;
|
m_ruin = 0;
|
||||||
m_soundChannel = -1;
|
m_soundChannel = -1;
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskrecover.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,7 +37,7 @@ enum TaskRecoverPhase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskRecover : public CTask
|
class CTaskRecover : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskRecover(COldObject* object);
|
CTaskRecover(COldObject* object);
|
||||||
|
@ -67,4 +65,3 @@ protected:
|
||||||
Math::Vector m_recoverPos;
|
Math::Vector m_recoverPos;
|
||||||
int m_soundChannel = 0;
|
int m_soundChannel = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskSearch::CTaskSearch(COldObject* object) : CTask(object)
|
CTaskSearch::CTaskSearch(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_hand = TSH_UP;
|
m_hand = TSH_UP;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// tasksearch.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,7 +41,7 @@ enum TaskSearchPhase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskSearch : public CTask
|
class CTaskSearch : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskSearch(COldObject* object);
|
CTaskSearch(COldObject* object);
|
||||||
|
@ -71,4 +69,3 @@ protected:
|
||||||
float m_finalAngle[3] = {};
|
float m_finalAngle[3] = {};
|
||||||
bool m_bError = false;
|
bool m_bError = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ const float ENERGY_TIME = 20.0f; // maximum duration if full battery
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskShield::CTaskShield(COldObject* object) : CTask(object)
|
CTaskShield::CTaskShield(COldObject* object) : CBackgroundTask(object)
|
||||||
{
|
{
|
||||||
m_rankSphere = -1;
|
m_rankSphere = -1;
|
||||||
m_soundChannel = -1;
|
m_soundChannel = -1;
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskshield.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,7 +49,7 @@ enum TaskShieldMode
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskShield : public CTask
|
class CTaskShield : public CBackgroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskShield(COldObject* object);
|
CTaskShield(COldObject* object);
|
||||||
|
@ -86,4 +84,3 @@ protected:
|
||||||
int m_soundChannel = 0;
|
int m_soundChannel = 0;
|
||||||
int m_effectLight = 0;
|
int m_effectLight = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskSpiderExplo::CTaskSpiderExplo(COldObject* object) : CTask(object)
|
CTaskSpiderExplo::CTaskSpiderExplo(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_time = 0.0f;
|
m_time = 0.0f;
|
||||||
m_bError = false;
|
m_bError = false;
|
||||||
|
@ -107,4 +107,3 @@ bool CTaskSpiderExplo::Abort()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskspiderexplo.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskSpiderExplo : public CTask
|
class CTaskSpiderExplo : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskSpiderExplo(COldObject* object);
|
CTaskSpiderExplo(COldObject* object);
|
||||||
|
@ -42,4 +40,3 @@ protected:
|
||||||
float m_time = 0.0f;
|
float m_time = 0.0f;
|
||||||
bool m_bError = false;
|
bool m_bError = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskTake::CTaskTake(COldObject* object) : CTask(object)
|
CTaskTake::CTaskTake(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_arm = TTA_NEUTRAL;
|
m_arm = TTA_NEUTRAL;
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// tasktake.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,7 +42,7 @@ enum TaskTakeArm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskTake : public CTask
|
class CTaskTake : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskTake(COldObject* object);
|
CTaskTake(COldObject* object);
|
||||||
|
@ -75,4 +73,3 @@ protected:
|
||||||
float m_angle = 0.0f;
|
float m_angle = 0.0f;
|
||||||
ObjectType m_cargoType = OBJECT_NULL;
|
ObjectType m_cargoType = OBJECT_NULL;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ const float ACTION_RADIUS = 400.0f;
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskTerraform::CTaskTerraform(COldObject* object) : CTask(object)
|
CTaskTerraform::CTaskTerraform(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
m_lastParticle = 0.0f;
|
m_lastParticle = 0.0f;
|
||||||
m_soundChannel = -1;
|
m_soundChannel = -1;
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskterraform.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,7 +35,7 @@ enum TaskTerraPhase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskTerraform : public CTask
|
class CTaskTerraform : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskTerraform(COldObject* object);
|
CTaskTerraform(COldObject* object);
|
||||||
|
@ -62,4 +60,3 @@ protected:
|
||||||
bool m_bError = false;
|
bool m_bError = false;
|
||||||
Math::Vector m_terraPos;
|
Math::Vector m_terraPos;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskTurn::CTaskTurn(COldObject* object) : CTask(object)
|
CTaskTurn::CTaskTurn(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskturn.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskTurn : public CTask
|
class CTaskTurn : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskTurn(COldObject* object);
|
CTaskTurn(COldObject* object);
|
||||||
|
@ -44,4 +42,3 @@ protected:
|
||||||
bool m_bLeft = false;
|
bool m_bLeft = false;
|
||||||
bool m_bError = false;
|
bool m_bError = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
// Object's constructor.
|
// Object's constructor.
|
||||||
|
|
||||||
CTaskWait::CTaskWait(COldObject* object) : CTask(object)
|
CTaskWait::CTaskWait(COldObject* object) : CForegroundTask(object)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,4 +68,3 @@ Error CTaskWait::IsEnded()
|
||||||
if ( m_bEnded ) return ERR_STOP;
|
if ( m_bEnded ) return ERR_STOP;
|
||||||
return ERR_CONTINUE;
|
return ERR_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// taskwait.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CTaskWait : public CTask
|
class CTaskWait : public CForegroundTask
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTaskWait(COldObject* object);
|
CTaskWait(COldObject* object);
|
||||||
|
@ -42,4 +40,3 @@ protected:
|
||||||
float m_passTime = 0.0f;
|
float m_passTime = 0.0f;
|
||||||
bool m_bEnded = false;
|
bool m_bEnded = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -54,8 +54,6 @@
|
||||||
|
|
||||||
#include "object/subclass/exchange_post.h"
|
#include "object/subclass/exchange_post.h"
|
||||||
|
|
||||||
#include "object/task/taskmanager.h"
|
|
||||||
|
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
#include "script/cbottoken.h"
|
#include "script/cbottoken.h"
|
||||||
|
@ -1174,11 +1172,10 @@ bool CScriptFunctions::rRadar(CBotVar* var, CBotVar* result, int& exception, voi
|
||||||
|
|
||||||
// Monitoring a task.
|
// Monitoring a task.
|
||||||
|
|
||||||
bool CScriptFunctions::Process(CScript* script, CBotVar* result, int &exception)
|
bool CScriptFunctions::WaitForForegroundTask(CScript* script, CBotVar* result, int &exception)
|
||||||
{
|
{
|
||||||
Error err;
|
assert(script->m_taskExecutor->IsForegroundTask());
|
||||||
|
Error err = script->m_taskExecutor->GetForegroundTask()->IsEnded();
|
||||||
err = script->m_taskExecutor->GetForegroundTask()->IsEnded();
|
|
||||||
if ( err != ERR_CONTINUE ) // task terminated?
|
if ( err != ERR_CONTINUE ) // task terminated?
|
||||||
{
|
{
|
||||||
script->m_taskExecutor->StopForegroundTask();
|
script->m_taskExecutor->StopForegroundTask();
|
||||||
|
@ -1187,7 +1184,31 @@ bool CScriptFunctions::Process(CScript* script, CBotVar* result, int &exception)
|
||||||
|
|
||||||
if ( err == ERR_STOP ) err = ERR_OK;
|
if ( err == ERR_STOP ) err = ERR_OK;
|
||||||
result->SetValInt(err); // indicates the error or ok
|
result->SetValInt(err); // indicates the error or ok
|
||||||
if ( ShouldProcessStop(err, script->m_errMode) )
|
if ( ShouldTaskStop(err, script->m_errMode) )
|
||||||
|
{
|
||||||
|
exception = err;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true; // it's all over
|
||||||
|
}
|
||||||
|
|
||||||
|
script->m_bContinue = true;
|
||||||
|
return false; // not done
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CScriptFunctions::WaitForBackgroundTask(CScript* script, CBotVar* result, int &exception)
|
||||||
|
{
|
||||||
|
assert(script->m_taskExecutor->IsBackgroundTask());
|
||||||
|
Error err = script->m_taskExecutor->GetBackgroundTask()->IsEnded();
|
||||||
|
if ( err != ERR_CONTINUE ) // task terminated?
|
||||||
|
{
|
||||||
|
script->m_taskExecutor->StopBackgroundTask();
|
||||||
|
|
||||||
|
script->m_bContinue = false;
|
||||||
|
|
||||||
|
if ( err == ERR_STOP ) err = ERR_OK;
|
||||||
|
result->SetValInt(err); // indicates the error or ok
|
||||||
|
if ( ShouldTaskStop(err, script->m_errMode) )
|
||||||
{
|
{
|
||||||
exception = err;
|
exception = err;
|
||||||
return false;
|
return false;
|
||||||
|
@ -1202,7 +1223,7 @@ bool CScriptFunctions::Process(CScript* script, CBotVar* result, int &exception)
|
||||||
|
|
||||||
// Returns true if error code means real error and exception must be thrown
|
// Returns true if error code means real error and exception must be thrown
|
||||||
|
|
||||||
bool CScriptFunctions::ShouldProcessStop(Error err, int errMode)
|
bool CScriptFunctions::ShouldTaskStop(Error err, int errMode)
|
||||||
{
|
{
|
||||||
// aim impossible - not a real error
|
// aim impossible - not a real error
|
||||||
if ( err == ERR_AIM_IMPOSSIBLE )
|
if ( err == ERR_AIM_IMPOSSIBLE )
|
||||||
|
@ -1305,7 +1326,7 @@ bool CScriptFunctions::rDetect(CBotVar* var, CBotVar* result, int& exception, vo
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( !Process(script, result, exception) ) return false; // not finished
|
if ( !WaitForForegroundTask(script, result, exception) ) return false; // not finished
|
||||||
result->SetValFloat(script->m_returnValue);
|
result->SetValFloat(script->m_returnValue);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1436,7 +1457,7 @@ bool CScriptFunctions::rBuild(CBotVar* var, CBotVar* result, int& exception, voi
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1880,7 +1901,7 @@ bool CScriptFunctions::rWait(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instruction "move(dist)".
|
// Instruction "move(dist)".
|
||||||
|
@ -1909,7 +1930,7 @@ bool CScriptFunctions::rMove(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instruction "turn(angle)".
|
// Instruction "turn(angle)".
|
||||||
|
@ -1938,7 +1959,7 @@ bool CScriptFunctions::rTurn(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compilation of the instruction "goto(pos, altitude, crash, goal)".
|
// Compilation of the instruction "goto(pos, altitude, crash, goal)".
|
||||||
|
@ -2018,7 +2039,7 @@ bool CScriptFunctions::rGoto(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compilation "grab/drop(oper)".
|
// Compilation "grab/drop(oper)".
|
||||||
|
@ -2078,7 +2099,7 @@ bool CScriptFunctions::rGrab(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instruction "drop(oper)".
|
// Instruction "drop(oper)".
|
||||||
|
@ -2121,7 +2142,7 @@ bool CScriptFunctions::rDrop(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instruction "sniff()".
|
// Instruction "sniff()".
|
||||||
|
@ -2148,7 +2169,7 @@ bool CScriptFunctions::rSniff(CBotVar* var, CBotVar* result, int& exception, voi
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compilation of the instruction "receive(nom, power)".
|
// Compilation of the instruction "receive(nom, power)".
|
||||||
|
@ -2201,7 +2222,7 @@ bool CScriptFunctions::rReceive(CBotVar* var, CBotVar* result, int& exception, v
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( !Process(script, result, exception) ) return false; // not finished
|
if ( !WaitForForegroundTask(script, result, exception) ) return false; // not finished
|
||||||
|
|
||||||
value = pThis->GetInfoReturn();
|
value = pThis->GetInfoReturn();
|
||||||
if ( std::isnan(value) )
|
if ( std::isnan(value) )
|
||||||
|
@ -2276,7 +2297,7 @@ bool CScriptFunctions::rSend(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Seeks the nearest information terminal.
|
// Seeks the nearest information terminal.
|
||||||
|
@ -2406,7 +2427,7 @@ bool CScriptFunctions::rThump(CBotVar* var, CBotVar* result, int& exception, voi
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instruction "recycle()".
|
// Instruction "recycle()".
|
||||||
|
@ -2433,7 +2454,7 @@ bool CScriptFunctions::rRecycle(CBotVar* var, CBotVar* result, int& exception, v
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compilation "shield(oper, radius)".
|
// Compilation "shield(oper, radius)".
|
||||||
|
@ -2591,7 +2612,7 @@ bool CScriptFunctions::rFire(CBotVar* var, CBotVar* result, int& exception, void
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compilation of the instruction "aim(x, y)".
|
// Compilation of the instruction "aim(x, y)".
|
||||||
|
@ -2621,7 +2642,7 @@ bool CScriptFunctions::rAim(CBotVar* var, CBotVar* result, int& exception, void*
|
||||||
|
|
||||||
exception = 0;
|
exception = 0;
|
||||||
|
|
||||||
if ( !script->m_taskExecutor->IsForegroundTask() ) // no task in progress?
|
if ( !script->m_taskExecutor->IsBackgroundTask() ) // no task in progress?
|
||||||
{
|
{
|
||||||
x = var->GetValFloat();
|
x = var->GetValFloat();
|
||||||
var = var->GetNext();
|
var = var->GetNext();
|
||||||
|
@ -2633,12 +2654,12 @@ bool CScriptFunctions::rAim(CBotVar* var, CBotVar* result, int& exception, void*
|
||||||
}
|
}
|
||||||
else if ( err != ERR_OK )
|
else if ( err != ERR_OK )
|
||||||
{
|
{
|
||||||
script->m_taskExecutor->StopForegroundTask();
|
script->m_taskExecutor->StopBackgroundTask();
|
||||||
result->SetValInt(err); // shows the error
|
result->SetValInt(err); // shows the error
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForBackgroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compilation of the instruction "motor(left, right)".
|
// Compilation of the instruction "motor(left, right)".
|
||||||
|
@ -2926,7 +2947,7 @@ bool CScriptFunctions::rPenDown(CBotVar* var, CBotVar* result, int& exception, v
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2975,7 +2996,7 @@ bool CScriptFunctions::rPenUp(CBotVar* var, CBotVar* result, int& exception, voi
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3029,7 +3050,7 @@ bool CScriptFunctions::rPenColor(CBotVar* var, CBotVar* result, int& exception,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Process(script, result, exception);
|
return WaitForForegroundTask(script, result, exception);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -190,8 +190,9 @@ public:
|
||||||
static int m_numberOfOpenFiles;
|
static int m_numberOfOpenFiles;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool Process(CScript* script, CBotVar* result, int &exception);
|
static bool WaitForForegroundTask(CScript* script, CBotVar* result, int &exception);
|
||||||
static bool ShouldProcessStop(Error err, int errMode);
|
static bool WaitForBackgroundTask(CScript* script, CBotVar* result, int &exception);
|
||||||
|
static bool ShouldTaskStop(Error err, int errMode);
|
||||||
static CExchangePost* FindExchangePost(CObject* object, float power);
|
static CExchangePost* FindExchangePost(CObject* object, float power);
|
||||||
|
|
||||||
static bool FileClassOpenFile(CBotVar* pThis, CBotVar* pVar, CBotVar* pResult, int& Exception);
|
static bool FileClassOpenFile(CBotVar* pThis, CBotVar* pVar, CBotVar* pResult, int& Exception);
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// check.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "common/logger.h"
|
#include "common/logger.h"
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// button.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ui/controls/control.h"
|
#include "ui/controls/control.h"
|
||||||
|
@ -54,4 +52,3 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// check.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ui/controls/control.h"
|
#include "ui/controls/control.h"
|
||||||
|
@ -46,4 +44,3 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// color.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ui/controls/control.h"
|
#include "ui/controls/control.h"
|
||||||
|
@ -58,4 +56,3 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// control.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
|
@ -145,4 +143,3 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Ui
|
} // namespace Ui
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// editvalue.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -94,4 +92,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// gauge.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ui/controls/control.h"
|
#include "ui/controls/control.h"
|
||||||
|
@ -47,4 +45,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// group.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,4 +49,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// image.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,4 +51,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// interface.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// label.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,4 +42,3 @@ public:
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// list.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -129,4 +127,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
} // namespace Ui
|
} // namespace Ui
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// map.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ui/controls/control.h"
|
#include "ui/controls/control.h"
|
||||||
|
@ -145,4 +143,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// scroll.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,4 +82,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
} // namespace Ui
|
} // namespace Ui
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// shortcut.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ui/controls/control.h"
|
#include "ui/controls/control.h"
|
||||||
|
@ -49,4 +47,3 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// slider.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ui/controls/control.h"
|
#include "ui/controls/control.h"
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// target.h
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue