public void AttachNewListener(KAU.PlayerSystem.IData attachToListeneer) { if (!(attachToListeneer is KAU.Player.IProgressManagerLastTime)) { attachToListeneer.PropertyChanged -= OnPropertyChanged; attachToListeneer.PropertyChanged += OnPropertyChanged; } }
private void OnPropertyChanged(KAU.PlayerSystem.IData propertyChanged) { if (wholeImplementation == null || wholeImplementation.Count == 0) { return; } KAU.Player.ProgressManager.ChangedDatapart(propertyChanged); }
public static void ChangedDatapart(KAU.PlayerSystem.IData data) { #if UNITY_EDITOR UnityEngine.Debug.Log(string.Format(" {0} : Path = {1} , Value = {2}", data.GetType().ToString(), data.GetPath(), data.ToJsonValue())); #endif KAU.Player.ProgressManager.AskToSaveLocal(); OnDataPartChanged?.Invoke(new KAU.Player.DataPart { UserId = USERID.USERID, FieldName = data.GetPath(), JsonData = data.ToJsonValue(), }); }
protected static bool ST_GetCurrentIndex(KAU.PlayerSystem.IDataIndexed findForMe, KAU.PlayerSystem.IData LookingIn, System.Reflection.FieldInfo[] allprops, string[] list, int depth, int _usedIndex) { if (list.Length <= depth) { return(true); } // Find in current bool isFound = false; if (_usedIndex >= 0) { isFound = true; list[depth] = _usedIndex.ToString(); } else { var fromEnumatarot = ST_GetEnumaretor(LookingIn, allprops); int index = -1; if (fromEnumatarot != null) { for (int i = 0; i < fromEnumatarot.Count && !isFound; i++) { index = 0; if (fromEnumatarot[i] != null) { foreach (var innerItem in fromEnumatarot[i]) { if (innerItem != null && innerItem == findForMe) { isFound = true; list[depth] = index.ToString(); break; } index++; } } } } } return(isFound); }
protected static List <System.Collections.IEnumerable> ST_GetEnumaretor(KAU.PlayerSystem.IData dataToGetEnum, System.Reflection.FieldInfo[] allprops) { var allSerializedFields = (from eachTYpe in allprops where (eachTYpe.FieldType.IsArray || typeof(System.Collections.IList).IsAssignableFrom(eachTYpe.FieldType)) select eachTYpe ).ToArray(); List <System.Collections.IEnumerable> allEnumarators = new List <System.Collections.IEnumerable>(); if (allSerializedFields.Length > 0) { foreach (var item in allSerializedFields) { allEnumarators.Add((System.Collections.IEnumerable)item.GetValue(dataToGetEnum)); } } return(allEnumarators); }
public abstract void fixBindingAfterDeserialization(KAU.PlayerSystem.IData rootObject);
protected IPropertyData(KAU.PlayerSystem.Hidden.IPropertyData myBind) { _myBind = myBind; KAU.Player.ProgressManager.dataHolder.AttachNewListener(this); }