Пример #1
0
        private void HandleEffectTasks()
        {
            EffectTask[] tasks = _mailbox.GetSubscribedTasksForType <EffectTask>(this);

            for (int i = 0; i < tasks.Length; i++)
            {
                EffectTask task = tasks[i];
                task.IsFinished = true;
                _mailbox.RemoveTask(task);

                switch (task.Type)
                {
                case EffectType.Death:
                    _effectsManager.CreateDeathEffect(task.Position);
                    break;

                case EffectType.Portal:
                    _effectsManager.CreatePortalEffect(task.Position);
                    break;

                case EffectType.Spawn:
                    _effectsManager.CreateSpawnEffect(task.Position);
                    break;

                case EffectType.Attack:
                    _effectsManager.CreateAttackEffect(task.Position);
                    break;
                }
            }
        }
Пример #2
0
    public void AddTask(float delay, System.Action<object> callback, object param = null)
	{
		EffectTask task = new EffectTask();
		task.Delay = delay;
		task.Callback = callback;
		task.Param = param;
		taskList.Add(task);
	}