using System.Collections.Generic;
|
using System;
|
using UnityEngine;
|
|
public class RecordPlayer
|
{
|
protected BattleField battleField;
|
|
private Queue<RecordAction> recordActionQueue = new Queue<RecordAction>();
|
|
protected RecordAction currentRecordAction;
|
|
public void Init(BattleField _battleField)
|
{
|
battleField = _battleField;
|
}
|
|
public void PlayRecord(RecordAction recordAction)
|
{
|
recordActionQueue.Enqueue(recordAction);
|
}
|
|
public void PlayRecord(List<RecordAction> recordActions)
|
{
|
for (int i = 0; i < recordActions.Count; i++)
|
{
|
recordActionQueue.Enqueue(recordActions[i]);
|
}
|
}
|
|
public virtual void Run()
|
{
|
if (recordActionQueue.Count == 0)
|
{
|
return;
|
}
|
|
if (currentRecordAction == null || currentRecordAction.IsFinished())
|
{
|
currentRecordAction = recordActionQueue.Dequeue();
|
}
|
|
if (currentRecordAction != null)
|
{
|
currentRecordAction.Run();
|
}
|
|
}
|
}
|