Skip to content

Commit

Permalink
usability improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
monkeymanboy committed Aug 12, 2019
1 parent b5f26ff commit b08a781
Showing 1 changed file with 48 additions and 5 deletions.
53 changes: 48 additions & 5 deletions BeatSaberCampaignCreator/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ public void SetDataToCurrentSelected()
reqList.Items.Add(reqList.Items.Count);
}
if (reqList.Items.Count > 0) reqList.SelectedIndex = 0;
SetRequirementToSelected();
UpdateRequirementToggleState();

externalModsList.Items.Clear();
foreach(KeyValuePair<string, string[]> pair in challenge.externalModifiers)
{
Expand All @@ -93,6 +96,8 @@ public void SetDataToCurrentSelected()
unlockableListBox.Items.Add(unlockableListBox.Items.Count);
}
if (unlockableListBox.Items.Count > 0) unlockableListBox.SelectedIndex = 0;
SetUnlockableToSelected();
UpdateUnlockableToggleState();

segments.Items.Clear();
if (challenge.challengeInfo != null)
Expand All @@ -106,6 +111,7 @@ public void SetDataToCurrentSelected()
infoEnabled.Checked = challenge.challengeInfo != null;
SetInfoToSelected();
SetSegmentToSelected();
UpdateInfoToggleState();

isExtLoading = true;
textBox1.Text = "";
Expand Down Expand Up @@ -247,6 +253,7 @@ private void addReq_Click(object sender, EventArgs e)
}
tempList.Add(new ChallengeRequirement());
challenge.requirements = tempList.ToArray();
UpdateRequirementToggleState();
}

private void remReq_Click(object sender, EventArgs e)
Expand All @@ -265,6 +272,7 @@ private void remReq_Click(object sender, EventArgs e)
reqList.Items.Add(reqList.Items.Count);
}
if (reqList.Items.Count > 0) reqList.SelectedIndex = 0;
UpdateRequirementToggleState();
}

private void reqList_SelectedIndexChanged(object sender, EventArgs e)
Expand Down Expand Up @@ -299,12 +307,20 @@ public void SetRequirementToSelected()
requirementIsMax.Checked = requirement.isMax;
reqUpdating = false;
}
public void UpdateRequirementToggleState()
{
Challenge challenge = campaign.challenges[currentChallenge];

bool isEnabled = !(challenge.requirements.Count() == 0 || curRequirementIndex >= challenge.requirements.Count());
requirementType.Enabled = isEnabled;
requirementValue.Enabled = isEnabled;
requirementIsMax.Enabled = isEnabled;
}


//External Modifier stuff
private void addExtMod_Click(object sender, EventArgs e)
{
if (campaign == null) return;
Challenge challenge = campaign.challenges[currentChallenge];
string modName = ShowDialog("Mod Name (ex GameplayModifiersPlus)", "External Modifier Mod Name");
challenge.externalModifiers.Add(modName, new string[0]);
Expand All @@ -314,7 +330,6 @@ private void addExtMod_Click(object sender, EventArgs e)

private void remExtMod_Click(object sender, EventArgs e)
{
if (campaign == null) return;
Challenge challenge = campaign.challenges[currentChallenge];
challenge.externalModifiers.Remove((string)externalModsList.SelectedItem);
externalModsList.Items.Clear();
Expand Down Expand Up @@ -658,6 +673,7 @@ private void addUnlockable_Click(object sender, EventArgs e)
unlockableListBox.Items.Add(unlockableListBox.Items.Count);
Challenge challenge = campaign.challenges[currentChallenge];
challenge.unlockableItems.Add(new UnlockableItem());
UpdateUnlockableToggleState();
}

private void removeUnlockable_Click(object sender, EventArgs e)
Expand All @@ -670,6 +686,7 @@ private void removeUnlockable_Click(object sender, EventArgs e)
unlockableListBox.Items.Add(unlockableListBox.Items.Count);
}
if (unlockableListBox.Items.Count > 0) unlockableListBox.SelectedIndex = 0;
UpdateUnlockableToggleState();
}

private void unlockableListBox_SelectedIndexChanged(object sender, EventArgs e)
Expand All @@ -679,12 +696,10 @@ private void unlockableListBox_SelectedIndexChanged(object sender, EventArgs e)
}
private void UnlockableValueChanged(object sender, EventArgs e)
{
if (unlockableUpdating) return;
UpdateUnlockableInfo();
}
public void UpdateUnlockableInfo()
{
if (campaign == null) return;
Challenge challenge = campaign.challenges[currentChallenge];
if (challenge.unlockableItems.Count() == 0 || curUnlockableIndex >= challenge.unlockableItems.Count()) return;
UnlockableItem unlockable = challenge.unlockableItems[curUnlockableIndex];
Expand All @@ -704,6 +719,14 @@ public void SetUnlockableToSelected()
unlockableType.SelectedIndex = (int)unlockable.type;
unlockableUpdating = false;
}
public void UpdateUnlockableToggleState()
{
Challenge challenge = campaign.challenges[currentChallenge];
bool isEnabled = !(challenge.unlockableItems.Count() == 0 || curUnlockableIndex >= challenge.unlockableItems.Count());
unlockableType.Enabled = isEnabled;
unlockableFile.Enabled = isEnabled;
unlockableName.Enabled = isEnabled;
}


//Challenge Info
Expand All @@ -715,6 +738,7 @@ private void addSegment_Click(object sender, EventArgs e)
segments.Items.Add(segments.Items.Count);
Challenge challenge = campaign.challenges[currentChallenge];
challenge.challengeInfo.segments.Add(new InfoSegment());
UpdateInfoToggleState();
}

private void removeSegment_Click(object sender, EventArgs e)
Expand All @@ -727,6 +751,7 @@ private void removeSegment_Click(object sender, EventArgs e)
segments.Items.Add(segments.Items.Count);
}
if (segments.Items.Count > 0) segments.SelectedIndex = 0;
UpdateInfoToggleState();
}

private void infoEnabled_CheckedChanged(object sender, EventArgs e)
Expand All @@ -741,6 +766,9 @@ private void infoEnabled_CheckedChanged(object sender, EventArgs e)
{
challenge.challengeInfo = null;
}
SetInfoToSelected();
SetSegmentToSelected();
UpdateInfoToggleState();
}

//info
Expand Down Expand Up @@ -794,13 +822,28 @@ public void SetSegmentToSelected()
infoText.Text = segment.text;
segmentUpdating = false;
}

private void segments_SelectedIndexChanged(object sender, EventArgs e)
{

curSegmentIndex = segments.SelectedIndex;
SetSegmentToSelected();
}
public void UpdateInfoToggleState()
{
Challenge challenge = campaign.challenges[currentChallenge];

bool isEnabled = challenge.challengeInfo != null;
infoTitle.Enabled = isEnabled;
appearsEverytime.Enabled = isEnabled;
segments.Enabled = isEnabled;
addSegment.Enabled = isEnabled;
removeSegment.Enabled = isEnabled;

isEnabled = !(challenge.challengeInfo == null || challenge.challengeInfo.segments.Count() == 0 || curSegmentIndex >= challenge.challengeInfo.segments.Count());
hasSeperator.Enabled = isEnabled;
infoImageName.Enabled = isEnabled;
infoText.Enabled = isEnabled;
}

//lights

Expand Down

0 comments on commit b08a781

Please sign in to comment.