/**
     * Called to draw the custom inspector
     */
    public override void OnInspectorGUI()
    {
        // Buffering info
        PlayerInputController controller = (PlayerInputController)target;

        // Rendering
        InspectorHelper.DisplayInfoMessage("You can modify all player settings from this custom editor window");
        InspectorHelper.DisplaySeparator("Player input settings");
        InputSection(controller);

        // Editor bug fix with custom window
        EditorUtility.SetDirty(controller);
    }
示例#2
0
    /**
     * Called to draw the custom inspector
     */
    public override void OnInspectorGUI()
    {
        // Buffering info
        Arena instance = (Arena)target;

        // Rendering
        InspectorHelper.DisplayInfoMessage("Here you can set up the arena");
        InspectorHelper.DisplaySeparator("Physics");
        PhysicSection(instance);

        // Editor bug fix with custom window
        EditorUtility.SetDirty(instance);
    }
    /**
     * Displays weapon controller properties
     * https://docs.unity3d.com/ScriptReference/EditorGUILayout.ObjectField.html
     */
    private void WeaponSection(PlayerSphereController instance)
    {
        EditorGUILayout.BeginVertical();

        instance.spherePrefab = EditorGUILayout.ObjectField("Shpere prefab", instance.spherePrefab,
                                                            typeof(GameObject), true) as GameObject;

        InspectorHelper.DisplayInfoMessage("This is the cooldown between two rotation direction inversion");
        instance.reverseDelay = EditorGUILayout.FloatField("Reverse delay", instance.reverseDelay);

        InspectorHelper.DisplayInfoMessage("This is the cooldown between two sphere addings");
        instance.sphereDelay       = EditorGUILayout.FloatField("Sphere delay", instance.sphereDelay);
        instance.radius            = EditorGUILayout.FloatField("Current radius", instance.radius);
        instance.minRadius         = EditorGUILayout.FloatField("Minimal radius", instance.minRadius);
        instance.maxRadius         = EditorGUILayout.FloatField("Maximal radius", instance.maxRadius);
        instance.radiusCrunchSpeed = EditorGUILayout.FloatField("Radius crunch speed", instance.radiusCrunchSpeed);
        instance.radiusGrowSpeed   = EditorGUILayout.FloatField("Radius grow speed", instance.radiusGrowSpeed);
        instance.rotationSpeed     = EditorGUILayout.FloatField("Base rotation speed", instance.rotationSpeed);
        instance.startSphereCount  = EditorGUILayout.IntField("Start sphere count", instance.startSphereCount);
        instance.speedPenalty      = EditorGUILayout.FloatField("Speed penalty (%)", instance.speedPenalty);

        EditorGUILayout.EndVertical();
    }
 /**
  * Custom inspector for player redering properties
  * @param instance The instance of the target (PlayerController)
  */
 private void RenderingSection(PlayerController instance)
 {
     InspectorHelper.DisplayInfoMessage("No features yet. Coming soon.");
 }