public override void LoadFromDict(string dataKey, Dictionary <string, object> dict) { _key = dataKey; if (dict == null) { LoadFromSavedData(dataKey); } else { dict.TryGetBool(bool_fieldKey, out _bool_field); dict.TryGetInt(int_fieldKey, out _int_field); dict.TryGetFloat(float_fieldKey, out _float_field); dict.TryGetString(string_fieldKey, out _string_field); dict.TryGetVector2(vector2_fieldKey, out _vector2_field); dict.TryGetVector3(vector3_fieldKey, out _vector3_field); dict.TryGetVector4(vector4_fieldKey, out _vector4_field); dict.TryGetColor(color_fieldKey, out _color_field); string customDataKey; dict.TryGetString(custom_fieldKey, out customDataKey); _custom_field = new GDESetCustomData(customDataKey); LoadFromSavedData(dataKey); } }
public void Reset_custom_field() { GDEDataManager.ResetToDefault(_key, custom_fieldKey); Dictionary <string, object> dict; GDEDataManager.Get(_key, out dict); string customDataKey; dict.TryGetString(custom_fieldKey, out customDataKey); _custom_field = new GDESetCustomData(customDataKey); custom_field.ResetAll(); }
public override void LoadFromSavedData(string dataKey) { _key = dataKey; _bool_field = GDEDataManager.GetBool(_key, bool_fieldKey, _bool_field); _int_field = GDEDataManager.GetInt(_key, int_fieldKey, _int_field); _float_field = GDEDataManager.GetFloat(_key, float_fieldKey, _float_field); _string_field = GDEDataManager.GetString(_key, string_fieldKey, _string_field); _vector2_field = GDEDataManager.GetVector2(_key, vector2_fieldKey, _vector2_field); _vector3_field = GDEDataManager.GetVector3(_key, vector3_fieldKey, _vector3_field); _vector4_field = GDEDataManager.GetVector4(_key, vector4_fieldKey, _vector4_field); _color_field = GDEDataManager.GetColor(_key, color_fieldKey, _color_field); _custom_field = GDEDataManager.GetCustom(_key, custom_fieldKey, _custom_field); }
public GDESetCustomData ShallowClone() { string newKey = Guid.NewGuid().ToString(); GDESetCustomData newClone = new GDESetCustomData(newKey); newClone.bool_field = bool_field; newClone.int_field = int_field; newClone.float_field = float_field; newClone.description = description; newClone.string_field = string_field; newClone.vector2_field = vector2_field; newClone.vector3_field = vector3_field; newClone.color_field = color_field; return(newClone); }
public override void LoadFromSavedData(string dataKey) { _key = dataKey; _bool_field = GDEDataManager.GetBool(_key+"_"+bool_fieldKey, _bool_field); _int_field = GDEDataManager.GetInt(_key+"_"+int_fieldKey, _int_field); _float_field = GDEDataManager.GetFloat(_key+"_"+float_fieldKey, _float_field); _string_field = GDEDataManager.GetString(_key+"_"+string_fieldKey, _string_field); _vector2_field = GDEDataManager.GetVector2(_key+"_"+vector2_fieldKey, _vector2_field); _vector3_field = GDEDataManager.GetVector3(_key+"_"+vector3_fieldKey, _vector3_field); _vector4_field = GDEDataManager.GetVector4(_key+"_"+vector4_fieldKey, _vector4_field); _color_field = GDEDataManager.GetColor(_key+"_"+color_fieldKey, _color_field); _custom_field = GDEDataManager.GetCustom(_key+"_"+custom_fieldKey, _custom_field); }
void DrawListData() { if (listData != null) { Indent(); // Draw bool_list_field bool needsSave = false; DrawLabel("bool_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_bool_list_field(); if (DrawButton(SetDataSceneStrings.AddNewBool)) { listData.bool_list_field.Add(false); listData.Set_bool_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.bool_list_field.RemoveAt(indexToRemove); listData.Set_bool_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.bool_list_field.Count; i++) { if (i > 0) DrawLabel("|"); bool oldVal = listData.bool_list_field[i]; listData.bool_list_field[i] = DrawBool(listData.bool_list_field[i]); needsSave = (listData.bool_list_field[i] != oldVal) | needsSave; } if (needsSave) listData.Set_bool_list_field(); NewLine(2); Indent(); // Draw float_list_field needsSave = false; DrawLabel("float_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_float_list_field(); if (DrawButton(SetDataSceneStrings.AddNewFloat)) { listData.float_list_field.Add(0); listData.Set_float_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.float_list_field.RemoveAt(indexToRemove); listData.Set_float_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.float_list_field.Count; i++) { if (i > 0) DrawLabel("|"); float oldVal = listData.float_list_field[i]; listData.float_list_field[i] = DrawFloat(listData.float_list_field[i]); needsSave = (listData.float_list_field[i] != oldVal) | needsSave; } if (needsSave) listData.Set_float_list_field(); NewLine(2); Indent(); // Draw int_list_field needsSave = false; DrawLabel("int_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_int_list_field(); if (DrawButton(SetDataSceneStrings.AddNewInt)) { listData.int_list_field.Add(0); listData.Set_int_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.int_list_field.RemoveAt(indexToRemove); listData.Set_int_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.int_list_field.Count; i++) { if (i > 0) DrawLabel("|"); int oldVal = listData.int_list_field[i]; listData.int_list_field[i] = DrawInt(listData.int_list_field[i]); needsSave = (listData.int_list_field[i] != oldVal) | needsSave; } if (needsSave) listData.Set_int_list_field(); NewLine(2); Indent(); // Draw string_list_field needsSave = false; DrawLabel("string_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_string_list_field(); if (DrawButton(SetDataSceneStrings.AddNewString)) { listData.string_list_field.Add(string.Empty); listData.Set_string_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.string_list_field.RemoveAt(indexToRemove); listData.Set_string_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.string_list_field.Count; i++) { if (i > 0) { NewLine(); Indent(2); } string oldVal = listData.string_list_field[i]; listData.string_list_field[i] = DrawString(listData.string_list_field[i]); needsSave = (listData.string_list_field[i] != oldVal) | needsSave; } if (needsSave) listData.Set_string_list_field(); NewLine(2); Indent(); // Draw vector2_list_field needsSave = false; DrawLabel("vector2_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_vector2_list_field(); if (DrawButton(SetDataSceneStrings.AddNewVec2)) { listData.vector2_list_field.Add(Vector2.zero); listData.Set_vector2_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.vector2_list_field.RemoveAt(indexToRemove); listData.Set_vector2_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.vector2_list_field.Count; i++) { if (i > 0) { NewLine(); Indent(2); } Vector2 oldVal = listData.vector2_list_field[i]; listData.vector2_list_field[i] = DrawVector2(listData.vector2_list_field[i]); needsSave = (listData.vector2_list_field[i] != oldVal) | needsSave; } if (needsSave) listData.Set_vector2_list_field(); NewLine(2); Indent(); // Draw vector3_list_field needsSave = false; DrawLabel("vector3_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_vector3_list_field(); if (DrawButton(SetDataSceneStrings.AddNewVec3)) { listData.vector3_list_field.Add(Vector3.zero); listData.Set_vector3_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.vector3_list_field.RemoveAt(indexToRemove); listData.Set_vector3_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.vector3_list_field.Count; i++) { if (i > 0) { NewLine(); Indent(2); } Vector3 oldVal = listData.vector3_list_field[i]; listData.vector3_list_field[i] = DrawVector3(listData.vector3_list_field[i]); needsSave = (listData.vector3_list_field[i] != oldVal) | needsSave; } if (needsSave) listData.Set_vector3_list_field(); NewLine(2); Indent(); // Draw vector4_list_field needsSave = false; DrawLabel("vector4_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_vector4_list_field(); if (DrawButton(SetDataSceneStrings.AddNewVec4)) { listData.vector4_list_field.Add(Vector4.zero); listData.Set_vector4_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.vector4_list_field.RemoveAt(indexToRemove); listData.Set_vector4_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.vector4_list_field.Count; i++) { if (i > 0) { NewLine(); Indent(2); } Vector4 oldVal = listData.vector4_list_field[i]; listData.vector4_list_field[i] = DrawVector4(listData.vector4_list_field[i]); needsSave = (listData.vector4_list_field[i] != oldVal) | needsSave; } if (needsSave) listData.Set_vector4_list_field(); NewLine(2); Indent(); // Draw custom_list_field needsSave = false; DrawLabel("custom_list_field:"); Indent(); if (DrawButton(SetDataSceneStrings.Reset)) listData.Reset_custom_list_field(); if (DrawButton(SetDataSceneStrings.AddNewCustom)) { GDESetCustomData newCustom = new GDESetCustomData(Random.value.ToString()); newCustom.description = SetDataSceneStrings.KeyLbl+" \""+newCustom.Key+"\""; listData.custom_list_field.Add(newCustom); listData.Set_custom_list_field(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { listData.custom_list_field.RemoveAt(indexToRemove); listData.Set_custom_list_field(); } NewLine(); Indent(2); for(int i=0; i<listData.custom_list_field.Count; i++) { if (i > 0) { NewLine(); Indent(2); } DrawLabel(listData.custom_list_field[i].Key+":"); string oldKey = listData.custom_list_field[i].Key; newKey = DrawString(newKey); string oldVal = listData.custom_list_field[i].description; listData.custom_list_field[i].description = DrawString(listData.custom_list_field[i].description); if (oldKey != newKey && DrawButton(SetDataSceneStrings.SetRefBtn)) { GDESetCustomData newCustomRef; GDEDataManager.DataDictionary.TryGetCustom(newKey, out newCustomRef); listData.custom_list_field[i] = newCustomRef; needsSave = true; } needsSave = (listData.custom_list_field[i].description != oldVal) | needsSave; } if (needsSave) listData.Set_custom_list_field(); } }
void DrawCustomData() { bool needsSave = false; DrawLabel("2D Custom List"); NewLine(); Indent(); if (DrawButton(SetDataSceneStrings.AddNewList)) twoDListData.custom_2dlist.Add(new List<GDESetCustomData>()); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveList)) { twoDListData.custom_2dlist.RemoveAt(indexToRemove); twoDListData.Set_custom_2dlist(); } if (DrawButton(SetDataSceneStrings.Reset)) twoDListData.Reset_custom_2dlist(); NewLine(2); Indent(); foreach(var subList in twoDListData.custom_2dlist) { if (DrawButton(SetDataSceneStrings.AddNewCustom)) { GDESetCustomData newCustom = new GDESetCustomData(Random.value.ToString()); newCustom.description = SetDataSceneStrings.KeyLbl+" \""+newCustom.Key+"\""; subList.Add(newCustom); twoDListData.Set_custom_2dlist(); } Indent(); indexToRemove = DrawInt(indexToRemove); if (DrawButton(SetDataSceneStrings.RemoveIndexLbl)) { subList.RemoveAt(indexToRemove); twoDListData.Set_custom_2dlist(); } NewLine(); Indent(2); for(int i=0; i<subList.Count; i++) { if (i > 0) { NewLine(); Indent(2); } DrawLabel(subList[i].Key+":"); string oldKey = subList[i].Key; newKey = DrawString(newKey); string oldVal = subList[i].description; subList[i].description = DrawString(subList[i].description); if (oldKey != newKey && DrawButton(SetDataSceneStrings.SetRefBtn)) { GDESetCustomData newCustomRef; GDEDataManager.DataDictionary.TryGetCustom(newKey, out newCustomRef); subList[i] = newCustomRef; needsSave = true; } needsSave = (subList[i].description != oldVal) | needsSave; } NewLine(2); Indent(); } if (needsSave) twoDListData.Set_custom_2dlist(); }
public GDESetCustomData DeepClone() { GDESetCustomData newClone = ShallowClone(); return(newClone); }