Ejemplo n.º 1
0
    private void Start()
    {
        distanceJoint = GetComponent <DistanceJoint2D>();
        nodes.Add(distanceJoint);
        NinjaController ninja = GetComponentInParent <NinjaController>();

        distanceJoint.connectedBody = ninja.Rigidbody;

        for (int i = 0; i < nodeCount; i++)
        {
            var node = Instantiate(nodePrefab, transform.position, Quaternion.identity);
            node.transform.SetParent(transform);
            var joint = node.GetComponent <DistanceJoint2D>();
            joint.connectedBody = nodes[i].GetComponent <Rigidbody2D>();
            nodes.Add(joint);
        }
    }
Ejemplo n.º 2
0
    static int _CreateDistanceJoint2D(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 0)
        {
            DistanceJoint2D obj = new DistanceJoint2D();
            LuaScriptMgr.Push(L, obj);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: DistanceJoint2D.New");
        }

        return(0);
    }
Ejemplo n.º 3
0
    //
    public void SeverAtLink(int link)
    {
        Debug.Log("remove link " + link);
        if (link > -1 && chainPieces.Count > link)
        {
            Debug.Log("do sever");
            GameObject   severingObject = chainPieces[link].gameObject;
            HingeJoint2D linkHinge      = severingObject.GetComponent <HingeJoint2D>();
            linkHinge.connectedBody = null;
            linkHinge.enabled       = false;

            DistanceJoint2D distanceJoint = severingObject.GetComponent <DistanceJoint2D>();
            distanceJoint.connectedBody = null;
            distanceJoint.enabled       = false;
            // all severed objects need to be destroyed or moved to their own object (this will impact some climbing)
        }
    }
Ejemplo n.º 4
0
    public override void Initialize(Controller owner)
    {
        _controller           = (PlayerController)owner;
        ropeHingeAnchor       = GameObject.Find("RopeHingeAnchor");
        ropeJoint             = GameObject.Find("Player").GetComponent <DistanceJoint2D>();
        crosshair             = GameObject.Find("Crosshair").GetComponent <Transform>();
        crosshairSprite       = GameObject.Find("Crosshair").GetComponent <SpriteRenderer>();
        playerPosition        = _controller.transform.position;
        ropeHingeAnchorRb     = ropeHingeAnchor.GetComponent <Rigidbody2D>();
        ropeHingeAnchorSprite = ropeHingeAnchor.GetComponent <SpriteRenderer>();
        ropeRenderer          = GameObject.Find("Player").GetComponent <LineRenderer>();

        ropeJoint.enabled     = false;
        playerPosition        = _controller.transform.position;
        ropeHingeAnchorRb     = ropeHingeAnchor.GetComponent <Rigidbody2D>();
        ropeHingeAnchorSprite = ropeHingeAnchor.GetComponent <SpriteRenderer>();
    }
Ejemplo n.º 5
0
    public float timeKeeper;    //Used as a timer.


    //bool m_hooking = false;

    // Use this for initialization
    void Start()
    {
        GameObject pHook = (GameObject)Instantiate(hookPrefab, Vector3.zero, Quaternion.identity);

        HookLine         = pHook.GetComponent <LineRenderer>(); //
        HookLine.enabled = false;

        ///without incontrol.
        crossHair    = GetComponent <Playercontrol>().crosshair;
        Hookdistance = GetComponent <Playercontrol>().aimDistance;

        joint         = GetComponent <DistanceJoint2D> ();
        joint.enabled = false;


        timeKeeper = hookTime; //Set the Timer.
    }
        public new void OnSceneGUI()
        {
            DistanceJoint2D target = (DistanceJoint2D)this.target;

            if (!target.enabled)
            {
                return;
            }
            Vector3 anchor  = Joint2DEditor.TransformPoint(target.transform, (Vector3)target.anchor);
            Vector3 vector3 = (Vector3)target.connectedAnchor;

            if ((bool)((Object)target.connectedBody))
            {
                vector3 = Joint2DEditor.TransformPoint(target.connectedBody.transform, vector3);
            }
            Joint2DEditor.DrawDistanceGizmo(anchor, vector3, target.distance);
            base.OnSceneGUI();
        }
