Пример #1
0
        /// <summary>
        /// At the end of animation, set the animator to default invisible state and decrease happiness metric
        /// </summary>
        void OnEndOfAnimation()
        {
            foreach (Renderer r in GetComponentsInChildren <Renderer>())
            {
                r.enabled = false;
            }
            animator.SetBool("isShow", false);
            markSpawned = false;
            MetricsModifier modifier = new MetricsModifier(-2, 0, 0);

            modifier.Modify();
            MetricManager.Instance.RenderMetrics();
        }
Пример #2
0
        /// <summary>
        /// Called when in WeatherEvent state, it displays a weather card to the player and makes a call to
        /// decrease player health after player clicks continue;
        /// </summary>
        private void DisplayWeatherCard()
        {
            String weatherEvent = "";

            switch (WeatherController.Instance.currentEvent)
            {
            case WeatherController.ClimateEvent.AcidRain:
                weatherEvent = "acid rain";
                break;

            case WeatherController.ClimateEvent.Hurricane:
                weatherEvent = "hurricane";
                break;

            case WeatherController.ClimateEvent.Smog:
                weatherEvent = "smog";
                break;

            case WeatherController.ClimateEvent.WildFire:
                weatherEvent = "wildfire";
                break;
            }
            string statement = "Your town has been struck by " + weatherEvent + "! Try raise your environment health to avoid more disasters";

            string[] statements         = { statement };
            Action   displayWeatherInfo = () =>
            {
                WeatherController.Instance.StopAnim();
                Debug.Log("Clicked continue on weather event");
                SetState(GameState.WaitingForEvents);
                //TODO: balance numbers on event
                MetricsModifier modifier = new MetricsModifier(-4, -3, 0);
                modifier.Modify();
                metricManager.RenderMetrics();
                WeatherController.Instance.probability = 0;
                Debug.Log("new prob " + WeatherController.Instance.probability);
            };

            // minor card should be displayed upon the callback to the mail message
            dialogueManager.StartExplanatoryDialogue(new SimpleDialogue(statements, weatherEvent), displayWeatherInfo);
        }
Пример #3
0
        /// <summary>
        /// Transition to default state (invisible) when mark has been clicked
        /// also queues the minor cards to be displayed
        /// </summary>
        void OnMouseDown()
        {
            if (markSpawned && cardManager.CurrentGameState == CardManager.GameState.WaitingForEvents)
            {
                animator.SetBool("isShow", false);
                clickCount++;
                markSpawned = false;
                cardManager.QueueMinorCard();
                foreach (Renderer r in GetComponentsInChildren <Renderer>())
                {
                    r.enabled = false;
                }

                // give player money for accepting request
                MetricsModifier modifier = new MetricsModifier(0, 3, 0);
                modifier.Modify();
                MetricManager.Instance.RenderMetrics();
            }
            else
            {
                return;
            }
        }