예제 #1
0
        private void loadScenesFromTrello()
        {
            TrelloSettings trelloSettings = ProjectSettings.Instance.TrelloSettings;

            foreach (string branchName in ProjectSettings.Instance.Branches)
            {
                List <object> collection = TrelloAPI.Instance.GetChecklistsFrom(ProjectSettings.Instance.TrelloSettings.CardId);
                string        id         = TrelloAPI.Instance.GetIdFromElement(branchName, collection);
                if (string.IsNullOrEmpty(id))
                {
                    id = TrelloAPI.Instance.CreateChecklist(branchName);
                }
                BranchScenes branchScene = new BranchScenes(id);
                scenesPerBranch.Add(branchName, branchScene);


                List <object> checkItems = TrelloAPI.Instance.GetCheckItemsFrom(id);
                foreach (object checkItem in checkItems)
                {
                    Dictionary <string, object> checkItemInfo = checkItem as Dictionary <string, object>;
                    bool   sceneBlocked = checkItemInfo["state"].Equals("complete");
                    string sceneName    = checkItemInfo["name"] as string;
                    string owner        = string.Empty;
                    if (sceneBlocked)
                    {
                        string[] parsedCheckItemName = sceneName.Split(new string[] { " - " }, System.StringSplitOptions.RemoveEmptyEntries);
                        owner     = parsedCheckItemName[1];
                        sceneName = parsedCheckItemName[0];
                    }
                    branchScene.AddScene(new Scene(sceneName, CurrentBranch, checkItemInfo["id"] as string, sceneBlocked, owner));
                }
            }
        }
예제 #2
0
        public ReadOnlyCollection <Scene> LoadScenes()
        {
            scenesPerBranch.Clear();
            TrelloSettings trelloSettings = ProjectSettings.Instance.TrelloSettings;

            if (trelloSettings.Initialized)
            {
                loadScenesFromTrello();
                string[] scenesIds = AssetDatabase.FindAssets("t:scene", new string[] { ProjectSettings.Instance.ScenesFolderPath });
                foreach (string sceneId in scenesIds)
                {
                    AddScene(AssetDatabase.GUIDToAssetPath(sceneId));
                }
            }

            return(Scenes);
        }