Пример #1
0
    public void SwingWeapon(SwingDirection direction)
    {
        print(direction.ToString());
        string[] dirStr = direction.ToString().Split('_');
        string fromPos = dirStr[0]; string toPos = dirStr[1]; string fromMidToPos = fromPos + "Mid" + toPos;

        // gameObject.MoveTo(iTweenPath.GetPath("RightTopLeftBot"), 1, 0, EaseType.easeOutCubic);
        Transform[] swingPositions = new Transform[3];
        //print(fromPos);
        swingPositions[0] = WeaponPositions.transform.FindChild(fromPos);

        //print(fromMidToPos);
        swingPositions[1] = WeaponPositions.transform.FindChild(fromMidToPos);

        //print(toPos);
        swingPositions[2] = WeaponPositions.transform.FindChild(toPos);

        Vector3[] vectPosSwing = new Vector3[3];
        vectPosSwing[0] = swingPositions[0].localPosition;
        vectPosSwing[1] = swingPositions[1].localPosition;
        vectPosSwing[2] = swingPositions[2].localPosition;

        Vector3[] vectRotSwing = new Vector3[2];
        vectRotSwing[0] = weaponDefaultRotation.eulerAngles;
        vectRotSwing[1] = swingPositions[2].eulerAngles;
          //  iTween.MoveTo(gameObject, iTween.Hash());

           // SwingWeapon(swingPositions);

        // WeaponPositions

           // iTween.PutOnPath(gameObject, swingPositions, pathVal);
           // gameObject.MoveTo(swingPositions,1f, 0f);

        if (Attacking == false) //if currently not attacking, attack
        {

          //  gameObject.MoveTo(vectPosSwing[0], 0.1f, 0);
            gameObject.RotateTo(vectRotSwing[1], AttackSpeed , 0);

            iTween.MoveTo(gameObject, iTween.Hash("path", vectPosSwing, "time", AttackSpeed , "islocal", true, "oncomplete", "SwingCompleted", "easetype", "easeOutBack"));
            Attacking = true;
        }
        else // if already attacking save this swipe and use it after it's finished
        {
            swipeInQueue = direction;
            return;
        }

        GameObject weaponTrail = transform.GetChild(0).transform.FindChild("Trail").gameObject;

        if (weaponTrail != null)
        {
            weaponTrail.GetComponent<TrailRenderer>().enabled = true;
        }
    }