예제 #1
0
	protected override void EditPart()
	{
		RPGNPC s = (RPGNPC)currentItem;
		EditorGUILayout.BeginHorizontal();
		EditorGUILayout.PrefixLabel("default conversation id");
		s.defaultConversationID = EditorGUILayout.IntField(s.defaultConversationID, GUILayout.Width(100));
		EditorGUILayout.PrefixLabel("speaker Prefab");
		s.speakerPrefabPath = EditorGUILayout.TextField(s.speakerPrefabPath, GUILayout.Width(500));
		EditorGUILayout.EndHorizontal();
		EditorGUILayout.Separator();

		for (int h = 0; h < s.overrideActivities.Count; h++) {
			EditorGUILayout.BeginVertical(skin.box);
			AddActivityData(s.overrideActivities[h], h);
			if (GUILayout.Button("Delete Priority Activity", GUILayout.Width(400)))
			{
				s.overrideActivities.Remove(s.overrideActivities[h]);
				break;
			}
			EditorGUILayout.EndVertical();
		}
		if (GUILayout.Button("Add Priority Activity", GUILayout.Width(400)))
		{
			NPCActivityData p = new NPCActivityData();
			s.overrideActivities.Add(p);
		}
		EditorGUILayout.Separator();

		for (int i = 0; i < s.activities.Count; i++) {
			EditorGUILayout.BeginVertical(skin.box);
			AddActivityData(s.activities[i], i);
			if (GUILayout.Button("Delete Activity", GUILayout.Width(400)))
			{
				s.activities.Remove(s.activities[i]);
				break;
			}
			EditorGUILayout.EndVertical();
		}
		if (GUILayout.Button("Add Activity", GUILayout.Width(400)))
		{
			NPCActivityData p = new NPCActivityData();
			s.activities.Add(p);
		}
		currentItem = s;
	}
예제 #2
0
	public void AddActivityData(NPCActivityData s, int j)
	{
		EditorUtils.Label("activity No. "+j);
		EditorGUILayout.BeginHorizontal();
		EditorGUILayout.PrefixLabel("activity id");
		s.activityID = EditorGUILayout.IntField(s.activityID, GUILayout.Width(100));
		EditorGUILayout.PrefixLabel("activity type");
		s.activityType = (NPCActivityType)EditorGUILayout.EnumPopup(s.activityType, GUILayout.Width(300));
		EditorGUILayout.EndHorizontal();
	}