Ejemplo n.º 7
0
        public new void OnSceneGUI()
        {
            DistanceJoint2D distanceJoint2D = (DistanceJoint2D)this.target;

            if (!distanceJoint2D.enabled)
            {
                return;
            }
            Vector3 anchor = Joint2DEditor.TransformPoint(distanceJoint2D.transform, distanceJoint2D.anchor);
            Vector3 vector = distanceJoint2D.connectedAnchor;

            if (distanceJoint2D.connectedBody)
            {
                vector = Joint2DEditor.TransformPoint(distanceJoint2D.connectedBody.transform, vector);
            }
            Joint2DEditor.DrawDistanceGizmo(anchor, vector, distanceJoint2D.distance);
            base.OnSceneGUI();
        }
Ejemplo n.º 8
0
    // Start is called before the first frame update
    void Start()
    {
        joint             = gameObject.GetComponent <DistanceJoint2D>();
        gm                = GameObject.Find("GameManager").GetComponent <GameManager>();
        rb                = gameObject.GetComponent <Rigidbody2D>();
        torch             = gameObject.transform.Find("Torch").GetComponent <UnityEngine.Experimental.Rendering.Universal.Light2D>();
        torchCollider     = gameObject.transform.Find("Torch").GetComponent <TorchCollider>();
        rb.freezeRotation = true;
        powerUpSpriteMask = gameObject.transform.Find("PowerUpSpriteMask");
        startPos          = transform.position;
        joint.enabled     = false;


        torchInnerRadius = torch.pointLightInnerRadius;
        torchOuterRadius = torch.pointLightOuterRadius;
        torchInnerAngle  = torch.pointLightInnerAngle;
        torchOuterAngle  = torch.pointLightOuterAngle;
    }
Ejemplo n.º 9
0
 void Start()
 {
     cc                  = GameObject.Find("Main Camera").GetComponent <CameraController>();
     gm                  = GameObject.Find("GameManager").GetComponent <GameManager>();
     dbc                 = GetComponentInChildren <DBController>();
     joint               = GetComponent <DistanceJoint2D>();
     line                = GameObject.Find("line").GetComponent <LineRenderer>();
     fabCtrl             = GameObject.Find("FabricCtrl").GetComponent <FabricCtrl>();
     rb                  = GetComponent <Rigidbody2D>();
     capCol              = GetComponent <CapsuleCollider2D>();
     facingRight         = true;
     currentAimState     = AimState.Right;
     lastHorizontalState = AimState.Right;
     canMove             = true;
     joint.enabled       = false;
     line.enabled        = false;
     gm.UpdatePlayerEnemyHealth(hp, gm.enemyHealth);
 }
Ejemplo n.º 10
0
    void Start()
    {
        //Recebe o controle, os inputs e uma referencia para a direção do hook
        input  = GetComponent <InputHandler>();
        player = GetComponent <PlayerController>();
        arrow  = GameObject.FindGameObjectWithTag("HookArrow");

        //Recebe o DistanceJoint2D, principal objeto do hook, que conecta o player em algum outro objeto
        joint         = GetComponent <DistanceJoint2D>();
        joint.enabled = false;

        line = GetComponent <LineRenderer>();
        line.positionCount    = 0;
        line.sortingOrder     = sortingOrder;
        line.sortingLayerName = sortingLayer;

        MemoryManager.OnSave += passHookToMemory;
    }
Ejemplo n.º 11
0
        protected override void Start()
        {
            base.Start();
            //_mask = 1 << raycast_layer;

            if (attach_body == null)
            {
                return;
            }
            _joint         = attach_body.gameObject.AddComponent <DistanceJoint2D>();
            _joint.enabled = false;
            _joint.autoConfigureConnectedAnchor = false;
            _joint.enableCollision       = true;
            _joint.anchor                = attach_point;
            _joint.connectedBody         = null;
            _joint.autoConfigureDistance = false;
            _joint.maxDistanceOnly       = true;
        }
