SetFrame() public method

public SetFrame ( string _name, int _index ) : void
_name string
_index int
return void
Example #1
0
    void OnFightingAct()
    {
        if (body.IsPlaying())
        {
            if (body.GetCurFrameIndex() == 2 && !hadCheckAttack)
            {
                hadCheckAttack = true;
                if (isHitFront)
                {
                    int damage = 0;
                    if (!isMightyHit)
                    {
                        damage = Random.Range(gInfo.strength / 12 - 3, gInfo.strength / 12 + 3);
                    }
                    else
                    {
                        damage = Random.Range(gInfo.strength / 12, gInfo.strength / 12 + 5);
                    }
                    if (transform.localScale.x > 0)
                    {
                        warCtrl.OnGenenralHitChecking(side, damage, WarSceneController.Direction.Left, (int)(hitDistance / locationStepX), locationX, locationY);
                    }
                    else
                    {
                        warCtrl.OnGenenralHitChecking(side, damage, WarSceneController.Direction.Right, (int)(hitDistance / locationStepX), locationX, locationY);
                    }
                }
                else
                {
                    int damage = Random.Range(gInfo.strength / 12 - 3, gInfo.strength / 12 + 3);
                    if (transform.localScale.x > 0)
                    {
                        warCtrl.OnGenenralHitChecking(side, damage, WarSceneController.Direction.Right, (int)(hitDistance / locationStepX), locationX, locationY);
                    }
                    else
                    {
                        warCtrl.OnGenenralHitChecking(side, damage, WarSceneController.Direction.Left, (int)(hitDistance / locationStepX), locationX, locationY);
                    }
                }
            }
        }
        else
        {
            hadCheckAttack = false;
            isFighting     = false;
            timeCoolDown   = (1 - gInfo.strength / 120f) / 2;

            head.SetFrame("Idle", 0);
            body.SetFrame("Idle", 0);
            horse.SetFrame("Idle", 0);
        }
    }
Example #2
0
    public void InitArmyInfo(ArmyInfo ai)
    {
        armyInfo          = ai;
        armyInfo.armyCtrl = GetComponent <ArmyController>();

        SetArmyKingFlag();

        if (armyInfo.cityTo != -1)
        {
            if (pathfinding == null)
            {
                pathfinding = GameObject.FindWithTag("Pathfinding").GetComponent <MyPathfinding>();
            }
            SetRoute(pathfinding.GetRoute(armyInfo.pos, armyInfo.cityTo));
        }

        state    = (ArmyState)armyInfo.state;
        timeTick = armyInfo.timeTick;

        if (state == ArmyState.Garrison)
        {
            exSprite          moveSprite = GetComponent <exSprite>();
            exSpriteAnimation moveAnim   = GetComponent <exSpriteAnimation>();
            moveAnim.Stop();

            int frame = armyInfo.direction;
            if (frame == -1)
            {
                frame = 0;
            }
            moveAnim.SetFrame("ArmyGarrison", frame);

            Vector3 pos = flagPos[3 + frame];
            if (!armyInfo.isFlipped)
            {
                pos.x = -pos.x;
            }
            else
            {
                isHFlipped = true;
                moveSprite.HFlip();

                exSprite    flagSprite = flagCtrl.GetComponent <exSprite>();
                BoxCollider flagCol    = flagCtrl.GetComponent <BoxCollider>();
                flagSprite.HFlip();
                flagCol.center = new Vector3(-flagCol.center.x, flagCol.center.y, flagCol.center.z);
            }

            flagCtrl.localPosition = pos;
        }
        else
        {
            CalcDirection();
        }
    }
Example #3
0
    public void SetGeneral(int gIdx, bool isFail)
    {
        GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx);

        head.SetGeneralHead(gIdx);
        head.transform.GetChild(0).localScale = new Vector3(1, 1, 1);
        if (isFail)
        {
            head.transform.GetChild(0).GetComponent <exSprite>().color = new Color(0.25f, 0.25f, 0.25f, 1);
        }

        generalName.text = ZhongWen.Instance.GetGeneralName(gIdx);

        health.text  = gInfo.healthCur + "";
        mana.text    = gInfo.manaCur + "";
        soldier.text = (gInfo.soldierCur + gInfo.knightCur) + "";

        int idx = Misc.GetArmsIdx(gInfo.armsCur);

        arms.SetFrame(arms.GetCurrentAnimation().name, idx);
    }
Example #4
0
    public void SetArmyGarrison()
    {
        state = ArmyState.Garrison;

        if (animName != "")
        {
            exSpriteAnimation moveAnim = GetComponent <exSpriteAnimation>();
            moveAnim.Stop();

            int frame = -1;

            if (animName == animNames[0] || animName == animNames[3] || animName == animNames[6])
            {
                frame = 0;
            }
            else if (animName == animNames[1] || animName == animNames[4] || animName == animNames[7])
            {
                frame = 1;
            }
            else if (animName == animNames[2] || animName == animNames[5] || animName == animNames[8])
            {
                frame = 2;
            }

            moveAnim.SetFrame("ArmyGarrison", frame);

            Vector3 pos = flagPos[3 + frame];

            if (!isHFlipped)
            {
                pos.x = -pos.x;
            }
            flagCtrl.localPosition = pos;

            animName = "";
        }
    }
