public static HUDObject LoadFromStorage(Storage.HUDObject storageHudObject, Storage.HUD storageHud) { // Build collisionboxes, hitboxes and events from storageCharacter // No worries with performance here, get a copy to everything HUDObject hudObj = new HUDObject(); hudObj.name = storageHudObject.name; hudObj.teamId = storageHudObject.teamId; hudObj.playerId = storageHudObject.playerId; hudObj.attackAndGrabDelegation = storageHudObject.attackAndGrabDelegation; // Populate events if (storageHudObject.events != null) { hudObj.events = new List <ConditionalEvent>(storageHudObject.events.Length); foreach (Storage.GenericEvent e in storageHudObject.events) { hudObj.events.Add(ConditionalEvent.LoadFromStorage(e, storageHud)); } } else { hudObj.events = new List <ConditionalEvent>(); } return(hudObj); }
public Storage.HUD SaveToStorage() { Storage.HUD storageHud = new Storage.HUD(); storageHud.mainPrefabName = rootCanvas; // Generate generic parameters, and imediately construct the rest of the data // Tricky step List <GenericParameter> genericParams = new List <GenericParameter>(); if (objects != null) { foreach (HUDObject hudObj in objects) { hudObj.BuildStorage(genericParams); } } // Populate generic params if (genericParams != null) { storageHud.genericParameters = new Storage.GenericParameter[genericParams.Count]; for (int i = 0; i < genericParams.Count; ++i) { storageHud.genericParameters[i] = genericParams[i].SaveToStorage(); } } // Populate objects if (objects != null) { storageHud.objects = new Storage.HUDObject[objects.Count]; for (int i = 0; i < objects.Count; ++i) { storageHud.objects[i] = objects[i].SaveToStorage(); } } return(storageHud); }
public static HUD LoadFromStorage(string bundleName, Storage.HUD storageHud) { HUD hud = new HUD(bundleName); hud.rootCanvas = storageHud.mainPrefabName; // Populate objects if (storageHud.objects != null) { hud.objects = new List <HUDObject>(storageHud.objects.Length); foreach (Storage.HUDObject storageObject in storageHud.objects) { hud.objects.Add(HUDObject.LoadFromStorage(storageObject, storageHud)); } } else { hud.objects = new List <HUDObject>(); } return(hud); }
public static ConditionalEvent LoadFromStorage(Storage.GenericEvent storageEvent, Storage.HUD storageHud) { ConditionalEvent newEvent = new ConditionalEvent(); // Populate conditions newEvent.conditions = new List <GenericParameter>(storageEvent.conditionIds.Length); foreach (int conditionId in storageEvent.conditionIds) { newEvent.conditions.Add(GenericParameter.LoadFromStorage(storageHud.genericParameters[conditionId])); } // Populate events newEvent.events = new List <GenericParameter>(storageEvent.eventIds.Length); foreach (int eventId in storageEvent.eventIds) { newEvent.events.Add(GenericParameter.LoadFromStorage(storageHud.genericParameters[eventId])); } return(newEvent); }