public void registerAutoAtlas(Sprite3D sprite) { if (sprite.texture == null) { return; } if (string.IsNullOrEmpty(sprite.autoAtlasTag)) { sprite.SetUV(new AtlasInfo.UVDetail { uvBL = new Vector2(0f, 0f), uvTL = new Vector2(0f, 1f), uvBR = new Vector2(1f, 0f), uvTR = new Vector2(1f, 1f), width = sprite.texture.width, height = sprite.texture.height }); return; } Canvas3DImpl.AutoAtlasInfo autoAtlasInfo = null; if (!this.m_atlas.TryGetValue(sprite.autoAtlasTag, out autoAtlasInfo)) { autoAtlasInfo = new Canvas3DImpl.AutoAtlasInfo(); this.m_atlas.Add(sprite.autoAtlasTag, autoAtlasInfo); } autoAtlasInfo.Register(sprite); this.m_needRebuildAtlas = true; }
private void _DoRebuildAtlas() { DictionaryView <string, Canvas3DImpl.AutoAtlasInfo> .Enumerator enumerator = this.m_atlas.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <string, Canvas3DImpl.AutoAtlasInfo> current = enumerator.Current; Canvas3DImpl.AutoAtlasInfo value = current.get_Value(); if (value.needRebuildAtlas) { value.Rebuild(); } } }
public void unregisterAutoAtlas(Sprite3D sprite) { if (sprite.texture == null || string.IsNullOrEmpty(sprite.autoAtlasTag)) { return; } Canvas3DImpl.AutoAtlasInfo autoAtlasInfo = null; if (!this.m_atlas.TryGetValue(sprite.autoAtlasTag, out autoAtlasInfo)) { return; } autoAtlasInfo.Unregister(sprite); }