14#ifndef ASYNCTASKSEQUENCE_H
15#define ASYNCTASKSEQUENCE_H
33class EXPCL_PANDA_EVENT AsyncTaskSequence :
public AsyncTask,
public AsyncTaskCollection {
35 explicit AsyncTaskSequence(
const std::string &name);
36 virtual ~AsyncTaskSequence();
37 ALLOC_DELETED_CHAIN(AsyncTaskSequence);
45 virtual bool is_runnable();
46 virtual DoneStatus do_task();
47 virtual void upon_birth(AsyncTaskManager *manager);
48 virtual void upon_death(AsyncTaskManager *manager,
bool clean_exit);
51 void set_current_task(AsyncTask *task,
bool clean_exit);
55 PT(AsyncTask) _current_task;
61 static void init_type() {
62 AsyncTask::init_type();
64 AsyncTask::get_class_type());
67 return get_class_type();
69 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A class to manage a loose queue of isolated tasks, which can be performed either synchronously (in th...
size_t get_current_task_index() const
Returns the index of the task within the sequence that is currently being executed (or that will be e...
int get_repeat_count() const
Returns the repeat count of the sequence.
void set_repeat_count(int repeat_count)
Sets the repeat count of the sequence.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...