// Update is called once per frame void Update() { switch (FighterState) { case FighterStates.Idle: Idle(); break; case FighterStates.Walk: Walk(); break; case FighterStates.Attack: Attack(); break; case FighterStates.GetHit: GetHit(); break; case FighterStates.Die: _animator.SetTrigger("Die"); break; case FighterStates.Dead: break; case FighterStates.Thrown: Thrown(); break; case FighterStates.Win: Win(); break; case FighterStates.Block: Block(); break; } if (Power <= 0f) { FighterState = FighterStates.Die; Enemy.FighterState = FighterStates.Win; } if (!IsPlayer) { if (FighterState == FighterStates.Walk && InRange()) { _animator.SetFloat("Speed", 0); FighterState = FighterStates.Attack; } else if (FighterState == FighterStates.Attack) { FighterState = FighterStates.Walk; } } }
public void GetThrown() { FighterState = FighterStates.Thrown; Debug.Log("thrown"); _timer = 0f; _animator.SetTrigger("Thrown"); _rigid.isKinematic = true; }
private void CancelActionsIfSetToIdle() { if (task == FighterTasks.Idle && state != FighterStates.Idle) { Target = null; state = FighterStates.Idle; } }
private void SetAnimator(FighterStates newState) { if (newState != fighterstate) { animator.ResetTrigger("" + fighterstate); fighterstate = newState; animator.SetTrigger("" + fighterstate); } }
public void Hit() { if (InRange()) { Damage(); _timer = 0f; FighterState = FighterStates.GetHit; _animator.SetTrigger("GetHit"); } }
protected override void SetupAttributes() { UnitActive = true; Name = "Fighter"; elevation = 0.5f; baseSpeed = 10f; baseTurnSpeed = 15f; UnitActive = true; task = FighterTasks.SeekAndDestroy; state = FighterStates.Idle; }
void GetHit() { _timer += Time.deltaTime; transform.position -= transform.right * speed * Time.deltaTime * Enemy.HitForce; if (_timer > 0.5f) { _timer = 0f; FighterState = FighterStates.Walk; } }
private void CheckTargetInRange() { if (Target != null && Vector3.Distance(Target.position, transform.position) < shootRange) { state = FighterStates.Attacking; pathfinder.ForceTargetReached(); } else { if (task == FighterTasks.SeekAndDestroy && state == FighterStates.Attacking) { state = FighterStates.Searching; pathfinder.FindPath(); } else if (task == FighterTasks.Defend) { state = FighterStates.Idle; } } }
private void LocateDrone() { Transform unitParent = GameObject.FindGameObjectWithTag("Units").transform; if (unitParent == null) { return; } foreach (Transform tf in unitParent) { if (tf.GetComponent <Drone>() != null) { Target = tf; state = FighterStates.Searching; pathfinder.FindPath(); return; } } }
void Start() { if (hitInformationCollection == null) { hitInformationCollection = new HitInformationCollection(); } animator = this.GetComponent <Animator>(); fighterstate = FighterStates.Idle; var colliders = this.GetComponents <BoxCollider2D>(); walkingvelocity.y = 0; walkingvelocity.z = 0; kickGO = this.transform.GetChild(1); kickGO.gameObject.SetActive(false); pubchGO = this.transform.GetChild(2); pubchGO.gameObject.SetActive(false); }
public static FighterHits GetFighterHit(this FighterStates fighterStates) { return((FighterHits)System.Enum.Parse(typeof(FighterHits), fighterStates.ToString())); }
// Update is called once per frame void Update() { FighterStates currentstate = fighterstate; switch (currentstate) { case FighterStates.Idle: checkEnemyPosition(); if (Input.GetKeyDown(KeyCode.A)) { transformchecking = pubchGO; currentstate = FighterStates.Lpunch; currentHit = hitInformationCollection.GetHit(currentstate.GetFighterHit()); } else if (Input.GetKeyDown(KeyCode.S)) { transformchecking = kickGO; currentstate = FighterStates.Lmkick; currentHit = hitInformationCollection.GetHit(currentstate.GetFighterHit()); } else if (Input.GetKey(KeyCode.RightArrow)) { currentstate = FighterStates.Walking; cooldown = Time.time + cooldowngap; } else if (Input.GetKey(KeyCode.LeftArrow)) { currentstate = FighterStates.Walking; cooldown = Time.time + cooldowngap; } break; case FighterStates.Lpunch: if (currentHit.HitStatus >= (int)HitsStates.Finished) { currentstate = FighterStates.Idle; } break; case FighterStates.Lmkick: if (currentHit.HitStatus >= (int)HitsStates.Finished) { currentstate = FighterStates.Idle; } break; case FighterStates.Walking: //this.transform.LookAt(Enemy.transform); checkEnemyPosition(); direction = 0; if (cooldown <= Time.time) { cooldown = Time.time + cooldowngap; if (Input.GetKey(KeyCode.RightArrow)) { direction = 1; } else if (Input.GetKey(KeyCode.LeftArrow)) { direction = -1; } if (direction != 0) { this.transform.position = this.transform.position + walkingvelocity * direction; } else { currentstate = FighterStates.Idle; } } else { if (!Input.GetKey(KeyCode.LeftArrow) && !Input.GetKey(KeyCode.RightArrow)) { currentstate = FighterStates.Idle; } } if (Input.GetKeyDown(KeyCode.A)) { transformchecking = pubchGO; currentstate = FighterStates.Lpunch; currentHit = hitInformationCollection.GetHit(currentstate.GetFighterHit()); } else if (Input.GetKeyDown(KeyCode.S)) { transformchecking = kickGO; currentstate = FighterStates.Lmkick; currentHit = hitInformationCollection.GetHit(currentstate.GetFighterHit()); } break; } SetAnimator(currentstate); }
public void RemoveState(FighterStates f) { //Remove the state from the states set //ie: X is no longer confused states.Remove(f); }
public void AddState(FighterStates f) { //add the state to the states set //ie: X is now confused states.Add(f); }
public override void FindAnotherPath() { Target = null; state = FighterStates.Idle; }
public void setHitInfoData(RaycastHit[] hits, FighterStates playerstate, FighterStates enemystate) { this.hits = hits; this.playerstate = playerstate; this.enemystate = enemystate; }
public void setHitInfoDataNone() { this.hits = def; this.playerstate = FighterStates._None; this.enemystate = FighterStates._None; }
void PlayerControl() { if (Input.GetAxis(hor) < 0) { //_globalControl.flip = true; _animator.SetFloat("Speed", 1); transform.localScale = new Vector3(1, 1, -1); transform.localEulerAngles = new Vector3(0, 180, 0); transform.position += transform.right * speed * Time.deltaTime; } else if (Input.GetAxis(hor) > 0) { _animator.SetFloat("Speed", 1); // _globalControl.flip = false; transform.localScale = new Vector3(1, 1, 1); transform.localEulerAngles = new Vector3(0, 0, 0); transform.position += transform.right * speed * Time.deltaTime; } else { _animator.SetFloat("Speed", 0); } if (Input.GetAxis(vert) < 0) { _animator.SetBool("Crouch", true); } else { _animator.SetBool("Crouch", false); } if (Input.GetButtonDown("Fire1")) { // if (Input.GetAxis (vert) < 0) // _animator.SetTrigger("AttackLow"); // else _animator.SetTrigger("Attack"); Enemy.Hit(); } if (Input.GetButtonDown("Fire3")) { _animator.SetBool("Block", true); FighterState = FighterStates.Block; } if (Input.GetButtonUp("Fire3")) { _animator.SetBool("Block", false); FighterState = FighterStates.Idle; } if (Input.GetButtonDown("Fire2")) { _animator.SetTrigger("Throw"); if (InRange()) { Enemy.GetThrown(); Enemy.FighterState = FighterStates.Thrown; } } }