public override void ArriveAtMoveTarget() { m_player.m_toSkillInstance = ShootHelper.ShootByArea(m_player, m_match); m_player.m_bForceShoot = true; m_bBeginShoot = true; }
public override void OnEnter(AIState lastState) { base.OnEnter(lastState); m_player.m_toSkillInstance = ShootHelper.ShootByArea(m_player, m_match); m_player.m_bForceShoot = true; }
public override void Play(ShootHelper user) { AudioHandler audioHandler = user.shooter.GetComponent <AudioHandler>(); audioHandler.PlaySound("Shield"); Ray shieldDirection = user.GetOffsetRay(); ShotObject shotBullet = Instantiate(m_shieldPrefab, shieldDirection.origin + user.m_bulletSpawnPoint.rotation * m_shieldPositionOffset, Quaternion.LookRotation(shieldDirection.direction)); shotBullet.shooter = user.shooter; shotBullet.m_lifeTime = m_shieldLifeTime; }
public override void Play(ShootHelper user) { AudioHandler audioHandler = user.shooter.GetComponent <AudioHandler>(); audioHandler.PlaySound("Shoot"); Ray bulletDirection = user.GetOffsetRay(); NormalBullet shotBullet = Instantiate(m_bulletPrefab, bulletDirection.origin, Quaternion.LookRotation(bulletDirection.direction)); shotBullet.GetComponent <Rigidbody>().velocity = bulletDirection.direction * m_bulletSpeed; shotBullet.shooter = user.shooter; }
override public void Update(IM.Number fDeltaTime) { base.Update(fDeltaTime); if (m_player.m_ball == null) { m_system.SetTransaction(AIState.Type.eGrabZone_TraceBall); return; } if (shooted && m_player.m_StateMachine.m_curState.m_eState != PlayerState.State.eShoot && m_player.m_StateMachine.m_curState.m_eState != PlayerState.State.ePrepareToShoot) { if (m_player.m_bWithBall) { m_system.SetTransaction(AIState.Type.eGrabZone_Positioning); } else { m_system.SetTransaction(AIState.Type.eGrabZone_TraceBall); } return; } if (!shooted && m_player.m_toSkillInstance == null) { m_player.m_toSkillInstance = ShootHelper.ShootByArea(m_player, m_match); m_player.m_bForceShoot = true; m_player.m_ball.onShoot += OnShoot; m_player.m_ball.onShootGoal += OnShootOver; m_player.m_ball.onRebound += OnShootOver; shooted = true; } }
public override void Start() { base.Start(); _sh = GetComponent <ShootHelper>(); }
public abstract void Play(ShootHelper user);
protected void _UpdatePassiveStateTransaction(SkillInstance newSkill) { if (newSkill == null) { return; } //Debug.Log(m_player.m_id + " Execute skill " + newSkill.skill.id + " " + newSkill.skill.name); Command cmd = (Command)newSkill.skill.action_type; if (!IsCommandValid(cmd)) { Debug.Log("Command " + cmd + " invalid. State: " + m_eState); return; } switch (cmd) { case Command.Shoot: ShootHelper.ShootByInput(m_player); break; case Command.Block: m_stateMachine.SetState(PlayerState.State.eBlock, true); break; case Command.CrossOver: m_stateMachine.SetState(PlayerState.State.eCrossOver, true); break; case Command.Dunk: m_stateMachine.SetState(PlayerState.State.eDunk, true); break; case Command.Layup: m_stateMachine.SetState(PlayerState.State.eLayup, true); break; case Command.MoveStep: m_stateMachine.SetState(PlayerState.State.eMoveStep, true); break; case Command.Boxout: m_stateMachine.SetState(PlayerState.State.eStand); break; case Command.Steal: m_stateMachine.SetState(PlayerState.State.eSteal, true); break; case Command.Pass: { if (m_player.m_passTarget == null) { m_player.m_passTarget = PassHelper.ChoosePassTarget(m_player); } if (m_player.m_passTarget != null) { m_stateMachine.SetState(PlayerState.State.ePass, true); } } break; case Command.Rebound: m_stateMachine.SetState(PlayerState.State.eRebound, true); break; case Command.RequireBall: m_stateMachine.SetState(PlayerState.State.eRequireBall); break; case Command.CutIn: m_stateMachine.SetState(PlayerState.State.eCutIn); break; case Command.BodyThrowCatch: m_stateMachine.SetState(PlayerState.State.eBodyThrowCatch); break; case Command.BackToBack: m_stateMachine.SetState(PlayerState.State.eBackToBack); break; case Command.PickAndRoll: m_stateMachine.SetState(PlayerState.State.ePickAndRoll); break; case Command.Defense: m_stateMachine.SetState(PlayerState.State.eDefense); break; case Command.Interception: m_stateMachine.SetState(PlayerState.State.eInterception); break; default: m_stateMachine.SetState(PlayerState.State.eStand); break; } }