private void Start() { charactersState = CharactersState.Idle; InputController.OnInputAction += OnInputCommand; //animator.SetFloat("Speed", 1f); //StartCoroutine(WaitForRun(3f)); }
private void Skill() { if (charactersState == CharactersState.Attack || charactersState == CharactersState.Skill) { return; } charactersState = CharactersState.Skill; animator.SetTrigger("Skill"); DelayRun.Execute(delegate { charactersState = CharactersState.Idle; Camera.main.GetComponent <Animator>().SetTrigger("Shake"); }, 1f, gameObject); }
private void Attack() { if (charactersState == CharactersState.Attack || charactersState == CharactersState.Skill) { return; } charactersState = CharactersState.Attack; animator.SetTrigger("Attack"); DelayRun.Execute(delegate { charactersState = CharactersState.Idle; }, 0.5f, gameObject); }
private IEnumerator WaitForRun(float time) { charactersState = CharactersState.Attack; var timer = Time.time + time; while (Time.time < timer) { transform.Translate(transform.forward * Time.deltaTime); yield return(null); } animator.SetFloat("Speed", 0f); charactersState = CharactersState.Idle; }
private String NextCharacterSpawnChance(CharactersState chars, int playCount) { switch (chars.NumUnlockedRandos) { case 0: return($"Play count: {playCount} (Mines Spawn: {(100f / Math.Max(9, 51 - playCount)).ToString("0.00")}%)"); case 1: return($"Play count: {playCount} (Jungle Spawn: {(100f / Math.Max(9, 101 - playCount)).ToString("0.00")}%)"); case 2: return($"Play count: {playCount} (Ice Spawn: {(100f / Math.Max(9, 201 - playCount)).ToString("0.00")}%)"); case 3: return($"Play count: {playCount} (Temple Spawn: {(100f / Math.Max(9, 301 - playCount)).ToString("0.00")}%)"); } return(""); }
private int TargetUnlockCount = 16; // I doubt they'll add more characters, could be changed to enum size though private SegmentStatus CheckStatus(CharactersState chars, int playCount) { var numEntriesUnlocked = chars.NumUnlockedCharacters; if (numEntriesUnlocked > 16) { return(new SegmentStatus() { Type = SegmentStatusType.ERROR, Message = $"More than {TargetUnlockCount} characters have been unlocked." }); } else { return(new SegmentStatus() { Type = SegmentStatusType.INFO, Message = $"Waiting for characters ({chars.NumUnlockedCharacters}/{CharactersState.NumCharacters}). {NextCharacterSpawnChance(chars, playCount)}" }); } }