Ejemplo n.º 1
0
    public void Update()
    {
        if (Input.GetKeyDown(KeyCode.LeftAlt))
        {
            Debug.Log(CanvasHelper.ActiveMenu);
            Debug.Log("LeftAlt pressed and menu not open");

            currentPlayers.Clear();

            var players     = FindObjectsOfType <Network_Player>();
            var localPlayer = RAPI.GetLocalPlayer();

            foreach (var player in players)
            {
                if (player != localPlayer)
                {
                    currentPlayers.Add(player);
                }
            }

            Network_Player thisPlayer = RAPI.GetLocalPlayer();

            if (thisPlayer != null)
            {
                PlayerPing(thisPlayer);
            }
        }
    }
Ejemplo n.º 2
0
        private IEnumerator InstantiateAssets()
        {
            while (RAPI.GetLocalPlayer() == null)
            {
                yield return(new WaitForEndOfFrame());
            }
            var cameraPrefab = asset.LoadAsset <GameObject>("Minimap Camera");

            camera = Instantiate(cameraPrefab, RAPI.GetLocalPlayer().transform).GetComponent <Camera>();
            cameraPrefab.GetComponent <Camera>().targetTexture = null;
            CopyComponent(Camera.main.GetComponent <WaterCamera>(), camera.gameObject);
            CopyComponent(Camera.main.GetComponent <WaterCameraIME>(), camera.gameObject);
            camera.gameObject.AddComponent <MinimapCameraMover>();
            var canvasPrefab = asset.LoadAsset <GameObject>("_MinimapCanvas");

            canvas   = Instantiate(canvasPrefab, GameObject.Find("Canvases").transform);
            traverse = Traverse.Create(GameObject.Find("_CanvasGame_New").GetComponent <CanvasHelper>()).Field <Canvas[]>("canvases");
            canvases = traverse.Value;
            if (originalSize == -1)
            {
                originalSize = canvases.Length;
            }
            Array.Resize(ref canvases, originalSize + 1);
            canvases[canvases.Length - 1] = canvas.GetComponent <Canvas>();
            traverse.Value = canvases;
            zoomText       = canvas.transform.FindChildRecursively("ZoomText").GetComponent <TextMeshProUGUI>();
            var script = canvas.AddComponent <MinimapRotator>();

            script.Camera  = camera.transform;
            script.Compass = canvas.transform.FindChildRecursively("Compass") as RectTransform;
            Debug.Log("[<color=#DBBF63>Minimap</color>] has been loaded!");
        }
    private static void sprintSpeed(string[] args)
    {
        if (Raft_Network.InMenuScene)
        {
            Debug.Log(Error + "Is In Lobby");
            return;
        }
        if (args.Length < 1)
        {
            Debug.Log(Error + "Unknown Speed");
            return;
        }
        var value    = float.Parse(args[0], CultureInfo.InvariantCulture);
        int Speedint = 1;

        if (!int.TryParse(args[0], out Speedint))
        {
            Debug.Log(Error + "Invalid Speed");
            return;
        }

        if (Speedint > 25f)
        {
            Debug.Log(Error + "Max Speed = 25");
            return;
        }
        if (Speedint < 5f)
        {
            Debug.Log(Error + "Minimum Speed = 5");
            return;
        }
        RAPI.GetLocalPlayer().PersonController.sprintSpeed = defaultSpeed * Speedint;
    }
Ejemplo n.º 4
0
    IEnumerator OnModLoad()
    {
        if (notifyLoad != null)
        {
            notifyLoad.Close();
        }
        if (notify == null)
        {
            notify = FindObjectOfType <HNotify>();
        }
        yield return(notifyLoad = notify.AddNotification(
                         HNotify.NotificationType.spinning, $"Loading {MOD_NAME}"));

        var request = AssetBundle.LoadFromMemoryAsync(
            GetEmbeddedFileBytes("oldworldradio.assets"));

        yield return(request);

        assetBundle = request.assetBundle;
        Info($"Assets loaded to {assetBundle.name}");
        var assetNames = new List <string>(assetBundle.GetAllAssetNames());

        audioClips = assetNames.FindAll(a => a.EndsWith(".ogg"));
        player     = RAPI.GetLocalPlayer();
        CreateRadioItem();
        CreateAudioSource();
        GiveRadioToPlayer();
        SetBroadcastState(true);
        notifyLoad.Close();
        notifyLoad = null;
        yield return(true);
    }
 private static void godmodeisreal(string[] args)
 {
     if (Raft_Network.InMenuScene)
     {
         Debug.Log(Error + "Is In Lobby");
         return;
     }
     godmode = !godmode;
     if (godmode)
     {
         while (RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_health.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_oxygen.GetOxygenLostPerSecond() > 0f)
         {
             RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value = 100;
             RAPI.GetLocalPlayer().Stats.stat_health.Value = 100;
             RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value = 100;
             RAPI.GetLocalPlayer().Stats.stat_oxygen.Value = 100;
             GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 0f;
             GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 0f;
             RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(0f);
             GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 0f;
         }
         GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 0f;
         GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 0f;
         RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(0f);
         GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 0f;
     }
     else
     {
         GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1f;
         GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1f;
         RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1f);
         GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 1f;
     }
 }