Ejemplo n.º 12
0
    void Start()
    {
        joint     = GetComponent <DistanceJoint2D>();
        line      = GetComponent <LineRenderer>();
        _animator = GetComponent <Animator>();
        Physics2D.IgnoreLayerCollision(Layers.Documents, Layers.Documents, true);
        SpawnPosition = this.transform.position;
        Debug.Log("Doc type: " + DocumentType);

        if (DocumentType == DocumentTypes.Red)
        {
            GetComponent <SpriteRenderer>().color = Color.red;
        }
        else if (DocumentType != DocumentTypes.White)
        {
            DocumentType = DocumentTypes.White;
        }
    }
Ejemplo n.º 13
0
 // Start is called before the first frame update
 void Start()
 {
     description.text = "";
     timeSpent        = Time.time;
     originalPos      = swarm.cursor.position;
     spawner          = pickupSpawner.GetComponent <PickupSpawner>();
     Cc   = GetComponent <CameraController>();
     Cc.X = swarm.cursor.position.x;
     Cc.Y = swarm.cursor.position.y;
     boss.gameObject.SetActive(false);
     playerMovement         = swarm.cursor.GetComponent <DistanceJoint2D>();
     playerMovement.enabled = false;
     a.enabled      = false;
     l.enabled      = false;
     rt.enabled     = false;
     pickup.enabled = false;
     AkSoundEngine.SetState("BossPhase", "Phase1");
 }
Ejemplo n.º 14
0
 // Start is called before the first frame update
 void Start()
 {
     armor             = 0;
     myRigidBody2D     = GetComponent <Rigidbody2D>();
     myAnimator        = GetComponent <Animator>();
     myBoddyCollider2D = GetComponent <CapsuleCollider2D>();
     myFeetCollider2D  = GetComponent <BoxCollider2D>();
     myAudioSource     = GetComponent <AudioSource>();
     mySpriteRenderer  = GetComponent <SpriteRenderer>();
     gravityAtStart    = myRigidBody2D.gravityScale;
     //Distance Joint
     distanceJoint2D = GetComponent <DistanceJoint2D>();
     //Target Joint
     targetJoint2D         = GetComponent <TargetJoint2D>();
     targetJoint2D.enabled = false;
     line         = GetComponent <LineRenderer>();
     line.enabled = false;
 }
    /// <summary>
    /// Connects player to given rigidbody
    /// </summary>
    public void Connect(Rigidbody2D rb)
    {
        DistanceJoint2D dj2d = GetComponent <DistanceJoint2D>();

        //if player isn't already connected to any enemy
        if (!dj2d)
        {
            dj2d = gameObject.AddComponent <DistanceJoint2D>();

            dj2d.autoConfigureDistance = false;
            dj2d.distance      = 0;
            dj2d.connectedBody = rb;

            //disallow player controling avatar for some delay
            bPlayerControl   = false;
            loseControlDelay = 3.0f;
        }
    }
    public bool dangling;           // es un cerdo colgante o no?

    // Use this for initialization
    public override void Start()
    {
        base.Start();

        distanceJoint = GetComponent <DistanceJoint2D>();
        lineRenderer  = GetComponent <LineRenderer>();

        if (dangling == true)
        {
            distanceJoint.enabled = true;
            lineRenderer.enabled  = true;
        }
        else
        {
            distanceJoint.enabled = false;
            lineRenderer.enabled  = false;
        }
    }
