public override void OnEnter() { // Get the target of the animation TargetGameObject = Fsm.GetOwnerDefaultTarget(gameObject); // If there is no target if (TargetGameObject == null && AnimationName != null) { Finish(); return; } exanimation = TargetGameObject.GetComponent<exSpriteAnimation>(); exsprite = TargetGameObject.GetComponent<exSprite>(); exsprite.trimTexture = trimTexture.Value; exsprite.useTextureOffset = useTextureOffset.Value; if (color.Value != Color.white) { exsprite.color = color.Value; }else { exsprite.color = exsprite.color; } exsprite.enabled = true; exanimation.Stop(); exanimation.Play(AnimationName.Value); }
public void PlayAnimation(string AnimationName) { try { if (!Animations.IsPlaying(AnimationName)) { Animations.Play(AnimationName); CurrentAnimation = AnimationName; } } catch (System.Exception ex) { Debug.Log("Animation " + AnimationName + " doesn't exist: " + ex.ToString()); } }
// Animation only public void PlayDownAnim() { anim.Play("TapboxTapAnim"); //anim.Play("TapboxDownAnim"); }
public void PlaySelectAnim() { anim.Play("Feedback_Star_Select_Anim"); }
public void playAnimation(string pAnimationName) { m_animationNameList.Clear(); m_animation.Play(pAnimationName); }
// Update is called once per frame void Update() { if (WarSceneController.isGamePause) { return; } if (WarSceneController.state == WarSceneController.State.Beginning || WarSceneController.state == WarSceneController.State.Menu || WarSceneController.state == WarSceneController.State.End || WarSceneController.state == WarSceneController.State.Assault) { return; } if (state == State.Dead) { OnDyingHandler(); return; } if (isMagicLock) { timeCoolDownTick -= Time.deltaTime; if (timeCoolDownTick <= 0) { isMagicLock = false; timeCoolDownTick = 0; anim.Resume(); } return; } if (isParrying) { OnParryHandler(); } if (isFighting) { OnFightingAct(); return; } if (timeCoolDownTick > 0) { timeCoolDownTick -= Time.deltaTime; if (timeCoolDownTick <= 0) { timeCoolDownTick = 0; } else { return; } } if (isFighting || isParrying) { return; } switch (state) { case State.Idle: { if (!anim.IsPlaying("Idle")) { anim.Play("Idle"); } if (CheckCanFight()) { return; } RangeSolidersFightCheck(); } break; case State.Running: { if (!anim.IsPlaying("Run")) { anim.Play("Run"); } if (WarSceneController.state == WarSceneController.State.Dead) { SetRandomRun(transform.localPosition, false); return; } if (targetEnemy != null && ((side == WarSceneController.WhichSide.Left && transform.localPosition.x - targetEnemy.localPosition.x > -100) || side == WarSceneController.WhichSide.Right && transform.localPosition.x - targetEnemy.localPosition.x < 100)) { Vector3 posBK = transform.localPosition; Vector3 targetPos = Vector3.zero; if (transform.localPosition.x > targetEnemy.localPosition.x) { targetPos = new Vector3(targetEnemy.localPosition.x + hitDistance - locationStepX, targetEnemy.localPosition.y, targetEnemy.localPosition.z); } else { targetPos = new Vector3(targetEnemy.localPosition.x - hitDistance + locationStepX, targetEnemy.localPosition.y, targetEnemy.localPosition.z); } int x = (int)((targetPos.x + manPosMaxX) / locationStepX); int y = (int)((targetPos.y + manPosMaxY) / locationStepY); if (warCtrl.GetLocationFlag(x, y) != 0 && warCtrl.GetLocationFlag(x, y) != index) { SetRandomRun(targetPos, false); return; } transform.localPosition = Vector3.MoveTowards(transform.localPosition, targetPos, runSpeed * Time.deltaTime); if ((transform.localPosition.x > posBK.x && transform.localScale.x > 0) || (transform.localPosition.x < posBK.x && transform.localScale.x < 0)) { transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z); } if (transform.localPosition == targetPos) { if (isEnemyGeneral == false || (side == WarSceneController.WhichSide.Left && (transform.localPosition.x > targetEnemy.localPosition.x || (transform.localPosition.x < targetEnemy.localPosition.x && Vector3.Distance(warCtrl.leftGeneral.transform.localPosition, warCtrl.rightGeneral.transform.localPosition) > 200))) || (side == WarSceneController.WhichSide.Right && (transform.localPosition.x < targetEnemy.localPosition.x || (transform.localPosition.x > targetEnemy.localPosition.x && Vector3.Distance(warCtrl.leftGeneral.transform.localPosition, warCtrl.rightGeneral.transform.localPosition) > 200)))) { CheckCanFight(); } else { SetRandomRun(targetPos, false); } } } else { Vector3 pos = transform.localPosition; if (side == WarSceneController.WhichSide.Left) { pos = new Vector3(pos.x + runSpeed * Time.deltaTime, pos.y, pos.z); if (transform.localScale.x > 0) { transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z); } } else { pos = new Vector3(pos.x - runSpeed * Time.deltaTime, pos.y, pos.z); if (transform.localScale.x < 0) { transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z); } } pos.x = Mathf.Clamp(pos.x, -WarSceneController.manPosMaxX + 100, WarSceneController.manPosMaxX - 100); transform.localPosition = pos; } RangeSolidersFightCheck(); } break; case State.RandomRun: { if (!anim.IsPlaying("Run")) { anim.Play("Run"); } transform.localPosition = Vector3.MoveTowards(transform.localPosition, targetPosition, runSpeed * Time.deltaTime); if (transform.localPosition == targetPosition) { if (!isOnRandomRun) { SetRun(); } else { SetRandomRun(randomRunPos, true); } } } break; case State.MovingBack: { if (!anim.IsPlaying("Run")) { anim.Play("Run"); } Vector3 pos = transform.localPosition; if (side == WarSceneController.WhichSide.Left) { pos = new Vector3(pos.x - runSpeed * Time.deltaTime, pos.y, pos.z); } else { pos = new Vector3(pos.x + runSpeed * Time.deltaTime, pos.y, pos.z); } pos.x = Mathf.Clamp(pos.x, -WarSceneController.manPosMaxX + 100, WarSceneController.manPosMaxX - 100); transform.localPosition = pos; } break; case State.Escape: if (!anim.IsPlaying("Run")) { anim.Play("Run"); } if (side == WarSceneController.WhichSide.Left) { transform.localPosition = new Vector3(transform.localPosition.x - runSpeed * Time.deltaTime, transform.localPosition.y, transform.localPosition.z); if (transform.localPosition.x <= -WarSceneController.manPosMaxX + WarSceneController.locationStepX) { Destroy(gameObject); Destroy(mapPoint.gameObject); } else if (transform.localPosition.x <= -WarSceneController.manPosMaxX + 100) { float transparent = (transform.localPosition.x + WarSceneController.manPosMaxX) / 100f; anim.GetComponent <exSprite>().color = new Color(1, 1, 1, transparent); } } else { transform.localPosition = new Vector3(transform.localPosition.x + runSpeed * Time.deltaTime, transform.localPosition.y, transform.localPosition.z); if (transform.localPosition.x >= WarSceneController.manPosMaxX - WarSceneController.locationStepX) { Destroy(gameObject); Destroy(mapPoint.gameObject); } else if (transform.localPosition.x >= WarSceneController.manPosMaxX - 100) { float transparent = (WarSceneController.manPosMaxX - transform.localPosition.x) / 100f; anim.GetComponent <exSprite>().color = new Color(1, 1, 1, transparent); } } break; } CheckLocationState(); }
// Animation only public void PlayHitAnim() { anim.Play("NotesHitAnim"); }
void OnIdleHandle() { if (!head.IsPlaying("Idle")) { head.Play("Idle"); body.Play("Idle"); horse.Play("Idle"); } if (WarSceneController.state == WarSceneController.State.Running) { if (side == WarSceneController.WhichSide.Left) { timeTick += Time.deltaTime; if (timeTick >= leftGeneralIdleTime) { timeTick = 0; if (!armyAssaultFlag) { armyAssaultFlag = true; GeneralInfo rGCtrl = Informations.Instance.GetGeneralInfo(WarSceneController.rightGeneralIdx); if (gInfo.healthCur < 20 && gInfo.soldierCur + gInfo.knightCur < 10 && (rGCtrl.healthCur > 50 || rGCtrl.soldierCur + rGCtrl.knightCur > 10) && warCtrl.rightGeneral.GetState() != State.Escape) { warCtrl.SetArmyEscape(WarSceneController.WhichSide.Left); return; } leftGeneralIdleTime = Random.Range(2, 10); if (gInfo.soldierCur + gInfo.knightCur > 0) { warCtrl.SetArmyAssault(WarSceneController.WhichSide.Left); } } else { SetRun(); } } } } }
void CalcDirection() { if (route == null || route.Count == 0) { return; } Vector3 target = route[0]; Vector3 targetDir = target - transform.position; Vector3 forward = Vector3.right; float angle = Vector3.Angle(targetDir, forward); int flag = 0; if (angle <= 30) { flag = 0; } else if (angle > 150) { flag = 1; } else if (angle > 30 && angle <= 90) { if (target.y >= transform.position.y) { flag = 2; } else { flag = 4; } } else if (angle > 90 && angle <= 150) { if (target.y > transform.position.y) { flag = 3; } else { flag = 5; } } exSprite moveSprite = GetComponent <exSprite>(); exSpriteAnimation moveAnim = GetComponent <exSpriteAnimation>(); exSprite flagSprite = flagCtrl.GetComponent <exSprite>(); BoxCollider flagCol = flagCtrl.GetComponent <BoxCollider>(); if (flag % 2 == 0) { if (!isHFlipped) { isHFlipped = true; moveSprite.HFlip(); flagSprite.HFlip(); flagCol.center = new Vector3(-flagCol.center.x, flagCol.center.y, flagCol.center.z); } } else { if (isHFlipped) { isHFlipped = false; moveSprite.HFlip(); flagSprite.HFlip(); flagCol.center = new Vector3(-flagCol.center.x, flagCol.center.y, flagCol.center.z); } } Vector3 pos = Vector3.zero; flag /= 2; switch (state) { case ArmyState.Running: animName = animNames[flag]; pos = flagPos[flag]; break; case ArmyState.Escape: animName = animNames[flag + 3]; pos = flagPos[flag + 6]; break; case ArmyState.Victory: animName = animNames[flag + 6]; pos = flagPos[flag * 3 + 9]; break; } if (!moveAnim.IsPlaying(animName)) { moveAnim.Play(animName); } if (!isHFlipped) { pos.x = -pos.x; } flagCtrl.localPosition = pos; }
public void playAnimation(string pAnimationName) { m_animation.Play(pAnimationName); }