mirror of
https://git.alee14.me/shiftos-archive/ShiftOS_TheReturn.git
synced 2025-02-02 06:17:34 +00:00
Merge branch 'master' of https://github.com/shiftos-game/shiftos
This commit is contained in:
commit
f66cf31e5d
3 changed files with 94 additions and 72 deletions
|
@ -27,10 +27,13 @@ namespace ShiftOS.WinForms
|
|||
SetupUI();
|
||||
ServerManager.MessageReceived += (msg) =>
|
||||
{
|
||||
if (msg.Name == "mud_notfound")
|
||||
this.Invoke(new Action(() => { MUDUserFound?.Invoke(false); }));
|
||||
else if (msg.Name == "mud_found")
|
||||
this.Invoke(new Action(() => { MUDUserFound?.Invoke(true); }));
|
||||
if (this.Visible == true)
|
||||
{
|
||||
if (msg.Name == "mud_notfound")
|
||||
this.Invoke(new Action(() => { MUDUserFound?.Invoke(false); }));
|
||||
else if (msg.Name == "mud_found")
|
||||
this.Invoke(new Action(() => { MUDUserFound?.Invoke(true); }));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -128,67 +128,70 @@ namespace ShiftOS.WinForms
|
|||
public void PopulatePanelButtons()
|
||||
{
|
||||
panelbuttonholder.Controls.Clear();
|
||||
if (Shiftorium.UpgradeInstalled("wm_panel_buttons"))
|
||||
if (Shiftorium.IsInitiated == true)
|
||||
{
|
||||
foreach (WindowBorder form in Engine.AppearanceManager.OpenForms)
|
||||
if (Shiftorium.UpgradeInstalled("wm_panel_buttons"))
|
||||
{
|
||||
if (form != null)
|
||||
foreach (WindowBorder form in Engine.AppearanceManager.OpenForms)
|
||||
{
|
||||
if (form.Visible == true)
|
||||
if (form != null)
|
||||
{
|
||||
EventHandler onClick = (o, a) =>
|
||||
if (form.Visible == true)
|
||||
{
|
||||
if(form == focused)
|
||||
EventHandler onClick = (o, a) =>
|
||||
{
|
||||
if (form.IsMinimized)
|
||||
if (form == focused)
|
||||
{
|
||||
RestoreWindow(form);
|
||||
if (form.IsMinimized)
|
||||
{
|
||||
RestoreWindow(form);
|
||||
}
|
||||
else
|
||||
{
|
||||
MinimizeWindow(form);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MinimizeWindow(form);
|
||||
form.BringToFront();
|
||||
focused = form;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
form.BringToFront();
|
||||
focused = form;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
var pnlbtn = new Panel();
|
||||
pnlbtn.Margin = new Padding(2, LoadedSkin.PanelButtonFromTop, 0, 0);
|
||||
pnlbtn.BackColor = LoadedSkin.PanelButtonColor;
|
||||
pnlbtn.BackgroundImage = GetImage("panelbutton");
|
||||
pnlbtn.BackgroundImageLayout = GetImageLayout("panelbutton");
|
||||
var pnlbtn = new Panel();
|
||||
pnlbtn.Margin = new Padding(2, LoadedSkin.PanelButtonFromTop, 0, 0);
|
||||
pnlbtn.BackColor = LoadedSkin.PanelButtonColor;
|
||||
pnlbtn.BackgroundImage = GetImage("panelbutton");
|
||||
pnlbtn.BackgroundImageLayout = GetImageLayout("panelbutton");
|
||||
|
||||
var pnlbtntext = new Label();
|
||||
pnlbtntext.Text = NameChangerBackend.GetName(form.ParentWindow);
|
||||
pnlbtntext.AutoSize = true;
|
||||
pnlbtntext.Location = LoadedSkin.PanelButtonFromLeft;
|
||||
pnlbtntext.ForeColor = LoadedSkin.PanelButtonTextColor;
|
||||
pnlbtntext.Font = LoadedSkin.PanelButtonFont;
|
||||
pnlbtntext.BackColor = Color.Transparent;
|
||||
|
||||
pnlbtn.BackColor = LoadedSkin.PanelButtonColor;
|
||||
if (pnlbtn.BackgroundImage != null)
|
||||
{
|
||||
var pnlbtntext = new Label();
|
||||
pnlbtntext.Text = NameChangerBackend.GetName(form.ParentWindow);
|
||||
pnlbtntext.AutoSize = true;
|
||||
pnlbtntext.Location = LoadedSkin.PanelButtonFromLeft;
|
||||
pnlbtntext.ForeColor = LoadedSkin.PanelButtonTextColor;
|
||||
pnlbtntext.Font = LoadedSkin.PanelButtonFont;
|
||||
pnlbtntext.BackColor = Color.Transparent;
|
||||
}
|
||||
pnlbtn.Size = LoadedSkin.PanelButtonSize;
|
||||
pnlbtn.Tag = "keepbg";
|
||||
pnlbtntext.Tag = "keepbg";
|
||||
pnlbtn.Controls.Add(pnlbtntext);
|
||||
this.panelbuttonholder.Controls.Add(pnlbtn);
|
||||
pnlbtn.Show();
|
||||
pnlbtntext.Show();
|
||||
|
||||
if (Shiftorium.UpgradeInstalled("useful_panel_buttons"))
|
||||
{
|
||||
pnlbtn.Click += onClick;
|
||||
pnlbtntext.Click += onClick;
|
||||
pnlbtn.BackColor = LoadedSkin.PanelButtonColor;
|
||||
if (pnlbtn.BackgroundImage != null)
|
||||
{
|
||||
pnlbtntext.BackColor = Color.Transparent;
|
||||
}
|
||||
pnlbtn.Size = LoadedSkin.PanelButtonSize;
|
||||
pnlbtn.Tag = "keepbg";
|
||||
pnlbtntext.Tag = "keepbg";
|
||||
pnlbtn.Controls.Add(pnlbtntext);
|
||||
this.panelbuttonholder.Controls.Add(pnlbtn);
|
||||
pnlbtn.Show();
|
||||
pnlbtntext.Show();
|
||||
|
||||
if (Shiftorium.UpgradeInstalled("useful_panel_buttons"))
|
||||
{
|
||||
pnlbtn.Click += onClick;
|
||||
pnlbtntext.Click += onClick;
|
||||
}
|
||||
SetCursors(pnlbtn);
|
||||
}
|
||||
SetCursors(pnlbtn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -210,7 +213,7 @@ namespace ShiftOS.WinForms
|
|||
|
||||
//upgrades
|
||||
|
||||
if (SaveSystem.CurrentSave != null)
|
||||
if (Shiftorium.IsInitiated == true)
|
||||
{
|
||||
desktoppanel.Visible = Shiftorium.UpgradeInstalled("desktop");
|
||||
lbtime.Visible = Shiftorium.UpgradeInstalled("desktop_clock_widget");
|
||||
|
@ -327,34 +330,41 @@ namespace ShiftOS.WinForms
|
|||
|
||||
foreach(var kv in sortedItems)
|
||||
{
|
||||
if (Shiftorium.UpgradeInstalled("app_launcher_categories"))
|
||||
if (Shiftorium.IsInitiated == true)
|
||||
{
|
||||
var cat = GetALCategoryWithName(kv.Key);
|
||||
foreach(var subItem in kv.Value)
|
||||
if (Shiftorium.UpgradeInstalled("app_launcher_categories"))
|
||||
{
|
||||
cat.DropDownItems.Add(subItem);
|
||||
var cat = GetALCategoryWithName(kv.Key);
|
||||
foreach (var subItem in kv.Value)
|
||||
{
|
||||
cat.DropDownItems.Add(subItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach(var subItem in kv.Value)
|
||||
|
||||
else
|
||||
{
|
||||
apps.DropDownItems.Add(subItem);
|
||||
foreach (var subItem in kv.Value)
|
||||
{
|
||||
apps.DropDownItems.Add(subItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Shiftorium.UpgradeInstalled("al_shutdown"))
|
||||
if (Shiftorium.IsInitiated == true)
|
||||
{
|
||||
apps.DropDownItems.Add(new ToolStripSeparator());
|
||||
var item = new ToolStripMenuItem();
|
||||
item.Text = Localization.Parse("{SHUTDOWN}");
|
||||
item.Click += (o, a) =>
|
||||
if (Shiftorium.UpgradeInstalled("al_shutdown"))
|
||||
{
|
||||
TerminalBackend.InvokeCommand("sos.shutdown");
|
||||
};
|
||||
apps.DropDownItems.Add(item);
|
||||
apps.DropDownItems.Add(new ToolStripSeparator());
|
||||
var item = new ToolStripMenuItem();
|
||||
item.Text = Localization.Parse("{SHUTDOWN}");
|
||||
item.Click += (o, a) =>
|
||||
{
|
||||
TerminalBackend.InvokeCommand("sos.shutdown");
|
||||
};
|
||||
apps.DropDownItems.Add(item);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -191,19 +191,18 @@ namespace ShiftOS.Engine
|
|||
{
|
||||
if (SaveSystem.CurrentSave != null)
|
||||
{
|
||||
if (SaveSystem.CurrentSave.Upgrades == null)
|
||||
if (!IsInitiated)
|
||||
Init();
|
||||
}
|
||||
try
|
||||
{
|
||||
return SaveSystem.CurrentSave.Upgrades[id];
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch
|
||||
{
|
||||
if(LogOrphanedUpgrades == true)
|
||||
Console.WriteLine($"WHOA, Developers! Upgrade ID '{id}' is unaccounted for in the Shiftorium.txt resource!");
|
||||
return false;
|
||||
throw new ShiftoriumUpgradeLookupException(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//LEAVE THIS AS FALSE. The game will set it when the save is loaded.
|
||||
|
@ -238,6 +237,16 @@ namespace ShiftOS.Engine
|
|||
List<ShiftoriumUpgrade> GetDefaults();
|
||||
}
|
||||
|
||||
public class ShiftoriumUpgradeLookupException : Exception
|
||||
{
|
||||
public ShiftoriumUpgradeLookupException(string id) : base("A shiftorium upgrade of ID \"" + id + "\" was not found in the system.")
|
||||
{
|
||||
ID = id;
|
||||
}
|
||||
|
||||
public string ID { get; private set; }
|
||||
}
|
||||
|
||||
public class ShiftoriumUpgrade
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
|
Loading…
Add table
Reference in a new issue