Ejemplo n.º 17
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (player1)
        {
            if (Input.GetJoystickNames().Length > 0)
            {
                transform.rigidbody2D.AddForce(new Vector2(Input.GetAxis("XBox360RightStickHorizontal") * speed, Input.GetAxis("XBox360RightStickVertical") * speed));
                torso.rigidbody2D.AddForce(new Vector2(-Input.GetAxis("XBox360RightStickHorizontal") * speed, -Input.GetAxis("XBox360RightStickVertical") * speed));
            }
            else
            {
                transform.rigidbody2D.AddForce(new Vector2(Input.GetAxis("Horizontal2") * speed, Input.GetAxis("Vertical2") * speed));
                torso.rigidbody2D.AddForce(new Vector2(-Input.GetAxis("Horizontal2") * speed, -Input.GetAxis("Vertical2") * speed));
            }
        }

        if (!player1)
        {
            if (Input.GetJoystickNames().Length > 1)
            {
                transform.rigidbody2D.AddForce(new Vector2(Input.GetAxis("P2XBox360RightStickHorizontal") * speed, Input.GetAxis("P2XBox360RightStickVertical") * speed));
                torso.rigidbody2D.AddForce(new Vector2(-Input.GetAxis("P2XBox360RightStickHorizontal") * speed, -Input.GetAxis("P2XBox360RightStickVertical") * speed));
            }
            else
            {
                transform.rigidbody2D.AddForce(new Vector2(Input.GetAxis("horizontalArms2p") * speed, Input.GetAxis("verticalArms2p") * speed));
                torso.rigidbody2D.AddForce(new Vector2(-Input.GetAxis("horizontalArms2p") * speed, -Input.GetAxis("verticalArms2p") * speed));
            }
        }
        if (!grabbing && grabbedList.Count > 0)
        {
            for (int i = 0; i <= grabbedList.Count; i++)
            {
                Transform grabbed = grabbedList.Dequeue().transform;
                //grabbed.gameObject.rigidbody2D.isKinematic = false;
                grabbed.gameObject.layer = layerList.Dequeue();
                DistanceJoint2D newJoint = grabbed.gameObject.GetComponent <DistanceJoint2D>();
                Component.Destroy(newJoint);
                //grabbed.gameObject.rigidbody2D.velocity = rigidbody2D.velocity;
                //grabbed.parent = null;
                //rigidbody2D.mass -= grabbed.gameObject.rigidbody2D.mass;
            }
        }
    }
Ejemplo n.º 18
0
    void Start()
    {
        controller = GetComponent <Controller2D>();
        sprite     = GetComponent <SpriteRenderer>();
        animator   = GetComponent <Animator>();
        rope       = GetComponent <LineRenderer>();
        rb         = GetComponent <Rigidbody2D>();
        joint      = GetComponent <DistanceJoint2D>();

        rope.enabled   = false;
        rb.constraints = RigidbodyConstraints2D.FreezeAll;
        joint.enabled  = false;
        joint.anchor   = aimPivot.transform.position;

        // Calculate gravity and jump velocity
        gravity         = -(2 * maxJumpHeight) / Mathf.Pow(timeToJumpApex, 2);
        maxJumpVelocity = Mathf.Abs(gravity) * timeToJumpApex;
        minJumpVelocity = Mathf.Sqrt(2 * Mathf.Abs(gravity) * minJumpHeight);
    }