Ejemplo n.º 6
0
 private static void Postfix(PlayerStats __instance, Item_Base edibleItem)
 {
     if (__instance.GetComponent(typeof(Network_Player)) == RAPI.GetLocalPlayer())
     {
         ComponentManager <GlassHoneyUse> .Value.OnConsumeItem(edibleItem);
     }
 }
Ejemplo n.º 7
0
 private static void Postfix(Tank __instance, Network_Player player, float amount, Item_Base itemType = null)
 {
     if (__instance.GetComponent(typeof(Network_Player)) == RAPI.GetLocalPlayer())
     {
         ComponentManager <GlassHoneyUse> .Value.OnModifyTank(player, amount, itemType);
     }
 }
Ejemplo n.º 8
0
 public override void WorldEvent_WorldLoaded()
 {
     base.WorldEvent_WorldLoaded();
     player = RAPI.GetLocalPlayer();
     CreateAudioSource();
     GiveRadioToPlayer();
     SetBroadcastState(true);
 }
Ejemplo n.º 9
0
 public override void WorldEvent_WorldLoaded()
 {
     if (playerNetwork == null)
     {
         playerNetwork = RAPI.GetLocalPlayer();
     }
     //AddLandmarkToSpawner();
     //Debug.Log("The world is loaded!");
 }
Ejemplo n.º 10
0
    public void Update()
    {
        if (Semih_Network.InLobbyScene)
        {
            return;
        }
        if (MyInput.GetButtonDown("Sprint"))
        {
            sprinted = !sprinted;
            if (sprinted)
            {
                if (RAPI.GetLocalPlayer().PersonController.controllerType != ControllerType.Water)
                {
                    return;
                }

                float sS = 1f;
                sS *= (RAPI.GetLocalPlayer().PlayerEquipment.GetEquipedIndexes().Contains(63) ? 1.4f : 1f);
                if (sS == 1f)
                {
                    sS = 0f;
                }
                theSpeed = RAPI.GetLocalPlayer().PersonController.swimSpeed;
                if (RAPI.GetLocalPlayer().PersonController.swimSpeed > 10)
                {
                    FindObjectOfType <HNotify>().AddNotification(HNotify.NotificationType.normal, "Swim Sprint : You can't actually Sprint when your swimming speed is more than the sprint itself ;-;", 2, HNotify.ErrorSprite).SetCloseDelay(2).SetTextColor(Color.red);
                    return;
                }
                else if (RAPI.GetLocalPlayer().PersonController.swimSpeed > 2 && RAPI.GetLocalPlayer().PersonController.swimSpeed < 10)
                {
                    RAPI.GetLocalPlayer().PersonController.swimSpeed = 10 + sS;
                    RAPI.GetLocalPlayer().PersonController.swimSpeed = (2 * 5) + sS;
                    GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1.2f;
                    GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1.2f;
                    RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1.25f);
                    return;
                }
                RAPI.GetLocalPlayer().PersonController.swimSpeed = 10 + sS;
                GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1.3f;
                GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1.3f;
                RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1.5f);
            }
        }
        else if (MyInput.GetButtonUp("Sprint"))
        {
            sprinted = !sprinted;
            if (theSpeed < 2)
            {
                theSpeed = 2;
            }
            RAPI.GetLocalPlayer().PersonController.swimSpeed = theSpeed;
            GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1f;
            GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1f;
            RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1f);
        }
    }
