Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        if (!MenuController.instance.isMenuActive)
        {
            return;
        }
        if (MenuController.instance.currentMenuState != MenuController.MenuState.GAME_OVER)
        {
            maximumStars = 0;
            return;
        }

        if (maximumStars == 0)
        {
            maximumStars = GameObject.FindObjectsOfType <SunNode> ().Length;
        }

        PlayerMetrics metrics = GameController.instance.activePlayer.GetComponent <PlayerMetrics> ();

        if (metrics != null)
        {
            targetProgress.localScale = new Vector3((float)metrics.completedPlanets / (float)maximumStars, 1f);

            targetProgressText.text = ((int)(((float)metrics.completedPlanets / (float)maximumStars) * 100)) + "%";
        }
    }
Exemple #2
0
    public void NodeCompleted()
    {
        PlayerMetrics playerMetrics = GameObject.FindObjectOfType <PlayerMetrics>();

        playerMetrics.boostLeft += .4f;
        playerMetrics.completedPlanets++;
    }
Exemple #3
0
    // Use this for initialization
    void Start()
    {
        physics    = GetComponent <PlayerPhysics>();
        interactor = GetComponent <PlayerInteractor>();
        metrics    = GetComponent <PlayerMetrics>();

        system = GetComponentInChildren <ParticleSystem>();
        trail  = GetComponentInChildren <TrailRenderer>();

        createdTime = Time.time;
    }
Exemple #4
0
        public Dashboard(Player p)
        {
            InitializeComponent();

            player                = p;
            _viewModel            = p.Metrics;
            _viewModel.isPaused   = false;
            btnContinue.IsEnabled = false;
            this.DataContext      = _viewModel;

            // change source depending on game state, if WIN, put a gif that looks like winning, etc
            myGif.Source = new Uri(AppDomain.CurrentDomain.BaseDirectory + "Images/flash.gif", UriKind.Absolute);
        }
Exemple #5
0
    // Update is called once per frame
    void Update()
    {
        float score = 0;

        if (playerMetrics == null)
        {
            playerMetrics = PlayerMetrics.instance;
        }

        if (playerMetrics != null)
        {
            score = playerMetrics.IsDoingGreat();

            gameGoodTrack.volume = Mathf.Max(0, score);
            gameBadTrack.volume  = Mathf.Min(0, score) * -1.0f;
        }
    }
        private IEnumerable <List <Text> > PopulateMetrics()
        {
            var metricConfigs = _simulationSummary.PlayersData.Count > 1
                ? _multiplayerMetrics
                : _singleplayerMetrics;

            var sumByPlayerByMetrics = MetricProcessor.GetSumByPlayerByMetric(_simulationSummary.Events);

            var playerNameBestFitGroup  = new List <Text>();
            var metricTitleBestFitGroup = new List <Text>();
            var metricValueBestFitGroup = new List <Text>();

            var column = CreateColumn();

            playerNameBestFitGroup.ForEach(playerText => playerText.gameObject.AddComponent <TextCutoff>());

            AddPlayers(column.GetComponentInChildren <LayoutGroup>().gameObject, _simulationSummary.PlayersData, playerNameBestFitGroup);
            // Set players box to be wider than the rest
            var layoutElement = column.GetComponent <LayoutElement>();

            layoutElement.preferredWidth = layoutElement.preferredWidth * 3;
            layoutElement.minWidth       = layoutElement.minWidth * 3;

            foreach (var metricConfig in metricConfigs)
            {
                sumByPlayerByMetrics.TryGetValue(metricConfig.KeyMetric, out var valueByPlayer);

                column = CreateColumn();
                SetLocalizedTitle(column, metricConfig.KeyMetric, metricTitleBestFitGroup);
                SetIcon(column, metricConfig.IconPath);
                AddItems(
                    column.GetComponentInChildren <LayoutGroup>().gameObject,
                    _simulationSummary.PlayersData,
                    valueByPlayer,
                    0,
                    metricConfig.HighlightHighest,
                    metricValueBestFitGroup);
            }
            var playerMetrics = PlayerMetrics.GetPlayerBestMetrics(sumByPlayerByMetrics, _simulationSummary);

            AddMetricItems(playerMetrics);

            return(new[] { playerNameBestFitGroup, metricTitleBestFitGroup, metricValueBestFitGroup });
        }
    // Use this for initialization
    void Awake()
    {
        this.rigid_body = GetComponent<Rigidbody>();
        this.animator = GetComponent<Animator>();
        this.metrics = GetComponent<PlayerMetrics>();
        this.controller = GetComponent<CharacterController>();
        this.collider_ = GetComponent<CapsuleCollider>();
        this.controller_height = this.controller.height;
        this.collider_height = this.collider_.height;
        this.controller_center = this.controller.center;
        this.collider_center = this.collider_.center;
        sfx = GetComponent<AudioSource>();

        //No longer needed as I have set rig's layer(i.e. Ragdoll) to not
        //interact with Character Model's layer(aka Character) in the Physics settings

        //make the ragdoll kinematic for now
        //makeRagdollKinematic(true);
    }
        void Awake()
        {
            playerMetricsObject = new PlayerMetrics();
            rulesObject = new DiagnosticRules();
            logObj = new Logger();

            //in order to print the data at the end the objects need to point to the same thing
            logObj.rulesObj = rulesObject;

            //playerMetricsObject.activityMetricsObject = taskObj;

            rulesObject.playerMetricsObject = playerMetricsObject;
            //playerMetricsObject.rulesObject = rulesObject;

            the_score=0;
        }
