Packageru.antkarlov.anthill.plugins
Classpublic class AntTaskManager
InheritanceAntTaskManager Inheritance Object
Implements IPlugin

Language Version : ActionScript 3
Since : 22.08.2012
Runtime Versions : AIR 1.0, Flash Player 9.0.0

Менеджер задач используется для выполнения задач (вызова указанных методов) в заданном порядке.

Позволяет легко и быстро программировать последовательность каких-либо действий. Менеджер задач запускается автоматически при наличии одной и более задачь завершает свою работу если все задачи были выполнены или удалены.

Пример использования:

     var tm:AntTaskManager = new AntTaskManager();
     tm.addTask(onMove);
     tm.addInstantTask(onSwitchAnim);
     
     ..Этот метод будет выполнятся менеджером до тех пор пока не вернет true.
     function onMove():Boolean
     {
       x += 1;
       return (x > 100);
     }
     
     ..Этот метод будет выполнен один раз не зависимо от того что вернет.
     function onSwitchAnim():void
     {
       ..какой-нибудь код
     }
     

Позаимствовано у Xitri.com



Public Properties
 PropertyDefined By
  eventComplete : AntSignal
Событие которое генерируется при завершении всех задач в менеджере задач.
AntTaskManager
  isStarted : Boolean
[read-only] Определяет запущен ли менеджер задач.
AntTaskManager
  numTasks : int
[read-only] Определяет количество задач.
AntTaskManager
  pause : Boolean
Определяет режим паузы для менеджера задач.
AntTaskManager
  priority : int
Задает приоритет для плагина.
AntTaskManager
  tag : String
Задает идентификатор для плагина.
AntTaskManager
Protected Properties
 PropertyDefined By
  _cycle : Boolean
Определяет выполняются ли задачи в цикле.
AntTaskManager
  _delay : Number
Используется для рассчета текущей паузы между задачами.
AntTaskManager
  _isPaused : Boolean
Определеяет поставленно ли выполнение задач на паузу.
AntTaskManager
  _isStarted : Boolean
Определяет запущенна ли работа менеджера.
AntTaskManager
  _priority : int
Приоритет плагина.
AntTaskManager
  _result : Boolean
Помошник для определения завершения текущей задачи.
AntTaskManager
  _tag : String
Идентификатор плагина.
AntTaskManager
  _task : AntList
Список всех активных задач.
AntTaskManager
Public Methods
 MethodDefined By
  
AntTaskManager(aCycle:Boolean = false)
AntTaskManager
  
addInstantTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void
Добавляет задачу в конец очереди, указанный метод будет выполнен только один раз, после чего будет осуществлен переход к следующей задачи не зависимо от того, что вернет метод-задача и вернет ли вообще.
AntTaskManager
  
addPause(aDelay:Number, aIgnoreCycle:Boolean = false):void
Добавляет паузу между задачами.
AntTaskManager
  
addTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void
Добавляет задачу в конец очереди, указанный метод будет выполнятся до тех пор пока не вернет true.
AntTaskManager
  
addUrgentInstantTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void
Добавляет задачу в начало очереди, указанный метод будет выполнен только один раз, после чего будет осуществлен переход к следующей задачи не зависимо от того, что вернет метод задача и вернет ли вообще.
AntTaskManager
  
addUrgentTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void
Добавляет задачу в начало очереди, указанный метод будет выполнятся до тех пор пока не вернет true.
AntTaskManager
  
clear():void
Удаляет все задачи из менеджера и останавливает его работу.
AntTaskManager
  
destroy():void
Освобождает ресурсы занимаемые мендежером задач.
AntTaskManager
  
draw(aCamera:AntCamera):void
Вызывается автоматически каждый кадр когда плагин добавлен в структуру Anthill методом AntG.addPlugin().
AntTaskManager
  
nextTask(aIgnoreCycle:Boolean = false):void
Переход к следующей задаче.
AntTaskManager
  
