Пример #1
0
	private void Actions2()
	{
		if (curr.targetMech == RPGSkill.TargetingMechanic.SingleTarget) GUI.enabled = false;
		EditorGUILayout.BeginVertical(GUILayout.Width(330));
		{
			EditorGUILayout.BeginHorizontal();
			{
				GUILayout.Label("for each Target", UniRPGEdGui.Head3Style);
				GUILayout.Space(20);
				if (UniRPGEdGui.IconButton("Action", UniRPGEdGui.Icon_Plus, GUILayout.Width(100)))
				{
					editingLeft = false;
					if (openWiz != null) openWiz.Close();
					openWiz = ActionWiz.Show(OnActionSelected, curr.gameObject, null);
				}
				GUILayout.FlexibleSpace();
			}
			EditorGUILayout.EndHorizontal();
			GUILayout.Space(20);
			scroll[3] = UniRPGEdGui.BeginScrollView(scroll[3], UniRPGEdGui.ScrollViewNoTLMarginStyle, GUILayout.Height(175));
			ActionsList(curr.rightActions, false, 330);
			UniRPGEdGui.EndScrollView();
		}
		EditorGUILayout.EndVertical();
		GUI.enabled = true;
	}
Пример #2
0
	private void ActionsList(List<Action> actions, bool left, float w)
	{
		if (actions.Count > 0)
		{
			GUIStyle back = UniRPGEdGui.ListItemBackDarkStyle;
			Action delAct = null;
			int move = 0;
			int count = 0;
			foreach (Action act in actions)
			{
				count++;
				EditorGUILayout.BeginHorizontal();
				{
					if (act == null)
					{
						if (GUILayout.Button("FIX", UniRPGEdGui.ButtonLeftStyle, GUILayout.Width(25)))
						{
							actions = UniRPGUtil.CleanupList<Action>(actions);
							GUIUtility.ExitGUI();
							break;
						}
						GUILayout.Label(count + ": Error => NULL value Action found.", back, GUILayout.ExpandWidth(true));
					}
					else
					{
						if (selectedAct == act)
						{
							if (GUILayout.Button(count + ": " + UniRPGEditorGlobal.GetActionShortNfoString(act), UniRPGEdGui.ListItemSelectedStyle, GUILayout.Width(w - 105)))
							{
								editingLeft = left;
								if (openWiz != null) openWiz.Close();
								openWiz = ActionWiz.Show(OnActionSelected, curr.gameObject, act);
							}
							if (UniRPGEdGui.IconButton(null, UniRPGEdGui.Icon_Minus, UniRPGEdGui.ButtonMidStyle, GUILayout.Width(25))) delAct = act;
							if (UniRPGEdGui.IconButton(null, UniRPGEdGui.Icon_Arrow2_Up, UniRPGEdGui.ButtonMidStyle, GUILayout.Width(25))) move = -1;
							if (UniRPGEdGui.IconButton(null, UniRPGEdGui.Icon_Arrow2_Down, UniRPGEdGui.ButtonRightStyle, GUILayout.Width(25))) move = +1;
						}
						else
						{
							if (GUILayout.Button(count + ": " + UniRPGEditorGlobal.GetActionShortNfoString(act), back, GUILayout.Width(w - 35)))
							{
								editingLeft = left;
								selectedAct = act;
								if (openWiz != null) openWiz.Close();
								openWiz = ActionWiz.Show(OnActionSelected, curr.gameObject, act);
							}
							GUILayout.Space(5);
						}
					}
					GUILayout.Space(10);
				}
				EditorGUILayout.EndHorizontal();
				back = (back == UniRPGEdGui.ListItemBackDarkStyle ? UniRPGEdGui.ListItemBackLightStyle : UniRPGEdGui.ListItemBackDarkStyle);
			}

			if (move != 0 && selectedAct != null)
			{
				if (openWiz != null) { openWiz.Close(); openWiz = null; }
				int idx = actions.IndexOf(selectedAct);
				actions.Remove(selectedAct);
				idx = idx + move;
				if (idx > actions.Count) idx = actions.Count;
				if (idx < 0) idx = 0;
				actions.Insert(idx, selectedAct);
				EditorUtility.SetDirty(curr);
			}

			if (delAct != null)
			{
				if (openWiz != null) { openWiz.Close(); openWiz = null; }
				if (selectedAct == delAct) selectedAct = null;
				actions.Remove(delAct);
				GameObject.DestroyImmediate(delAct, true); // remove the component from prefab
				delAct = null;
				EditorUtility.SetDirty(curr);
			}
		}
	}
Пример #3
0
	private void Actions1()
	{
		EditorGUILayout.BeginVertical(GUILayout.Width(330));
		{
			EditorGUILayout.BeginHorizontal();
			{
				GUILayout.Label("OnUse Actions", UniRPGEdGui.Head3Style);
				GUILayout.Space(20);
				if (UniRPGEdGui.IconButton("Action", UniRPGEdGui.Icon_Plus, GUILayout.Width(100)))
				{
					editingLeft = true;
					if (openWiz != null) openWiz.Close();
					openWiz = ActionWiz.Show(OnActionSelected, curr.gameObject, null);
				}
				GUILayout.FlexibleSpace();
			}
			EditorGUILayout.EndHorizontal();
			GUILayout.Space(20);
			scroll[2] = UniRPGEdGui.BeginScrollView(scroll[2], UniRPGEdGui.ScrollViewNoTLMarginStyle, GUILayout.Height(175));
			ActionsList(curr.onUseActions, true, 330);
			UniRPGEdGui.EndScrollView();
		}
		EditorGUILayout.EndVertical();
	}