Ejemplo n.º 11
0
    // The Update() method is being called every frame. Have fun!
    public void Update()
    {
        this.tick++;
        var mum    = GetMumble();
        var player = RAPI.GetLocalPlayer();

        if (player == null || mum == null)
        {
            return;
        }


        var cam = player.Camera;


        // RConsole.Log("Got player location: " + player.FeetPosition.ToString() + " Camera rotation: " + cam.transform.forward.ToString() + " Camera up: " + cam.transform.up.ToString());

        // UI Version
        mum.Write(0, 2);

        // Tick
        var tick = mum.ReadUInt32(4);

        mum.Write(4, tick + 1);

        // Plugin name
        WriteString(44, "Raft Mumble Link");
        WriteString(1620, "Raft mod to enable positional audio.");

        // uid
        var uid = player.steamID.ToString();

        WriteString(592, uid);

        // Context length
        mum.Write(592, 1);

        // Context
        var ctx = player.Network.HostID.ToString();

        WriteString(596, ctx);

        // Character position
        WriteVec(8, cam.transform.position);

        // Unit vector out of character eyes
        WriteVec(20, cam.transform.forward);
        WriteVec(568, cam.transform.forward);

        // Unit vector out of character head
        WriteVec(32, cam.transform.up);
        WriteVec(80, cam.transform.up);

        // Camera position
        WriteVec(556, cam.transform.position);
    }
Ejemplo n.º 12
0
 private void InitMinimapDrag(bool drag)
 {
     if (RAPI.IsCurrentSceneGame())
     {
         RAPI.GetLocalPlayer().PlayerScript.SetMouseLookScripts(!drag);
         camera.GetComponent <MinimapCameraMover>().active = !drag;
         canvas.transform.FindChildRecursively("Player").gameObject.SetActive(!drag);
         allowedToDrag = drag;
     }
 }
Ejemplo n.º 13
0
 private static void Prefix(Network_Player __instance)
 {
     if (Minimap.Instance.persistence.markers)
     {
         if (!Equals(__instance, RAPI.GetLocalPlayer()))
         {
             Minimap.AddMarker(__instance.transform, Minimap.MarkerType.PLAYER);
         }
     }
 }
Ejemplo n.º 14
0
 public static void SendMessage(Message message)
 {
     if (Semih_Network.IsHost)
     {
         RAPI.GetLocalPlayer().Network.RPC(message, Target.Other, EP2PSend.k_EP2PSendReliable, (NetworkChannel)FilteredNetsNetworkChannel);
     }
     else
     {
         RAPI.GetLocalPlayer().SendP2P(message, EP2PSend.k_EP2PSendReliable, (NetworkChannel)FilteredNetsNetworkChannel);
     }
 }
 public void Update()
 {
     if (CanvasHelper.ActiveMenu == MenuType.Inventory && Input.GetKeyDown(KeyCode.Z))
     {
         Network_Player player = RAPI.GetLocalPlayer();
         if (player != null)
         {
             SortPlayerInventory(player);
         }
     }
 }
Ejemplo n.º 16
0
 public bool AddBatteryUsesNetworked(int amount)
 {
     if (Semih_Network.IsHost)
     {
         if (skyController.timeOfDay.hour >= 5 && skyController.timeOfDay.hour <= 19)
         {
             battery.GetBatteryInstance().Uses++;
             RAPI.GetLocalPlayer().Network.RPC(new Message_Battery(Messages.Battery_Update, RAPI.GetLocalPlayer().Network.NetworkIDManager, RAPI.GetLocalPlayer().steamID, this.ObjectIndex, battery.GetBatteryInstance().Uses), Target.Other, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game);
             return(true);
         }
     }
     return(false);
 }
    private static void showSpeeds(string[] args)
    {
        if (Raft_Network.InMenuScene)
        {
            Debug.Log(Error + "Is In Lobby");
            return;
        }
        var    showraftspeed = FindObjectOfType <Raft>();
        object value         = Traverse.Create(showraftspeed).Field("currentMovementSpeed").GetValue();

        Debug.Log(SName + "\n" +
                  "Raft Speed   : " + value.ToString() + "( Default = 1.5 )\n" +
                  "Walk Speed   : " + RAPI.GetLocalPlayer().PersonController.normalSpeed + "( Default = 3 )\n" +
                  "Sprint Speed : " + RAPI.GetLocalPlayer().PersonController.sprintSpeed + "( Default = 6 )\n" +
                  "Swim Speed   : " + RAPI.GetLocalPlayer().PersonController.swimSpeed + "( Default = 2 )"
                  );
    }
 public void Update()
 {
     if (godmode)
     {
         if (RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_health.Value < 100 || RAPI.GetLocalPlayer().Stats.stat_oxygen.GetOxygenLostPerSecond() > 0f)
         {
             RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value = 100;
             RAPI.GetLocalPlayer().Stats.stat_health.Value = 100;
             RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value = 100;
             RAPI.GetLocalPlayer().Stats.stat_oxygen.Value = 100;
             GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 0f;
             GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 0f;
             RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(0f);
             GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 0f;
         }
     }
 }