update():void
Вызывается автоматически каждый кадр когда плагин добавлен в стркутуру Anthill методом AntG.addPlugin().
AntTaskManager
Protected Methods
 MethodDefined By
  
push(aObj:Object):Object
Добавляет указанный объект в конец списка.
AntTaskManager
  
shift():Object
Удаляет первый объект из списка.
AntTaskManager
  
start():void
Запускает работу менеджера задача.
AntTaskManager
  
stop():void
Останавливает работу менеджера задач.
AntTaskManager
  
taskPause(aDelay:Number):Boolean
Метод-задача для реализации паузы между задачами.
AntTaskManager
  
unshift(aObj:Object):Object
Добавляет указанный объект в начало списка.
AntTaskManager
Property Detail
_cycleproperty
protected var _cycle:Boolean

Определяет выполняются ли задачи в цикле.

The default value is false.

_delayproperty 
protected var _delay:Number

Используется для рассчета текущей паузы между задачами.

The default value is 0.

_isPausedproperty 
protected var _isPaused:Boolean

Определеяет поставленно ли выполнение задач на паузу.

The default value is false.

_isStartedproperty 
protected var _isStarted:Boolean

Определяет запущенна ли работа менеджера.

The default value is false.

_priorityproperty 
protected var _priority:int

Приоритет плагина.

_resultproperty 
protected var _result:Boolean

Помошник для определения завершения текущей задачи.

The default value is false.

_tagproperty 
protected var _tag:String

Идентификатор плагина.

_taskproperty 
protected var _task:AntList

Список всех активных задач.

The default value is null.

eventCompleteproperty 
public var eventComplete:AntSignal

Событие которое генерируется при завершении всех задач в менеджере задач.

В качестве аргумента при вызове подписавшихся методов передается указатель на экземпляр класса AntTaskManager.

Пример использования:

         taskManager.eventComplete.add(onComplete);
         
         function onComplete(aTaskManager:AntTaskManager):void
         {
           trace("All tasks completed!");
         }
         

isStartedproperty 
isStarted:Boolean  [read-only]

Определяет запущен ли менеджер задач.


Implementation
    public function get isStarted():Boolean
numTasksproperty 
numTasks:int  [read-only]

Определяет количество задач.


Implementation
    public function get numTasks():int
pauseproperty 
pause:Boolean

Определяет режим паузы для менеджера задач.


Implementation
    public function get pause():Boolean
    public function set pause(value:Boolean):void
priorityproperty 
priority:int

Задает приоритет для плагина.

Приоритет влияет только на порядок обновления и отрисовки плагинов. Плагины с наибольшим приоритетом выполняются в первую очередь чем с наименьшим.


Implementation
    public function get priority():int
    public function set priority(value:int):void
tagproperty 
tag:String

Задает идентификатор для плагина.

Используя идентификаторы можно объеденять плагины в группы и, например, останавливать сразу несколько плагинов и возобновлять их работу.


Implementation
    public function get tag():String
    public function set tag(value:String):void
Constructor Detail
AntTaskManager()Constructor
public function AntTaskManager(aCycle:Boolean = false)

Parameters
aCycle:Boolean (default = false)
Method Detail
addInstantTask()method
public function addInstantTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void

Добавляет задачу в конец очереди, указанный метод будет выполнен только один раз, после чего будет осуществлен переход к следующей задачи не зависимо от того, что вернет метод-задача и вернет ли вообще.

Parameters

aFunc:Function — Метод-задача который будет выполнятся в порядке очереди.
 
aArgs:Array (default = null) — Массив аргументов которые могут быть переданны методу задачи.
 
aIgnoreCycle:Boolean (default = false) — Если true то задача будет удалена из менеджера сразу после выполнения.

addPause()method 
public function addPause(aDelay:Number, aIgnoreCycle:Boolean = false):void

