public override IEnumerable <Command> GenerateCommand(CustomPath path)
        {
            List <Command> ret      = new List <Command>();
            CustomPath     refPath  = path.GenerateLowerPath(Name + CustomPath.PrefabExtension);
            CustomPath     compPath = refPath.GenerateLowerPath(IdComponent);

            ret.Add(new Command(DefaultCommandType.Create, nameof(TestComponent), compPath.FullPath));

            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdStringValue).FullPath, StringValue));

            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdIntValue).FullPath, IntValue.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdFloatValuesLength).FullPath, FloatValues.Count.ToString()));
            for (int i = 0; i < FloatValues.Count; i++)
            {
                ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath($"{IdFloatValues}/{i}").FullPath, FloatValues[i].ToString()));
            }

            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdColCenterX).FullPath, Collider.centerX.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdColCenterY).FullPath, Collider.centerY.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdColCenterZ).FullPath, Collider.centerZ.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdExtentX).FullPath, Collider.extentX.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdExtentY).FullPath, Collider.extentY.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, compPath.GenerateLowerPath(IdExtentZ).FullPath, Collider.extentZ.ToString()));

            ret.AddRange(SubComponent.GenerateCommand(refPath));


            return(ret);
        }
Example #2
0
        public override IEnumerable <Command> GenerateCommand(CustomPath path)
        {
            List <Command> ret     = new List <Command>();
            CustomPath     refPath = GetReferencePath(path);

            ret.Add(new Command(DefaultCommandType.Set, refPath.GenerateLowerPath(IdStringValue).FullPath, StringValue));
            ret.Add(new Command(DefaultCommandType.Set, refPath.GenerateLowerPath(IdIntValue).FullPath, IntValue.ToString()));

            ret.Add(new Command(DefaultCommandType.Set, refPath.GenerateLowerPath(IdDataBool).FullPath, DataSet.BoolVal.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, refPath.GenerateLowerPath(IdDataStr).FullPath, DataSet.StrVal));
            return(ret);
        }
        public override IEnumerable <Command> GenerateCommand(CustomPath path)
        {
            List <Command> ret     = new List <Command>();
            CustomPath     objPath = GetReferencePath(path);

            ret.Add(new Command(DefaultCommandType.Create, nameof(TestSubScriptableObject), objPath.FullPath));
            ret.Add(new Command(DefaultCommandType.Set, objPath.GenerateLowerPath(IdStrValue).FullPath, StrValue));
            return(ret);
        }
        public override IEnumerable <Command> GenerateCommand(CustomPath path)
        {
            List <Command> ret = new List <Command>();

            CustomPath objPath = GetReferencePath(path);

            ret.Add(new Command(DefaultCommandType.Create, nameof(TestScriptableObject), objPath.FullPath));

            ret.Add(new Command(DefaultCommandType.Set, objPath.GenerateLowerPath(IdIntValue).FullPath, IntValue.ToString()));
            ret.Add(new Command(DefaultCommandType.Set, objPath.GenerateLowerPath(IdStringValue).FullPath, StringValue));
            ret.Add(new Command(DefaultCommandType.Set, objPath.GenerateLowerPath(IdFloatValuesLength).FullPath, FloatValues.Count.ToString()));
            for (int i = 0; i < FloatValues.Capacity; i++)
            {
                ret.Add(new Command(DefaultCommandType.Set, objPath.GenerateLowerPath($"{IdFloatValues}/{i}").FullPath, FloatValues[i].ToString()));
            }
            ret.AddRange(SubObject.GenerateCommand(path));
            ret.Add(new Command(DefaultCommandType.Set, objPath.GenerateLowerPath(IdSubObject).FullPath, SubObject.GetReferencePath(path).FullPath));
            return(ret);
        }
        private IEnumerable <Command> ReactionOfCreate(ProcedureParser context, string target, string subTarget)
        {
            List <Command>     ret         = new List <Command>();
            IProcedureParsable targetAsset = CreateNewObject(target);
            CustomPath         targetPath  = new CustomPath(subTarget);
            CustomPath         assetPath   = null;

            {
                int altIndex = 0;
                for (; altIndex < targetPath.Length; altIndex++)
                {
                    if (targetPath.FromLast(altIndex).Contains(CustomPath.ExtensionDiff))
                    {
                        break;
                    }
                }
                assetPath = targetPath.GenerateHigherPath(altIndex);
            }
            Debug.LogWarning(assetPath?.FullPath);

            CustomPath tempPath = new CustomPath(Empty);

            for (int i = 0; i < assetPath.Length - 1; i++)
            {
                tempPath = tempPath.GenerateLowerPath(assetPath[i]);
                if (!AssetDatabase.IsValidFolder(tempPath.FullPath))
                {
                    Debug.Log($"{tempPath} creating directory");
                    AssetDatabase.CreateFolder(tempPath.GenerateHigherPath(1).FullPath, tempPath.FromLast(0));
                }
            }
            if (targetAsset is ScriptableObject)
            {
                AssetDatabase.CreateAsset(targetAsset as ScriptableObject, assetPath.FullPath);
                targetAsset.InitializeAsset();
            }
            else if (targetAsset is Component)
            {
                targetAsset.InitializeAsset();
                PrefabUtility.SaveAsPrefabAsset((targetAsset as Component).gameObject, assetPath.FullPath);
                Object.DestroyImmediate((targetAsset as Component).gameObject);
            }
            else
            {
                ret.Add(new Command(DefaultCommandType.Log, "Invalid Type"));
                return(ret);
            }

            return(null);
        }
 public override CustomPath GetReferencePath(CustomPath path)
 {
     return(path.GenerateLowerPath(Name + CustomPath.PrefabExtension));
 }
Example #7
0
 public override CustomPath GetReferencePath(CustomPath path)
 {
     return(path.GenerateLowerPath(_reference));
 }