Example #1
0
 public void AttachNewListener(KAU.PlayerSystem.IData attachToListeneer)
 {
     if (!(attachToListeneer is KAU.Player.IProgressManagerLastTime))
     {
         attachToListeneer.PropertyChanged -= OnPropertyChanged;
         attachToListeneer.PropertyChanged += OnPropertyChanged;
     }
 }
Example #2
0
 private void OnPropertyChanged(KAU.PlayerSystem.IData propertyChanged)
 {
     if (wholeImplementation == null || wholeImplementation.Count == 0)
     {
         return;
     }
     KAU.Player.ProgressManager.ChangedDatapart(propertyChanged);
 }
Example #3
0
        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(),
            });
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
 public abstract void fixBindingAfterDeserialization(KAU.PlayerSystem.IData rootObject);
Example #7
0
 protected IPropertyData(KAU.PlayerSystem.Hidden.IPropertyData myBind)
 {
     _myBind = myBind;
     KAU.Player.ProgressManager.dataHolder.AttachNewListener(this);
 }