2023-07-01 21:07:29 -05:00
|
|
|
|
using System;
|
2023-06-20 13:17:31 -05:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Dpr.EvScript
|
|
|
|
|
|
{
|
|
|
|
|
|
public class EvScriptData
|
|
|
|
|
|
{
|
2023-07-01 21:07:29 -05:00
|
|
|
|
private List<EvData.Script> _scripts;
|
|
|
|
|
|
private int _labelIndex;
|
|
|
|
|
|
|
|
|
|
|
|
public EvScriptData(EvData ev)
|
|
|
|
|
|
{
|
|
|
|
|
|
EvData = ev;
|
|
|
|
|
|
_scripts = ev.Scripts;
|
|
|
|
|
|
}
|
2023-06-20 13:17:31 -05:00
|
|
|
|
|
|
|
|
|
|
public EvData.Script GetScript
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
2023-07-01 21:07:29 -05:00
|
|
|
|
if (_scripts.Count <= _labelIndex)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new ArgumentOutOfRangeException();
|
|
|
|
|
|
}
|
|
|
|
|
|
return _scripts[_labelIndex];
|
2023-06-20 13:17:31 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public int FindLabelIndex(string label)
|
|
|
|
|
|
{
|
2023-07-01 21:07:29 -05:00
|
|
|
|
return _scripts.FindIndex(script => script.Label == label);
|
2023-06-20 13:17:31 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public EvData.Script FindLabelScript(string label)
|
|
|
|
|
|
{
|
2023-07-01 21:07:29 -05:00
|
|
|
|
return _scripts.Find(script => script.Label == label);
|
2023-06-20 13:17:31 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void Destroy()
|
|
|
|
|
|
{
|
2023-07-01 21:07:29 -05:00
|
|
|
|
EvData = null;
|
2023-06-20 13:17:31 -05:00
|
|
|
|
}
|
2023-07-01 21:07:29 -05:00
|
|
|
|
|
|
|
|
|
|
public EvData EvData { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public int LabelIndex
|
|
|
|
|
|
{
|
|
|
|
|
|
get => _labelIndex;
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (value < 0 || value >= _scripts.Count)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new ArgumentOutOfRangeException();
|
|
|
|
|
|
}
|
|
|
|
|
|
_labelIndex = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public int CommandIndex { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public int RetIndex { get; set; }
|
2023-06-20 13:17:31 -05:00
|
|
|
|
}
|
2023-07-01 21:07:29 -05:00
|
|
|
|
}
|