Skip to content

Commit

Permalink
Added Vanity Accessories and Clothes to the Build Mode
Browse files Browse the repository at this point in the history
  • Loading branch information
Kirtle committed Jun 9, 2020
1 parent 08881b5 commit ed47bfa
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 7 deletions.
26 changes: 25 additions & 1 deletion BuilderPlayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,20 @@ public class BuilderPlayer : ModPlayer
{
public List<Item> NormalAccessories;
public List<Item> BuildingAccessories;
public List<Item> NormalVanityAccessories;
public List<Item> BuildingVanityAccessories;
public List<Item> NormalVanityClothes;
public List<Item> BuildingVanityClothes;
public bool IsNormalAccessories;

public override void Initialize()
{
NormalAccessories = new List<Item>(7);
BuildingAccessories = new List<Item>(7);
NormalVanityAccessories = new List<Item>(7);
BuildingVanityAccessories = new List<Item>(7);
NormalVanityClothes = new List<Item>(3);
BuildingVanityClothes = new List<Item>(3);
IsNormalAccessories = true;
}

Expand All @@ -25,7 +33,11 @@ public override TagCompound Save()
{
{ "IsNormalAccessories", IsNormalAccessories },
{ "NormalAccessories", NormalAccessories },
{ "BuildingAccessories", BuildingAccessories }
{ "BuildingAccessories", BuildingAccessories },
{"NormalVanityAccessories", NormalVanityAccessories },
{"BuildingVanityAccessories", BuildingVanityAccessories },
{"NormalVanityClothes", NormalVanityClothes },
{"BuildingVanityClothes", BuildingVanityClothes }
};
}

Expand All @@ -39,6 +51,18 @@ public override void Load(TagCompound tag)

if (tag.ContainsKey("BuildingAccessories"))
BuildingAccessories = tag.Get<List<Item>>("BuildingAccessories");

if (tag.ContainsKey("NormalVanityAccessories"))
NormalVanityAccessories = tag.Get<List<Item>>("NormalVanityAccessories");

if (tag.ContainsKey("BuildingVanityAccessories"))
BuildingVanityAccessories = tag.Get<List<Item>>("BuildingVanityAccessories");

if (tag.ContainsKey("NormalVanityClothes"))
NormalVanityClothes = tag.Get<List<Item>>("NormalVanityClothes");

if (tag.ContainsKey("BuildingVanityClothes"))
BuildingVanityClothes = tag.Get<List<Item>>("BuildingVanityClothes");
}

public override void OnEnterWorld(Player player)
Expand Down
47 changes: 41 additions & 6 deletions UI/BasePanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,25 +34,50 @@ public void ChangeAccessories_OnClick(UIMouseEvent evt, UIElement listeningEleme
public void CleanAcessoriesList()
{
modPlayer = Main.LocalPlayer.GetModPlayer<BuilderPlayer>();

//TODO: Mod config where the player can choose if he wishes to have "2nd" vanity slots too
if (modPlayer.IsNormalAccessories)
{
modPlayer.NormalAccessories.Clear();
modPlayer.NormalVanityAccessories.Clear();
modPlayer.NormalVanityClothes.Clear();
}
else
{
modPlayer.BuildingAccessories.Clear();
modPlayer.BuildingVanityAccessories.Clear();
modPlayer.BuildingVanityClothes.Clear();
}
}

//Vanity Accessories start on index 13
public void SaveCurrentAccessories()
{
modPlayer = Main.LocalPlayer.GetModPlayer<BuilderPlayer>();
int maxAccessoryIndex = 5 + Main.LocalPlayer.extraAccessorySlots;
//Normal and Vanity Accessories
for (int i = 3; i < 3 + maxAccessoryIndex; i++)
{
Item accessory = modPlayer.player.armor[i];
Item vanityAccessory = modPlayer.player.armor[i+10];
if (modPlayer.IsNormalAccessories)
{
modPlayer.NormalAccessories.Add(accessory);
modPlayer.NormalVanityAccessories.Add(vanityAccessory);
}
else
{
modPlayer.BuildingAccessories.Add(accessory);
modPlayer.BuildingVanityAccessories.Add(vanityAccessory);
}
}

//Vanity Sets (&& armor set, in the future?)
for (int i = 10; i < 13; i++)
{
Item vanityCloth = modPlayer.player.armor[i];
if (modPlayer.IsNormalAccessories)
modPlayer.NormalVanityClothes.Add(vanityCloth);
else
modPlayer.BuildingVanityClothes.Add(vanityCloth);
}
}

Expand All @@ -61,19 +86,29 @@ public void LoadAccessories()
modPlayer = Main.LocalPlayer.GetModPlayer<BuilderPlayer>();

if (modPlayer.IsNormalAccessories)
{
for (int i = 0; i < modPlayer.NormalAccessories.Count; i++)
{
modPlayer.player.armor[i + 3] = modPlayer.NormalAccessories[i];
//var myItem = modPlayer.NormalAccessories[i];
//Main.LocalPlayer.armor[i + 3] = myItem;
modPlayer.player.armor[i + 13] = modPlayer.NormalVanityAccessories[i];
}

for (int i = 0; i < 3; i++)
{
modPlayer.player.armor[i + 10] = modPlayer.NormalVanityClothes[i];
}
}
else
{
for (int i = 0; i < modPlayer.BuildingAccessories.Count; i++)
{
modPlayer.player.armor[i + 3] = modPlayer.BuildingAccessories[i];
//var myItem = modPlayer.BuildingAccessories[i];
//Main.LocalPlayer.armor[i + 3] = myItem;
modPlayer.player.armor[i + 13] = modPlayer.BuildingVanityAccessories[i];
}

for (int i = 0; i < 3; i++)
{
modPlayer.player.armor[i + 10] = modPlayer.BuildingVanityClothes[i];
}
}
}
Expand Down

0 comments on commit ed47bfa

Please sign in to comment.