예제 #1
0
        internal static bool DrawPrefix(Stable __instance, NetFloat ___alpha, SpriteBatch b)
        {
            if (__instance.maxOccupants == TRACTOR_GARAGE_ID && __instance.modData.ContainsKey("AlternativeTextureName"))
            {
                if (__instance.isMoving || __instance.daysOfConstructionLeft > 0)
                {
                    return(true);
                }

                var textureModel = AlternativeTextures.textureManager.GetSpecificTextureModel(__instance.modData["AlternativeTextureName"]);
                if (textureModel is null)
                {
                    return(true);
                }

                var textureVariation = Int32.Parse(__instance.modData["AlternativeTextureVariation"]);
                if (textureVariation == -1 || AlternativeTextures.modConfig.IsTextureVariationDisabled(textureModel.GetId(), textureVariation))
                {
                    return(true);
                }
                var paintedTexture = BuildingPatch.GetBuildingTextureWithPaint(__instance, textureModel, textureVariation);

                __instance.drawShadow(b);
                b.Draw(paintedTexture, Game1.GlobalToLocal(Game1.viewport, new Vector2((int)__instance.tileX * 64, (int)__instance.tileY * 64 + (int)__instance.tilesHigh * 64)), paintedTexture.Bounds, __instance.color.Value * ___alpha, 0f, new Vector2(0f, __instance.texture.Value.Bounds.Height), 4f, SpriteEffects.None, (float)(((int)__instance.tileY + (int)__instance.tilesHigh - 1) * 64) / 10000f);

                return(false);
            }

            return(true);
        }