Ejemplo n.º 1
0
 private static void AssignPartReferer(Part partObject, PartReferer result)
 {
     result.texture   = partObject.texture;
     result.colorMask = partObject.colorMask;
     if (partObject.sprites != null)
     {
         result.sprites = new List <Sprite>(partObject.sprites);
     }
     else
     {
         result.sprites = new List <Sprite>();
     }
 }
Ejemplo n.º 2
0
        private static Dictionary <string, PartReferer> GetCurrentPartRefererDict()
        {
            Dictionary <string, PartReferer> lastPartRefererDict = new Dictionary <string, PartReferer>();
            int counter = 0;

            if (EditorUtils.MakeSureAssetFolderExist(CC2D_RES_PATH))
            {
                string[] foundPartReferers = AssetDatabase.FindAssets(SEARCH_PARTREFERER_FILTER, m_searchPartRefererPath);
                foreach (var partRefGuid in foundPartReferers)
                {
                    string      partRefPath   = AssetDatabase.GUIDToAssetPath(partRefGuid);
                    PartReferer partRefObject = AssetDatabase.LoadAssetAtPath <PartReferer>(partRefPath);
                    lastPartRefererDict.Add(partRefPath, partRefObject);
                    EditorUtility.DisplayProgressBar("Load Current Part Referers", partRefObject.name, (float)counter / foundPartReferers.Length);
                    counter++;
                }
                EditorUtility.ClearProgressBar();
            }
            return(lastPartRefererDict);
        }
Ejemplo n.º 3
0
        private static string InitPartReferer(Part partObject, Dictionary <string, PartReferer> lastPartRefererDict)
        {
            string relativePartRefPath = WizardUtils.RelativePartPath(partObject);
            string partRefPath         = CC2D_RES_PATH + "/" + relativePartRefPath;

            if (EditorUtils.MakeSureAssetFolderExist(partRefPath.Remove(partRefPath.LastIndexOf("/"))))
            {
                if (lastPartRefererDict.TryGetValue(partRefPath, out PartReferer result))
                {
                    AssignPartReferer(partObject, result);
                    lastPartRefererDict.Remove(partRefPath);
                }
                else
                {
                    PartReferer newPartReferer = ScriptableObject.CreateInstance <PartReferer>();
                    AssignPartReferer(partObject, newPartReferer);
                    AssetDatabase.CreateAsset(newPartReferer, partRefPath);
                }
                partObject.datapath = CC2D_RES_FOLDER + "/" + relativePartRefPath.Remove(relativePartRefPath.LastIndexOf(".asset"));
            }
            return(partRefPath);
        }