Ejemplo n.º 1
0
        public void ApplyPowerUp(GameObject gameObject)
        {
            (gameObject as Bomberman).Invulnerability = true;

            if (oneTime)
            {
                manager = new InvulnerabilityManager(gameObject as Bomberman);
                AddComponent(manager);
            }
        }
Ejemplo n.º 2
0
        public Bomberman() : base("BomberMan")
        {
            // LayerMask
            this.Layer = (uint)CollisionLayer.BomberMan;

            #region Animations
            playerAnimations.Add(AnimationType.WALK_RIGHT, new AnimationRenderer(FlyWeight.Get("BomberMan"), 68, 88, 7, new int[] { 35, 35, 36, 36, 37, 37, 37 }, 0.04f, false, true));
            playerAnimations.Add(AnimationType.WALK_LEFT, new AnimationRenderer(FlyWeight.Get("BomberMan"), 69, 88, 7, new int[] { 44, 44, 43, 43, 42, 42, 42 }, 0.04f, false, true));
            playerAnimations.Add(AnimationType.WALK_DOWN, new AnimationRenderer(FlyWeight.Get("BomberMan"), 64, 87, 7, new int[] { 0, 0, 1, 1, 2, 2, 2 }, 0.04f, false, true));
            playerAnimations.Add(AnimationType.WALK_UP, new AnimationRenderer(FlyWeight.Get("BomberMan"), 64, 87, 7, new int[] { 7, 7, 8, 8, 9, 9, 9 }, 0.04f, false, true));
            playerAnimations.Add(AnimationType.IDLE, new AnimationRenderer(FlyWeight.Get("BomberMan"), 62, 87, 7, new int[] { 0 }, 0.04f, true, false));

            playerAnimations.ToList().ForEach(item => AddComponent(item.Value));
            playerAnimations.ToList().ForEach(item => item.Value.RenderOffset = (int)RenderLayer.Player);
            #endregion


            //Bomb fsm
            drop = new StateDrop(this);
            drop.OnStateEnter();
            AddComponent(new FSMUpdater(drop));

            #region Components

            AddComponent(new CharacterController());
            AddComponent(new UpdateAnimation(this));

            //Collider
            collider2D = new BoxCollider2D(new Vector2(1f, 1f));
            collider2D.CollisionMode  = CollisionMode.Collision;
            collider2D.CollisionStay += OnCollisionStay;
            collider2D.TriggerEnter  += OnTriggerEnter;
            AddComponent(collider2D);

            AddComponent(new BoxCollider2DRenderer(new Vector4(1f, 0f, 0f, 0f)));
            Rigidbody2D rigidBody = new Rigidbody2D();
            rigidBody.IsGravityAffected = false;
            AddComponent(rigidBody);

            AddComponent(new CameraFollow());

            manager = new InvulnerabilityManager(this);
            AddComponent(manager);
            #endregion
        }