/// <summary>
        /// Queues remove sprite action.
        /// </summary>
        /// <param name="spriteInfo">Sprite info.</param>
        public void QueueAction_RemoveSprite(SPSpriteInfo spriteInfo)
        {
            if (spriteInfo == null)
            {
                return;
            }

            if (!this.m_Sprites.Contains(spriteInfo))
            {
                return;
            }

            // Check if that sprite is already added to the queue
            if (this.m_PendingActions.Find(a =>
                                           (a.actionType == SPAction.ActionType.Sprite_Remove && a.spriteInfo == spriteInfo)) != null)
            {
                return;
            }

            SPAction action = new SPAction();

            action.actionType = SPAction.ActionType.Sprite_Remove;
            action.spriteInfo = spriteInfo;
            this.m_PendingActions.Add(action);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Unqueues action.
 /// </summary>
 /// <param name="action">Action.</param>
 public void UnqueueAction(SPAction action)
 {
     if (this.m_PendingActions.Contains(action))
     {
         this.m_PendingActions.Remove(action);
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Queues add sprite action.
        /// </summary>
        /// <param name="resource">Resource.</param>
        public void QueueAction_AddSprite(Object resource)
        {
            if (resource is Texture2D || resource is Sprite)
            {
                // Check if that sprite is already added to the queue
                if (this.m_PendingActions.Find(a => (a.actionType == SPAction.ActionType.Sprite_Add && a.resource == resource)) != null)
                {
                    return;
                }

                SPAction action = new SPAction();
                action.actionType = SPAction.ActionType.Sprite_Add;
                action.resource   = resource;
                this.m_PendingActions.Add(action);
            }
        }
Exemplo n.º 4
0
        public void QueueAction_UpdateSprite(Object resource)
        {
            if (resource is Texture2D || resource is Sprite)
            {
                //不存在不做处理
                SPSpriteInfo spriteInfo = this.m_Sprites.Find(a => (a.name == resource.name));
                if (spriteInfo == null)
                {
                    return;
                }

                SPAction action_delete = new SPAction();
                action_delete.actionType = SPAction.ActionType.Sprite_Remove;
                action_delete.spriteInfo = spriteInfo;
                this.m_PendingActions.Add(action_delete);

                SPAction action_add = new SPAction();
                action_add.actionType = SPAction.ActionType.Sprite_Add;
                action_add.resource   = resource;
                this.m_PendingActions.Add(action_add);
            }
        }
Exemplo n.º 5
0
		/// <summary>
		/// Unqueues action.
		/// </summary>
		/// <param name="action">Action.</param>
		public void UnqueueAction(SPAction action)
		{
			if (this.m_PendingActions.Contains(action))
				this.m_PendingActions.Remove(action);
		}
Exemplo n.º 6
0
		/// <summary>
		/// Queues remove sprite action.
		/// </summary>
		/// <param name="spriteInfo">Sprite info.</param>
		public void QueueAction_RemoveSprite(SPSpriteInfo spriteInfo)
		{
			if (spriteInfo == null)
				return;
			
			if (!this.m_Sprites.Contains(spriteInfo))
				return;
			
			// Check if that sprite is already added to the queue
			if (this.m_PendingActions.Find(a => (a.actionType == SPAction.ActionType.Sprite_Remove && a.spriteInfo == spriteInfo)) != null)
				return;
			
			SPAction action = new SPAction();
			action.actionType = SPAction.ActionType.Sprite_Remove;
			action.spriteInfo = spriteInfo;
			this.m_PendingActions.Add(action);
		}
Exemplo n.º 7
0
		/// <summary>
		/// Queues add sprite action.
		/// </summary>
		/// <param name="resource">Resource.</param>
		public void QueueAction_AddSprite(Object resource)
		{
			if (resource is Texture2D || resource is Sprite)
			{
				// Check if that sprite is already added to the queue
				if (this.m_PendingActions.Find(a => (a.actionType == SPAction.ActionType.Sprite_Add && a.resource == resource)) != null)
					return;
				
				SPAction action = new SPAction();
				action.actionType = SPAction.ActionType.Sprite_Add;
				action.resource = resource;
				this.m_PendingActions.Add(action);
			}
		}