void BCG_Player_OnBCGPlayerDestroyed(BCG_EnterExitPlayer player) { if (cachedPlayers.Contains(player)) { cachedPlayers.Remove(player); } BCGCharacterPlayer = null; }
void BCG_Player_OnBCGPlayerSpawned(BCG_EnterExitPlayer player) { if (!cachedPlayers.Contains(player)) { cachedPlayers.Add(player); } BCG_CharacterPlayer newPlayer = new BCG_CharacterPlayer(); newPlayer.characterPlayer = player; newPlayer.currentlyInThisVehicle = null; BCGCharacterPlayer = newPlayer; }
void BCG_Player_OnBCGPlayerExitedFromAVehicle(BCG_EnterExitPlayer player, BCG_EnterExitVehicle vehicle) { if (waitTime < 1) { return; } print("Player Named " + player.name + " has exited from a vehicle named " + vehicle.name); player.inVehicle = null; player.transform.SetParent(null); player.transform.rotation = Quaternion.Euler(0f, vehicle.transform.rotation.y, 0f); BCGCharacterPlayer.currentlyInThisVehicle = null; if (cachedCanvas) { cachedCanvas.displayType = BCG_EnterExitCharacterUICanvas.DisplayType.OnFoot; } if (vehicle.getOutPosition) { player.transform.position = vehicle.getOutPosition.position; } else { player.transform.position = vehicle.transform.position; player.transform.position += vehicle.transform.right * -1.5f; } player.gameObject.SetActive(true); for (int i = 0; i < cachedMainCameras.Count; i++) { cachedMainCameras [i].SendMessage("ToggleCamera", false, SendMessageOptions.DontRequireReceiver); } vehicle.gameObject.SendMessage("SetCanControl", false, SendMessageOptions.DontRequireReceiver); vehicle.gameObject.SendMessage("SetEngine", BCG_EnterExitSettings.Instance.keepEnginesAlive, SendMessageOptions.DontRequireReceiver); vehicle.driver = null; // if(RCC_CustomizerExample.Instance) // RCC_CustomizerExample.Instance.vehicle = null; RCC_SceneManager.Instance.activePlayerVehicle = null; waitTime = 0f; }
public override void OnInspectorGUI() { serializedObject.Update(); prop = (BCG_EnterExitPlayer)target; EditorGUILayout.HelpBox("Script must be attached to root of your character player.", MessageType.Info); EditorGUILayout.Space(); EditorGUILayout.PropertyField(serializedObject.FindProperty("isTPSController"), new GUIContent("Is TPS Controller?"), false); if (prop.isTPSController) { EditorGUILayout.PropertyField(serializedObject.FindProperty("rayHeight"), new GUIContent("Ray Height"), false); } EditorGUILayout.PropertyField(serializedObject.FindProperty("playerStartsAsInVehicle"), new GUIContent("Player Starts As In Vehicle"), false); if (prop.playerStartsAsInVehicle) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(serializedObject.FindProperty("inVehicle"), new GUIContent("Vehicle"), false); EditorGUI.indentLevel--; } if (!GameObject.FindObjectOfType <BCG_EnterExitManager> ()) { EditorGUILayout.HelpBox("Your scene doesn't have BCG_EnterExitManager. In order to use enter-exit system, your scene must have _BCGEnterExitManager.", MessageType.Error); if (GUILayout.Button("Create BCG_EnterExitManager")) { GameObject newBCG_EnterExitManager = new GameObject(); newBCG_EnterExitManager.transform.name = "_BCGEnterExitManager"; newBCG_EnterExitManager.transform.position = Vector3.zero; newBCG_EnterExitManager.transform.rotation = Quaternion.identity; newBCG_EnterExitManager.AddComponent <BCG_EnterExitManager> (); } } serializedObject.ApplyModifiedProperties(); if (GUI.changed) { EditorUtility.SetDirty(prop); } }
public void BCG_Player_OnBCGPlayerEnteredAVehicle(BCG_EnterExitPlayer player, BCG_EnterExitVehicle vehicle) { if (waitTime < 1) { return; } print("Player Named " + player.name + " has entered a vehicle named " + vehicle.name); player.inVehicle = vehicle; player.gameObject.SetActive(false); player.transform.SetParent(vehicle.transform, true); player.transform.localPosition = Vector3.zero; player.transform.localRotation = Quaternion.identity; player.transform.position = vehicle.transform.position; player.transform.localRotation = Quaternion.identity; BCGCharacterPlayer.currentlyInThisVehicle = vehicle; if (cachedCanvas) { cachedCanvas.displayType = BCG_EnterExitCharacterUICanvas.DisplayType.InVehicle; } for (int i = 0; i < cachedMainCameras.Count; i++) { if (cachedMainCameras [i] != vehicle.correspondingCamera) { cachedMainCameras [i].SendMessage("ToggleCamera", false, SendMessageOptions.DontRequireReceiver); } else { cachedMainCameras [i].SendMessage("ToggleCamera", true, SendMessageOptions.DontRequireReceiver); cachedMainCameras [i].SendMessage("SetTarget", vehicle.gameObject, SendMessageOptions.DontRequireReceiver); } } vehicle.gameObject.SendMessage("SetCanControl", true, SendMessageOptions.DontRequireReceiver); vehicle.gameObject.SendMessage("SetEngine", true, SendMessageOptions.DontRequireReceiver); vehicle.driver = player; RCC_SceneManager.Instance.activePlayerVehicle = vehicle.GetComponent <RCC_CarControllerV3> (); waitTime = 0f; }
void BCG_EnterExitPlayer_OnBCGPlayerDestroyed(BCG_EnterExitPlayer player) { }
void BCG_EnterExitPlayer_OnBCGPlayerSpawned(BCG_EnterExitPlayer player) { activePlayerCharacter = player; }