start implementation of new format

needs fixes for some types
This commit is contained in:
minenice55
2022-08-21 19:46:45 -04:00
parent 38a4086acf
commit f209b2fd17
44 changed files with 374 additions and 209 deletions

View File

@ -9,16 +9,14 @@ namespace HeavenStudio
public class EventCaller : MonoBehaviour
{
public Transform GamesHolder;
public Beatmap.Entity currentEntity = new Beatmap.Entity();
public DynamicBeatmap.DynamicEntity currentEntity = new DynamicBeatmap.DynamicEntity();
public string currentSwitchGame;
public delegate void EventCallback();
public static EventCaller instance { get; private set; }
public List<Minigames.Minigame> minigames = new List<Minigames.Minigame>()
{
};
public List<Minigames.Minigame> minigames = new List<Minigames.Minigame>();
public Minigames.Minigame GetMinigame(string gameName)
{
@ -34,7 +32,7 @@ namespace HeavenStudio
{
instance = this;
currentEntity = new Beatmap.Entity();
currentEntity = new DynamicBeatmap.DynamicEntity();
Minigames.Init(this);
@ -60,7 +58,7 @@ namespace HeavenStudio
}
public void CallEvent(Beatmap.Entity entity, bool gameActive)
public void CallEvent(DynamicBeatmap.DynamicEntity entity, bool gameActive)
{
string[] details = entity.datamodel.Split('/');
Minigames.Minigame game = minigames.Find(c => c.name == details[0]);
@ -86,10 +84,10 @@ namespace HeavenStudio
}
}
public static List<Beatmap.Entity> GetAllInGameManagerList(string gameName, string[] include)
public static List<DynamicBeatmap.DynamicEntity> GetAllInGameManagerList(string gameName, string[] include)
{
List<Beatmap.Entity> temp1 = GameManager.instance.Beatmap.entities.FindAll(c => c.datamodel.Split('/')[0] == gameName);
List<Beatmap.Entity> temp2 = new List<Beatmap.Entity>();
List<DynamicBeatmap.DynamicEntity> temp1 = GameManager.instance.Beatmap.entities.FindAll(c => c.datamodel.Split('/')[0] == gameName);
List<DynamicBeatmap.DynamicEntity> temp2 = new List<DynamicBeatmap.DynamicEntity>();
for (int i = 0; i < temp1.Count; i++)
{
if (include.Any(temp1[i].datamodel.Split('/')[1].Contains))
@ -100,10 +98,10 @@ namespace HeavenStudio
return temp2;
}
public static List<Beatmap.Entity> GetAllInGameManagerListExclude(string gameName, string[] exclude)
public static List<DynamicBeatmap.DynamicEntity> GetAllInGameManagerListExclude(string gameName, string[] exclude)
{
List<Beatmap.Entity> temp1 = GameManager.instance.Beatmap.entities.FindAll(c => c.datamodel.Split('/')[0] == gameName);
List<Beatmap.Entity> temp2 = new List<Beatmap.Entity>();
List<DynamicBeatmap.DynamicEntity> temp1 = GameManager.instance.Beatmap.entities.FindAll(c => c.datamodel.Split('/')[0] == gameName);
List<DynamicBeatmap.DynamicEntity> temp2 = new List<DynamicBeatmap.DynamicEntity>();
for (int i = 0; i < temp1.Count; i++)
{
if (!exclude.Any(temp1[i].datamodel.Split('/')[1].Contains))
@ -114,18 +112,18 @@ namespace HeavenStudio
return temp2;
}
public static List<Beatmap.Entity> GetAllPlayerEntities(string gameName)
public static List<DynamicBeatmap.DynamicEntity> GetAllPlayerEntities(string gameName)
{
return GameManager.instance.playerEntities.FindAll(c => c.datamodel.Split('/')[0] == gameName);
}
public static List<Beatmap.Entity> GetAllPlayerEntitiesExcept(string gameName)
public static List<DynamicBeatmap.DynamicEntity> GetAllPlayerEntitiesExcept(string gameName)
{
return GameManager.instance.playerEntities.FindAll(c => c.datamodel.Split('/')[0] != gameName);
}
// elaborate as fuck, boy
public static List<Beatmap.Entity> GetAllPlayerEntitiesExceptBeforeBeat(string gameName, float beat)
public static List<DynamicBeatmap.DynamicEntity> GetAllPlayerEntitiesExceptBeforeBeat(string gameName, float beat)
{
return GameManager.instance.playerEntities.FindAll(c => c.datamodel.Split('/')[0] != gameName && c.beat < beat);
}