Ejemplo n.º 19
0
    private void TryRequestNetConfigurationFromHost()
    {
        var player = RAPI.GetLocalPlayer();

        if (player == null)
        {
            return;
        }

        RConsole.Log(string.Format("{0}: Requesting the current configurations for each net from the host.",
                                   ModNamePrefix));
        MessageHandler.SendMessage(
            new MessageSyncNetFiltersRequest(
                (Messages)MessageHandler.FilteredNetsMessages.SyncNetFiltersRequested));

        m_justJoinedAndNotHost = false;
    }
 private static void refill(string[] args)
 {
     if (Raft_Network.InMenuScene)
     {
         Debug.Log(Error + "Is In Lobby");
         return;
     }
     if (args.Length < 1)
     {
         RAPI.GetLocalPlayer().Stats.stat_hunger.Normal.Value = 100;
         RAPI.GetLocalPlayer().Stats.stat_thirst.Normal.Value = 100;
         RAPI.GetLocalPlayer().Stats.stat_health.Value = 100;
         RAPI.GetLocalPlayer().Stats.stat_oxygen.Value = 100;
     }
     else
     {
         Debug.Log(Error + "use cmd \"refill\" only!");
     }
 }
Ejemplo n.º 21
0
 private void AddForgottenMarkers()
 {
     if (RAPI.IsCurrentSceneGame() && persistence.markers)
     {
         var animals = FindObjectsOfType <AI_NetworkBehaviour_Animal>();
         foreach (var entity in animals)
         {
             if (entity is AI_NetworkBehavior_Shark)
             {
                 AddMarker(entity.transform, MarkerType.SHARK);
             }
             if (entity is AI_NetworkBehaviour_Bear ||
                 entity is AI_NetworkBehaviour_Boar ||
                 entity is AI_NetworkBehaviour_ButlerBot ||
                 entity is AI_NetworkBehaviour_MamaBear ||
                 entity is AI_NetworkBehaviour_Pig ||
                 entity is AI_NetworkBehaviour_PufferFish ||
                 entity is AI_NetworkBehaviour_Rat ||
                 entity is AI_NetworkBehaviour_StoneBird)
             {
                 AddMarker(entity.transform, MarkerType.ENEMY);
             }
             if (entity is AI_NetworkBehaviour_BugSwarm ||
                 entity is AI_NetworkBehaviour_Chicken ||
                 entity is AI_NetworkBehaviour_Goat ||
                 entity is AI_NetworkBehaviour_Llama)
             {
                 AddMarker(entity.transform, MarkerType.NEUTRAL);
             }
         }
         var players = FindObjectsOfType <Network_Player>();
         var me      = RAPI.GetLocalPlayer();
         foreach (var player in players)
         {
             if (player != me)
             {
                 AddMarker(player.transform, MarkerType.PLAYER);
             }
         }
     }
 }
