Ejemplo n.º 1
0
    void ConnectModule(ModuleSlot slot)
    {
        Rigidbody rb = heldObject.GetComponent <Rigidbody>();

        SceneManager.instance.RemoveGravityBody(rb);
        Destroy(rb);

        heldObject.transform.SetParent(slot.transform);

        ShipModule currentModule = heldObject.GetComponent <ShipModule>();

        slot.connectedModule    = currentModule;
        currentModule.connected = true;

        slot.GetComponent <MeshRenderer>().enabled = false;
        assignedSlot = null;

        Ship ship = slot.GetComponentInParent <Ship>();

        if (ship)
        {
            ship.UpdateModuleStatus(currentModule, currentModule.moduleType, true);
            currentModule.shipRB = ship.GetComponent <Rigidbody>();
        }

        FindObjectOfType <Ship>().ToggleModuleSlots(false);

        heldObject = null;

        PlayerHUD.instance.ToggleCrosshair(true);
        PlayerCamera.instance.checkForUsable         = true;
        PlayerCamera.instance.checkForMaterializable = true;

        energyParticles.Stop();
    }
Ejemplo n.º 2
0
    void DisconnectModule(ModuleSlot slot)
    {
        Rigidbody rb = heldObject.AddComponent <Rigidbody>();

        rb.mass = heldObject.GetComponent <ShipModule>().mass;
        SceneManager.instance.AddGravityBody(rb);

        slot.connectedModule = null;
        heldObject.GetComponent <ShipModule>().connected = false;
        assignedSlot = slot;

        slot.GetComponent <MeshRenderer>().enabled = true;
    }