public override void OnEnter()
        {
            try
            {
                List <string> result = null;
                GDEDataManager.GetAllDataKeysBySchema(Schema.Value, out result);

                if (result != null)
                {
                    StoreResult.SetArrayContents(result);
                }
                else
                {
                    StoreResult.SetArrayContents(new List <string>());
                }
            }
            catch (UnityException ex)
            {
                LogError(ex.ToString());
            }
            finally
            {
                Finish();
            }
        }
        public override void OnEnter()
        {
            result.Reset();

            //convert FsmString[] to string[]
            string[] strArr = new string[searchBy.Length];

            for (int i = 0; i < searchBy.Length; i++)
            {
                strArr[i] = searchBy[i].Value;
            }

            List <string> matchingValues = GDEHelpers.FindAllMatching(dataType, searchType, strArr, "", false);

            if (matchingValues.Count == 0)
            {
                Fsm.Event(noneFoundEvent);
            }
            else
            {
                result.SetArrayContents(matchingValues);
            }

            Finish();
        }
Example #3
0
        public override void OnEnter()
        {
            result.Reset();

            List <string> tmpValues      = GDEHelpers.ListAllBy(GDEDataType.Item, searchInSchema.Value);
            List <string> matchingValues = new List <string>();

            foreach (var tmp in tmpValues)
            {
                if (string.IsNullOrEmpty(itemNameContains.Value) && !itemNameContains.IsNone && !tmp.Contains(itemNameContains.Value))
                {
                    continue;
                }

                List <string> fieldNames = string.IsNullOrEmpty(searchInField.Value) || searchInField.IsNone ? null : new List <string> {
                    searchInField.Value
                };
                List <object> fieldValues = GDEHelpers.GetFieldValues(tmp, fieldNames);

                foreach (var fieldValue in fieldValues)
                {
                    value.UpdateValue();
                    if (fieldValue.GetType() != value.GetType())
                    {
                        UnityEngine.Debug.LogError("Given value type doesn't match result type!");
                    }
                    if (fieldValue != value.GetValue())
                    {
                        continue;
                    }

                    matchingValues.Add(tmp);
                    break;
                }
            }

            if (matchingValues.Count == 0)
            {
                Fsm.Event(noneFoundEvent);
            }
            else
            {
                result.SetArrayContents(matchingValues);
            }

            Finish();
        }
        public override void OnEnter()
        {
            try
            {
                Dictionary <string, object> data;
                string      customKey;
                List <bool> val = null;

                if (GDEDataManager.DataDictionary.ContainsKey(ItemName.Value))
                {
                    GDEDataManager.Get(ItemName.Value, out data);
                    data.TryGetString(FieldName.Value, out customKey);
                    customKey = GDEDataManager.GetString(ItemName.Value, FieldName.Value, customKey);

                    Dictionary <string, object> customData;
                    GDEDataManager.Get(customKey, out customData);

                    customData.TryGetBoolList(CustomField.Value, out val);
                }
                else
                {
                    // New item case
                    customKey = GDEDataManager.GetString(ItemName.Value, FieldName.Value, string.Empty);

                    if (GDEDataManager.Get(customKey, out data))
                    {
                        data.TryGetBoolList(CustomField.Value, out val);
                    }
                }

                // Override from saved data if it exists
                val = GDEDataManager.GetBoolList(customKey, CustomField.Value, val);
                StoreResult.SetArrayContents(val);
            }
            catch (UnityException ex)
            {
                LogError(ex.ToString());
            }
            finally
            {
                Finish();
            }
        }
        public override void OnEnter()
        {
            result.Reset();

            List <string> tmpValues      = GDEHelpers.ListAllBy(GDEDataType.Item, searchInSchema.Value);
            List <string> matchingValues = new List <string>();

            foreach (var tmp in tmpValues)
            {
                if (string.IsNullOrEmpty(itemNameContains.Value) && !itemNameContains.IsNone && !tmp.Contains(itemNameContains.Value))
                {
                    continue;
                }

                List <string> fieldNames = string.IsNullOrEmpty(searchInField.Value) || searchInField.IsNone ? null : new List <string> {
                    searchInField.Value
                };
                List <object> fieldValues = GDEHelpers.GetFieldValues(tmp, fieldNames);

                foreach (var fieldValue in fieldValues)
                {
                    if (fieldValue.ToString() == _value.Value)
                    {
                        matchingValues.Add(tmp);
                        break;
                    }
                }
            }

            if (matchingValues.Count == 0)
            {
                Fsm.Event(noneFoundEvent);
            }
            else
            {
                result.SetArrayContents(matchingValues);
            }

            Finish();
        }
Example #6
0
        public override void OnEnter()
        {
            try
            {
                Dictionary <string, object> data;
                List <float> val = null;
                if (GDEDataManager.Get(ItemName.Value, out data))
                {
                    data.TryGetFloatList(FieldName.Value, out val);
                }

                // Override from saved data if it exists
                val = GDEDataManager.GetFloatList(ItemName.Value, FieldName.Value, val);
                StoreResult.SetArrayContents(val);
            }
            catch (UnityException ex)
            {
                LogError(ex.ToString());
            }
            finally
            {
                Finish();
            }
        }