public void MakeFSM() { IdleState idle = new IdleState(); idle.AddTransition(Transition.SawPlayer, StateID.AttackingState); idle.AddTransition(Transition.LostPlayer, StateID.MovingState); MoveState move = new MoveState(); move.AddTransition(Transition.SawPlayer, StateID.AttackingState); AttackState attack = new AttackState(); attack.AddTransition(Transition.LostPlayer, StateID.MovingState); attack.AddTransition(Transition.IdleTransition, StateID.IdleStateID); DefendState defend = new DefendState(); EvadeState evade = new EvadeState(); WinState win = new WinState(); DeathState death = new DeathState(); fsm = new FSMSystem(); fsm.AddState(move); fsm.AddState(attack); fsm.AddState(idle); fsm.AddState(defend); fsm.AddState(evade); fsm.AddState(win); fsm.AddState(death); }
public void OnStartDefending(DefendState defendState) { // Code here for when the defend state begins // Use defendState.defensiveBonus to get the defensive bonus value fsm.SetDamageMultiplier(defendState.defensiveBonus); Debug.Log("Defending, now damage multiplier is " + defendState.defensiveBonus); }
private void Awake() { idleState = new IdleState(this); moveState = new MoveState(this); attackState = new AttackState(this); castState = new CastState(this); fleeState = new FleeState(this); defendState = new DefendState(this); anim = GetComponent <Animator>(); walkSpeed = 1.0f; navMeshAgent = GetComponent <NavMeshAgent>(); navSpeedDefault = navMeshAgent.speed; eyes = transform.FindChild("Eyes"); sightCollider = GetComponent <SphereCollider>(); tm = GameObject.FindWithTag("TeamManager").GetComponent <TeamManager>(); ah = GameObject.FindWithTag("AbilityHelper").GetComponent <AbilityHelper>(); //this is a mess. These are "shared" variables between co-op ai and player script player = GetComponent <Player>(); animController = player.animController; abilities = player.abilities; attributes = player.attributes; watchedEnemies = player.watchedEnemies; visibleEnemies = player.visibleEnemies; }
private void Awake() { if (null == Instance) { Instance = this; } else if (this != Instance) { Destroy(this); } }
void Awake() { isFlip = false; charcter_state[0] = new IdelState(gameObject); //默认状态 charcter_state[1] = new WalkState(gameObject); //行走状态 charcter_state[2] = new AttackState(gameObject); //攻击状态 charcter_state[3] = new DefendState(gameObject); //防御状态 CurrentState = new State(gameObject); CurrentState = charcter_state[0]; DataInit(); UiInit(); }
// Use this for initialization void Start() { // Suppose this could be set with a public enum variable teamTag_ = gameObject.tag; // Gain Access to the world manager script worldManager_ = worldManager_.GetComponent <WorldManager>(); teamFlagCaptured_ = false; enemeyFlagCaptured_ = false; rend = GetComponent <Renderer>(); if (teamTag_ == "BlueTeam") { team_ = Team.Blue; rend.material.color = Color.blue; } else { team_ = Team.Red; rend.material.color = Color.red; } moveSpeed = 7.5f; isAlive = true; didRespawn = false; respawnPos = gameObject.transform.position; isCapturing = false; enemyUnitTarget_ = null; bulletLine = GetComponent <LineRenderer>(); captureState_ = this.GetComponent <CaptureState>(); defendState_ = this.GetComponent <DefendState>(); captureState_.enabled = false; defendState_.enabled = false; startNode = getClosestNode(); IDXcounter_ = 0; hasFlag = false; }
void MakeFSM() { m_fsm = new FiniteStateMachine <VFCharacter, RoleState>(this); m_attack1State = new Attack1State(); m_fsm.RegisterState(m_attack1State); m_attack2State = new Attack2State(); m_fsm.RegisterState(m_attack2State); m_attack3State = new Attack3State(); m_fsm.RegisterState(m_attack3State); m_battleWalkBackwardState = new BattleWalkBackwardState(); m_fsm.RegisterState(m_battleWalkBackwardState); m_battleWalkForwardState = new BattleWalkForwardState(); m_fsm.RegisterState(m_battleWalkForwardState); m_battleWalkLeftState = new BattleWalkLeftState(); m_fsm.RegisterState(m_battleWalkLeftState); m_battleWalkRightState = new BattleWalkRightState(); m_fsm.RegisterState(m_battleWalkRightState); m_defineState = new DefendState(); m_fsm.RegisterState(m_defineState); m_dieState = new DieState(); m_fsm.RegisterState(m_dieState); m_hitState = new HitState(); m_fsm.RegisterState(m_hitState); m_idleState = new IdleState(); m_fsm.RegisterState(m_idleState); m_jumpState = new JumpState(); m_fsm.RegisterState(m_jumpState); m_runState = new RunState(); m_fsm.RegisterState(m_runState); m_walkState = new WalkState(); m_fsm.RegisterState(m_walkState); m_tauntState = new TauntState(); m_fsm.RegisterState(m_tauntState); m_fsm.ChangeState(RoleState.idle02); }
private void ConstructFSM() { IdleState idle = new IdleState(); idle.AddTransition(FSMTransitionType.CanBeMove, FSMStateType.Move); idle.AddTransition(FSMTransitionType.AttackWithSingleWield, FSMStateType.SingleWieldAttack); idle.AddTransition(FSMTransitionType.AttackWithDoubleHands, FSMStateType.DoubleHandsAttack); idle.AddTransition(FSMTransitionType.UsingRipple, FSMStateType.RippleAttack); idle.AddTransition(FSMTransitionType.UsingHeartAttack, FSMStateType.HeartAttack); idle.AddTransition(FSMTransitionType.UsingStygianDesolator, FSMStateType.StygianDesolator); idle.AddTransition(FSMTransitionType.UsingIceArrow, FSMStateType.IceArrow); idle.AddTransition(FSMTransitionType.UsingChoshimArrow, FSMStateType.ChoshimArrow); idle.AddTransition(FSMTransitionType.CanPickUp, FSMStateType.PickUp); idle.AddTransition(FSMTransitionType.UsingThunderBolt, FSMStateType.ThunderBolt); idle.AddTransition(FSMTransitionType.AttackWithSpear, FSMStateType.SpearAttack); idle.AddTransition(FSMTransitionType.CanDefend, FSMStateType.Defend); idle.AddTransition(FSMTransitionType.Falling, FSMStateType.Fall); MoveState move = new MoveState(); move.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); move.AddTransition(FSMTransitionType.AttackWithSingleWield, FSMStateType.SingleWieldAttack); move.AddTransition(FSMTransitionType.AttackWithDoubleHands, FSMStateType.DoubleHandsAttack); move.AddTransition(FSMTransitionType.AttackWithSpear, FSMStateType.SpearAttack); DefendState defend = new DefendState(); defend.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); SingleWieldAttackState singleWieldAttack = new SingleWieldAttackState(); singleWieldAttack.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); singleWieldAttack.AddTransition(FSMTransitionType.AttackWithSingleWield, FSMStateType.SingleWieldAttack); singleWieldAttack.AddTransition(FSMTransitionType.CanBeMove, FSMStateType.Move); DoubleHandsAttackState dualWieldAttack = new DoubleHandsAttackState(); dualWieldAttack.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); dualWieldAttack.AddTransition(FSMTransitionType.AttackWithDoubleHands, FSMStateType.DoubleHandsAttack); dualWieldAttack.AddTransition(FSMTransitionType.CanBeMove, FSMStateType.Move); SpearAttackState spearAttack = new SpearAttackState(); spearAttack.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); spearAttack.AddTransition(FSMTransitionType.CanBeMove, FSMStateType.Move); RippleAttackState rippleAttack = new RippleAttackState(); rippleAttack.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); HeartAttackState heartAttack = new HeartAttackState(); heartAttack.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); StygianDesolatorState stygianDesolator = new StygianDesolatorState(); stygianDesolator.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); IceArrowState iceArrow = new IceArrowState(); iceArrow.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); ChoshimArrowState choshimArrow = new ChoshimArrowState(); choshimArrow.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); ThunderBoltState thunderBolt = new ThunderBoltState(); thunderBolt.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); PickUpState pickUp = new PickUpState(); pickUp.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); FallState fall = new FallState(); fall.AddTransition(FSMTransitionType.IsIdle, FSMStateType.Idle); AddFSMState(idle); AddFSMState(move); AddFSMState(defend); AddFSMState(singleWieldAttack); AddFSMState(dualWieldAttack); AddFSMState(rippleAttack); AddFSMState(heartAttack); AddFSMState(stygianDesolator); AddFSMState(iceArrow); AddFSMState(choshimArrow); AddFSMState(thunderBolt); AddFSMState(pickUp); AddFSMState(spearAttack); AddFSMState(fall); }
public void OnStopDefending(DefendState defendState) { // Code here for when the defend state ends }
public void OnStartDefending(DefendState defendState) { // Code here for when the defend state begins // Use defendState.defensiveBonus to get the defensive bonus value }
public void OnStartDefending(DefendState defendState) { Debug.Log("Start Defending"); GetComponent <AIBehaviors>().SetDamageMultiplier(defendState.defensiveBonus); }
public void OnStopDefending(DefendState defendState) { Debug.Log("Stop Defending"); GetComponent <AIBehaviors>().SetDamageMultiplier(1.0f); }
public void OnStopDefending(DefendState defendState) { // Code here for when the defend state ends fsm.SetDamageMultiplier(1.0f); Debug.Log("Stop defending, now damage multiplier is 1"); }
public void OnStopDefending(DefendState defendState) { // Code here for when the defend state ends }
public void OnStartDefending(DefendState defendState) { // Code here for when the defend state begins // Use defendState.defensiveBonus to get the defensive bonus value }