tk2dSpriteCollectionData.InitMaterialIds C# (CSharp) Метод

InitMaterialIds() публичный Метод

Internal function to make sure all material Ids are valid. Used in the tilemap editor
public InitMaterialIds ( ) : void
Результат void
    public void InitMaterialIds()
    {
        if (inst.materialIdsValid)
            return;

        int firstValidIndex = -1;
        Dictionary<Material, int> materialLookupDict = new Dictionary<Material, int>();
        for (int i = 0; i < inst.materials.Length; ++i)
        {
            if (firstValidIndex == -1 && inst.materials[i] != null)
                firstValidIndex = i;
            materialLookupDict[materials[i]] = i;
        }
        if (firstValidIndex == -1)
        {
            Debug.LogError("Init material ids failed.");
        }
        else
        {
            foreach (var v in inst.spriteDefinitions)
            {
                if (!materialLookupDict.TryGetValue(v.material, out v.materialId))
                    v.materialId = firstValidIndex;
            }
            inst.materialIdsValid = true;
        }
    }

Usage Example

Пример #1
0
        // Token: 0x06000003 RID: 3 RVA: 0x000020F0 File Offset: 0x000002F0
        public static GameObject SpriteFromTexture(Texture2D texture, string spriteName, GameObject obj = null, bool copyFromExisting = true)
        {
            bool flag = obj == null;

            if (flag)
            {
                obj = new GameObject();
            }
            tk2dSprite tk2dSprite;

            if (copyFromExisting)
            {
                tk2dSprite = obj.AddComponent(SpriteBuilder.baseSprite);
            }
            else
            {
                tk2dSprite = obj.AddComponent <tk2dSprite>();
            }
            tk2dSpriteCollectionData tk2dSpriteCollectionData = SpriteBuilder.ConstructCollection(obj, texture.name.ToLower().Replace(" ", "_") + "_collection");
            int newSpriteId = SpriteBuilder.AddSpriteToCollection(spriteName, tk2dSpriteCollectionData);

            tk2dSpriteCollectionData.InitMaterialIds();
            tk2dSprite.SetSprite(tk2dSpriteCollectionData, newSpriteId);
            tk2dSprite.SortingOrder = 0;
            obj.GetComponent <BraveBehaviour>().sprite = tk2dSprite;
            return(obj);
        }
All Usage Examples Of tk2dSpriteCollectionData::InitMaterialIds