// Token: 0x06000366 RID: 870 RVA: 0x0002086C File Offset: 0x0001EA6C public bool Validate(INGUIAtlas atlas) { if (atlas == null) { return(false); } if (!this.mIsValid) { if (string.IsNullOrEmpty(this.spriteName)) { return(false); } this.mSprite = atlas.GetSprite(this.spriteName); Texture texture = atlas.texture; if (this.mSprite != null) { if (texture == null) { this.mSprite = null; } else { this.mUV = new Rect((float)this.mSprite.x, (float)this.mSprite.y, (float)this.mSprite.width, (float)this.mSprite.height); this.mUV = NGUIMath.ConvertToTexCoords(this.mUV, texture.width, texture.height); this.mOffsetX = this.mSprite.paddingLeft; this.mOffsetY = this.mSprite.paddingTop; this.mWidth = this.mSprite.width; this.mHeight = this.mSprite.height; this.mAdvance = this.mSprite.width + (this.mSprite.paddingLeft + this.mSprite.paddingRight); this.mIsValid = true; } } } return(this.mSprite != null); }
/// <summary> /// Duplicate the specified sprite. /// </summary> static public SpriteEntry DuplicateSprite(INGUIAtlas atlas, string spriteName) { if (atlas == null || atlas.texture == null) { return(null); } var sd = atlas.GetSprite(spriteName); if (sd == null) { return(null); } var tex = NGUIEditorTools.ImportTexture(atlas.texture, true, true, false); SpriteEntry se = ExtractSprite(sd, tex); if (se != null) { se.name = se.name + " (Copy)"; var sprites = new List <UIAtlasMaker.SpriteEntry>(); UIAtlasMaker.ExtractSprites(atlas, sprites); sprites.Add(se); UIAtlasMaker.UpdateAtlas(atlas, sprites); se.Release(); } else { NGUIEditorTools.ImportTexture(atlas.texture, false, false, !atlas.premultipliedAlpha); } return(se); }
// Token: 0x060008DE RID: 2270 RVA: 0x00046B40 File Offset: 0x00044D40 public void AddSprite(object id, string spriteName, Vector2 pos, float width, float height, Color32 color, Vector2 pivot, float rot = 0f, UIBasicSprite.Type type = UIBasicSprite.Type.Simple, UIBasicSprite.Flip flip = UIBasicSprite.Flip.Nothing, bool enabled = true) { if (this.mAtlas == null) { Debug.LogError("Atlas must be assigned first"); return; } UISpriteCollection.Sprite sprite = default(UISpriteCollection.Sprite); INGUIAtlas atlas = this.atlas; if (atlas != null) { sprite.sprite = atlas.GetSprite(spriteName); } if (sprite.sprite == null) { return; } sprite.pos = pos; sprite.rot = rot; sprite.width = width; sprite.height = height; sprite.color = color; sprite.pivot = pivot; sprite.type = type; sprite.flip = flip; sprite.enabled = enabled; this.mSprites[id] = sprite; if (enabled && !this.mChanged) { this.MarkAsChanged(); } }
// Token: 0x060008A7 RID: 2215 RVA: 0x0004571C File Offset: 0x0004391C public UISpriteData GetSprite(string spriteName) { INGUIAtlas atlas = this.atlas; if (atlas == null) { return(null); } return(atlas.GetSprite(spriteName)); }
// Token: 0x060006F7 RID: 1783 RVA: 0x00039134 File Offset: 0x00037334 public UISpriteData GetSprite(string name) { INGUIAtlas replacement = this.replacement; if (replacement != null) { return(replacement.GetSprite(name)); } if (!string.IsNullOrEmpty(name)) { if (this.mSprites.Count == 0) { this.Upgrade(); } if (this.mSprites.Count == 0) { return(null); } if (this.mSpriteIndices.Count != this.mSprites.Count) { this.MarkSpriteListAsChanged(); } int num; if (this.mSpriteIndices.TryGetValue(name, out num)) { if (num > -1 && num < this.mSprites.Count) { return(this.mSprites[num]); } this.MarkSpriteListAsChanged(); if (!this.mSpriteIndices.TryGetValue(name, out num)) { return(null); } return(this.mSprites[num]); } else { int i = 0; int count = this.mSprites.Count; while (i < count) { UISpriteData uispriteData = this.mSprites[i]; if (!string.IsNullOrEmpty(uispriteData.name) && name == uispriteData.name) { this.MarkSpriteListAsChanged(); return(uispriteData); } i++; } } } return(null); }
/// <summary> /// Convenience function -- mark all widgets using the sprite as changed. /// </summary> void MarkSpriteAsDirty() { var sprite = (mAtlas != null) ? mAtlas.GetSprite(NGUISettings.selectedSprite) : null; if (sprite == null) { return; } var sprites = NGUITools.FindActive <UISprite>(); foreach (UISprite sp in sprites) { if (NGUITools.CheckIfRelated(sp.atlas, mAtlas) && sp.spriteName == sprite.name) { var atl = sp.atlas; sp.atlas = null; sp.atlas = atl; NGUITools.SetDirty(sp); } } var labels = NGUITools.FindActive <UILabel>(); foreach (UILabel lbl in labels) { if (lbl.bitmapFont == null) { continue; } var font = lbl.bitmapFont; if (NGUITools.CheckIfRelated(font.atlas, mAtlas) && font.UsesSprite(sprite.name)) { lbl.bitmapFont = null; lbl.bitmapFont = font; NGUITools.SetDirty(lbl); } } }
/// <summary> /// Validate this symbol, given the specified atlas. /// </summary> public bool Validate(INGUIAtlas atlas) { if (atlas == null) { return(false); } #if UNITY_EDITOR if (!Application.isPlaying || !mIsValid) #else if (!mIsValid) #endif { if (string.IsNullOrEmpty(spriteName)) { return(false); } Texture tex = null; mSprite = atlas.GetSprite(spriteName); if (mSprite != null) { tex = atlas.texture; if (tex == null) { mSprite = null; } else { mUV = new Rect(mSprite.x, mSprite.y, mSprite.width, mSprite.height); mUV = NGUIMath.ConvertToTexCoords(mUV, tex.width, tex.height); mOffsetX = mSprite.paddingLeft; mOffsetY = mSprite.paddingTop; mWidth = mSprite.width; mHeight = mSprite.height; mAdvance = mSprite.width + (mSprite.paddingLeft + mSprite.paddingRight); mIsValid = true; } } } return(mSprite != null); }
/// <summary> /// Extract the specified sprite from the atlas. /// </summary> static public SpriteEntry ExtractSprite(INGUIAtlas atlas, string spriteName) { if (atlas == null || atlas.texture == null) { return(null); } var sd = atlas.GetSprite(spriteName); if (sd == null) { return(null); } var tex = NGUIEditorTools.ImportTexture(atlas.texture, true, true, false); var se = ExtractSprite(sd, tex); NGUIEditorTools.ImportTexture(atlas.texture, false, false, !atlas.premultipliedAlpha); return(se); }
// Token: 0x060008BB RID: 2235 RVA: 0x00045DA4 File Offset: 0x00043FA4 public UISpriteData GetAtlasSprite() { if (!this.mSpriteSet) { this.mSprite = null; } if (this.mSprite == null) { INGUIAtlas inguiatlas = this.mAtlas as INGUIAtlas; if (inguiatlas != null) { if (!string.IsNullOrEmpty(this.mSpriteName)) { UISpriteData sprite = inguiatlas.GetSprite(this.mSpriteName); if (sprite == null) { return(null); } this.SetAtlasSprite(sprite); } if (this.mSprite == null && inguiatlas.spriteList.Count > 0) { UISpriteData uispriteData = inguiatlas.spriteList[0]; if (uispriteData == null) { return(null); } this.SetAtlasSprite(uispriteData); if (this.mSprite == null) { Debug.LogError((inguiatlas as UnityEngine.Object).name + " seems to have a null sprite!"); return(null); } this.mSpriteName = this.mSprite.name; } } } return(this.mSprite); }
// Token: 0x06000228 RID: 552 RVA: 0x00018418 File Offset: 0x00016618 private void SetSprite(string sprite) { if (string.IsNullOrEmpty(sprite)) { return; } INGUIAtlas atlas = this.target.atlas; if (atlas == null) { return; } INGUIAtlas inguiatlas = atlas; if (inguiatlas == null || inguiatlas.GetSprite(sprite) == null) { return; } this.target.spriteName = sprite; if (this.pixelSnap) { this.target.MakePixelPerfect(); } }