public void Add(SaveNode node) { SaveNodeContainer saveData = GetSaveData(); saveData.saveNode.Add(node); Save(saveData); }
public SaveNode AddNode(string NodeKey) { SaveNode NewNode = SaveNode.Create(NodeKey); _Nodes.Add(NewNode); return(NewNode); }
public void AssignText(SaveNode node) { foodName.text = node.foodName; calorie.text = node.cal + "kcal"; menu.text = node.menu; _node = node; }
private void Awake() { #region Singleton if (Instance == null) { Instance = this; } else { Destroy(gameObject); } #endregion SaveNode.PopulateLists(); BlockType = new List <string> { { "Single" }, { "Di Ver" }, { "Tri Ver" }, { "Di Hor" }, { "Cube" }, { "Tri Hor" }, { "SingleV" }, { "CubeV" }, { "ImmovableV" }, { "IM_CubeV" }, { "Immovable" }, { "IM_Di Ver" }, { "IM_Tri Ver" }, { "IM_Di Hor" }, { "IM_Cube" }, { "IM_Tri Hor" } }; BoosterType = new List <string> { { "shot_booster" }, { "laser_V_booster" }, { "laser_H_booster" }, { "bomb_booster" }, { "bigbomb_booster" }, { "teleport_booster" }, { "time_stop_booster" }, { "PH_Slot" }, { "PH_Slot2" }, { "PH_Slot3" }, { "PH_Slot4" }, { "PH_Shrink" }, { "PH_Move-enabler" }, { "PH_Slow" }, { "PH_Breaker" }, { "PH_anti-immovables" } }; }
public static void WriteSave(SaveNode NewData, string NewPath) { string Path = NewPath; SaveHandler Cont = new SaveHandler(); Cont._SaveGame = NewData; var Serializer = new XmlSerializer(typeof(SaveHandler)); Cont.WriteFile <SaveHandler>(Serializer, Path, Cont); }
public SaveNode AddNode(string NodeKey, List <SaveValueFloat> Floats, List <SaveValueInt> Ints, List <SaveValueString> Strings, List <SaveNode> Nodes) { SaveNode NewNode = SaveNode.Create(NodeKey); NewNode._Floats = Floats; NewNode._Ints = Ints; NewNode._Strings = Strings; NewNode._Nodes = Nodes; this._Nodes.Add(NewNode); return(NewNode); }
public void CalCalucalation() { int random = Random.Range(0, datas.Length); CalResult = foodCal / datas[random].cal; myText.text = datas[random].menuName + "を\n" + CalResult + datas[random].unit; //セーブデータ作成 SaveNode node = new SaveNode(); node.foodName = foodName; node.cal = (int)foodCal; node.menu = datas[random].menuName + "を" + CalResult + datas[random].unit; MenuManager.Instance().Save.Add(node); }
public static SaveNode GetParadiseIslandData() { SaveNode ConfigRoot = new SaveNode("Root"); SaveNode Loading = ConfigRoot.AddNode("Loading"); Loading.AddString("Bundle", "exterminator_main/loading"); Loading.AddString("Asset", "Assets/Contents/exterminator_main/loading/loading.controller"); SaveNode Bundles = ConfigRoot.AddNode("Bundles"); Bundles.AddString("01", "core_content"); Bundles.AddString("02", "common_assets"); Bundles.AddString("03", "paradise_island_core"); Bundles.AddString("04", "paradise_island_01"); //ParadiseIsland01.AddString ("01", "stranded_dialog"); return(ConfigRoot); }
public static SaveNode GetLabyrinth2DData() { SaveNode ConfigRoot = new SaveNode("Root"); SaveNode Loading = ConfigRoot.AddNode("Loading"); Loading.AddString("Bundle", "labyrinth_2d_main/loading"); Loading.AddString("Asset", "Assets/Contents/labyrinth_2d_main/loading/loading.controller"); SaveNode Instances = ConfigRoot.AddNode("Instances"); Instances.AddString("Engine", "labyrinth_2d_main:labyrinth_core:Scripts/Engine/Engine"); Instances.AddString("Camera", "labyrinth_2d_main:labyrinth_core:Scripts/Camera/Camera"); Instances.AddString("UserInterface", "labyrinth_2d_main:labyrinth_ui:Scripts/UserInterface"); SaveNode Bundles = ConfigRoot.AddNode("Bundles"); //SaveNode CoreContent = ConfigRoot.AddNode ("core_content"); Bundles.AddString("01", "core_content"); Bundles.AddString("02", "common_assets"); Bundles.AddString("03", "labyrinth_2d_main"); return(ConfigRoot); }
public void Delete(SaveNode node) { SaveNodeContainer saveData = GetSaveData(); //削除 if (saveData.saveNode.Count != 0) { int count = 0; foreach (SaveNode data in saveData.saveNode) { if (data.foodName == node.foodName && data.menu == node.menu) { saveData.saveNode.RemoveAt(count); Debug.Log("データを削除しました。"); //セーブ Save(saveData); return; } count++; } } Debug.Log("データの削除ができませんでした。"); }
public void Bake(string Name, SaveNode NodeData) { this.transform.name = Name; this._SaveData = NodeData; }
public static SaveNode CreateNode(string NewKey) { return(SaveNode.Create(NewKey)); }
public static void WriteSave(SaveNode SaveGame, string NewPath) { SaveHandler.WriteSave(SaveGame, NewPath); }
public static List <SaveNode> GetNodesForSave(object dataObj, List <SaveItemBase> saveChilds = null) { var dataType = dataObj.GetType(); List <SaveNode> saveNodes = new List <SaveNode>(); List <FieldInfo> fieldList = new List <FieldInfo>(); var fields = dataType.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy); fieldList.AddRange(fields); foreach (var fieldInfo in fieldList) { SaveField[] attributes = (SaveField[])fieldInfo.GetCustomAttributes(typeof(SaveField), false); if (attributes != null && attributes.Length > 0) { SaveNode baseNode = new SaveNode(); baseNode._SaveIDX = attributes[0]._SaveIDX; saveNodes.Add(baseNode); if (IsBaseType(fieldInfo.FieldType)) { baseNode._SaveType = fieldInfo.FieldType.Name; baseNode._SaveValue = fieldInfo.GetValue(dataObj).ToString(); } else if (fieldInfo.FieldType.Name.Contains("List")) { baseNode._SaveType = fieldInfo.FieldType.ToString(); var valueList = fieldInfo.GetValue(dataObj) as IList; int idx1 = baseNode._SaveType.IndexOf('['); int idx2 = baseNode._SaveType.IndexOf(']'); string childTypeName = baseNode._SaveType.Substring(idx1 + 1, idx2 - idx1 - 1); Type childType = null; if (valueList == null) { continue; } //Debug.Log("SaveList cnt:" + valueList.Count); for (int j = 0; j < valueList.Count; ++j) { if (childType == null) { childType = Type.GetType(childTypeName); } SaveNode childNode = new SaveNode(); childNode._SaveIDX = j; childNode._SaveType = childType.Name; baseNode._ChildNode.Add(childNode); if (IsBaseType(childType)) { childNode._SaveValue = valueList[j].ToString(); } else if (valueList[j] is SaveItemBase) { var saveItem = (SaveItemBase)valueList[j]; if (dataObj is SaveItemBase) { saveItem._SaveFileName = ((SaveItemBase)dataObj)._SaveFileName + fieldInfo.Name + j.ToString(); } else { saveItem._SaveFileName = dataObj.ToString() + fieldInfo.Name + j.ToString(); } saveChilds.Add(saveItem); childNode._SaveValue = saveItem._SaveFileName; } else { childNode._ChildNode = GetNodesForSave(valueList[j]); } } } else if (fieldInfo.FieldType.IsEnum) { baseNode._SaveType = fieldInfo.FieldType.Name; baseNode._SaveValue = ((int)fieldInfo.GetValue(dataObj)).ToString(); } else if (fieldInfo.FieldType.BaseType == typeof(Tables.TableRecordBase)) { var record = fieldInfo.GetValue(dataObj) as TableRecordBase; if (record != null) { baseNode._SaveType = typeof(string).Name; baseNode._SaveValue = record.Id; } } else if (fieldInfo.GetValue(dataObj) is SaveItemBase) { baseNode._SaveType = fieldInfo.FieldType.Name; var saveItem = (SaveItemBase)fieldInfo.GetValue(dataObj); saveItem._SaveFileName = dataObj.ToString() + fieldInfo.Name; saveChilds.Add(saveItem); baseNode._SaveValue = saveItem._SaveFileName; } else { baseNode._SaveType = fieldInfo.FieldType.Name; var dataValue = fieldInfo.GetValue(dataObj); if (dataValue != null) { baseNode._ChildNode = GetNodesForSave(dataValue); } } } } saveNodes.Sort((node1, node2) => { if (node1._SaveIDX > node2._SaveIDX) { return(1); } else if (node1._SaveIDX < node2._SaveIDX) { return(-1); } return(0); }); return(saveNodes); }