Ejemplo n.º 1
0
    void uptadeDir4(Vector2 velocity) // tämä voidaan tehdä myös keskiarvolla
    {
        float xx = Mathf.Abs(velocity.x);
        float yy = Mathf.Abs(velocity.y);

        if (xx >= yy)
        {
            if (velocity.x >= 0)
            {
                myDir = enemyDir.Right;
            }
            else
            {
                myDir = enemyDir.Left;
            }
        }
        else
        {
            if (velocity.y >= 0)
            {
                myDir = enemyDir.Up;
            }
            else
            {
                myDir = enemyDir.Down;
            }
        }
    }
Ejemplo n.º 2
0
        public void EnableSprites(enemyDir SpriteDir)
        {
            bool changed = false;

            if (SpriteDir != LastDir)
            {
                if (SpriteDir == enemyDir.Right)
                {
                    Torsos[0].GetComponent <Transform>().localScale = new Vector3(1.0f, 1.0f, 1.0f);
                }
                else
                {
                    Torsos[0].GetComponent <Transform>().localScale = new Vector3(-1.0f, 1.0f, 1.0f);
                }
                for (int i = 0; i < 3; i++)
                {
                    if ((int)SpriteDir == i || SpriteDir == enemyDir.Right && changed == false)
                    {
                        changed = true;
                        foreach (SpriteRenderer t in Torsos[i].GetComponentsInChildren <SpriteRenderer>())
                        {
                            t.enabled = true;
                        }
                    }
                    else
                    {
                        foreach (SpriteRenderer t in Torsos[i].GetComponentsInChildren <SpriteRenderer>())
                        {
                            t.enabled = false;
                        }
                    }
                }
            }
            LastDir = SpriteDir;
        }
Ejemplo n.º 3
0
    void uptadeDir6(Vector2 velocity) // tämä voidaan tehdä myös keskiarvolla
    {
        float xx = Mathf.Abs(velocity.x);
        float yy = Mathf.Abs(velocity.y);

        //if(velocity.magnitude == 0 && !rotToPl)
        //{
        //    myDir = enemyDir.Still;
        //    return;
        //}
        //if (velocity.magnitude == 0 && rotToPl)
        //{
        //    myDir = enemyDir.Still;
        //    return;
        //}
        if (xx >= yy)
        {
            if (velocity.x >= 0)
            {
                myDir = enemyDir.Right;
            }
            else
            {
                myDir = enemyDir.Left;
            }
        }
        else
        {
            if (velocity.y <= 0)
            {
                if (velocity.x >= 0)
                {
                    myDir = enemyDir.RD;
                }
                else
                {
                    myDir = enemyDir.LD;
                }
            }
            else
            {
                if (velocity.x >= 0)
                {
                    myDir = enemyDir.RU;
                }
                else
                {
                    myDir = enemyDir.LU;
                }
            }
        }
    }
Ejemplo n.º 4
0
    public void ChangeDirection(enemyDir Dir)
    {
        switch (Dir)
        {
        case enemyDir.StillDown: { Hand.SwapHand(enemyDir.Down); SpriteController.EnableSprites(enemyDir.Down); Movin = false;    break; }

        case enemyDir.StillL: { Hand.SwapHand(enemyDir.Left); SpriteController.EnableSprites(enemyDir.Left); Movin = false;    break; }

        case enemyDir.StillR: { Hand.SwapHand(enemyDir.Right); SpriteController.EnableSprites(enemyDir.Right); Movin = false;    break; }

        case enemyDir.StillUp: { Hand.SwapHand(enemyDir.Up); SpriteController.EnableSprites(enemyDir.Up); Movin = false;    break; }

        default: { Hand.SwapHand(Dir); SpriteController.EnableSprites(Dir); Movin = true; break; }
        }
    }
