Hi all,
I hope you can help me here...
I'm attempting to create a mod that will use the InfoPanel API, so far, it's going great, I've integrated various bits of information into the existing UI and I am very happy with the output.
I'm now attempting to extend the process with a "Quests" part of the UI.
Within my plugin code, I am generating different panels for the different parts, I have even created a Dock for the container, this is as below:
My plugin code, generates the following Panels:
However, this results in:
https://gyazo.com/f3fa9d90ed8969d6b82280c1dc0e2b11
What I am ideally looking for, is the 5 panels, flowing from top to bottom within the dock.
Any help would be much appreciated!
I hope you can help me here...
I'm attempting to create a mod that will use the InfoPanel API, so far, it's going great, I've integrated various bits of information into the existing UI and I am very happy with the output.
I'm now attempting to extend the process with a "Quests" part of the UI.
Within my plugin code, I am generating different panels for the different parts, I have even created a Dock for the container, this is as below:
"TopLeftQuestDock": {
"Available": true,
"AnchorX": "Left",
"AnchorY": "Top",
"Width": 0.2,
"Height": 0.2,
"BackgroundColor": "0 0 0 0.35",
"Margin": "0.043 0.005 0.005 0.005"
}My plugin code, generates the following Panels:
public class FGQuests : RustPlugin
{
[PluginReference]
private Plugin InfoPanel;
List<string> Panels = new List<string> { "QuestsTitlePanel", "FirstQuestPanel", "SecondQuestPanel", "ThirdQuestPanel", "AllQuestsPanel" };
void Loaded()
{
if (InfoPanel)
InfoPanelInit();
}
void OnPluginLoaded(Plugin InfoPanel)
{
if (InfoPanel.Title == "InfoPanel")
InfoPanelInit();
}
public void InfoPanelInit()
{
InfoPanel.Call("SendPanelInfo", Name, Panels);
InfoPanel.Call("PanelRegister", Name, "QuestsTitlePanel", GeneratePanelConfig("Daily Quests", 1));
InfoPanel.Call("PanelRegister", Name, "FirstQuestPanel", GeneratePanelConfig("First Quest Placeholder", 2));
InfoPanel.Call("PanelRegister", Name, "SecondQuestPanel", GeneratePanelConfig("Second Quest Placeholder", 3));
InfoPanel.Call("PanelRegister", Name, "ThirdQuestPanel", GeneratePanelConfig("Third Quest Placeholder", 4));
InfoPanel.Call("PanelRegister", Name, "AllQuestsPanel", GeneratePanelConfig("Complete All Quests Placeholder", 5));
foreach (var panel in Panels)
InfoPanel.Call("ShowPanel", Name, panel);
}
protected string GeneratePanelConfig(string content, int order)
{
return @"{
'AnchorX': 'Left',
'AnchorY': 'Top',
'Autoload': false,
'Available': true,
'Dock': 'TopLeftQuestDock',
'BackgroundColor': '0 0 0 0',
'FadeOut': 0.0,
'Height': 1,
'Margin': '0 0.03 0 0.03',
'Order': 1,
'Text': {
'Align': 'MiddleLeft',
'AnchorX': 'Left',
'AnchorY': 'Top',
'Available': true,
'Content': '" + content + @"',
'BackgroundColor': '0 0 0 0',
'FadeIn': 0.0,
'FadeOut': 0.0,
'FontColor': '1 1 1 1',
'FontSize': 12,
'Height': 0.1,
'Margin': '0 0 0 0',
'Order': " + order + @",
'Width': 1
},
'Width': 1
}";
}
}However, this results in:
https://gyazo.com/f3fa9d90ed8969d6b82280c1dc0e2b11
What I am ideally looking for, is the 5 panels, flowing from top to bottom within the dock.
Any help would be much appreciated!