private void Possess(CharacterInput character) { // Hide ourselves SetVisable(false); // Set the object to recieve player input CharacterInput.playerControlled = character; _possessed = character.transform; // Create the possession effect ObjectPool.Get(onPossessionEffect, _possessed.position, Quaternion.identity); }
/// <summary> /// Start is called before the first frame update /// </summary> private void Start() { // Retrieve all the input recievers on start // NOTE: This could become rather performance intensive if not kept under check moveInputReceivers = GetComponents <IMoveInputReceiver>(); actionInputReceivers = GetComponents <IActionInputReceiver>(); lookInputReceivers = GetComponents <ILookInputReceiver>(); // Set this as player if (isPlayerOnStart) { playerControlled = this; } }