Initial commit
This commit is contained in:
58
Assets/Editor/MassInspectorControllerEditor.cs
Normal file
58
Assets/Editor/MassInspectorControllerEditor.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor(typeof(MassInspectorController))]
|
||||
public class MassInspectorControllerEditor : Editor
|
||||
{
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
var controller = (MassInspectorController)target;
|
||||
|
||||
if (controller.targets == null)
|
||||
return;
|
||||
|
||||
EditorGUILayout.LabelField("Маса обʼєктів", EditorStyles.boldLabel);
|
||||
EditorGUILayout.Space();
|
||||
|
||||
for (int i = 0; i < controller.targets.Count; i++)
|
||||
{
|
||||
var t = controller.targets[i];
|
||||
if (t == null) continue;
|
||||
|
||||
EditorGUILayout.BeginVertical("box");
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(string.IsNullOrEmpty(t.ukrainianName) ? "(без назви)" : t.ukrainianName, GUILayout.Width(140));
|
||||
t.rigidbody = (Rigidbody)EditorGUILayout.ObjectField(t.rigidbody, typeof(Rigidbody), true);
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
if (t.rigidbody != null)
|
||||
{
|
||||
if (t.baseMass <= 0f)
|
||||
t.baseMass = t.rigidbody.mass;
|
||||
|
||||
float currentMultiplier = t.baseMass > 0f ? (t.rigidbody.mass / t.baseMass) : 1f;
|
||||
float newMultiplier = EditorGUILayout.Slider("Множник маси", currentMultiplier, 0.5f, 1.5f);
|
||||
|
||||
EditorGUILayout.LabelField("Поточна маса", t.rigidbody.mass.ToString("F2") + " кг");
|
||||
|
||||
if (!Mathf.Approximately(currentMultiplier, newMultiplier))
|
||||
{
|
||||
Undo.RecordObject(t.rigidbody, "Change Mass");
|
||||
t.rigidbody.mass = t.baseMass * newMultiplier;
|
||||
EditorUtility.SetDirty(t.rigidbody);
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
if (GUI.changed)
|
||||
{
|
||||
EditorUtility.SetDirty(controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Editor/MassInspectorControllerEditor.cs.meta
Normal file
11
Assets/Editor/MassInspectorControllerEditor.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d50248a1b117d0349bf15a8dac024088
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user