public void SpawnHormone(HormoneData hormoneData)
    {
        Hormone newHormone
            = Instantiate(hormonePrefab, transform)
              .GetComponent <Hormone>();

        newHormone.data = hormoneData;
        StartCoroutine(newHormone.Run(spline, OnAppear, OnSet, OnDisappear, OnRelease));
    }
Beispiel #2
0
    public IEnumerator ToHormone(HormoneData hormone, float transitionTime)
    {
        MaxBorder = MaxBorder > hormone.maxBorder ? MaxBorder : hormone.maxBorder;
        MinBorder = MinBorder < hormone.minBorder ? MinBorder : hormone.minBorder;
        yield return(new WaitForSeconds(transitionTime));

        MaxBorder = hormone.maxBorder;
        MinBorder = hormone.minBorder;

        MaxBorder += additionalRange;
        MinBorder -= additionalRange;
    }
Beispiel #3
0
    private void UpdateDayTime()
    {
        DateTime time = GameTime.Instance.DateTime;

        if (time.Hour > 6 && time.Hour < 22)
        {
            dayTime = day;
        }
        else
        {
            dayTime = night;
        }
        if (!HormoneGenerator.Instance.HasHormone)
        {
            MinBorder = dayTime.minBorder;
            MaxBorder = dayTime.maxBorder;
        }
    }
Beispiel #4
0
    private IEnumerator GenerateHormone()
    {
        yield return(new WaitForSeconds(GameManager.Instance.handicapTime));

        while (true)
        {
            DateTime time = GameTime.Instance.DateTime;
            if (!HasHormone)
            {
                HormoneData hormone = hormoneList?.Where(h => h.timeInterval.Contains(time))?.
                                      FirstOrDefault(h => {
                    return(h.chance > random.Next(0, 100));
                });

                if (hormone != null)
                {
                    HasHormone = true;
                    HormoneSpawner.Instance.SpawnHormone(hormone);
                }
            }
            yield return(new WaitForSeconds(1));
        }
    }