public static Texture ReplaceTexture(Texture original) { if (original == null) { //Debug.Log("original is null"); return(original); } if (!(TextureReplacements.ContainsKey(original.name))) { return(original); } Debug.Log($"Replacing {original.name} with {TextureReplacements[original.name].Name}"); return(GetTexture(TextureReplacements[original.name].Name)); }
public static void Load(string contentPackFile) { if (Directory.Exists(Path.Combine(GameController.GamePath, "ContentPacks"))) { if (!File.Exists(contentPackFile)) { return; } foreach (var line in File.ReadAllLines(contentPackFile)) { switch (line.CountSplits("|")) { case 2: //ResolutionChange var textureName = line.GetSplit(0, "|"); var resolution = Convert.ToInt32(line.GetSplit(1, "|")); if (!TextureResolutions.ContainsKey(textureName)) { TextureResolutions.Add(textureName, resolution); } break; case 4: //TextureReplacement var oldTextureName = line.GetSplit(0, "|"); var newTextureName = line.GetSplit(2, "|"); var oRs = line.GetSplit(1, "|"); //oRS = oldRectangleSource var nRs = line.GetSplit(3, "|"); //nRS = newRectangleSource var oldTextureSource = new TextureSource(oldTextureName, new Rectangle(Convert.ToInt32(oRs.GetSplit(0)), Convert.ToInt32(oRs.GetSplit(1)), Convert.ToInt32(oRs.GetSplit(2)), Convert.ToInt32(oRs.GetSplit(3)))); var newTextureSource = new TextureSource(newTextureName, new Rectangle(Convert.ToInt32(nRs.GetSplit(0)), Convert.ToInt32(nRs.GetSplit(1)), Convert.ToInt32(nRs.GetSplit(2)), Convert.ToInt32(nRs.GetSplit(3)))); if (!TextureReplacements.ContainsKey(oldTextureSource)) { TextureReplacements.Add(oldTextureSource, newTextureSource); } break; } } } }