Beispiel #1
0
    private void Start()
    {
        GameObject managers = GameObject.FindGameObjectWithTag("Managers");

        sfxManager = managers.GetComponentInChildren <SFXManager>();


        // We need to do this, just in case we have an animator to setup
        IsShell = isShell;

        topCollider.OnCollisionEnter2DEvent += collision2d =>
        {
            TurnIntoShell();
            basicEnemy.CanMove = false;
        };

        leftTopCollider.OnCollisionEnter2DEvent += collision2d =>
        {
            if (IsShell && !hasSetShellMovement)
            {
                SetEnemyMovement(shellMoveSpeed, false);
                hasSetShellMovement = true;
            }
        };

        rightTopCollider.OnCollisionEnter2DEvent += collision2d =>
        {
            if (IsShell && !hasSetShellMovement)
            {
                SetEnemyMovement(shellMoveSpeed, true);
                hasSetShellMovement = true;
            }
        };

        shellCollider.OnCollisionEnter2DEvent += collision2d =>
        {
            if (IsShell)
            {
                IKillable killable = collision2d.gameObject.GetComponent <IKillable>();

                if (killable != null)
                {
                    killable.KillAndFall();
                }
            }
        };
    }