summaryrefslogtreecommitdiff
path: root/VRCSDK3Worlds/Assets/VRCSDK/SDK3/Editor/Components3/VRCDestructibleUdonEditor.cs
blob: d4c75bf1589b63854da240928ec2c1c82b275f72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
#if VRC_SDK_VRCSDK3

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using System;

[CustomEditor(typeof(VRC.SDK3.Components.VRCDestructibleUdon))]
public class VRCDestructibleUdonEditor : Editor
{
	VRC.SDK3.Components.VRCDestructibleUdon myTarget;

	void OnEnable()
	{
		if (myTarget == null)
			myTarget = (VRC.SDK3.Components.VRCDestructibleUdon)target;
	}

	string[] UdonMethods = null;
	string[] UdonVariables = null;

	public override void OnInspectorGUI()
	{
		var udon = myTarget.GetComponent<VRC.Udon.UdonBehaviour>();
		if (udon != null)
		{
			#if VRC_CLIENT
				myTarget.UdonMethodApplyDamage = EditorGUILayout.TextField("On Apply Damage", myTarget.UdonMethodApplyDamage);
				myTarget.UdonMethodApplyHealing= EditorGUILayout.TextField("On Apply Healing", myTarget.UdonMethodApplyHealing);
				myTarget.UdonVariableCurrentHealth= EditorGUILayout.TextField("Current Health Variable", myTarget.UdonVariableCurrentHealth);
				myTarget.UdonVariableMaxHealth = EditorGUILayout.TextField("On Max Health Variable", myTarget.UdonVariableMaxHealth);
			#else
				List<string> methods = new List<string>(udon.GetPrograms());
				methods.Insert(0, "-none-");
				myTarget.UdonMethodApplyDamage = DrawUdonProgramPicker("On Apply Damage", myTarget.UdonMethodApplyDamage, methods);
				myTarget.UdonMethodApplyHealing = DrawUdonProgramPicker("On Apply Healing", myTarget.UdonMethodApplyHealing, methods);
				List<string> variables = new List<string>(udon.publicVariables.VariableSymbols);
				variables.Insert(0, "-none-");
				myTarget.UdonVariableCurrentHealth = DrawUdonProgramPicker("Current Health Variable", myTarget.UdonVariableCurrentHealth, variables);
				myTarget.UdonVariableMaxHealth = DrawUdonProgramPicker("Max Health Variable", myTarget.UdonVariableMaxHealth, variables);
			#endif
		}
	}

	string DrawUdonProgramPicker(string title, string current, List<string> choices)
	{
		int index = choices.IndexOf(current);
		if (index == -1)
			index = 0;
		int value = EditorGUILayout.Popup(title, index, choices.ToArray());
		if (value != 0)
			return choices[value];
		return current;
	}
}
#endif
*/