Example #1
0
    void BCG_Player_OnBCGPlayerDestroyed(BCG_EnterExitPlayer player)
    {
        if (cachedPlayers.Contains(player))
        {
            cachedPlayers.Remove(player);
        }

        BCGCharacterPlayer = null;
    }
Example #2
0
    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;
    }
Example #3
0
    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;
    }
Example #4
0
    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);
        }
    }
Example #5
0
    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;
    }
Example #6
0
 void BCG_EnterExitPlayer_OnBCGPlayerDestroyed(BCG_EnterExitPlayer player)
 {
 }
Example #7
0
 void BCG_EnterExitPlayer_OnBCGPlayerSpawned(BCG_EnterExitPlayer player)
 {
     activePlayerCharacter = player;
 }