Ejemplo n.º 22
0
        private static void Postfix(ref Item_Base __result)
        {
            if (__result != null)
            {
                Network_Player player            = RAPI.GetLocalPlayer();
                Item_Base      currentItemInHand = player.PlayerItemManager.useItemController.GetCurrentItemInHand();

                System.Random rand    = new System.Random();
                string        oldItem = __result.UniqueName;
                if (oldItem == "Placeable_ScrapMechanic" || oldItem == "Placeable_LuckyCat" || oldItem == "Placeable_Cropplot_Shoe" || oldItem == "Placeable_GlassCandle")
                {
                    Debug.Log("Item Randomizer Activated!");
                    if (currentItemInHand.UniqueName == "FishingRod" && rand.Next(0, 10) > 7)
                    {
                        __result = FishingRod_Dropper.GetRandomItem();
                    }
                    else if (currentItemInHand.UniqueName == "FishingRod_Metal" && rand.Next(0, 10) < 8)
                    {
                        __result = FishingRod_Dropper.GetRandomItem();
                    }
                }
            }
        }
 public void OnModUnload()
 {
     Debug.Log(UnLoaded);
     if (!Raft_Network.InMenuScene)
     {
         Raft raft = ComponentManager <Raft> .Value;
         if (raft != null)
         {
             var defaultRaftSpeed = defaultSpeed * defaultRaft;
             raft.maxSpeed        = defaultRaftSpeed;
             raft.maxVelocity     = defaultRaftSpeed;
             raft.waterDriftSpeed = defaultRaftSpeed;
             changedRaft          = defaultRaftSpeed;
             if (anchored)
             {
             }
             else
             {
                 ComponentManager <Raft> .Value.RemoveAnchor(10);
             }
         }
         if (godmode)
         {
             GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.foodDecrementRateMultiplier = 1f;
             GameModeValueManager.GetCurrentGameModeValue().nourishmentVariables.thirstDecrementRateMultiplier = 1f;
             RAPI.GetLocalPlayer().Stats.stat_oxygen.SetOxygenLostPerSecond(1f);
             GameModeValueManager.GetCurrentGameModeValue().playerSpecificVariables.damageTakenMultiplier = 1f;
         }
         else
         {
         }
         RAPI.GetLocalPlayer().PersonController.normalSpeed = 3;
         RAPI.GetLocalPlayer().PersonController.sprintSpeed = 6;
         RAPI.GetLocalPlayer().PersonController.swimSpeed = 2;
     }
 }
    private static void swimSpeed(string[] args)
    {
        if (Raft_Network.InMenuScene)
        {
            Debug.Log(Error + "Is In Lobby");
            return;
        }
        if (args.Length < 1)
        {
            Debug.Log(Error + "Unknown Speed");
            return;
        }
        var value    = float.Parse(args[0], CultureInfo.InvariantCulture);
        int Speedint = 1;

        if (!int.TryParse(args[0], out Speedint))
        {
            Debug.Log(Error + "Invalid Speed");
            return;
        }

        if (Speedint > 15f)
        {
            Debug.Log(Error + "Max Speed = 15");
            return;
        }
        if (Speedint < 1f)
        {
            Debug.Log(Error + "Minimum Speed = 1");
            return;
        }
        float sS = 1f;

        sS *= (RAPI.GetLocalPlayer().PlayerEquipment.GetEquipedIndexes().Contains(63) ? 1.4f : 1f);
        RAPI.GetLocalPlayer().PersonController.swimSpeed = sS * Speedint;
    }
Ejemplo n.º 25
0
        public void OnIsRayed()
        {
            if (!mi_loaded)
            {
                return;
            }

            if (!mi_canvas)
            {
                mi_canvas = ComponentManager <CanvasHelper> .Value;
                return;
            }

            if (CanvasHelper.ActiveMenu == MenuType.None &&
                !PlayerItemManager.IsBusy &&
                mi_canvas.CanOpenMenu &&
                Helper.LocalPlayerIsWithinDistance(transform.position, Player.UseDistance + 0.5f))
            {
                mi_canvas.displayTextManager.ShowText(IsOn ? "Extinguish" : "Light", MyInput.Keybinds["Interact"].MainKey, 0, 0, true);
                if (MyInput.GetButtonDown("Interact"))
                {
                    UserControlsState = true;
                    SetLightOn(!IsOn);

                    var netMsg = new Message_Battery_OnOff(
                        Messages.Battery_OnOff,
                        RAPI.GetLocalPlayer().Network.NetworkIDManager,
                        RAPI.GetLocalPlayer().steamID,
                        ObjectIndex,
                        (int)ELanternRequestType.TOGGLE,
                        IsOn);

                    if (Semih_Network.IsHost)
                    {
                        mi_network.RPC(netMsg, Target.Other, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game);
                        return;
                    }
                    mi_network.SendP2P(mi_network.HostID, netMsg, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game);
                    return;
                }
                if (UserControlsState && Input.GetKeyDown(KeyCode.F))
                {
                    var notifier     = ComponentManager <HNotify> .Value;
                    var notification = notifier.AddNotification(HNotify.NotificationType.normal, "Automatic light behaviour restored.", 5);
                    notification.Show();
                    UserControlsState = false;
                    CheckLightState(true);

                    var netMsg = new Message_Battery_OnOff(
                        Messages.Battery_OnOff,
                        RAPI.GetLocalPlayer().Network.NetworkIDManager,
                        RAPI.GetLocalPlayer().steamID,
                        ObjectIndex,
                        (int)ELanternRequestType.RELEASE_AUTO, //indicate to receiving side that we want to switch back to auto control
                        IsOn);

                    if (Semih_Network.IsHost)
                    {
                        mi_network.RPC(netMsg, Target.Other, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game);
                        return;
                    }
                    mi_network.SendP2P(mi_network.HostID, netMsg, EP2PSend.k_EP2PSendReliable, NetworkChannel.Channel_Game);
                }
            }
            else
            {
                mi_canvas.displayTextManager.HideDisplayTexts();
            }
        }
