mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-30 09:01:06 -04:00
213 lines
9.9 KiB
C#
213 lines
9.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Microsoft.Win32;
|
|
|
|
namespace MCGalaxy.GUI.Eco {
|
|
public partial class EconomyWindow : Form {
|
|
public EconomyWindow() {
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void EconomyWindow_Load(object sender, EventArgs e) {
|
|
numericUpDownTitle.Value = Economy.Settings.TitlePrice;
|
|
numericUpDownColor.Value = Economy.Settings.ColorPrice;
|
|
numericUpDownTcolor.Value = Economy.Settings.TColorPrice;
|
|
checkBoxEco.Checked = Economy.Settings.Enabled;
|
|
checkBoxTitle.Checked = Economy.Settings.Titles;
|
|
checkBoxColor.Checked = Economy.Settings.Colors;
|
|
checkBoxTcolor.Checked = Economy.Settings.TColors;
|
|
checkBoxRank.Checked = Economy.Settings.Ranks;
|
|
checkBoxLevel.Checked = Economy.Settings.Levels;
|
|
|
|
//load all ranks in combobox
|
|
List<string> groupList = new List<string>();
|
|
foreach (Group group in Group.GroupList)
|
|
if(group.Permission > 0 && (int)group.Permission < 120)
|
|
groupList.Add(group.name);
|
|
comboBoxRank.DataSource = groupList;
|
|
comboBoxRank.SelectedItem = Economy.Settings.MaxRank;
|
|
|
|
UpdateRanks();
|
|
UpdateLevels();
|
|
|
|
//initialize enables
|
|
groupBoxTitle.Enabled = checkBoxEco.Checked;
|
|
groupBoxColor.Enabled = checkBoxEco.Checked;
|
|
groupBoxTcolor.Enabled = checkBoxEco.Checked;
|
|
groupBoxRank.Enabled = checkBoxEco.Checked;
|
|
groupBoxLevel.Enabled = checkBoxEco.Checked;
|
|
labelPriceTitle.Enabled = checkBoxTitle.Checked;
|
|
labelPriceColor.Enabled = checkBoxColor.Checked;
|
|
labelPriceTcolor.Enabled = checkBoxTcolor.Checked;
|
|
numericUpDownTitle.Enabled = checkBoxTitle.Checked;
|
|
numericUpDownColor.Enabled = checkBoxColor.Checked;
|
|
numericUpDownTcolor.Enabled = checkBoxTcolor.Checked;
|
|
labelMaxrank.Enabled = checkBoxRank.Checked;
|
|
comboBoxRank.Enabled = checkBoxRank.Checked;
|
|
listBoxRank.Enabled = checkBoxRank.Checked;
|
|
labelPriceRank.Enabled = checkBoxRank.Checked;
|
|
numericUpDownRank.Enabled = checkBoxRank.Checked;
|
|
dataGridView1.Enabled = checkBoxLevel.Checked;
|
|
buttonAdd.Enabled = checkBoxLevel.Checked;
|
|
CheckLevelEnables();
|
|
|
|
SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
|
|
this.Font = SystemFonts.IconTitleFont;
|
|
}
|
|
|
|
private void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e) {
|
|
if (e.Category == UserPreferenceCategory.Window) {
|
|
this.Font = SystemFonts.IconTitleFont;
|
|
}
|
|
}
|
|
|
|
private void PropertyWindow_FormClosing(object sender, FormClosingEventArgs e) {
|
|
SystemEvents.UserPreferenceChanged -= new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
|
|
}
|
|
|
|
private void UpdateRanks() {
|
|
int lasttrueprice = 0;
|
|
foreach (Group group in Group.GroupList) {
|
|
if (group.Permission > Group.Find(Economy.Settings.MaxRank).Permission) { break; }
|
|
if (!(group.Permission <= Group.Find(Server.defaultRank).Permission)) {
|
|
Economy.Settings.Rank rank = new Economy.Settings.Rank();
|
|
rank = Economy.FindRank(group.name);
|
|
if (rank == null) {
|
|
rank = new Economy.Settings.Rank();
|
|
rank.group = group;
|
|
if (lasttrueprice == 0) { rank.price = 1000; } else { rank.price = lasttrueprice + 250; }
|
|
Economy.Settings.RanksList.Add(rank);
|
|
} else { lasttrueprice = rank.price; }
|
|
}
|
|
}
|
|
List<string> ranklist = new List<string>();
|
|
foreach (Economy.Settings.Rank rank in Economy.Settings.RanksList) {
|
|
ranklist.Add(rank.group.name);
|
|
if (rank.group.name == Economy.Settings.MaxRank)
|
|
break;
|
|
}
|
|
listBoxRank.DataSource = ranklist;
|
|
listBoxRank.SelectedItem = comboBoxRank.SelectedItem;
|
|
numericUpDownRank.Value = Economy.Settings.RanksList.Find(rank => rank.group.name == comboBoxRank.SelectedItem.ToString()).price;
|
|
}
|
|
|
|
public void UpdateLevels() {
|
|
dataGridView1.Rows.Clear();
|
|
foreach (Economy.Settings.Level lvl in Economy.Settings.LevelsList) {
|
|
dataGridView1.Rows.Add(lvl.name, lvl.price, lvl.x, lvl.y, lvl.z, lvl.type);
|
|
}
|
|
}
|
|
|
|
public void CheckLevelEnables() {
|
|
buttonRemove.Enabled = checkBoxLevel.Checked && dataGridView1.SelectedRows.Count > 0;
|
|
buttonEdit.Enabled = checkBoxLevel.Checked && dataGridView1.SelectedRows.Count > 0;
|
|
}
|
|
|
|
private void checkBoxEco_CheckedChanged(object sender, EventArgs e) {
|
|
groupBoxTitle.Enabled = checkBoxEco.Checked;
|
|
groupBoxColor.Enabled = checkBoxEco.Checked;
|
|
groupBoxTcolor.Enabled = checkBoxEco.Checked;
|
|
groupBoxRank.Enabled = checkBoxEco.Checked;
|
|
groupBoxLevel.Enabled = checkBoxEco.Checked;
|
|
Economy.Settings.Enabled = checkBoxEco.Checked;
|
|
}
|
|
|
|
private void checkBoxTitle_CheckedChanged(object sender, EventArgs e) {
|
|
labelPriceTitle.Enabled = checkBoxTitle.Checked;
|
|
numericUpDownTitle.Enabled = checkBoxTitle.Checked;
|
|
Economy.Settings.Titles = checkBoxTitle.Checked;
|
|
Economy.Settings.TitlePrice = (int)numericUpDownTitle.Value;
|
|
}
|
|
|
|
private void checkBoxColor_CheckedChanged(object sender, EventArgs e) {
|
|
labelPriceColor.Enabled = checkBoxColor.Checked;
|
|
numericUpDownColor.Enabled = checkBoxColor.Checked;
|
|
Economy.Settings.Colors = checkBoxColor.Checked;
|
|
Economy.Settings.ColorPrice = (int)numericUpDownColor.Value;
|
|
}
|
|
|
|
private void checkBoxTcolor_CheckedChanged(object sender, EventArgs e) {
|
|
labelPriceTcolor.Enabled = checkBoxTcolor.Checked;
|
|
numericUpDownTcolor.Enabled = checkBoxTcolor.Checked;
|
|
Economy.Settings.TColors = checkBoxTcolor.Checked;
|
|
Economy.Settings.TColorPrice = (int)numericUpDownTcolor.Value;
|
|
}
|
|
|
|
private void numericUpDownTitle_ValueChanged(object sender, EventArgs e) {
|
|
Economy.Settings.TitlePrice = (int)numericUpDownTitle.Value;
|
|
}
|
|
|
|
private void numericUpDownColor_ValueChanged(object sender, EventArgs e) {
|
|
Economy.Settings.ColorPrice = (int)numericUpDownColor.Value;
|
|
}
|
|
|
|
private void numericUpDownTcolor_ValueChanged(object sender, EventArgs e) {
|
|
Economy.Settings.TColorPrice = (int)numericUpDownTcolor.Value;
|
|
}
|
|
|
|
private void checkBoxRank_CheckedChanged(object sender, EventArgs e) {
|
|
labelMaxrank.Enabled = checkBoxRank.Checked;
|
|
comboBoxRank.Enabled = checkBoxRank.Checked;
|
|
listBoxRank.Enabled = checkBoxRank.Checked;
|
|
labelPriceRank.Enabled = checkBoxRank.Checked;
|
|
numericUpDownRank.Enabled = checkBoxRank.Checked;
|
|
Economy.Settings.Ranks = checkBoxRank.Checked;
|
|
}
|
|
|
|
private void comboBoxRank_SelectionChangeCommitted(object sender, EventArgs e) {
|
|
Economy.Settings.MaxRank = comboBoxRank.SelectedItem.ToString();
|
|
UpdateRanks();
|
|
}
|
|
|
|
private void numericUpDownRank_ValueChanged(object sender, EventArgs e) {
|
|
Economy.FindRank(listBoxRank.SelectedItem.ToString()).price = (int)numericUpDownRank.Value;
|
|
}
|
|
|
|
private void listBoxRank_SelectedIndexChanged(object sender, EventArgs e) {
|
|
numericUpDownRank.Value = Economy.FindRank(listBoxRank.SelectedItem.ToString()).price;
|
|
}
|
|
|
|
private void EconomyWindow_FormClosing(object sender, FormClosingEventArgs e) {
|
|
Dispose();
|
|
Economy.Save();
|
|
}
|
|
|
|
private void checkBoxLevel_CheckedChanged(object sender, EventArgs e) {
|
|
dataGridView1.Enabled = checkBoxLevel.Checked;
|
|
buttonAdd.Enabled = checkBoxLevel.Checked;
|
|
CheckLevelEnables();
|
|
Economy.Settings.Levels = checkBoxLevel.Checked;
|
|
}
|
|
|
|
private void buttonAdd_Click(object sender, EventArgs e) {
|
|
new EcoLevelWindow(this).ShowDialog();
|
|
}
|
|
|
|
private void buttonEdit_Click(object sender, EventArgs e) {
|
|
string name = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
|
|
int price = (int)dataGridView1.SelectedRows[0].Cells[1].Value;
|
|
string x = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
|
|
string y = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
|
|
string z = dataGridView1.SelectedRows[0].Cells[4].Value.ToString();
|
|
string type = dataGridView1.SelectedRows[0].Cells[5].Value.ToString();
|
|
new EcoLevelWindow(this, name, price, x, y, z, type, true).ShowDialog();
|
|
}
|
|
|
|
private void buttonRemove_Click(object sender, EventArgs e) {
|
|
Economy.Settings.LevelsList.Remove(Economy.FindLevel(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()));
|
|
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
|
|
buttonRemove.Enabled = checkBoxLevel.Checked && dataGridView1.SelectedRows.Count > 0;
|
|
buttonEdit.Enabled = checkBoxLevel.Checked && dataGridView1.SelectedRows.Count > 0;
|
|
}
|
|
|
|
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {
|
|
buttonEdit.Enabled = true;
|
|
buttonRemove.Enabled = true;
|
|
}
|
|
}
|
|
} |