예제 #1
0
        // Start is called before the first frame update
        void Start()
        {
            int currentIndex;

            // Get reference to sprite renderer.
            _SpriteR = gameObject.GetComponent <SpriteRenderer>();

            // Reference to the sprite collider.
            _GuardianCollider = gameObject.GetComponent <Collider2D>();

            // Set animation counter rate.
            _TickerCounter = new TickCounter(_AnimateOnTicksForKong);

            // Calculate indexes of guardian sprites in sprite sheet.
            currentIndex = ResourceManager.FindSpriteIndex(ResourceManager.GuardiansSprites, _SpriteR.sprite);

            _SpriteAnimator = new IndexAnimator(4, currentIndex, IndexDirection.Backward, true);
        }
예제 #2
0
        // Start is called before the first frame update
        void Start()
        {
            int currentIndex;

            // Get reference to sprite renderer.
            _SpriteR = gameObject.GetComponent <SpriteRenderer>();

            // Get original comet color.
            _OriginalCometColor = _SpriteR.color;

            // Reference to the sprite collider.
            _CometCollider = gameObject.GetComponent <Collider2D>();

            // Set animation counter rate.
            _TickerCounter = new TickCounter(_AnimateOnTicksForComet);

            // Calculate indexes of guardian sprites in sprite sheet.
            currentIndex    = ResourceManager.FindSpriteIndex(ResourceManager.GuardiansSprites, _SpriteR.sprite);
            _SpriteAnimator = new IndexAnimator(8, currentIndex, IndexDirection.Forward, false);
        }
예제 #3
0
        // Start is called before the first frame update.
        void Start()
        {
            int            currentIndex;
            IndexDirection indexMovingTo;

            // Get reference to sprite renderer.
            _SpriteR = gameObject.GetComponent <SpriteRenderer>();

            // Reference to the sprite collider.
            _PlayerCollider = gameObject.GetComponent <Collider2D>();

            // Masks needed for different kind of collisions.
            _MaskWithWalls    = LayerMask.GetMask("Walls");
            _MaskWithGround   = LayerMask.GetMask("Walls", "Platforms", "Threadmills", "Mud");
            _MaskWithMud      = LayerMask.GetMask("Mud");
            _MaskWithPickups  = LayerMask.GetMask("Pickups");
            _MaskWithLevers   = LayerMask.GetMask("Levers");
            _MaskWithEnemies  = LayerMask.GetMask("Guardians", "Obstacles");
            _MaskWithElevator = LayerMask.GetMask("Elevators");

            // Layer index needed to indentify different colliders.
            _ThreadmillsLayerIndex = LayerMask.NameToLayer("Threadmills");
            _MudLayerIndex         = LayerMask.NameToLayer("Mud");

            // Initial setup of the player. This is different for every level.
            currentIndex = ResourceManager.FindSpriteIndex(ResourceManager.PlayerSprites, _SpriteR.sprite);

            _IsPlayerFacingRight = (currentIndex > 3) ? true : false;
            indexMovingTo        = (_IsPlayerFacingRight == true) ? IndexDirection.Forward : IndexDirection.Backward;

            _SpriteAnimator = new IndexAnimator(8, currentIndex, indexMovingTo, true);

            // For sounds effects.
            _SoundsSource = gameObject.GetComponent <AudioSource>();

            // Load jump sounds.
            for (int c = 0; c < _JumpSounds.Length; c++)
            {
                _JumpSounds[c] = Resources.Load <AudioClip>("Sounds/Jump" + (c + 1).ToString());
            }
        }
예제 #4
0
        // Start is called before the first frame update
        void Start()
        {
            int            indexLenght;
            int            currentIndex;
            IndexDirection indexMovingTo;

            // Get reference to sprite renderer.
            _SpriteR = gameObject.GetComponent <SpriteRenderer>();

            // Reference to the sprite collider.
            _GuardianCollider = gameObject.GetComponent <Collider2D>();

            // Set animation counter rate.
            _TickerCounter = new TickCounter(_AnimateOnTicksForGuardian);

            // Calculate indexes of guardian sprites in sprite sheet.
            indexLenght   = (_IsBidirectional == true) ? 8 : 4;
            currentIndex  = ResourceManager.FindSpriteIndex(ResourceManager.GuardiansSprites, _SpriteR.sprite);
            indexMovingTo = (_IsMovingRight == true) ? IndexDirection.Forward : IndexDirection.Backward;

            _SpriteAnimator = new IndexAnimator(indexLenght, currentIndex, indexMovingTo, _IsBidirectional);
        }