virtual protected void _fin() { // notify listener task finish while (_onFinCbs.Count > 0) { Action <ITask> ac = _onFinCbs.Pop(); ac.Invoke(this); } // change status _status = AETaskStatus.ATS_ENDED; if (_awaitTask != null) { _awaitTask.Start(); // tell the awaiter that I am finish _awaitTask = null; } }
virtual protected void _persist() { _status = AETaskStatus.ATS_PERSISTING; }
virtual protected void _prepare() { _status = AETaskStatus.ATS_PREPARING; }
virtual protected void _doWork() { _status = AETaskStatus.ATS_WORKING; }
virtual public void onQueued() { _status = AETaskStatus.ATS_QUEUED; }