Example #5
0
    void OnDyingHandler()
    {
        float upSpeed   = 10;
        float bodySpeed = 60;

        if (transform.localScale.x < 0)
        {
            bodySpeed = -bodySpeed;
        }

        switch (dieBodyStep)
        {
        case 0:
            timeTick += Time.deltaTime;
            if (timeTick < 0.2f)
            {
                transform.localPosition = new Vector3(transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                      transform.localPosition.y,
                                                      transform.localPosition.z - Mathf.Lerp(upSpeed, 0, timeTick * 5) * Time.deltaTime);
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 1;
            }
            break;

        case 1:
            timeTick += Time.deltaTime;
            if (timeTick < 0.2f)
            {
                transform.localPosition = new Vector3(transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                      transform.localPosition.y,
                                                      transform.localPosition.z + Mathf.Lerp(0, upSpeed * 2, timeTick * 5) * Time.deltaTime);
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 2;
            }
            break;

        case 2:
            timeTick += Time.deltaTime;
            if (timeTick < 0.2f)
            {
                transform.localPosition = new Vector3(transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                      transform.localPosition.y,
                                                      transform.localPosition.z + upSpeed * 6 * Time.deltaTime);
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 3;

                anim.SetFrame("Dead", 1);
                if (isOnFire)
                {
                    fireAnim.SetFrame(fireAnim.defaultAnimation.name, 1);
                }
            }
            break;

        case 3:
            timeTick += Time.deltaTime;
            if (timeTick < 0.2f)
            {
                transform.localPosition = new Vector3(transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                      transform.localPosition.y,
                                                      transform.localPosition.z - Mathf.Lerp(upSpeed, 0, timeTick * 5) * Time.deltaTime);
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 4;
            }
            break;

        case 4:
            timeTick += Time.deltaTime;
            if (timeTick < 0.2f)
            {
                transform.localPosition = new Vector3(transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                      transform.localPosition.y,
                                                      transform.localPosition.z + Mathf.Lerp(0, upSpeed * 4, timeTick * 5) * Time.deltaTime);
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 5;

                anim.SetFrame("Dead", 2);
                if (isOnFire)
                {
                    fireAnim.SetFrame(fireAnim.defaultAnimation.name, 2);
                }
            }
            break;

        case 5:
            timeTick += Time.deltaTime;
            if (timeTick < 0.1f)
            {
                transform.localPosition = new Vector3(transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                      transform.localPosition.y,
                                                      transform.localPosition.z - Mathf.Lerp(upSpeed, 0, timeTick * 10) * Time.deltaTime);
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 6;
            }
            break;

        case 6:
            timeTick += Time.deltaTime;
            if (timeTick < 0.1f)
            {
                transform.localPosition = new Vector3(transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                      transform.localPosition.y,
                                                      transform.localPosition.z + Mathf.Lerp(0, upSpeed * 4, timeTick * 10) * Time.deltaTime);
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 7;
            }
            break;

        case 7:
            timeTick += Time.deltaTime;
            if (timeTick < 1f)
            {
                sprite.color = new Color(1, 1, 1, 1 - timeTick);
                if (isOnFire)
                {
                    fireAnim.gameObject.GetComponent <exSprite>().color = new Color(1, 1, 1, 1 - timeTick);
                }
            }
            else
            {
                timeTick    = 0;
                dieBodyStep = 8;
                Destroy(gameObject);
            }
            break;
        }
    }
