Exemplo n.º 1
0
        private void Start()
        {
            rb                         = GetComponent <Rigidbody2D>();
            jumpController             = GetComponent <JumpController>();
            leftRightController        = GetComponent <LeftRightController>();
            speedController            = GetComponent <SpeedController>();
            attackController           = GetComponent <IAttacker>();
            attackedController         = GetComponent <IAttacked>();
            groundChecker              = GetComponentInChildren <GroundChecker>();
            fallChecker                = GetComponent <FallChecker>();
            characterGravityController = GetComponent <CharacterGravityController>();
            speedController.enabled    = speedControllerEnabled;

            itemCollector = GetComponentInChildren <ItemCollector>();
            animator      = GetComponentsInChildren <Animator>()
                            .First(r => r.CompareTag("CharacterGFX"));

            if (itemCollector != null)
            {
                hasItemCollector             = true;
                itemCollector.ItemCollected += () => OnCollectedItem();
                itemCollector.ItemDropped   += () => OnDroppedItem();
            }

            if (attackedController != null)
            {
                hasAttackController                = true;
                attackedController.UnderAttack    += direction => OnAttacked(direction);
                attackedController.AttackFinished += () => OnNoLongerAttack();
            }

            jumpController.JumpEnded += () => OnJumpEnded();

            fallChecker.StartedFalling += () => OnStartedFalling();

            spawnPoint = new Vector2(transform.position.x, transform.position.y + spawnPointYOffset);
        }
Exemplo n.º 2
0
 private void Awake()
 {
     jumpController = GetComponentInParent <JumpController>();
 }