Exemple #9
0
    // Use this for initialization
    void Start()
    {
        _instance = this;

        lastAvgPoint = 0;
    }
Exemple #10
0
    IEnumerator SetNodeEnabled()
    {
        PlayerAudio   audio   = GameController.instance.activePlayer.GetComponent <PlayerAudio> ();
        PlayerMetrics metrics = GameController.instance.activePlayer.GetComponent <PlayerMetrics> ();

        metrics.completedPlanets++;
        metrics.boostLeft += 1.0f;

        sunState = SunState.ENABLED;
        audio.PlayActivateSfx(gameObject);

        Renderer renderer = GetComponent <Renderer> ();
        float    c        = renderer.material.color.r;
        float    e        = renderer.material.GetColor("_EmissionColor").r;

        ParticleSystem.EmissionModule emission = system.emission;
        emission.rateOverTime = 25 * nodeRadius;

        while (e < 2 || c < 1f)
        {
            c = Mathf.Lerp(c, 1.01f, Time.deltaTime * 5f);
            e = Mathf.Lerp(e, 2.02f, Time.deltaTime * 5f);

            renderer.material.color = new Color(c, c, c);
            renderer.material.SetColor("_EmissionColor", new Color(e, e, e));
            yield return(null);
        }

        c = 1f;
        e = 2f;
        renderer.material.color = new Color(c, c, c);
        renderer.material.SetColor("_EmissionColor", new Color(e, e, e));

        float timeoutTime = 0;

        if (sunType == SunType.YELLOW)
        {
            timeoutTime = 1f * Mathf.Pow(nodeRadius, 0.72f);
        }
        else if (sunType == SunType.BLUE)
        {
            timeoutTime = 0.3f * Mathf.Pow(nodeRadius, 0.72f);
        }
        else if (sunType == SunType.RED)
        {
            timeoutTime = 3f * Mathf.Pow(nodeRadius, 0.72f);
        }

        yield return(new WaitForSeconds(timeoutTime));

        sunState = SunState.DORMANT;

        emission = system.emission;
        emission.rateOverTime = 5 * nodeRadius;

        while (e > 1 || c > 0.9f)
        {
            c = Mathf.Lerp(c, 0.89f, Time.deltaTime * 4f);
            e = Mathf.Lerp(e, 0.89f, Time.deltaTime * 4f);

            renderer.material.color = new Color(c, c, c);
            renderer.material.SetColor("_EmissionColor", new Color(e, e, e));
            yield return(null);
        }

        c = 0.9f;
        e = 1f;
        renderer.material.color = new Color(c, c, c);
        renderer.material.SetColor("_EmissionColor", new Color(e, e, e));
    }