/// <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); }
/// <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); } }
/// <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); } }
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); } }
/// <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); }
/// <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); }
/// <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); } }