Ejemplo n.º 19
0
    public static int set_distance(IntPtr l)
    {
        int result;

        try
        {
            DistanceJoint2D distanceJoint2D = (DistanceJoint2D)LuaObject.checkSelf(l);
            float           distance;
            LuaObject.checkType(l, 2, out distance);
            distanceJoint2D.distance = distance;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Ejemplo n.º 20
0
    public static int set_maxDistanceOnly(IntPtr l)
    {
        int result;

        try
        {
            DistanceJoint2D distanceJoint2D = (DistanceJoint2D)LuaObject.checkSelf(l);
            bool            maxDistanceOnly;
            LuaObject.checkType(l, 2, out maxDistanceOnly);
            distanceJoint2D.maxDistanceOnly = maxDistanceOnly;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Ejemplo n.º 21
0
    public void Start()
    {
        this.col                = GetComponent <EdgeCollider2D>();
        this.vertices           = col.points;
        this.dJoint             = GetComponent <DistanceJoint2D>();
        this.sJoint             = GetComponent <SpringJoint2D>();
        this.rend               = GetComponent <LineRenderer>();
        this.rend.positionCount = 2;

        this.dJoint.connectedBody = this.startPoint.GetComponent <Rigidbody2D>();
        this.sJoint.connectedBody = this.endPoint.GetComponent <Rigidbody2D>();

        this.rend.SetPosition(0, this.startPoint.transform.position);
        this.rend.SetPosition(1, this.endPoint.transform.position);

        // this.rend.enabled = false;
        //this.gameObject.SetActive(false);
        // this.ConnectRope(this.startPoint, this.endPoint);
    }
Ejemplo n.º 22
0
    void BallStatusChange(BallStatusEventParam param)
    {
        Debug.logger.Log("BallStatusChange " + param.status);
        if (param.ballName != gameObject.name)
        {
            return;
        }

        m_ballStatus = param.status;
        switch (param.status)
        {
        case BallStatus.DrawingLineFinished:
        {
            distance = Vector3.Distance(m_spawnPos, m_lineContainer.transform.position);
            m_lineContainer.GetComponent <LineContainer>().Stop();
        }
        break;

        case BallStatus.Abort:
        {
            m_bDraged = false;

            m_moveDirection = Vector3.zero;
            if (m_lineContainer != null)
            {
                Destroy(m_lineContainer);
                m_lineContainer = null;
                if (m_fixedPoint != null)
                {
                    Destroy(m_fixedPoint);
                    m_fixedPoint = null;
                }

                if (m_distanceJoint2D != null)
                {
                    Destroy(m_distanceJoint2D);
                    m_distanceJoint2D = null;
                }
            }
        }
        break;
        }
    }
Ejemplo n.º 23
0
 void Start()
 {
     rb                    = GetComponent <Rigidbody2D>();
     distanceJoint         = GetComponent <DistanceJoint2D>();
     ropeRenderer          = GetComponent <LineRenderer>();
     distanceJoint.enabled = false;
     ringHighLighterO.SetActive(false);
     isAiming       = false;
     isHooked       = false;
     isTracting     = false;
     canUseTraction = true;
     canShoot       = true;
     isGhostHook    = false;
     basicHookColor = hookPrefab.GetComponent <SpriteRenderer>().color;
     armShoulderO.SetActive(false);
     timeBeforeNextShoot = 0;
     subwidthAimAngle    = widthAimAngle / (raycastNumber - 1);
     firstAngle          = -widthAimAngle / 2;
 }
Ejemplo n.º 24
0
    public void ConnectToEnd(Rigidbody2D rigid)
    {
        var joints = transform.GetComponents <DistanceJoint2D>();

        if (joints.Length > 1)
        {
            connectToEndPoint = joints[1];
        }
        else
        {
            connectToEndPoint = gameObject.AddComponent <DistanceJoint2D>();
        }
        connectToEndPoint.connectedBody = rigid;
        connectToEndPoint.autoConfigureConnectedAnchor = false;
        connectToEndPoint.autoConfigureDistance        = false;
        connectToEndPoint.connectedAnchor = Vector2.zero;
        connectToEndPoint.anchor          = Vector2.zero;
        connectToEndPoint.distance        = 0.005f;
    }
Ejemplo n.º 25
0
    IEnumerator StartControlledDrag(Transform _senderPos, Vector2 _targetPos, Transform _hitTrans)
    {
        //get distance
        distance = Vector2.Distance(_senderPos.position, _targetPos);
        cont     = unitTrans.GetComponent <PlayerController>();
        //cont.IsGrappling = true;
        //add joint component
        joint = unitTrans.gameObject.AddComponent <DistanceJoint2D>();
        joint.enableCollision              = true;
        joint.autoConfigureDistance        = false;
        joint.autoConfigureConnectedAnchor = false;

        //get anchor local target pos
        var localPos = _hitTrans.InverseTransformPoint(_targetPos);

        //set joint distance
        joint.distance = distance;
        joint.anchor   = unitTrans.InverseTransformPoint(_senderPos.position);
        while (!retracting)
        {
            //set joint anchor position relative to collider
            var anchorPos = _hitTrans.TransformPoint(localPos);
            joint.connectedAnchor        = anchorPos;
            hookSpawn.transform.position = anchorPos;

            //if (!cont.IsSideHitLeft && !cont.IsSideHitRight)
            //{
            float vInput = Input.GetAxis("Vertical");
            joint.distance += -vInput * Data.controlSpeed * Time.deltaTime;
            if (joint.distance < Data.minDistance)
            {
                joint.distance = Data.minDistance;
            }
            //}

            //set line positions
            SetLinePositions(_senderPos, hookSpawn.transform.position);

            yield return(new WaitForFixedUpdate());
        }
        //cont.IsGrappling = false;
        Destroy(joint);
    }
Ejemplo n.º 26
0
    // Start is called before the first frame update
    void Start()
    {
        initMovementVeloc = movementVelocity;
        parts.Add(circleCol);
        partRigidbodies.Add(circleCol.GetComponent <Rigidbody2D>());
        circleCol.transform.rotation = Quaternion.Euler(0, 0, this.transform.eulerAngles.z);
        circleCol.transform.position = this.transform.position;
        Rigidbody2D body = partRigidbodies[0];

        for (var i = 1; i < length; i++)
        {
            GameObject circle = GameObject.Instantiate(circleCol, this.transform);
            parts.Add(circle);
            circle.transform.rotation = Quaternion.Euler(0, 0, this.transform.eulerAngles.z);
            partRigidbodies.Add(circle.GetComponent <Rigidbody2D>());

            /* circle.transform.position =
             *   new Vector2(Mathf.Cos(circle.transform.rotation.eulerAngles.z * Mathf.Deg2Rad), Mathf.Sin(circle.transform.rotation.eulerAngles.z * Mathf.Deg2Rad)) *
             *    pointDist + (Vector2)parts[i - 1].transform.position;*/
            DistanceJoint2D joint = circle.GetComponent <DistanceJoint2D>();
            joint.connectedBody = partRigidbodies[i - 1];
            joint.distance      = pointDist;

            /*DistanceJoint2D test = circle.AddComponent<DistanceJoint2D>();
             * test.connectedBody = body;
             * test.autoConfigureDistance = false;
             * test.maxDistanceOnly = true;
             * test.distance = i * pointDist;*/
        }

        for (var i = 0; i < length - 1; i++)
        {
            GameObject      circle = parts[i];
            DistanceJoint2D test   = circle.AddComponent <DistanceJoint2D>();
            test.connectedBody         = partRigidbodies[length - 1];
            test.autoConfigureDistance = false;
            test.maxDistanceOnly       = true;
            test.distance = (length - 1 - i) * pointDist;
        }
        circleCol.GetComponent <DistanceJoint2D>().enabled = false;
        head1.transform.parent = circleCol.transform;
        //head2.transform.parent = circleCol.transform;
    }
Ejemplo n.º 27
0
 void Start()
 {
     light          = GetComponentInChildren <UnityEngine.Experimental.Rendering.Universal.Light2D>();
     joint          = gameObject.AddComponent <DistanceJoint2D>();
     joint1         = gameObject.AddComponent <DistanceJoint2D>();
     joint.enabled  = false;
     joint1.enabled = false;
     rightleg       = GameObject.FindGameObjectsWithTag("Attach");
     leftleg        = GameObject.FindGameObjectsWithTag("AttachLeft");
     joint.autoConfigureDistance  = false;
     joint1.autoConfigureDistance = false;
     joint.distance         = 1f;
     joint1.distance        = 1f;
     joint.maxDistanceOnly  = true;
     joint1.maxDistanceOnly = true;
     back  = GameObject.FindGameObjectsWithTag("Back");
     backy = GameObject.FindGameObjectsWithTag("Backy");
     particle.Stop();
 }
    private AudioSource audioSource; //componente de audio

    // Use this for initialization
    void Start()
    {
        audioSource = gameObject.GetComponent <AudioSource>(); //pegar audio source

        bulletSpawn = gameObject.transform.GetChild(0);        //pegar bulletSpawn

        SetBulletSpawnPosition();

        spriteRenderer         = gameObject.GetComponent <SpriteRenderer>();
        spriteRenderer.enabled = false;
        boxCollider            = gameObject.GetComponent <BoxCollider2D>();
        boxCollider.enabled    = false;

        player                = gameObject.transform.parent.gameObject.transform.parent.gameObject; //pegar usuario da arma (partindo do pressuposto que a arma esta a um GunPivot abaixo do objeto)
        distanceJoint         = player.GetComponent <DistanceJoint2D>();                            //pegar distance joint do player
        distanceJoint.enabled = false;

        collisionMask = 1 << LayerMask.NameToLayer("PlayerBullet") | 1 << LayerMask.NameToLayer("EnemyBullet") | 1 << LayerMask.NameToLayer("Character") | 1 << LayerMask.NameToLayer("Enemy") /*| 1 << LayerMask.NameToLayer("GrapplingHook") */ | 1 << LayerMask.NameToLayer("TestLayerMap") | 1 << LayerMask.NameToLayer("CameraWal") | 1 << LayerMask.NameToLayer("CameraCol"); //pegar layer corrente (bit shift + bit or)
        collisionMask = ~collisionMask;                                                                                                                                                                                                                                                                                                                                             //todas menos as selecionadas (inverter)

        //reajustar tamanhos
        Vector2 newSize = new Vector2(spriteRenderer.size.x * gameObject.transform.localScale.x, spriteRenderer.size.y * gameObject.transform.localScale.y);

        spriteRenderer.size             = newSize;
        gameObject.transform.localScale = new Vector3(1f, 1f, transform.localScale.z);

        originalSize = /*gameObject.transform.localScale*/ spriteRenderer.size; // guarda tamanho original do grappling hook

        Bounds b = spriteRenderer.sprite.bounds;                                //isso deu trabalho pra encontrar '-'-' .-.-.

        //Debug.Log("Tamanhos gph: " + player.transform.localScale.x + " : : " + spriteRenderer.size.x);// + " : : " + b.size.x);
        xSize = /*b.size.x * */ player.transform.localScale.x;// * player.transform.localScale.x;// * spriteRenderer.size.x);//player.GetComponent<SpriteRenderer>().sprite.bounds.size.x; //como ja tem o tamanho da sprite original, soh precisa do tamanho do parent/player
        //isso tbm deu um trabalho pra achar --> resize no filho (independente, tipo como se fosse separado) = 1/size do pai
        //o xSize ja ta na divisao

        isThrowing   = false;
        stopThrowing = true;
        needRotation = false;
        needResize   = false;

        //startResizingSprite = false;
    }
Ejemplo n.º 29
0
    public override void Enter()
    {
        anim = player.GetComponent <Animator>();
        rbP  = player.GetComponent <Rigidbody2D>();
        anim.SetBool("hanging", true);

        iks = player.GetComponent <IKController>();
        iks.leftArm.ik.gameObject.SetActive(true);
        iks.rightArm.ik.gameObject.SetActive(true);


        rbHang             = player.actualHang.hangPoint.AddComponent <Rigidbody2D>();
        rbHang.isKinematic = true;
        dj = player.actualHang.hangPoint.AddComponent <DistanceJoint2D>();
        dj.connectedBody                = rbP;
        dj.autoConfigureDistance        = false;
        dj.maxDistanceOnly              = true;
        dj.autoConfigureConnectedAnchor = false;
        dj.distance = 0.9f;
    }
Ejemplo n.º 30
0
        void Start()
        {
            _line = new GameObject("Line").AddComponent <LineRenderer>();
            _line.SetVertexCount(2);
            _line.SetWidth(.025f, .025f);
            _line.gameObject.SetActive(false);
            _line.SetColors(Color.black, Color.black);
            _line.renderer.material.color = Color.black;

            _grapple = new GameObject("Grapple");
            _grapple.AddComponent <CircleCollider2D>().radius = .1f;
            _grapple.AddComponent <Rigidbody2D>();
            _grapple.rigidbody2D.isKinematic = true;

            _previousGrapple      = (GameObject)Instantiate(_grapple);
            _previousGrapple.name = "Previous Grapple";

            _joint         = gameObject.AddComponent <DistanceJoint2D>();
            _joint.enabled = false;
        }