Ejemplo n.º 26
0
        static public Inventory getStorageInventory()
        {
            Storage_Small storage = RAPI.GetLocalPlayer().StorageManager.currentStorage;

            return(storage != null?storage.GetInventoryReference() : null);
        }
Ejemplo n.º 27
0
 public void Update()
 {
     if (!(Semih_Network.InLobbyScene))
     {
         if (loaded)
         {
             currentItem = " ";
             if (!player.Inventory.GetSelectedHotbarSlot().IsEmpty)
             {
                 currentItem = player.Inventory.GetSelectedHotbarItem().settings_Inventory.DisplayName;
             }
             if (currentItem == "Fertilizer")
             {
                 RaycastHit hit;
                 if (Physics.Raycast(player.CameraTransform.position, player.CameraTransform.forward, out hit, Player.UseDistance, layerMask))
                 {
                     if (hit.transform.gameObject.name == "Placeable_Cropplot_Small_Floor(Clone)" || hit.transform.gameObject.name == "Placeable_Cropplot_Medium_Floor(Clone)" || hit.transform.gameObject.name == "Placeable_Cropplot_Large(Clone)" || hit.transform.gameObject.name == "Placeable_Cropplot_Small_Wall(Clone)")
                     {
                         Plant clsPlant = null;
                         float minDist  = Mathf.Infinity;
                         foreach (var plants in hit.transform.gameObject.GetComponent <Cropplot>().plantationSlots)
                         {
                             if (hit.transform.gameObject.GetComponent <fertilzing>() != null)
                             {
                                 if (plants.hasWater && plants.busy && !(hit.transform.gameObject.GetComponent <fertilzing>().toFertilize.Contains(plants.plant)))
                                 {
                                     float dist = Vector3.Distance(plants.transform.position, hit.point);
                                     if (dist < minDist)
                                     {
                                         if (plants.plant.FullyGrown())
                                         {
                                             clsPlant = plants.plant;
                                         }
                                         minDist = dist;
                                     }
                                 }
                             }
                             if (plants.hasWater && plants.busy)
                             {
                                 float dist = Vector3.Distance(plants.transform.position, hit.point);
                                 if (dist < minDist)
                                 {
                                     if (!plants.plant.FullyGrown())
                                     {
                                         clsPlant = plants.plant;
                                     }
                                     minDist = dist;
                                 }
                             }
                         }
                         if (clsPlant != null)
                         {
                             if (player.Inventory.GetSelectedHotbarItem().settings_Inventory.DisplayName == "Fertilizer")
                             {
                                 canvas.displayTextManager.ShowText("Use the fertlizer", MyInput.Keybinds["Interact"].MainKey, 0, 0, true);
                             }
                             else
                             {
                                 canvas.displayTextManager.HideDisplayTexts();
                             }
                             if (MyInput.GetButtonDown("Interact"))
                             {
                                 RAPI.GetLocalPlayer().Inventory.GetSelectedHotbarSlot().RemoveItem(1);
                                 if (hit.transform.gameObject.GetComponent <fertilzing>() != null)
                                 {
                                     addPlant(hit);
                                 }
                                 else
                                 {
                                     addFertilizeFirstTime(hit);
                                 }
                             }
                         }
                     }
                 }
             }
         }
         MessageHandler.ReadP2P_Channel_Fertilizer();
     }
 }
Ejemplo n.º 28
0
 public override void WorldEvent_WorldLoaded()
 {
     loaded = true;
     player = RAPI.GetLocalPlayer();
     canvas = ComponentManager <CanvasHelper> .Value;
 }
Ejemplo n.º 29
0
 public void GiveGlass()
 {
     RAPI.GetLocalPlayer().Inventory.AddItem(ItemManager.GetItemByName("Glass").UniqueName, 1);
 }
Ejemplo n.º 30
0
 static public Inventory getPlayerInventory()
 {
     return(RAPI.GetLocalPlayer().Inventory);
 }