void CheckInput() { StickFighterState state = GetState(); if (state != StickFighterState.Unknown) { return; } if (SystemInfo.deviceType != DeviceType.Handheld) // This is handled from StickFightHitButton on handheld devices { bool wantsToDuck = Input.GetButtonDown("interact"); bool wantsToHitLeft = Input.GetButton("left"); bool wantsToHitRight = Input.GetButton("right"); if (wantsToHitLeft) { WantsToHitLeft(); } else if (wantsToHitRight) { WantsToHitRight(); } else if (wantsToDuck && Time.time >= duckTimer) { WantsToDuck(); } } }
public override StickFighterState GetState() { StickFighterState state = base.GetState(); if (state == StickFighterState.Unknown) { if (GetComponent <Animation>().IsPlaying(combinationPunch.name)) { return(StickFighterState.CombinationPunch); } else if (GetComponent <Animation>().IsPlaying(dizzyAfterCombination.name)) { return(StickFighterState.Dizzy); } else if (GetComponent <Animation>().IsPlaying(blockLeft.name) || GetComponent <Animation>().IsPlaying(blockRight.name)) { return(StickFighterState.Blocking); } else { return(StickFighterState.BlockingEverything); } } return(state); }
public void OnReceivedHitFromAnySide() { StickFighterState state = GetState(); if (state == StickFighterState.Flinching) { flinchCountInRow++; } else { flinchCountInRow = 0; } }
public override void OnReceivedHitFromLeft() { OnReceivedHitFromAnySide(); StickFighterState state = GetState(); Debug.Log("Opponent received potential hit left: " + state); if (state == StickFighterState.StartingRightPunch || (state == StickFighterState.Flinching && flinchCountInRow < 3) || state == StickFighterState.Dizzy) { ReceivedHitLeft(); } else { if (state != StickFighterState.StartingLeftPunch && state != StickFighterState.CombinationPunch && state != StickFighterState.LeftPunch && state != StickFighterState.RightPunch) { GetComponent <Animation>().CrossFade(blockLeft.name, blockCrossFadeTime); } SendMessage("OnStickBlockLeft"); } }