Example #6
0
    void OnDyingHandler()
    {
        float upSpeed = 80;

        float horseSpeed  = runSpeed;
        float weaponSpeed = 80;
        float bodySpeed   = 60;

        if (side == WarSceneController.WhichSide.Left)
        {
            horseSpeed = -runSpeed;
        }

        horse.transform.localPosition = new Vector3(horse.transform.localPosition.x + horseSpeed * Time.deltaTime,
                                                    horse.transform.localPosition.y, horse.transform.localPosition.z);

        switch (dieWeaponStep)
        {
        case 0:
            dieTimeTick1 += Time.deltaTime;
            if (dieTimeTick1 < 0.5f)
            {
                weapon.transform.localPosition = new Vector3(weapon.transform.localPosition.x + weaponSpeed * Time.deltaTime,
                                                             weapon.transform.localPosition.y + upSpeed * 2 * Time.deltaTime, weapon.transform.localPosition.z);
            }
            else
            {
                dieTimeTick1  = 0;
                dieWeaponStep = 1;
            }
            break;

        case 1:
            dieTimeTick1 += Time.deltaTime;
            if (dieTimeTick1 < 0.5f)
            {
                weapon.transform.localPosition = new Vector3(weapon.transform.localPosition.x + weaponSpeed * Time.deltaTime,
                                                             weapon.transform.localPosition.y + Mathf.Lerp(upSpeed * 2, 0, dieTimeTick1 * 2) * Time.deltaTime, weapon.transform.localPosition.z);
            }
            else
            {
                dieTimeTick1  = 0;
                dieWeaponStep = 2;
            }
            break;

        case 2:
            dieTimeTick1 += Time.deltaTime;
            if (dieTimeTick1 < 0.5f)
            {
                weapon.transform.localPosition = new Vector3(weapon.transform.localPosition.x + weaponSpeed * Time.deltaTime,
                                                             weapon.transform.localPosition.y - Mathf.Lerp(0, upSpeed * 2, dieTimeTick1 * 2) * Time.deltaTime, weapon.transform.localPosition.z);
            }
            else
            {
                dieTimeTick1  = 0;
                dieWeaponStep = 3;
            }
            break;

        case 3:
            dieTimeTick1 += Time.deltaTime;
            if (dieTimeTick1 < 0.5f)
            {
                weapon.transform.localPosition = new Vector3(weapon.transform.localPosition.x + weaponSpeed * Time.deltaTime,
                                                             weapon.transform.localPosition.y - upSpeed * Time.deltaTime, weapon.transform.localPosition.z);
                weapon.GetComponent <exSprite>().color = new Color(1, 1, 1, 1 - dieTimeTick1 * 2);
            }
            else
            {
                dieTimeTick1  = 0;
                dieWeaponStep = 5;
            }
            break;
        }

        switch (dieBodyStep)
        {
        case 0:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 0.25f)
            {
                head.transform.localPosition = new Vector3(head.transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                           head.transform.localPosition.y + Mathf.Lerp(upSpeed, 0, dieTimeTick2 * 4) * Time.deltaTime, head.transform.localPosition.z);
                body.transform.localPosition = head.transform.localPosition;
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 1;
            }
            break;

        case 1:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 0.25f)
            {
                head.transform.localPosition = new Vector3(head.transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                           head.transform.localPosition.y - Mathf.Lerp(0, upSpeed, dieTimeTick2 * 4) * Time.deltaTime, head.transform.localPosition.z);
                body.transform.localPosition = head.transform.localPosition;
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 2;
            }
            break;

        case 2:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 0.5f)
            {
                head.transform.localPosition = new Vector3(head.transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                           head.transform.localPosition.y - upSpeed * Time.deltaTime, head.transform.localPosition.z);
                body.transform.localPosition = head.transform.localPosition;
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 3;

                head.SetFrame("Dead", 1);
                body.SetFrame("Dead", 1);
            }
            break;

        case 3:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 0.2f)
            {
                head.transform.localPosition = new Vector3(head.transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                           head.transform.localPosition.y + Mathf.Lerp(upSpeed, 0, dieTimeTick2 * 5) * Time.deltaTime, head.transform.localPosition.z);
                body.transform.localPosition = head.transform.localPosition;
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 4;
            }
            break;

        case 4:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 0.2f)
            {
                head.transform.localPosition = new Vector3(head.transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                           head.transform.localPosition.y - Mathf.Lerp(0, upSpeed, dieTimeTick2 * 5) * Time.deltaTime, head.transform.localPosition.z);
                body.transform.localPosition = head.transform.localPosition;
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 5;

                head.SetFrame("Dead", 2);
                body.SetFrame("Dead", 2);
            }
            break;

        case 5:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 0.1f)
            {
                head.transform.localPosition = new Vector3(head.transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                           head.transform.localPosition.y + Mathf.Lerp(upSpeed, 0, dieTimeTick2 * 10) * Time.deltaTime, head.transform.localPosition.z);
                body.transform.localPosition = head.transform.localPosition;
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 6;
            }
            break;

        case 6:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 0.1f)
            {
                head.transform.localPosition = new Vector3(head.transform.localPosition.x + bodySpeed * Time.deltaTime,
                                                           head.transform.localPosition.y - Mathf.Lerp(0, upSpeed, dieTimeTick2 * 10) * Time.deltaTime, head.transform.localPosition.z);
                body.transform.localPosition = head.transform.localPosition;
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 7;
            }
            break;

        case 7:
            dieTimeTick2 += Time.deltaTime;
            if (dieTimeTick2 < 1f)
            {
                head.GetComponent <exSprite>().color = new Color(1, 1, 1, 1 - dieTimeTick2);
                body.GetComponent <exSprite>().color = new Color(1, 1, 1, 1 - dieTimeTick2);
            }
            else
            {
                dieTimeTick2 = 0;
                dieBodyStep  = 8;
                warCtrl.OnWarResult(side, false);
            }
            break;
        }
    }