Beispiel #1
0
    /// <summary>
    /// Used on the server to switch the pickup mode of this InteractableStorage
    /// </summary>
    public void ServerSwitchPickupMode(GameObject player)
    {
        pickupMode = pickupMode.Next();

        string msg = "Nothing happens.";

        switch (pickupMode)
        {
        case PickupMode.Single:
            msg = $"The {gameObject.ExpensiveName()} now picks up one item at a time.";
            break;

        case PickupMode.Same:
            msg = $"The {gameObject.ExpensiveName()} now picks up all items of a single type at once.";
            break;

        case PickupMode.All:
            msg = $"The {gameObject.ExpensiveName()} now picks up all items in a tile at once.";
            break;

        case PickupMode.DropClick:
            msg = $"The {gameObject.ExpensiveName()} now drops all items on the tile at once";
            break;

        default:
            Logger.LogError($"Unknown pickup mode set! Found: {pickupMode}", Category.Inventory);
            break;
        }

        Chat.AddExamineMsgFromServer(player, msg);
    }
Beispiel #2
0
 private void HandlePickup(PickupMode newPickupMode)
 {
     Logger.logInfo("Start pickup in mode {0} from part: {1}", newPickupMode, draggedPart);
     grabbedPart = null;
     pickupMode = newPickupMode;
     cursorMode = CursorMode.Nothing;
     icon = new KIS_IconViewer(draggedPart, draggedIconResolution);
     KISAddonCursor.AbortPartDetection();
     grabActive = false;
     KISAddonCursor.CursorDisable();
     if (HighLogic.LoadedSceneIsFlight) {
       InputLockManager.SetControlLock(ControlTypes.VESSEL_SWITCHING, "KISpickup");
       // Disable jetpack mouse control (workaround as SetControlLock didn't have any effect on this)
       KerbalEVA kEva = FlightGlobals.ActiveVessel.rootPart.GetComponent<KerbalEVA>();
       if (kEva && kEva.JetpackDeployed) {
     kEva.JetpackDeployed = false;
     jetpackLock = true;
     Logger.logInfo("Jetpack mouse input disabled");
       }
     }
 }