private static void SaveDependencies()
    {
        Objects = new List<KeyValuePair<string, string>>();

        Dependencies = new List<KeyValuePair<string, List<string>>>();

        foreach (var obj in Selection.objects)
        {
            List<string> deps = new List<string>();

            string objPath = AssetDatabase.GetAssetPath(obj);
            objPath = objPath.Replace("Assets/Resources/", "");
            int fileExtPos = objPath.LastIndexOf('.');
            objPath = objPath.Substring(0, fileExtPos);
            Objects.Add(new KeyValuePair<string, string>(obj.name, objPath));

            var dependencies = EditorUtility.CollectDependencies(new[] { obj });
            foreach (var d in dependencies)
            {
                string path = AssetDatabase.GetAssetPath(d);
                if (path.Contains("Assets/Resources/"))
                {
                    path = path.Replace("Assets/Resources/", "");
                    fileExtPos = path.LastIndexOf('.');
                    path = path.Substring(0, fileExtPos);
                    
                    if (d is Texture2D || d is Material || d is Shader)
                    {
                        deps.Add(path);
                    }
                }
            }
            Dependencies.Add(new KeyValuePair<string, List<string>>(obj.name, deps));
        }

        JsonRoot root = new JsonRoot();
        int count = 0;

        foreach (var obj in Objects)
        {
            JsonClass jsonObject = new JsonClass(count.ToString());

            jsonObject.AddObjects(new JsonValue(ObjectFromCache.JsonName, obj.Key));
            jsonObject.AddObjects(new JsonValue(ObjectFromCache.JsonPath, obj.Value));
            jsonObject.AddObjects(new JsonArray(ObjectFromCache.JsonDependencies, Dependencies.Find((d)=> obj.Key == d.Key).Value));

            root.AddObjects(jsonObject);
            count++;
        }

        string filepath = EditorUtility.SaveFilePanel("Save dependencies for selected objects", "Assets", "Dependencies", "json");

        File.WriteAllText(filepath, root.ToString(), Encoding.UTF8);
    }
Beispiel #2
0
 public JsonArray GetJson(string jsonArrayName)
 {
     List<JsonClass> classList = new List<JsonClass>();
     foreach (var obj in _randomObjects)
     {
         JsonClass jclass = new JsonClass();
         jclass.AddObjects(new JsonValue("index", obj.Index), new JsonValue("probability", obj.Probability));
         classList.Add(jclass);
     }
     return new JsonArray(jsonArrayName, classList);
 }
Beispiel #3
0
    public virtual JsonClass GetJson()
    {
        var json = new JsonClass();

        json.AddObjects(new JsonValue("type", Type));
        json.AddObjects(new JsonValue("play_on_awake", PlayOnAwake));
        json.AddObjects(new JsonValue("is_local", IsLocal));
        json.AddObjects(new JsonValue("is_dependent", IsDependent));
        json.AddObjects(new JsonArray("target", Target));
        json.AddObjects(new JsonValue("time", Time));
        json.AddObjects(new JsonValue("ease", Ease));
        json.AddObjects(new JsonValue("is_loop", IsLoop));
        json.AddObjects(new JsonValue("loops", Loops));
        json.AddObjects(new JsonValue("loop_type", LoopType));

        return json;
    }
Beispiel #4
0
    public JsonClass GetJson(string jsonClassName)
    {
        JsonClass json = new JsonClass(jsonClassName);

        json.AddObjects(new JsonValue("limit_type", LimitType.ToString()));
        switch (LimitType)
        {
            case LimitType.Moves:
                json.AddObjects(new JsonValue("limit", Moves));
                break;
            case LimitType.Time:
                json.AddObjects(new JsonValue("limit", TimeSpan));
                break;
        }

        List<JsonClass> list = new List<JsonClass>();
        foreach (var p in _prices)
        {
            JsonClass c = new JsonClass();
            c.AddObjects(new JsonValue("index", p.Key), new JsonValue("price", p.Value));
            list.Add(c);
        }

        json.AddObjects(new JsonArray("prices", list));
        json.AddObjects(new JsonArray("stars_levels", StarsLevels));

        return json;
    }