Example #1
0
 public void MajorActionCompleted(bool reload)
 {
     if (currentTime == TimeEnums.Evening)
     {
         //Disable major interactables. Probably should do this in their script.
         majorActionDone = true;
     }
     else
     {
         if (reload)
         {
             FadeToBlack();
         }
         currentTime = TimeEnums.Evening;
         TextboxManager.GetInstance().UpdateDateTime();
         foreach (IDayTimeChangeListener listener in dayTimeChangeListeners)
         {
             listener.DayTimeChange(currentDay, currentTime);
         }
         if (reload)
         {
             Invoke("FadeOutBlack", 0.5f);
         }
     }
 }
Example #2
0
 public void DayTimeChange(DayEnums newDay, TimeEnums newTime)
 {
     this.transform.position = schedule[newDay][newTime].pos.position;
     AddToDayTimeChange(newDay, newTime);
     if (newTime == TimeEnums.Morning && doMajorConvos)
     {
         Invoke("CheckConversation", 0.5f);
     }
 }
Example #3
0
 public void ResetSavedVars()
 {
     FadeToBlack();
     DeleteSaveData();
     currentTime         = TimeEnums.Morning;
     currentDay          = DayEnums.Monday;
     daysTillPerformance = 14;
     daysSoFar           = 0;
     majorActionDone     = false;
     Invoke("FadeOutBlack", 1f);
 }
Example #4
0
 public virtual bool LoadSaveData()
 {
     if (File.Exists(Application.persistentDataPath + savefile))
     {
         BinaryFormatter format = new BinaryFormatter();
         FileStream      fs     = File.Open(Application.persistentDataPath + savefile, FileMode.Open);
         LifeSimSaveData save   = (LifeSimSaveData)format.Deserialize(fs);
         fs.Close();
         currentDay      = save.day;
         currentTime     = save.time;
         majorActionDone = save.majorActionDone;
         daysSoFar       = save.days;
         duoTutorial     = save.duoTutorial;
         Debug.Log("Game loaded");
         return(true);
     }
     return(false);
 }
Example #5
0
        /// <summary>
        /// 两个时间的差值,可以为秒,小时,天,分钟
        /// </summary>
        /// <param name=\"Interval\">需要得到的时差方式</param>
        /// <param name=\"StartDate\">起始时间</param>
        /// <param name=\"EndDate\">结束时间</param>
        /// <returns></returns>
        public static long DateDiff(TimeEnums Interval, DateTime StartDate, DateTime EndDate)
        {
            long lngDateDiffValue = 0;

            System.TimeSpan TS = new System.TimeSpan(EndDate.Ticks - StartDate.Ticks);
            switch (Interval)
            {
            case TimeEnums.SECOND:
                lngDateDiffValue = (long)TS.TotalSeconds;
                break;

            case TimeEnums.MINUTE:
                lngDateDiffValue = (long)TS.TotalMinutes;
                break;

            case TimeEnums.HOUR:
                lngDateDiffValue = (long)TS.TotalHours;
                break;

            case TimeEnums.DAY:
                lngDateDiffValue = (long)TS.Days;
                break;

            case TimeEnums.WEEK:
                lngDateDiffValue = (long)(TS.Days / 7);
                break;

            case TimeEnums.MONTH:
                lngDateDiffValue = (long)(TS.Days / 30);
                break;

            case TimeEnums.QUARTER:
                lngDateDiffValue = (long)((TS.Days / 30) / 3);
                break;

            case TimeEnums.YEAR:
                lngDateDiffValue = (long)(TS.Days / 365);
                break;
            }
            return(lngDateDiffValue);
        }
Example #6
0
 private void Awake()
 {
     if (instance == null)
     {
         instance         = this;
         interactableDict = new Dictionary <Transform, IInteractable>();
         buttonDict       = new Dictionary <Transform, IButton>();
     }
     else
     {
         Destroy(this.gameObject);
     }
     if (!LoadSaveData())
     {
         currentDay      = DayEnums.Monday;
         currentTime     = TimeEnums.Morning;
         majorActionDone = false;
         daysSoFar       = 1;
     }
     dayTimeChangeListeners = new List <IDayTimeChangeListener>();
 }
Example #7
0
 public abstract void AddToDayTimeChange(DayEnums newDay, TimeEnums newTime);
Example #8
0
    public void IncrementDay()
    {
        FadeToBlack();
        switch (currentDay)
        {
        case DayEnums.Monday:
            currentDay = DayEnums.Tuesday;
            break;

        case DayEnums.Tuesday:
            currentDay = DayEnums.Wednesday;
            break;

        case DayEnums.Wednesday:
            currentDay = DayEnums.Thursday;
            break;

        case DayEnums.Thursday:
            currentDay = DayEnums.Friday;
            break;

        case DayEnums.Friday:
            currentDay = DayEnums.Saturday;
            break;

        case DayEnums.Saturday:
            currentDay = DayEnums.Sunday;
            break;

        case DayEnums.Sunday:
            currentDay = DayEnums.Monday;
            break;
        }
        currentTime     = TimeEnums.Morning;
        majorActionDone = false;
        daysSoFar++;
        if (daysTillPerformance == 0)
        {
            daysTillPerformance = 1;
        }
        dayCountdown.text = "Days until performance: " + (daysTillPerformance - (daysSoFar % daysTillPerformance));
        if (daysSoFar % daysTillPerformance == 0)
        {
            gradedPerformance = true;
            if (playerAvatar.GetComponent <PlayerManager>().trustDonna >= targetTrustLevel)
            {
                duoTrapeze = true;
            }
            foreach (IDayTimeChangeListener listener in dayTimeChangeListeners)
            {
                listener.PerformanceDay();
            }
        }
        else
        {
            foreach (IDayTimeChangeListener listener in dayTimeChangeListeners)
            {
                listener.DayTimeChange(currentDay, currentTime);
            }
        }
        TextboxManager.GetInstance().UpdateDateTime();

        Invoke("FadeOutBlack", 0.5f);
    }
Example #9
0
 public override void AddToDayTimeChange(DayEnums newDay, TimeEnums newTime)
 {
     yarnVars.SetValue("$DonnaInvitable", schedule[newDay][newTime].invitable);
 }