Esempio n. 1
0
    public void Attach(BalloonString _balloonString, BalloonString.GrabSlot _grabSlot)
    {
        // Ignore if this was the last balloon we grabbed onto
        if (lastGrabbed == _balloonString)
        {
            return;
        }

        if (frozenTime > 0.0f)
        {
            return;
        }

        Vector3 newPosition = _grabSlot.transform.position;

        newPosition.z = transform.position.z;

        transform.position  = newPosition;
        transform.rotation  = _grabSlot.transform.rotation;
        joint.connectedBody = _balloonString.GetComponent <Rigidbody2D>();
        currentGrabSlot     = _grabSlot;
        joint.enabled       = true;
        lastGrabbed         = _balloonString;

        jumpsRemaining = numJumps;
    }
Esempio n. 2
0
    private static void RemoveBalloonString(GameObject unicorn)
    {
        BalloonString balloonString = instance.balloonStrings.Find(x => x.TrackedUnicorn() == unicorn);

        instance.balloonStrings.Remove(balloonString);
        balloonString?.Dispose();
    }
Esempio n. 3
0
    private void AddBalloonString(GameObject unicorn)
    {
        if (!unicorn.TryGetComponent <CapturedEnemy>(out var capturedEnemyComponent))
        {
            Debug.LogWarning("Something went horribly wrong, this unicorn has no CapturedEnemy component...");
        }

        var maxBubbleDistance = capturedEnemyComponent.MaxDistanceToPlayer;
        var balloonString     = new BalloonString(clownHand, capturedEnemyComponent, maxBubbleDistance, maximumSag, stringThickness, stringMaterial, stringColor, detail);

        balloonStrings.Add(balloonString);
    }