You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			171 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			171 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C#
		
	
| using UnityEngine;
 | |
| using FairyGUI.Utils;
 | |
| 
 | |
| namespace FairyGUI
 | |
| {
 | |
|     /// <summary>
 | |
|     /// GImage class.
 | |
|     /// </summary>
 | |
|     public class GImage : GObject, IColorGear
 | |
|     {
 | |
|         Image _content;
 | |
| 
 | |
|         public GImage()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         override protected void CreateDisplayObject()
 | |
|         {
 | |
|             _content = new Image();
 | |
|             _content.gOwner = this;
 | |
|             displayObject = _content;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Color of the image. 
 | |
|         /// </summary>
 | |
|         public Color color
 | |
|         {
 | |
|             get { return _content.color; }
 | |
|             set
 | |
|             {
 | |
|                 _content.color = value;
 | |
|                 UpdateGear(4);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Flip type.
 | |
|         /// </summary>
 | |
|         /// <seealso cref="FlipType"/>
 | |
|         public FlipType flip
 | |
|         {
 | |
|             get { return _content.graphics.flip; }
 | |
|             set { _content.graphics.flip = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Fill method.
 | |
|         /// </summary>
 | |
|         /// <seealso cref="FillMethod"/>
 | |
|         public FillMethod fillMethod
 | |
|         {
 | |
|             get { return _content.fillMethod; }
 | |
|             set { _content.fillMethod = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Fill origin.
 | |
|         /// </summary>
 | |
|         /// <seealso cref="OriginHorizontal"/>
 | |
|         /// <seealso cref="OriginVertical"/>
 | |
|         /// <seealso cref="Origin90"/>
 | |
|         /// <seealso cref="Origin180"/>
 | |
|         /// <seealso cref="Origin360"/>
 | |
|         public int fillOrigin
 | |
|         {
 | |
|             get { return _content.fillOrigin; }
 | |
|             set { _content.fillOrigin = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Fill clockwise if true.
 | |
|         /// </summary>
 | |
|         public bool fillClockwise
 | |
|         {
 | |
|             get { return _content.fillClockwise; }
 | |
|             set { _content.fillClockwise = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Fill amount. (0~1)
 | |
|         /// </summary>
 | |
|         public float fillAmount
 | |
|         {
 | |
|             get { return _content.fillAmount; }
 | |
|             set { _content.fillAmount = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Set texture directly. The image wont own the texture.
 | |
|         /// </summary>
 | |
|         public NTexture texture
 | |
|         {
 | |
|             get { return _content.texture; }
 | |
|             set
 | |
|             {
 | |
|                 if (value != null)
 | |
|                 {
 | |
|                     sourceWidth = value.width;
 | |
|                     sourceHeight = value.height;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     sourceWidth = 0;
 | |
|                     sourceHeight = 0;
 | |
|                 }
 | |
|                 initWidth = sourceWidth;
 | |
|                 initHeight = sourceHeight;
 | |
|                 _content.texture = value;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Set material.
 | |
|         /// </summary>
 | |
|         public Material material
 | |
|         {
 | |
|             get { return _content.material; }
 | |
|             set { _content.material = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Set shader.
 | |
|         /// </summary>
 | |
|         public string shader
 | |
|         {
 | |
|             get { return _content.shader; }
 | |
|             set { _content.shader = value; }
 | |
|         }
 | |
| 
 | |
|         override public void ConstructFromResource()
 | |
|         {
 | |
|             this.gameObjectName = packageItem.name;
 | |
|             
 | |
|             PackageItem contentItem = packageItem.getBranch();
 | |
|             sourceWidth = contentItem.width;
 | |
|             sourceHeight = contentItem.height;
 | |
|             initWidth = sourceWidth;
 | |
|             initHeight = sourceHeight;
 | |
| 
 | |
|             contentItem = contentItem.getHighResolution();
 | |
|             contentItem.Load();
 | |
|             _content.scale9Grid = contentItem.scale9Grid;
 | |
|             _content.scaleByTile = contentItem.scaleByTile;
 | |
|             _content.tileGridIndice = contentItem.tileGridIndice;
 | |
|             _content.texture = contentItem.texture;
 | |
|             _content.textureScale = new Vector2(contentItem.width / (float)sourceWidth, contentItem.height / (float)sourceHeight);
 | |
| 
 | |
|             SetSize(sourceWidth, sourceHeight);
 | |
|         }
 | |
| 
 | |
|         override public void Setup_BeforeAdd(ByteBuffer buffer, int beginPos)
 | |
|         {
 | |
|             base.Setup_BeforeAdd(buffer, beginPos);
 | |
| 
 | |
|             buffer.Seek(beginPos, 5);
 | |
| 
 | |
|             if (buffer.ReadBool())
 | |
|                 _content.color = buffer.ReadColor();
 | |
|             _content.graphics.flip = (FlipType)buffer.ReadByte();
 | |
|             _content.fillMethod = (FillMethod)buffer.ReadByte();
 | |
|             if (_content.fillMethod != FillMethod.None)
 | |
|             {
 | |
|                 _content.fillOrigin = buffer.ReadByte();
 | |
|                 _content.fillClockwise = buffer.ReadBool();
 | |
|                 _content.fillAmount = buffer.ReadFloat();
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |