Tương tác
Đã kiểm tra với phiên bản: 5.5
– –
Độ khó: Trung cấp
Giai đoạn 5 tiếp tục dạy bạn cách xây dựng một hệ thống tương tác, tập trung vào các tương tác. Chúng tôi sẽ tạo ra một hệ thống để xác định những gì người chơi có thể tương tác với bao gồm cả hình học tương tác, sử dụng EventSystem và đưa ra một bản tóm tắt hệ thống tương tác. Tải xuống gói nội dung cho Giai đoạn tại đây.https://www.assetstore.unity3d.com/en/?&_ga=2.167546430.1082230255.1536856804-659907597.1536596969#!/content/76789
Tải xuống gói nội dung cho Giai đoạn 5 tại Cửa hàng tài sản hợp nhất tại đây.https://www.assetstore.unity3d.com/en/?&_ga=2.133145998.1082230255.1536856804-659907597.1536596969#!/content/76789
Interactable
Expand view
Copy code
using UnityEngine;
public class Interactable : MonoBehaviour
{
public Transform interactionLocation;
public ConditionCollection[] conditionCollections = new ConditionCollection[0];
public ReactionCollection defaultReactionCollection;
public void Interact ()
{
for (int i = 0; i < conditionCollections.Length; i++)
{
if (conditionCollections[i].CheckAndReact ())
return;
}
defaultReactionCollection.React ();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
InteractableEditor
Expand view
Copy code
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Interactable))]public class InteractableEditor : EditorWithSubEditors<ConditionCollectionEditor, ConditionCollection>
{
private Interactable interactable;
private SerializedProperty interactionLocationProperty;
private SerializedProperty collectionsProperty;
private SerializedProperty defaultReactionCollectionProperty;
private const float collectionButtonWidth = 125f;
private const string interactablePropInteractionLocationName = "interactionLocation";
private const string interactablePropConditionCollectionsName = "conditionCollections";
private const string interactablePropDefaultReactionCollectionName = "defaultReactionCollection";
private void OnEnable ()
{
interactable = (Interactable)target;
collectionsProperty = serializedObject.FindProperty(interactablePropConditionCollectionsName);
interactionLocationProperty = serializedObject.FindProperty(interactablePropInteractionLocationName);
defaultReactionCollectionProperty = serializedObject.FindProperty(interactablePropDefaultReactionCollectionName);
CheckAndCreateSubEditors(interactable.conditionCollections);
}
private void OnDisable ()
{
CleanupEditors ();
}
protected override void SubEditorSetup(ConditionCollectionEditor editor)
{
editor.collectionsProperty = collectionsProperty;
}
public override void OnInspectorGUI ()
{
serializedObject.Update ();
CheckAndCreateSubEditors(interactable.conditionCollections);
EditorGUILayout.PropertyField (interactionLocationProperty);
for (int i = 0; i < subEditors.Length; i++)
{
subEditors[i].OnInspectorGUI ();
EditorGUILayout.Space ();
}
EditorGUILayout.BeginHorizontal();
GUILayout.FlexibleSpace ();
if (GUILayout.Button("Add Collection", GUILayout.Width(collectionButtonWidth)))
{
ConditionCollection newCollection = ConditionCollectionEditor.CreateConditionCollection ();
collectionsProperty.AddToObjectArray (newCollection);
}
EditorGUILayout.EndHorizontal ();
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (defaultReactionCollectionProperty);
serializedObject.ApplyModifiedProperties ();
}
}
canada generic viagra generic viagra online canadian pharmacy generic viagra from canada
generic viagra online canadian pharmacy
canada online pharmacy generic viagra canadian pharmacy generic viagra generic viagra online canadian pharmacy
viagra online canadian pharmacy
will erectile dysfunction go away
buy erectile dysfunction medications online
erectile booster
top erectile dysfunction pills
generic viagra online canada canadian pharmacy online canadian pharmacy meds
cheap viagra online canadian pharmacy
canadian drug stores cheap viagra online canadian pharmacy canadian drug stores
viagra online canadian pharmacy
best canadian pharmacy viagra online canadian pharmacy generic viagra online canada
generic viagra online canadian pharmacy
online canadian pharmacy canadian pharmacy generic viagra canadian drugs
generic viagra online canadian pharmacy
viagra online canada canadian pharmacy online viagra canadian pharmacy generic
viagra online canadian pharmacy
generic viagra canada pharmacy canadian pharmacy generic viagra canadian online pharmacy
canadian pharmacy generic viagra
4, 777, 633, 572, 782, 468, 362, 263, 775, 764
621, 969, 114, 409, 472, 894, 66, 7, 413, 881
660, 736, 176, 48, 244, 570, 956, 845, 427, 760