override public void ShowGUI (List<ActionParameter> parameters) { isPlayer = EditorGUILayout.Toggle ("Affect Player?", isPlayer); if (!isPlayer) { charToMoveParameterID = Action.ChooseParameterGUI ("Character to turn:", parameters, charToMoveParameterID, ParameterType.GameObject); if (charToMoveParameterID >= 0) { charToMoveID = 0; charToMove = null; } else { charToMove = (Char) EditorGUILayout.ObjectField ("Character to turn:", charToMove, typeof(Char), true); charToMoveID = FieldToID <Char> (charToMove, charToMoveID); charToMove = IDToField <Char> (charToMove, charToMoveID, false); } facePlayer = EditorGUILayout.Toggle ("Face player?", facePlayer); } else { facePlayer = false; SettingsManager settingsManager = AdvGame.GetReferences ().settingsManager; if (faceType == CharFaceType.Body && settingsManager && settingsManager.IsInFirstPerson ()) { lookUpDown = EditorGUILayout.Toggle ("FPS head tilt?", lookUpDown); } } faceType = (CharFaceType) EditorGUILayout.EnumPopup ("Face with:", faceType); if (faceType == CharFaceType.Head) { stopLooking = EditorGUILayout.Toggle ("Stop looking?", stopLooking); } if (facePlayer || (faceType == CharFaceType.Head && stopLooking)) { } else { faceObjectParameterID = Action.ChooseParameterGUI ("Object to face:", parameters, faceObjectParameterID, ParameterType.GameObject); if (faceObjectParameterID >= 0) { faceObjectID = 0; faceObject = null; } else { faceObject = (GameObject) EditorGUILayout.ObjectField ("Object to face:", faceObject, typeof(GameObject), true); faceObjectID = FieldToID (faceObject, faceObjectID); faceObject = IDToField (faceObject, faceObjectID, false); } } if (faceType == CharFaceType.Body) { copyRotation = EditorGUILayout.Toggle ("Use object's rotation?", copyRotation); } isInstant = EditorGUILayout.Toggle ("Is instant?", isInstant); if (!isInstant) { willWait = EditorGUILayout.Toggle ("Wait until finish?", willWait); } AfterRunningOption (); }
override public void ShowGUI(List <ActionParameter> parameters) { isPlayer = EditorGUILayout.Toggle("Affect Player?", isPlayer); if (!isPlayer) { charToMoveParameterID = Action.ChooseParameterGUI("Character to turn:", parameters, charToMoveParameterID, ParameterType.GameObject); if (charToMoveParameterID >= 0) { charToMoveID = 0; charToMove = null; } else { charToMove = (Char)EditorGUILayout.ObjectField("Character to turn:", charToMove, typeof(Char), true); charToMoveID = FieldToID <Char> (charToMove, charToMoveID); charToMove = IDToField <Char> (charToMove, charToMoveID, false); } } else { facePlayer = false; } faceType = (CharFaceType)EditorGUILayout.EnumPopup("Face with:", faceType); if (!isPlayer) { facePlayer = EditorGUILayout.Toggle("Face player?", facePlayer); } else { SettingsManager settingsManager = AdvGame.GetReferences().settingsManager; if (faceType == CharFaceType.Body && settingsManager && settingsManager.IsInFirstPerson()) { lookUpDown = EditorGUILayout.Toggle("Affect head pitch?", lookUpDown); } } if (faceType == CharFaceType.Head) { stopLooking = EditorGUILayout.Toggle("Stop looking?", stopLooking); } if (facePlayer || (faceType == CharFaceType.Head && stopLooking)) { } else { faceObjectParameterID = Action.ChooseParameterGUI("Object to face:", parameters, faceObjectParameterID, ParameterType.GameObject); if (faceObjectParameterID >= 0) { faceObjectID = 0; faceObject = null; } else { faceObject = (GameObject)EditorGUILayout.ObjectField("Object to face:", faceObject, typeof(GameObject), true); faceObjectID = FieldToID(faceObject, faceObjectID); faceObject = IDToField(faceObject, faceObjectID, false); } } if (faceType == CharFaceType.Body) { copyRotation = EditorGUILayout.Toggle("Use object's rotation?", copyRotation); } else if (faceType == CharFaceType.Head && !stopLooking) { if (facePlayer || (faceObject != null && faceObject.GetComponent <Char>())) { lookAtHead = EditorGUILayout.Toggle("Look at character's head?", lookAtHead); } } isInstant = EditorGUILayout.Toggle("Is instant?", isInstant); if (!isInstant) { willWait = EditorGUILayout.Toggle("Wait until finish?", willWait); } AfterRunningOption(); }
public override void ShowGUI(List <ActionParameter> parameters) { bool playerSwitching = (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow); isPlayer = EditorGUILayout.Toggle("Affect Player?", isPlayer); if (isPlayer) { if (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow) { playerParameterID = ChooseParameterGUI("Player ID:", parameters, playerParameterID, ParameterType.Integer); if (playerParameterID < 0) { playerID = ChoosePlayerGUI(playerID, true); } } } else { charToMoveParameterID = Action.ChooseParameterGUI("Character to turn:", parameters, charToMoveParameterID, ParameterType.GameObject); if (charToMoveParameterID >= 0) { charToMoveID = 0; charToMove = null; } else { charToMove = (Char)EditorGUILayout.ObjectField("Character to turn:", charToMove, typeof(Char), true); charToMoveID = FieldToID <Char> (charToMove, charToMoveID); charToMove = IDToField <Char> (charToMove, charToMoveID, false); } } faceType = (CharFaceType)EditorGUILayout.EnumPopup("Face with:", faceType); if (isPlayer) { if (faceType == CharFaceType.Body && KickStarter.settingsManager != null && KickStarter.settingsManager.IsInFirstPerson()) { lookUpDown = EditorGUILayout.Toggle("Affect head pitch?", lookUpDown); } } if (isPlayer && !playerSwitching) { facePlayer = false; } else { facePlayer = EditorGUILayout.Toggle("Face player?", facePlayer); if (facePlayer) { if (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow) { faceObjectParameterID = ChooseParameterGUI("Player ID:", parameters, faceObjectParameterID, ParameterType.Integer); if (faceObjectParameterID < 0) { facePlayerID = ChoosePlayerGUI(facePlayerID, true); } if (isPlayer && playerParameterID < 0 && faceObjectParameterID < 0 && playerID == facePlayerID) { EditorGUILayout.HelpBox("A Player cannot face themselves!", MessageType.Warning); } } } } if (faceType == CharFaceType.Head) { stopLooking = EditorGUILayout.Toggle("Stop looking?", stopLooking); } if (facePlayer || (faceType == CharFaceType.Head && stopLooking)) { } else { faceObjectParameterID = Action.ChooseParameterGUI("Object to face:", parameters, faceObjectParameterID, ParameterType.GameObject); if (faceObjectParameterID >= 0) { faceObjectID = 0; faceObject = null; } else { faceObject = (GameObject)EditorGUILayout.ObjectField("Object to face:", faceObject, typeof(GameObject), true); faceObjectID = FieldToID(faceObject, faceObjectID); faceObject = IDToField(faceObject, faceObjectID, false); } } if (faceType == CharFaceType.Body) { copyRotation = EditorGUILayout.Toggle("Use object's rotation?", copyRotation); } else if (faceType == CharFaceType.Head && !stopLooking) { if (facePlayer || (faceObject != null && faceObject.GetComponent <Char>())) { lookAtHead = EditorGUILayout.Toggle("Look at character's head?", lookAtHead); } else if (faceObjectParameterID >= 0) { lookAtHead = EditorGUILayout.Toggle("If a character, look at head?", lookAtHead); } } isInstant = EditorGUILayout.Toggle("Is instant?", isInstant); if (!isInstant) { willWait = EditorGUILayout.Toggle("Wait until finish?", willWait); } AfterRunningOption(); }