Ejemplo n.º 5
0
        public void SwapHand(enemyDir Direction)
        {
            switch (Direction)
            {
            case enemyDir.Left:   { _Hand = Hands[0];  break; }

            case enemyDir.Down:   { _Hand = Hands[1]; break; }

            case enemyDir.Up:     { _Hand = Hands[2]; break; }

            case enemyDir.Right:  { _Hand = Hands[0]; break; }
            }

            _Weapon.transform.SetParent(_Hand.transform);          //antaa uuden parent transformin
            _Weapon.transform.position = _Hand.transform.position; //siirtää aseen uuden käden sijaintiin
            WeaponSettings();                                      //antaa asekohtaiset asetukset mitä aseen scripteistä löytyy
        }
Ejemplo n.º 6
0
    public void SpriteDirection(enemyDir Dir)
    {
        switch (Dir)
        {
        case enemyDir.Right: { flip = true;     Rotation = 0; WolfAnimator.SetBool("Moving", true); break; }

        case enemyDir.Left:  { flip = false;    Rotation = 0; WolfAnimator.SetBool("Moving", true); break; }

        case enemyDir.LD:    { flip = false;    Rotation = 45; WolfAnimator.SetBool("Moving", true); break; }

        case enemyDir.LU:    { flip = false;    Rotation = -45; WolfAnimator.SetBool("Moving", true); break; }

        case enemyDir.RU:    { flip = true;     Rotation = 45; WolfAnimator.SetBool("Moving", true); break; }

        case enemyDir.RD:    { flip = true;     Rotation = -45; WolfAnimator.SetBool("Moving", true); break; }

        case enemyDir.StillR: { flip = true; WolfAnimator.SetBool("Moving", false); break; }

        case enemyDir.StillL: { flip = false; WolfAnimator.SetBool("Moving", false); break; }

        case enemyDir.StillRU: { flip = true; Rotation = 45; WolfAnimator.SetBool("Moving", false); break; }

        case enemyDir.StillRD: { flip = true; Rotation = -45; WolfAnimator.SetBool("Moving", false); break; }

        case enemyDir.StillLU: { flip = false; Rotation = -45; WolfAnimator.SetBool("Moving", false); break; }

        case enemyDir.StillLD: { flip = false; Rotation = 45; WolfAnimator.SetBool("Moving", false); break; }
        }
        if (flip == true)
        {
            transform.localScale = new Vector3(-scale, scale, 1);
        }
        else
        {
            transform.localScale = new Vector3(scale, scale, 1);
        }

        transform.localEulerAngles = new Vector3(0, 0, Rotation);
    }
Ejemplo n.º 7
0
 public SpriteChanger(List <GameObject> TorsoList)
 {
     LastDir = enemyDir.Right; Torsos = TorsoList;
 }
Ejemplo n.º 8
0
 // Use this for initialization
 public void init(EnemyType type)
 {
     MyType = type;
     myDir  = enemyDir.StillR;
 }
Ejemplo n.º 9
0
    void rotateToPlayer(Vector2 ownPos, Vector2 velocity)
    {
        Vector2 dir = playerPos - ownPos;

        if (MyType == EnemyType.Wolf || MyType == EnemyType.bear)
        {
            uptadeDir6(dir);
            if (velocity.magnitude == 0)
            {
                switch (myDir)
                {
                case enemyDir.Right:
                    myDir = enemyDir.StillR;
                    break;

                case enemyDir.Left:
                    myDir = enemyDir.StillL;
                    break;

                case enemyDir.RD:
                    myDir = enemyDir.StillRD;
                    break;

                case enemyDir.RU:
                    myDir = enemyDir.StillRU;
                    break;

                case enemyDir.LD:
                    myDir = enemyDir.StillLD;
                    break;

                case enemyDir.LU:
                    myDir = enemyDir.StillLU;
                    break;
                }
                //
            }
        }
        else
        {
            uptadeDir4(dir);
            if (velocity.magnitude == 0)
            {
                switch (myDir)
                {
                case enemyDir.Right:
                    myDir = enemyDir.StillR;
                    break;

                case enemyDir.Left:
                    myDir = enemyDir.StillL;
                    break;

                case enemyDir.Up:
                    myDir = enemyDir.StillUp;
                    break;

                case enemyDir.Down:
                    myDir = enemyDir.StillDown;
                    break;
                }
            }
            else
            {
            }
        }
    }