mirror of
https://github.com/Ale32bit/Capy64.git
synced 2025-01-18 18:46:43 +00:00
Add machine library to hosts Capy64 related functions
This commit is contained in:
parent
1fbcef2146
commit
2544659d0c
1 changed files with 77 additions and 6 deletions
|
@ -16,14 +16,33 @@ public class Machine : IPlugin
|
||||||
_game = game;
|
_game = game;
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo list
|
|
||||||
// shutdown, reboot
|
|
||||||
// set, get title
|
|
||||||
// get proper version function
|
|
||||||
// set discord rpc
|
|
||||||
//
|
|
||||||
private static LuaRegister[] MachineLib = new LuaRegister[]
|
private static LuaRegister[] MachineLib = new LuaRegister[]
|
||||||
{
|
{
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
name = "shutdown",
|
||||||
|
function = L_Shutdown,
|
||||||
|
},
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
name = "reboot",
|
||||||
|
function = L_Reboot,
|
||||||
|
},
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
name = "title",
|
||||||
|
function = L_Title,
|
||||||
|
},
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
name = "version",
|
||||||
|
function = L_Version,
|
||||||
|
},
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
name = "setRPC",
|
||||||
|
function = L_SetRPC,
|
||||||
|
},
|
||||||
new(),
|
new(),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -39,5 +58,57 @@ public class Machine : IPlugin
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static int L_Shutdown(IntPtr _)
|
||||||
|
{
|
||||||
|
RuntimeManager.Shutdown();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int L_Reboot(IntPtr _)
|
||||||
|
{
|
||||||
|
RuntimeManager.Reboot();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int L_Title(IntPtr state)
|
||||||
|
{
|
||||||
|
var L = Lua.FromIntPtr(state);
|
||||||
|
|
||||||
|
var currentTitle = Capy64.Instance.Window.Title;
|
||||||
|
|
||||||
|
if(!L.IsNoneOrNil(1))
|
||||||
|
{
|
||||||
|
var newTitle = L.CheckString(1);
|
||||||
|
|
||||||
|
Capy64.Instance.Window.Title = newTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
L.PushString(currentTitle);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int L_Version(IntPtr state)
|
||||||
|
{
|
||||||
|
var L = Lua.FromIntPtr(state);
|
||||||
|
|
||||||
|
L.PushString("Capy64 " + Capy64.Version);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int L_SetRPC(IntPtr state)
|
||||||
|
{
|
||||||
|
var L = Lua.FromIntPtr(state);
|
||||||
|
|
||||||
|
var details = L.CheckString(1);
|
||||||
|
var dstate = L.OptString(2, null);
|
||||||
|
|
||||||
|
Capy64.Instance.Discord.SetPresence(details, dstate);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue