Worms4Editor/LibW4M/Data/SaveDataCollective.cs

66 lines
1.7 KiB
C#
Raw Normal View History

2023-01-12 03:50:02 +00:00
using LibW4M.Data.WeaponFactory;
using LibXom.Data;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LibW4M.Data
{
public abstract class SaveDataCollective : SaveDataEntry, IEnumerable<SaveDataEntry>
{
internal List<SaveDataEntry> collectiveEntries = new List<SaveDataEntry>();
public SaveDataEntry this[int i]
{
get
{
return collectiveEntries[i];
}
set
{
collectiveEntries[i] = value;
}
}
public int Length
{
get
{
return collectiveEntries.Count;
}
}
public SaveDataCollective(W4SaveFile fileBelongs, XomContainer mainContainer) : base(fileBelongs, mainContainer)
{
}
2023-03-07 07:49:53 +00:00
public virtual void Delete(SaveDataEntry entry)
2023-01-12 03:50:02 +00:00
{
for (int i = 0; i < this.Length; i++)
{
SaveDataEntry saveDataEntry = this[i];
2023-03-07 07:49:53 +00:00
if (saveDataEntry.Equals(entry))
2023-01-12 03:50:02 +00:00
{
2023-03-07 07:49:53 +00:00
saveDataEntry.DeleteEntries();
2023-01-12 03:50:02 +00:00
collectiveEntries.RemoveAt(i);
break;
}
}
}
public abstract void Create();
2023-01-12 03:50:02 +00:00
public abstract override void Load();
public abstract override void Save();
public IEnumerator<SaveDataEntry> GetEnumerator()
{
return collectiveEntries.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return collectiveEntries.GetEnumerator();
}
}
}