using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using LethalSettings.UI;
using LethalSettings.UI.Components;
using Microsoft.CodeAnalysis;
using UnityEngine;
using UnityEngine.SceneManagement;
using VoiceRecognitionAPI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("ShipVoiceCommandsv2")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Add voice commands")]
[assembly: AssemblyFileVersion("2.0.4.0")]
[assembly: AssemblyInformationalVersion("2.0.4")]
[assembly: AssemblyProduct("ShipVoiceCommandsv2")]
[assembly: AssemblyTitle("ShipVoiceCommandsv2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("2.0.4.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : Attribute
{
public readonly byte[] NullableFlags;
public NullableAttribute(byte P_0)
{
NullableFlags = new byte[1] { P_0 };
}
public NullableAttribute(byte[] P_0)
{
NullableFlags = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace ShipVoiceCommandsv2
{
[BepInPlugin("shipvoicecommandsv2.me.loaforc.arceusyoluffy", "ShipVoiceCommandsv2", "2.0.4")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class ShipVoiceCommandsBase : BaseUnityPlugin
{
private const string modGUID = "shipvoicecommandsv2.me.loaforc.arceusyoluffy";
private const string modName = "ShipVoiceCommandsv2";
private const string modVersion = "2.0.4";
private readonly Harmony harmony = new Harmony("shipvoicecommandsv2.me.loaforc.arceusyoluffy");
internal static ShipVoiceCommandsBase instance;
internal static ManualLogSource logger;
internal static ConfigEntry<int> CONFIG_VERSION;
internal static ConfigEntry<bool> ARE_COMMANDS_GLOBAL;
internal static ConfigEntry<string> OPEN_DOORS_COMMAND;
internal static ConfigEntry<string> CLOSE_DOORS_COMMAND;
internal static ConfigEntry<string> ACTIVATE_TELEPORT_COMMAND;
internal static ConfigEntry<string> TOGGLE_CAMERA;
internal static ConfigEntry<string> SWITCH_CAMERA;
internal static ConfigEntry<string> TOGGLE_LIGHTS;
internal static ConfigEntry<string> PULL_LEVER;
internal static ConfigEntry<string> ACTIVATE_INVERSE_TELEPORT_COMMAND;
internal static ConfigEntry<string> TOGGLE_SHIP_HORN;
internal static ConfigEntry<string> RING_COMPANY_BELL;
internal static ConfigEntry<string> TOGGLE_TELEVISION;
internal static ConfigEntry<string> TOGGLE_PLUSHIE;
internal static ConfigEntry<string> TOGGLE_SHOWER;
internal static ConfigEntry<string> TOGGLE_TOILET;
internal static ConfigEntry<string> TOGGLE_SPEAKER;
internal static ConfigEntry<string> TOGGLE_JACKOLANTERN;
internal static ConfigEntry<string> TOGGLE_COMPANY_TRAPDOOR;
internal static ConfigEntry<string> ACTIVATE_RADAR_BOOSTER_FLASH;
internal static ConfigEntry<string> ACTIVATE_RADAR_BOOSTER_PING;
internal static ConfigEntry<double> CONFIDENCE;
private void Awake()
{
//IL_0596: Unknown result type (might be due to invalid IL or missing references)
//IL_059c: Expected O, but got Unknown
//IL_05d5: Unknown result type (might be due to invalid IL or missing references)
//IL_05da: Unknown result type (might be due to invalid IL or missing references)
//IL_05e7: Expected O, but got Unknown
//IL_05e9: Unknown result type (might be due to invalid IL or missing references)
//IL_05ee: Unknown result type (might be due to invalid IL or missing references)
//IL_05fa: Unknown result type (might be due to invalid IL or missing references)
//IL_0612: Unknown result type (might be due to invalid IL or missing references)
//IL_0639: Expected O, but got Unknown
if (!((Object)(object)instance == (Object)null))
{
return;
}
instance = this;
logger = Logger.CreateLogSource("shipvoicecommandsv2.me.loaforc.arceusyoluffy");
logger.LogInfo((object)"Setting up config.");
CONFIG_VERSION = ((BaseUnityPlugin)this).Config.Bind<int>("Config", "ConfigVersion", 1, "Yeah don't touch this lol. You could mess up your settings.");
ARE_COMMANDS_GLOBAL = ((BaseUnityPlugin)this).Config.Bind<bool>("Gameplay", "AreCommandsGlobal", false, "Are the voice commands global? Or do you need to be near the ship? It is recommend to play with this off.");
CONFIDENCE = ((BaseUnityPlugin)this).Config.Bind<double>("Recognition", "Confidence", 0.2, "What amount of confidence is require for it to be classified as recognized. Higher values may help with false positives but may increase times it does not work. Value between 0 and 1.");
OPEN_DOORS_COMMAND = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "OpenShipDoors", "open doors,open ship doors", "What voice phrases should open the ship doors. Each phrase should be seperated with a comma");
CLOSE_DOORS_COMMAND = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "CloseShipDoors", "close doors,close ship doors", "What voice phrases should close the ship doors. Each phrase should be seperated with a comma");
ACTIVATE_TELEPORT_COMMAND = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ActivateTeleporter", "teleport,teleport player", "What voice phrases should activate the ship teleporter. Each phrase should be seperated with a comma");
TOGGLE_CAMERA = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleCamera", "camera on,camera off, camera toggle", "What voice phrases should toggle the camera. Each phrase should be seperated with a comma");
SWITCH_CAMERA = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "SwitchCamera", "camera switch,switch camera,camera next", "What voice phrases should switch the camera. Each phrase should be seperated with a comma");
TOGGLE_LIGHTS = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleLights", "lights on,lights off,toggle lights,night night", "What voice phrases should toggle the ship lights. Each phrase should be seperated with a comma");
PULL_LEVER = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "PullLever", "launch,take off", "What voice phrases should cause the ship to take off. Each phrase should be seperated with a comma");
ACTIVATE_INVERSE_TELEPORT_COMMAND = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ActivateInvertedTeleporter", "inverse teleport,inverse teleport player", "What voice phrases should activate the ship inverted teleporter. Each phrase should be seperated with a comma");
TOGGLE_SHIP_HORN = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleShipHorn", "ship horn", "What voice phrases should activate the ship loud horn. Each phrase should be seperated with a comma");
RING_COMPANY_BELL = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "RingCompanyBell", "ring bell", "What voice phrases should activate the company bell. Each phrase should be seperated with a comma");
TOGGLE_TELEVISION = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleTelevision", "television", "What voice phrases should toggle the television. Each phrase should be seperated with a comma");
TOGGLE_PLUSHIE = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "TogglePlushie", "plushie,plush", "What voice phrases should toggle the plushie pajama man. Each phrase should be seperated with a comma");
TOGGLE_SHOWER = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleShower", "shower", "What voice phrases should toggle the shower. Each phrase should be seperated with a comma");
TOGGLE_TOILET = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleToilet", "toilet,flush toilet,flush", "What voice phrases should flush the toilet. Each phrase should be seperated with a comma");
TOGGLE_SPEAKER = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleSpeaker", "speaker,skip,intro skip", "What voice phrases should toggle the speaker. Each phrase should be seperated with a comma");
TOGGLE_JACKOLANTERN = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleJackOLantern", "lantern,jacko", "What voice phrases should toggle the Jack-O-Lantern. Each phrase should be seperated with a comma");
TOGGLE_COMPANY_TRAPDOOR = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ToggleCompanyTrapdoor", "trap,trapdoor", "What voice phrases should toggle the trapdoor into at the Company Building. Each phrase should be seperated with a comma");
ACTIVATE_RADAR_BOOSTER_FLASH = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ActivateRadarBoosterFlash", "flash", "What voice phrases should activate the flash of the radar booster. Each phrase should be seperated with a comma");
ACTIVATE_RADAR_BOOSTER_PING = ((BaseUnityPlugin)this).Config.Bind<string>("Commands", "ActivateRadarBoosterPing", "ping", "What voice phrases should ping the radar booster. Each phrase should be seperated with a comma");
logger.LogInfo((object)"Performing any needed config migrations");
if (CONFIG_VERSION.Value == 1)
{
CONFIG_VERSION.Value = 2;
if (CONFIDENCE.Value == 0.2)
{
CONFIDENCE.Value = 0.85;
}
}
logger.LogInfo((object)"Registering voice commands!");
Voice.RegisterPhrases(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(CollectionExtensions.AddRangeToArray<string>(OPEN_DOORS_COMMAND.Value.Split(','), CLOSE_DOORS_COMMAND.Value.Split(',')), ACTIVATE_TELEPORT_COMMAND.Value.Split(',')), SWITCH_CAMERA.Value.Split(',')), TOGGLE_CAMERA.Value.Split(',')), TOGGLE_LIGHTS.Value.Split(',')), PULL_LEVER.Value.Split(',')), ACTIVATE_INVERSE_TELEPORT_COMMAND.Value.Split(',')), TOGGLE_SHIP_HORN.Value.Split(',')), RING_COMPANY_BELL.Value.Split(',')), TOGGLE_TELEVISION.Value.Split(',')), TOGGLE_PLUSHIE.Value.Split(',')), TOGGLE_SHOWER.Value.Split(',')), TOGGLE_TOILET.Value.Split(',')), TOGGLE_SPEAKER.Value.Split(',')), TOGGLE_JACKOLANTERN.Value.Split(',')), TOGGLE_COMPANY_TRAPDOOR.Value.Split(',')), ACTIVATE_RADAR_BOOSTER_FLASH.Value.Split(',')), ACTIVATE_RADAR_BOOSTER_PING.Value.Split(',')));
Voice.RegisterCustomHandler((EventHandler<VoiceRecognitionEventArgs>)delegate(object __, VoiceRecognitionEventArgs args)
{
if (!((double)args.Confidence < CONFIDENCE.Value) && IsPlayerWithinShipBounds())
{
if (OPEN_DOORS_COMMAND.Value.Split(',').Contains(args.Message))
{
HangarShipDoor val2 = Object.FindFirstObjectByType<HangarShipDoor>();
if ((Object)(object)val2 != (Object)null)
{
InteractTrigger component = ((Component)((Component)val2).transform.Find("HangarDoorButtonPanel/StartButton/Cube (2)")).GetComponent<InteractTrigger>();
TriggerButton(component);
logger.LogInfo((object)"Open Doors");
}
}
if (CLOSE_DOORS_COMMAND.Value.Split(',').Contains(args.Message))
{
HangarShipDoor val3 = Object.FindFirstObjectByType<HangarShipDoor>();
if ((Object)(object)val3 != (Object)null)
{
InteractTrigger component2 = ((Component)((Component)val3).transform.Find("HangarDoorButtonPanel/StopButton/Cube (3)")).GetComponent<InteractTrigger>();
TriggerButton(component2);
logger.LogInfo((object)"Close Doors");
}
}
if (ACTIVATE_TELEPORT_COMMAND.Value.Split(',').Contains(args.Message))
{
GameObject val4 = GameObject.Find("Teleporter(Clone)/ButtonContainer/ButtonAnimContainer/RedButton");
if ((Object)(object)val4 != (Object)null)
{
TriggerButton(val4.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Teleport");
}
}
if (SWITCH_CAMERA.Value.Split(',').Contains(args.Message))
{
GameObject val5 = GameObject.Find("Environment/HangarShip/ShipModels2b/MonitorWall/Cube.001/CameraMonitorSwitchButton/Cube (2)");
if ((Object)(object)val5 != (Object)null)
{
TriggerButton(val5.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Switch Camera");
}
}
if (TOGGLE_CAMERA.Value.Split(',').Contains(args.Message))
{
GameObject val6 = GameObject.Find("Environment/HangarShip/ShipModels2b/MonitorWall/Cube.001/CameraMonitorOnButton/Cube (2)");
if ((Object)(object)val6 != (Object)null)
{
TriggerButton(val6.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Toggle Camera");
}
}
if (TOGGLE_LIGHTS.Value.Split(',').Contains(args.Message))
{
GameObject val7 = GameObject.Find("Environment/HangarShip/LightSwitchContainer/LightSwitch");
if ((Object)(object)val7 != (Object)null)
{
TriggerButton(val7.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Lights");
}
}
if (PULL_LEVER.Value.Split(',').Contains(args.Message))
{
logger.LogInfo((object)"This is bugged for the moment");
}
if (ACTIVATE_INVERSE_TELEPORT_COMMAND.Value.Split(',').Contains(args.Message))
{
GameObject val8 = GameObject.Find("InverseTeleporter(Clone)/ButtonContainer/ButtonAnimContainer/RedButton");
if ((Object)(object)val8 != (Object)null)
{
TriggerButton(val8.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Inverse Teleport");
}
}
if (TOGGLE_SHIP_HORN.Value.Split(',').Contains(args.Message))
{
ShipAlarmCord val9 = Object.FindFirstObjectByType<ShipAlarmCord>();
if ((Object)(object)val9 != (Object)null)
{
val9.HoldCordDown();
logger.LogInfo((object)"Ship Horn");
}
}
if (RING_COMPANY_BELL.Value.Split(',').Contains(args.Message))
{
GameObject val10 = GameObject.Find("BellDinger/Trigger");
if ((Object)(object)val10 != (Object)null)
{
TriggerButton(val10.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Company Bell");
}
}
if (TOGGLE_TELEVISION.Value.Split(',').Contains(args.Message))
{
GameObject val11 = GameObject.Find("TelevisionContainer(Clone)/Cube");
if ((Object)(object)val11 != (Object)null)
{
TriggerButton(val11.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Television");
}
}
if (TOGGLE_PLUSHIE.Value.Split(',').Contains(args.Message))
{
GameObject val12 = GameObject.Find("PlushiePJManContainer(Clone)/TouchTrigger");
if ((Object)(object)val12 != (Object)null)
{
TriggerButton(val12.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Plushie pajama man");
}
}
if (TOGGLE_SHOWER.Value.Split(',').Contains(args.Message))
{
GameObject val13 = GameObject.Find("Shower(Clone)/InteractTrigger");
if ((Object)(object)val13 != (Object)null)
{
TriggerButton(val13.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Shower");
}
}
if (TOGGLE_TOILET.Value.Split(',').Contains(args.Message))
{
GameObject val14 = GameObject.Find("Toilet(Clone)/Cube");
if ((Object)(object)val14 != (Object)null)
{
TriggerButton(val14.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Toilet");
}
}
if (TOGGLE_SPEAKER.Value.Split(',').Contains(args.Message))
{
GameObject val15 = GameObject.Find("Environment/HangarShip/ShipModels2b/Cube.005 (2)/Cube");
if ((Object)(object)val15 != (Object)null)
{
TriggerButton(val15.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Speaker");
}
}
if (TOGGLE_JACKOLANTERN.Value.Split(',').Contains(args.Message))
{
GameObject val16 = GameObject.Find("PumpkinUnlockableContainer/HitPumpkinTrigger");
if ((Object)(object)val16 != (Object)null)
{
TriggerButton(val16.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Jack-O-Lantern");
}
}
if (TOGGLE_COMPANY_TRAPDOOR.Value.Split(',').Contains(args.Message))
{
GameObject val17 = GameObject.Find("Environment/Map/CompanyPlanet/TrapDoor");
if ((Object)(object)val17 != (Object)null)
{
TriggerButton(val17.GetComponent<InteractTrigger>());
logger.LogInfo((object)"Company Trapdoor");
}
}
if (ACTIVATE_RADAR_BOOSTER_FLASH.Value.Split(',').Contains(args.Message))
{
GameObject val18 = GameObject.Find(" Environment/HangarShip/RadarBoosterDevice(Clone)");
RadarBoosterItem val19 = Object.FindAnyObjectByType<RadarBoosterItem>();
if ((Object)(object)val19 != (Object)null)
{
logger.LogInfo((object)("C'est le flash enculé " + val19.radarBoosterName + " c'est lui"));
}
StartOfRound.Instance.mapScreen.FlashRadarBooster(StartOfRound.Instance.mapScreen.targetTransformIndex);
logger.LogInfo((object)"FLAAAAAAAAAASH");
}
if (ACTIVATE_RADAR_BOOSTER_PING.Value.Split(',').Contains(args.Message))
{
GameObject val20 = GameObject.Find("Environment/HangarShip/RadarBoosterDevice(Clone)");
RadarBoosterItem[] array = Object.FindObjectsOfType<RadarBoosterItem>();
if (array != null)
{
List<string> list = new List<string>();
List<string> list2 = new List<string>();
for (int i = 0; i < StartOfRound.Instance.mapScreen.radarTargets.Count; i++)
{
list.Add(StartOfRound.Instance.mapScreen.radarTargets[i].name);
Debug.Log((object)$"name {i}: {list[i]}");
}
for (int j = 0; j < 2; j++)
{
if ((Object)(object)array[j] != (Object)null)
{
list2.Add(array[j].radarBoosterName);
}
Debug.Log((object)$"name {j}: {list2[j]}");
}
}
StartOfRound.Instance.mapScreen.PingRadarBooster(StartOfRound.Instance.mapScreen.targetTransformIndex);
StartOfRound.Instance.mapScreen.PingRadarBooster(1);
logger.LogInfo((object)"PING PONG");
}
}
});
logger.LogInfo((object)"Creating mod settings menu...");
ModSettingsConfig val = new ModSettingsConfig();
val.Name = "ShipVoiceCommandsv2";
val.Id = "shipvoicecommandsv2.me.loaforc.arceusyoluffy";
val.Version = "2.0.4";
val.Description = "Adds simple voice commands to control your ship!";
val.MenuComponents = (MenuComponent[])(object)new MenuComponent[2]
{
(MenuComponent)new LabelComponent
{
Text = "Increase confidence to decrease false positives. Increasing confidence may also make it not register sometimes."
},
(MenuComponent)new SliderComponent
{
Text = "Confidence",
Value = (float)CONFIDENCE.Value * 100f,
OnValueChanged = delegate(SliderComponent self, float value)
{
logger.LogInfo((object)$"Confidence slider set to: {value}, current confidence percent: {CONFIDENCE.Value} setting to -> {value / 100f}");
CONFIDENCE.Value = value / 100f;
}
}
};
ModMenu.RegisterMod(val);
logger.LogInfo((object)"ShipVoiceCommandsv2:2.0.4 has succesfully loaded!");
}
private void TriggerButton(InteractTrigger trigger)
{
trigger.Interact(((Component)GameNetworkManager.Instance.localPlayerController).transform);
}
private bool IsPlayerWithinShipBounds()
{
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
StartOfRound val = Object.FindFirstObjectByType<StartOfRound>();
if ((Object)(object)val == (Object)null)
{
return false;
}
int sceneCount = SceneManager.sceneCount;
Scene[] array = (Scene[])(object)new Scene[sceneCount];
int num = 0;
for (int i = 0; i < sceneCount; i++)
{
array[i] = SceneManager.GetSceneAt(i);
if (((Scene)(ref array[i])).name == "CompanyBuilding")
{
num++;
}
}
if (num == 1)
{
return true;
}
if (ARE_COMMANDS_GLOBAL.Value)
{
return true;
}
if (GameNetworkManager.Instance.localPlayerController.isPlayerDead)
{
return false;
}
Bounds bounds = val.shipBounds.bounds;
return ((Bounds)(ref bounds)).Contains(((Component)GameNetworkManager.Instance.localPlayerController).transform.position);
}
}
public static class PluginInfo
{
public const string PLUGIN_GUID = "ShipVoiceCommandsv2";
public const string PLUGIN_NAME = "ShipVoiceCommandsv2";
public const string PLUGIN_VERSION = "2.0.4";
}
}