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(); } }
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); }
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 }; }
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); } }