Пример #1
0
    /// <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);
    }
Пример #2
0
    /// <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);
    }