Добавляет паузу между задачами.

Parameters

aDelay:Number — Время паузы.
 
aIgnoreCycle:Boolean (default = false) — Если true то пауза будет выполнена только один раз за цикл.

addTask()method 
public function addTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void

Добавляет задачу в конец очереди, указанный метод будет выполнятся до тех пор пока не вернет true. Только после того как метод вернет true, задача будет считаться выполненный и менеджер перейдет к следующей задачи.

Parameters

aFunc:Function — Метод-задача который будет выполнятся в порядке очереди.
 
aArgs:Array (default = null) — Массив аргументов которые могут быть переданны методу задачи.
 
aIgnoreCycle:Boolean (default = false) — Если true то задача будет удалена из менеджера сразу после выполнения.

addUrgentInstantTask()method 
public function addUrgentInstantTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void

Добавляет задачу в начало очереди, указанный метод будет выполнен только один раз, после чего будет осуществлен переход к следующей задачи не зависимо от того, что вернет метод задача и вернет ли вообще.

Parameters

aFunc:Function — Метод-задача который будет выполнятся в порядке очереди.
 
aArgs:Array (default = null) — Массив аргументов которые могут быть переданны методу задачи.
 
aIgnoreCycle:Boolean (default = false) — Если true то задача будет удалена из менеджера сразу после выполнения.

addUrgentTask()method 
public function addUrgentTask(aFunc:Function, aArgs:Array = null, aIgnoreCycle:Boolean = false):void

Добавляет задачу в начало очереди, указанный метод будет выполнятся до тех пор пока не вернет true. Только после того как метод вернет true, задача будет считаться выполненной и менеджер перейдет к следующей задачи.

Parameters

aFunc:Function — Метод-задача который будет выполнятся в порядке очереди.
 
aArgs:Array (default = null) — Массив аргументов которые могут быть переданны методу задачи.
 
aIgnoreCycle:Boolean (default = false) — Если true то задача будет удалена из менеджера сразу после выполнения.

clear()method 
public function clear():void

Удаляет все задачи из менеджера и останавливает его работу.

destroy()method 
public function destroy():void

Освобождает ресурсы занимаемые мендежером задач. Следует вызывать перед удалением.

draw()method 
public function draw(aCamera:AntCamera):void

Вызывается автоматически каждый кадр когда плагин добавлен в структуру Anthill методом AntG.addPlugin().

Если ваш плагин не имеет средств визуализации, то просто оставьте этот метод пустым.

Parameters

aCamera:AntCamera — Указатель на текущую камеру.

nextTask()method 
public function nextTask(aIgnoreCycle:Boolean = false):void

Переход к следующей задаче.

Parameters

aIgnoreCycle:Boolean (default = false) — Флаг определяющий следует ли оставить предыдущую задачу в диспетчере.

push()method 
protected function push(aObj:Object):Object

Добавляет указанный объект в конец списка.

Parameters

aObj:Object — Объект который необходимо добавить.

Returns
Object — Возвращает указатель на добавленный объект.
shift()method 
protected function shift():Object

Удаляет первый объект из списка.

Returns
Object — Возвращает указатель на удаленный объект.
start()method 
protected function start():void

Запускает работу менеджера задача.

stop()method 
protected function stop():void

Останавливает работу менеджера задач.

taskPause()method 
protected function taskPause(aDelay:Number):Boolean

Метод-задача для реализации паузы между задачами.

Parameters

aDelay:Number — Задержка.

Returns
Boolean — Возвращает true когда задача выполнена.
unshift()method 
protected function unshift(aObj:Object):Object

Добавляет указанный объект в начало списка.

Parameters

aObj:Object — Объект который необходимо добавить.

Returns
Object — Возвращает указатель на добавленный объект.
update()method 
public function update():void

Вызывается автоматически каждый кадр когда плагин добавлен в стркутуру Anthill методом AntG.addPlugin().