// Update is called once per frame void Update() { if (anim.IsPlaying()) { if (anim.GetCurFrameIndex() < 3) { if (isWithFire) { fire.localPosition = firePos[anim.GetCurFrameIndex()]; } } else { if (!isArrowOut) { isArrowOut = true; archerCtrl.ShowArrowUp(index); if (isWithFire) { fire.gameObject.SetActive(false); } SoundController.Instance.PlaySound("00001"); } } } }
void CalcVictoryFlagPos() { if (state != ArmyState.Victory) { return; } int flag = 0; exSpriteAnimation moveAnim = GetComponent <exSpriteAnimation>(); int frame = moveAnim.GetCurFrameIndex(); if (animName == animNames[6]) { flag = 0; } else if (animName == animNames[7]) { flag = 1; } else if (animName == animNames[8]) { flag = 2; } Vector3 pos = flagPos[flag * 3 + 9 + frame]; if (!isHFlipped) { pos.x = -pos.x; } flagCtrl.localPosition = pos; }
void OnMagicHandle() { if (isMagicArrow && body.GetCurFrameIndex() >= 2) { isMagicArrow = false; MagicController.Instance.OnArrowOut(); } magicTime -= Time.deltaTime; if (magicTime <= 0) { magicTime = 0; if (isMagicArrow) { isMagicArrow = false; MagicController.Instance.OnArrowOut(); } OnMagicReturn(); } }
void OnFightingAct() { if (anim.IsPlaying()) { if (anim.GetCurFrameIndex() == 2 && !hadCheckAttack) { hadCheckAttack = true; if (soliderType == 3 || soliderType == 4 || soliderType == 5) { WarSceneController.Direction dir = WarSceneController.Direction.Left; if (transform.localScale.x < 0) { dir = WarSceneController.Direction.Right; } rwCrt.SetRangedWeapon(side, dir, soliderType, transform.localPosition); } else { if (transform.localScale.x < 0) { if (warCtrl.OnSoliderHitChecking(side, soliderType, WarSceneController.Direction.Right, hitDistance1, locationX, locationY)) { targetEnemy = null; } } else { if (warCtrl.OnSoliderHitChecking(side, soliderType, WarSceneController.Direction.Left, hitDistance1, locationX, locationY)) { targetEnemy = null; } } } } } else { hadCheckAttack = false; isFighting = false; timeCoolDownTick = timeCoolDown; anim.Play("Idle"); } }