示例#1
0
        private void OnGUI()
        {
            ShowKartSelector();

            if (kart != null)
            {
                EditorGUILayout.Space();
                EditorGUILayout.LabelField("Stats", TitleStyle);

                statsScrollPos = EditorGUILayout.BeginScrollView(statsScrollPos);
                DisplayStats();
                EditorGUILayout.EndScrollView();

                EditorGUILayout.BeginHorizontal();

                if (GUILayout.Button("Save"))
                {
                    SaveStats();
                }

                if (GUILayout.Button("Discard"))
                {
                    stats = kart.baseStats;
                }

                if (GUILayout.Button("Reset Defaults"))
                {
                    SetDefaultStats();
                }

                EditorGUILayout.EndHorizontal();
            }
        }
示例#2
0
    void TickPowerups()
    {
        // remove all elapsed powerups
        activePowerupList.RemoveAll((p) => { return(p.ElapsedTime > p.MaxTime); });

        // zero out powerups before we add them all up
        var powerups = new Stats();

        // add up all our powerups
        for (int i = 0; i < activePowerupList.Count; i++)
        {
            var p = activePowerupList[i];

            // add elapsed time
            p.ElapsedTime += Time.deltaTime;

            // add up the powerups
            powerups += p.modifiers;
        }

        // add powerups to our final stats
        finalStats = baseStats + powerups;
        print(finalStats.Acceleration);
        // clamp values in finalstats
        finalStats.Grip       = Mathf.Clamp(finalStats.Grip, 0, 1);
        finalStats.Suspension = Mathf.Clamp(finalStats.Suspension, 0, 1);
    }
示例#3
0
 private void SetDefaultStats()
 {
     stats = new ArcadeKart.Stats
     {
         TopSpeed            = 10f,
         Acceleration        = 5f,
         AccelerationCurve   = 4f,
         Braking             = 10f,
         ReverseAcceleration = 5f,
         ReverseSpeed        = 5f,
         Steer        = 5f,
         CoastingDrag = 4f,
         Grip         = .95f,
         AddedGravity = 1f,
         Suspension   = .2f
     };
 }
示例#4
0
        private void ShowKartSelector()
        {
            EditorGUILayout.BeginHorizontal();
            kart = EditorGUILayout.ObjectField("Kart", kart, typeof(ArcadeKart), false) as ArcadeKart;
            string kartSelectLabel = kart == null ? "Use selected kart" : "Replace with selected kart";

            if (Selection.activeGameObject?.GetComponent <ArcadeKart>() != null && GUILayout.Button(kartSelectLabel, GUILayout.MaxWidth(160)))
            {
                kart  = Selection.activeGameObject.GetComponent <ArcadeKart>();
                stats = kart.baseStats;
            }

            EditorGUILayout.EndHorizontal();

            if (kart == null)
            {
                EditorGUILayout.HelpBox("Select a kart on the project view to edit", MessageType.Info);
            }
        }