public override void Enter() { //if(isFacingToPlayer) enemy.FaceToPlayer(); base.Enter(); }
public override void Enter() { base.Enter(); enemy.FaceToPlayer(); combatData.isParryDamage = false; }
public IEnumerator BattleBegin() { // set playerCanMove false: use converseState enemy.refPlayer.stateMachine.SwitchState(enemy.refPlayer.converseState); enemy.refPlayer.FaceTo(enemy.aliveGO.transform.position); // enemy.npc.npcConversationHandler.gameObject.SetActive(true); // enemy.npc.npcConversationHandler.InfoSignAnim.gameObject.SetActive(false); // enemy.npc.npcConversationHandler.selectionBox.gameObject.SetActive(false); // start conversation yield return(new WaitForSeconds(battleBeginDelay)); NPCEventHandler npcEventHandler = enemy.npc.GetComponentInChildren <NPCEventHandler>(); enemy.refPlayer.SetNPCEventHandler(npcEventHandler); enemy.npc.npcConversationHandler.gameObject.SetActive(true); npcEventHandler.OnNPCInteraction(); yield return(new WaitForEndOfFrame()); enemy.npc.npcConversationHandler.ResetTotalTime(); //npcEventHandler.OnNPCInteraction(); yield return(new WaitWhile(() => npcEventHandler.IsInteraction)); enemy.npc.gameObject.SetActive(false); enemy.refPlayer.stateMachine.SwitchState(enemy.refPlayer.cinemaState); enemy.refPlayer.SetNPCEventHandler(null); // end conversation // yield return new WaitForSeconds(battleBeginDelay); var gm = GameObject.Find("GameManager").GetComponent <GameManager>(); enemy.anim.SetBool("isBattleBegin", true); yield return(new WaitUntil(() => isBattleBegin)); // set player position // play ui fade in yield return(new WaitForSeconds(gm.uiHandler.uiEffectHandler.OnPlayUIEffect(UIEffect.Transition_CrossFade, UIEffectAnimationClip.start))); Vector3 goyePos = enemy.transform.Find("Combat Field/Goye Position").position; Vector3 playerPos = enemy.transform.Find("Combat Field/Player Position").position; enemy.refPlayer.SetPosition(playerPos); // set goye position enemy.objectToAlive.transform.position = goyePos; enemy.FaceToPlayer(); // play ui fade out yield return(new WaitForSeconds(gm.uiHandler.uiEffectHandler.OnPlayUIEffect(UIEffect.Transition_CrossFade, UIEffectAnimationClip.end))); // set goye rigidbodytype2d to dynamic enemy.rb.bodyType = RigidbodyType2D.Dynamic; stateMachine.SwitchState(enemy.runState); enemy.refPlayer.stateMachine.SwitchState(enemy.refPlayer.idleState); }
public override void LogicUpdate() { base.LogicUpdate(); enemy.FaceToPlayer(false); DoChecks(); if (defenceTimer < 0) { enemy.anim.SetBool("isDefence", false); isCounterAttack = false; } else if (detectPlayerInMeleeRange) { if (enemy.refPlayer.stateMachine.currentState == enemy.refPlayer.attackState) { stateMachine.SwitchState(enemy.parryState); } else if (enemy.meleeAttackState.CanAction()) { stateMachine.SwitchState(enemy.meleeAttackState); } else { SetIsDefenceForward(false); } } else { SetIsDefenceForward(true); } /* * else if(detectPlayerInMaxAgro && !detectPlayerInMinAgro) * { * if (enemy.chargeState.CanAction()) * { * stateMachine.SwitchState(enemy.chargeState); * } * else * { * SetIsDefenceForward(true); * } * } */ }