Пример #1
0
	void OnGUI()
	{
		if (!inited) Init();
		UniRPGEdGui.UseSkin();

		EditorGUILayout.BeginHorizontal();
		{
			GUILayout.Label("filter", GUILayout.Width(60));
			filter = (UniRPGGlobal.ActorType)EditorGUILayout.EnumPopup(filter);
			GUILayout.FlexibleSpace();
		}
		EditorGUILayout.EndHorizontal();
		EditorGUILayout.Space();
		scroll = UniRPGEdGui.BeginScrollView(scroll);
		{
			if (UniRPGEditorGlobal.Cache.actors.Count > 0)
			{
				foreach (Actor actor in UniRPGEditorGlobal.Cache.actors)
				{
					if (filter != 0 && (int)actor.GetComponent<Actor>().ActorType != (int)filter) continue;
					Rect r = EditorGUILayout.BeginHorizontal();
					{
						r.x = 3; r.width = 19; r.height = 19;
						GUI.DrawTexture(r, (actor.portrait[0] != null ? actor.portrait[0] : UniRPGEdGui.Texture_NoPreview));
						GUILayout.Space(21);
						if (UniRPGEdGui.ToggleButton(selectedActor == actor, actor.screenName, UniRPGEdGui.ButtonRightStyle, UniRPGEdGui.ButtonOnColor, GUILayout.Width(150)))
						{
							selectedActor = actor;
						}
					}
					EditorGUILayout.EndHorizontal();
				}
			}
			else
			{
				GUILayout.Label("No Actors are defined\n\nYou might need to Refresh the\ncache if you did define actors.\nDatatabase -> Main -> Actors", UniRPGEdGui.WarningLabelStyle);	
			}			
		}
		UniRPGEdGui.EndScrollView();
		UniRPGEdGui.DrawHorizontalLine(1, UniRPGEdGui.DividerColor, 0, 10);

		EditorGUILayout.BeginHorizontal();
		{
			GUILayout.FlexibleSpace();

			if (selectedActor == null) GUI.enabled = false;
			if (GUILayout.Button("Accept", UniRPGEdGui.ButtonStyle)) accepted = true;
			GUI.enabled = true;

			if (GUILayout.Button("Cancel", UniRPGEdGui.ButtonStyle)) this.Close();
			GUILayout.FlexibleSpace();
		}
		EditorGUILayout.EndHorizontal();
		GUILayout.Space(10);

	}
Пример #2
0
		protected override void OnCharacterTargeted(bool becomeTargeted, CharacterBase character)
		{
			int id = 0;
			if (character.ActorType() == UniRPGGlobal.ActorType.Neutral) id = 1;
			else if (character.ActorType() == UniRPGGlobal.ActorType.Hostile) id = 2;
			selectedCharaType = character.ActorType();
			UpdateSelectionRing(id, becomeTargeted, character.transform);
		}