Esempio n. 1
0
	/// <summary>
	/// Collects all textures intended for packing,
	/// as well as sprite frames, together into a 
	/// standard form for processing.
	/// </summary>
	public override void Aggregate(PathFromGUIDDelegate guid2Path, LoadAssetDelegate load, GUIDFromPathDelegate path2Guid)
	{
		List<Texture2D> texList = new List<Texture2D>();
		List<CSpriteFrame> frameList = new List<CSpriteFrame>();

		for (int i = 0; i < textureAnimations.Length; ++i)
		{
			textureAnimations[i].Allocate();

			// First try GUIDs:
			if (textureAnimations[i].frameGUIDs.Length >= textureAnimations[i].framePaths.Length)
			{
				for (int j = 0; j < textureAnimations[i].frameGUIDs.Length; ++j)
				{
					string path = guid2Path(textureAnimations[i].frameGUIDs[j]);
					texList.Add((Texture2D)load(path, typeof(Texture2D)));
					frameList.Add(textureAnimations[i].spriteFrames[j]);
				}

				// Make sure we always use GUIDs in the future:
				textureAnimations[i].framePaths = new string[0];
			}
			else
			{
				textureAnimations[i].frameGUIDs = new string[textureAnimations[i].framePaths.Length];

				textureAnimations[i].spriteFrames = new CSpriteFrame[textureAnimations[i].framePaths.Length];
				for (int j = 0; j < textureAnimations[i].spriteFrames.Length; ++j)
					textureAnimations[i].spriteFrames[j] = new CSpriteFrame();

				for (int j = 0; j < textureAnimations[i].framePaths.Length; ++j)
				{
					if (textureAnimations[i].framePaths[j].Length < 1)
						continue;

					// First get a GUID and save it:
					textureAnimations[i].frameGUIDs[j] = path2Guid(textureAnimations[i].framePaths[j]);

					texList.Add((Texture2D)load(textureAnimations[i].framePaths[j], typeof(Texture2D)));
					frameList.Add(textureAnimations[i].spriteFrames[j]);
				}
			}
		}
		
		// Get the static frame info:
		
		// First try GUID:
		if(staticTexGUID.Length > 1)
		{
			staticTexPath = guid2Path(staticTexGUID);
		}
		else // Else, populate the GUID:
		{
			staticTexGUID = path2Guid(staticTexPath);
		}

		texList.Add((Texture2D)load(staticTexPath, typeof(Texture2D)));
		frameList.Add(_ser_stat_frame_info);

		sourceTextures = texList.ToArray();
		spriteFrames = frameList.ToArray();
	}
	// Collects all textures intended for packing,
	// as well as sprite frames, together into a 
	// standard form for processing.
	public virtual void Aggregate(PathFromGUIDDelegate guid2Path, LoadAssetDelegate load, GUIDFromPathDelegate path2Guid)
	{
		ArrayList texList = new ArrayList();
		ArrayList frameList = new ArrayList();

		for (int i = 0; i < States.Length; ++i)
		{
			States[i].Allocate();

			// First try GUIDs:
			if (States[i].frameGUIDs.Length >= States[i].framePaths.Length)
			{
				for (int j = 0; j < States[i].frameGUIDs.Length; ++j)
				{
					string path = guid2Path(States[i].frameGUIDs[j]);
					texList.Add(load(path, typeof(Texture2D)));
					frameList.Add(States[i].spriteFrames[j]);
				}

				// Make sure we always use GUIDs in the future:
				States[i].framePaths = new string[0];
			}
			else
			{
				States[i].frameGUIDs = new string[States[i].framePaths.Length];

				States[i].spriteFrames = new CSpriteFrame[States[i].framePaths.Length];
				for (int j = 0; j < States[i].spriteFrames.Length; ++j)
					States[i].spriteFrames[j] = new CSpriteFrame();

				for (int j = 0; j < States[i].framePaths.Length; ++j)
				{
					// First get a GUID and save it:
					States[i].frameGUIDs[j] = path2Guid(States[i].framePaths[j]);

					texList.Add(load(States[i].framePaths[j], typeof(Texture2D)));
					frameList.Add(States[i].spriteFrames[j]);
				}
			}
		}

		sourceTextures = (Texture2D[])texList.ToArray(typeof(Texture2D));
		spriteFrames = (CSpriteFrame[])frameList.ToArray(typeof(CSpriteFrame));
	}
Esempio n. 3
0
	// Collects all textures intended for packing,
	// as well as sprite frames, together into a 
	// standard form for processing.
	// Receives a delegate reference to AssetDatabase.LoadAssetAtPath
	public abstract void Aggregate(PathFromGUIDDelegate guid2Path, LoadAssetDelegate load, GUIDFromPathDelegate path2Guid);