/// <summary> /// increases points of the player over time, total kiss time: 5 seconds /// </summary> /// <param name="fstats">flirt stats</param> /// <returns></returns> IEnumerator Kiss(FlirtStatsV1 fstats) { isFlirtRoutineRunning = 2; yield return(new WaitForEndOfFrame()); //wait for new frame to increase points int kissPoints = fstats.remainingKissPoints; //used for remembering original kiss points while (fstats.remainingKissPoints > 0) { yield return(new WaitForSecondsRealtime(0.1f)); //update points every 0.1 seconds fstats.remainingKissPoints -= (int)0.1f / 5 * kissPoints; //wait time / total time * original total points //TODO point GFX } playerStats.kissPoints += kissPoints; //reset anim etc. values playerAnim.SetBool("playerKiss", false); playerAnim.SetFloat("playerLookPos", 0); playerVerticalPosition = 0; isFlirtRoutineRunning = 0; yield return(null); }
/// <summary> /// Talks to the flirt over time, lasts 5-30 seconds depending on difficulty /// </summary> /// <param name="fStats">flirts stats</param> /// <returns></returns> IEnumerator TalkToFlirt(FlirtStatsV1 fStats) { Debug.Log("started flirting"); isFlirtRoutineRunning = 1; float totalTalkRequired = 5 + 25 * (fStats.flirtDifficulty - 1) / 9; while (fStats.loveMeter < 100)//while we haven't reached kissing stage { yield return(new WaitForEndOfFrame()); fStats.loveMeter += Time.deltaTime * 100 / totalTalkRequired; } Debug.Log("flirt successfull"); isFlirtRoutineRunning = 0; yield return(null); }