private void AutoloadNPC(Type type) { ModNPC npc = (ModNPC)Activator.CreateInstance(type); npc.mod = this; string name = type.Name; string texture = (type.Namespace + "." + type.Name).Replace('.', '/'); string defaultTexture = texture; if (npc.Autoload(ref name, ref texture)) { AddNPC(name, npc, texture); string headTexture = defaultTexture + "_Head"; string bossHeadTexture = headTexture + "_Boss"; npc.AutoloadHead(ref headTexture, ref bossHeadTexture); if (ModLoader.TextureExists(headTexture)) { AddNPCHeadTexture(npc.npc.type, headTexture); } if (ModLoader.TextureExists(bossHeadTexture)) { AddBossHeadTexture(bossHeadTexture); NPCHeadLoader.npcToBossHead[npc.npc.type] = NPCHeadLoader.bossHeads[bossHeadTexture]; } } }
private void AutoloadItem(Type type) { ModItem item = (ModItem)Activator.CreateInstance(type); item.mod = this; string name = type.Name; string texture = (type.Namespace + "." + type.Name).Replace('.', '/'); IList <EquipType> equips = new List <EquipType>(); if (item.Autoload(ref name, ref texture, equips)) { AddItem(name, item, texture); if (equips.Count > 0) { EquipLoader.idToSlot[item.item.type] = new Dictionary <EquipType, int>(); foreach (EquipType equip in equips) { string equipTexture = texture + "_" + equip.ToString(); string armTexture = texture + "_Arms"; string femaleTexture = texture + "_FemaleBody"; item.AutoloadEquip(equip, ref equipTexture, ref armTexture, ref femaleTexture); int slot = AddEquipTexture(item, equip, name, equipTexture, armTexture, femaleTexture); EquipLoader.idToSlot[item.item.type][equip] = slot; } } string flameTexture = texture + "_" + "Flame"; item.AutoloadFlame(ref flameTexture); if (ModLoader.TextureExists(flameTexture)) { AddFlameTexture(item, flameTexture); } } }
/// <summary> /// Automatically sets certain static defaults. Override this if you do not want the properties to be set for you. /// </summary> public virtual void AutoStaticDefaults() { Main.itemTexture[item.type] = ModLoader.GetTexture(Texture); var flameTexture = Texture + "_Flame"; if (ModLoader.TextureExists(flameTexture)) { Main.itemFlameTexture[item.type] = ModLoader.GetTexture(flameTexture); } DisplayName.SetDefault(Regex.Replace(GetType().Name, "([A-Z])", " $1").Trim()); }
public bool TextureExists(string name) { return(ModLoader.TextureExists(FileName(name))); }
public void AddMount(string name, ModMountData mount, string texture, IDictionary <MountTextureType, string> extraTextures = null) { int id; if (Mount.mounts == null || Mount.mounts.Length == MountID.Count) { Mount.Initialize(); } id = MountLoader.ReserveMountID(); mount.Name = name; mount.Type = id; mountDatas[name] = mount; MountLoader.mountDatas[id] = mount; mount.texture = texture; mount.mod = this; if (extraTextures != null) { foreach (MountTextureType textureType in Enum.GetValues(typeof(MountTextureType))) { if (extraTextures.ContainsKey(textureType) && ModLoader.TextureExists(extraTextures[textureType])) { Texture2D extraTexture = ModLoader.GetTexture(extraTextures[textureType]); switch (textureType) { case MountTextureType.Back: mount.mountData.backTexture = extraTexture; break; case MountTextureType.BackGlow: mount.mountData.backTextureGlow = extraTexture; break; case MountTextureType.BackExtra: mount.mountData.backTextureExtra = extraTexture; break; case MountTextureType.BackExtraGlow: mount.mountData.backTextureExtraGlow = extraTexture; break; case MountTextureType.Front: mount.mountData.frontTexture = extraTexture; break; case MountTextureType.FrontGlow: mount.mountData.frontTextureGlow = extraTexture; break; case MountTextureType.FrontExtra: mount.mountData.frontTextureExtra = extraTexture; break; case MountTextureType.FrontExtraGlow: mount.mountData.frontTextureExtraGlow = extraTexture; break; } } } } }