SRMP-Public/SRMP/Patches/Patch_DroneSubbehaviourRest.cs
2023-05-29 22:23:11 +02:00

47 lines
No EOL
1.2 KiB
C#

using HarmonyLib;
using MonomiPark.SlimeRancher.DataModel;
using SRMultiplayer.Networking;
using SRMultiplayer.Packets;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
namespace SRMultiplayer.Patches
{
[HarmonyPatch(typeof(DroneSubbehaviourRest))]
[HarmonyPatch("OnFirstAction")]
class DroneSubbehaviourRest_OnFirstAction
{
static void Prefix(DroneSubbehaviourRest __instance)
{
if (!Globals.IsMultiplayer || Globals.HandlePacket) return;
new PacketDroneActive()
{
ID = __instance.drone.droneModel.siteId,
Enabled = false
}.Send();
}
}
[HarmonyPatch(typeof(DroneSubbehaviourRest))]
[HarmonyPatch("OnAction")]
class DroneSubbehaviourRest_OnAction
{
static void Postfix(DroneSubbehaviourRest __instance, ref bool __result)
{
if (!Globals.IsMultiplayer || Globals.HandlePacket) return;
if (__result)
{
new PacketDroneActive()
{
ID = __instance.drone.droneModel.siteId,
Enabled = true
}.Send();
}
}
}
}