private void BuildToothpickFlair() { int saveFileId = LevelManager.Instance.currentlyLoadedSaveFile; Debug.Log("Restoring toothpick flair for save file " + saveFileId); if (!saveData.saveHats.ContainsKey(saveFileId)) { Debug.Log("No save file for " + saveFileId + " found"); return; } SaveHatListEntry curData = GetSaveFile(saveFileId); ToothpickJarFlair jar = GameObject.FindObjectOfType <ToothpickJarFlair>(); if (jar == null) { Debug.Log("No toothpick jar found on the scene"); return; } if (jar.flairLoaded) { Debug.Log("Flair already loaded on the toothpick jar"); return; } jar.flairLoaded = true; if (curData != null && curData.toothpickFlair != null) { foreach (var entry in curData.toothpickFlair) { Debug.Log("Restoring toothpick flair " + entry.icon); HatFlair newFlair = ConstructFlair(jar.transform, entry); newFlair.GetComponent <Sticky>().AttachToBody(jar.GetComponent <Rigidbody>()); Debug.Log("Restored flair " + newFlair.FlairId + " to jar " + saveFileId); } } }
public static void BuildFlair(SaveHat curHat) { SaveHatListEntry curData = GetSaveFile(curHat.saveFileId); if (curData != null) { BuildFlair(curHat, curData); } }
internal static void AddFlair(SaveHat saveHat, HatFlair flair) { SaveHatListEntry curData = null; if (!saveData.saveHats.ContainsKey(saveHat.saveFileId)) { Debug.LogError("Invalid save file ID: " + saveHat.saveFileId, saveHat); return; } curData = saveData.saveHats[saveHat.saveFileId]; curData.flair.Add(new SaveHatFlairEntry(saveHat.gameObject, flair)); Debug.Log("Added flair " + flair.FlairId + " to hat " + saveHat.saveFileId); Save(); }
public static void BuildFlair(SaveHat curHat, SaveHatListEntry curData) { if (curHat.flairLoaded) { return; } curHat.flairLoaded = true; foreach (var entry in curData.flair) { HatFlair newFlair = ConstructFlair(curHat.transform, entry); newFlair.GetComponent <Sticky>().AttachToBody(curHat.GetComponent <Rigidbody>()); Debug.Log("Restored flair " + newFlair.FlairId + " to hat " + curHat.saveFileId); } }
internal static void RemoveToothpickFlair(HatFlair flair) { SaveHatListEntry curData = null; int saveFileId = LevelManager.Instance.currentlyLoadedSaveFile; if (!saveData.saveHats.ContainsKey(saveFileId)) { return; } curData = saveData.saveHats[saveFileId]; var removedCount = curData.toothpickFlair.RemoveAll(new FlairIdSearch(flair.FlairId).Matches); Debug.Log("Removed flair " + flair.FlairId + " from toothpick jar " + saveFileId + "; removedCount=" + removedCount); Save(); }
internal static void RemoveFlair(SaveHat saveHat, HatFlair flair) { SaveHatListEntry curData = null; if (!saveData.saveHats.ContainsKey(saveHat.saveFileId)) { Debug.LogError("Invalid save file ID: " + saveHat.saveFileId, saveHat); return; } curData = saveData.saveHats[saveHat.saveFileId]; var removedCount = curData.flair.RemoveAll(new FlairIdSearch(flair.FlairId).Matches); Debug.Log("Removed flair " + flair.FlairId + " from hat " + saveHat.saveFileId + "; removedCount=" + removedCount); Save(); }
internal static void AddToothpickFlair(GameObject toothpickJar, HatFlair flair) { SaveHatListEntry curData = null; int saveFileId = LevelManager.Instance.currentlyLoadedSaveFile; if (!saveData.saveHats.ContainsKey(saveFileId)) { Debug.Log("No save file found: " + saveFileId); return; } curData = saveData.saveHats[saveFileId]; if (curData.toothpickFlair == null) { curData.toothpickFlair = new List <SaveHatFlairEntry>(); } curData.toothpickFlair.Add(new SaveHatFlairEntry(toothpickJar, flair)); Debug.Log("Added flair " + flair.FlairId + " to toothpick jar " + saveFileId); Save(); }
private void BuildHats() { int hatId = 100 * shelfIndex; float shelfWidth = GetComponent <Collider>().bounds.extents.z * 2; float spacePerHat = shelfWidth / hatCount; float yPos = GetComponent <Collider>().bounds.extents.y; for (int i = 0; i < hatCount; i++) { // If the player is already wearing the hat we're about to build, don't build it if (LevelManager.Instance.wearingHat && LevelManager.Instance.currentlyLoadedSaveFile == hatId + i) { continue; } SaveHatListEntry curData = null; if (saveData.saveHats.ContainsKey(hatId + i)) { curData = saveData.saveHats[hatId + i]; } if (curData == null) { curData = new SaveHatListEntry(); float hue = lowHueRange + (((highHueRange - lowHueRange) / hatCount) * i); Color color = Color.HSVToRGB(hue, 1f, 1f); curData.r = color.r; curData.g = color.g; curData.b = color.b; curData.flair = new List <SaveHatFlairEntry>(); curData.coins = 2; saveData.saveHats[hatId + i] = curData; Debug.Log("Creating new hat. hue=" + hue + ", id=" + (hatId + i)); } Vector3 position = new Vector3(0, yPos, spacePerHat / 2 + spacePerHat * i - (shelfWidth / 2)); SaveHat curHat = (SaveHat)Instantiate(hatPrefab, position + transform.position, Quaternion.Euler(0, -160, 0)); //Debug.Log("Instantiated hat", curHat); curHat.SetColor(new Color(curData.r, curData.g, curData.b)); curHat.saveFileId = hatId + i; BuildFlair(curHat, curData); } }
private void ApplyUserSettings(SaveHatListEntry save) { LevelManager.Instance.coinCount = save.coins; }