Ejemplo n.º 1
0
        public bool StartCombat(DamageDealerComponent damageDealer)
        {
            if (!_readyToCombat)
            {
                return(false);
            }

            PlayerStructure playerStructure = _playerState.GetActivePlayerStructure();

            InteractableComponent interactableComponent = playerStructure.GetInteractableComponent();

            if (interactableComponent is null)
            {
                return(false);
            }
            if (!interactableComponent.CheckIfCanAtack())
            {
                return(false);
            }

            damageDealer.event_AlertAttack.Invoke();
            interactableComponent.SetInteractableState(EnumInteractableState.Atack, this.GetInstanceID());

            // Go to the correct position to attack
            playerStructure.GetMovementMouseComponent().ObjectGoTo(this.transform.position, _colliderToStopMovement.GetInstanceID());

            return(true);
        }
Ejemplo n.º 2
0
        private void IniciateSomeInteraction(EnumInteractableState interactionState, PlayerStructure playerStructure, InteractableComponent interactableComponent)
        {
            if (interactableComponent is null)
            {
                return;
            }

            interactableComponent.SetInteractableState(interactionState, this.GetInstanceID());
            playerStructure.GetMovementMouseComponent().ObjectGoTo(this.transform.position, _radioToInteract);
        }