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);
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }