Exemple #1
0
 public override void onAddedToEntity()
 {
     sprite        = entity.getComponent <Sprite <ObjectFactory.PlayerAnims> >();
     collider      = entity.getComponents <BoxCollider>().FirstOrDefault(c => c.name == "hitbox");
     input         = entity.getComponent <Input>();
     triggerHelper = new ColliderTriggerHelper(entity);
 }
Exemple #2
0
        private void SetupCollision()
        {
            _collider = new BoxCollider();
            _collider.setWidth(20f);
            _collider.setHeight(70f);
            Flags.setFlagExclusive(ref _collider.collidesWithLayers, (int)Game1.PhysicsLayers.Background);
            Flags.setFlagExclusive(ref _collider.physicsLayer, (int)Game1.PhysicsLayers.Player);
            _punchCollider = new BoxCollider();
            _punchCollider.setWidth(20f);
            _punchCollider.setHeight(5f);
            _punchCollider.setLocalOffset(new Vector2(_punchXOffset, _punchYOffset));
            _punchCollider.isTrigger = true;
            Flags.setFlagExclusive(ref _punchCollider.collidesWithLayers, (int)Game1.PhysicsLayers.PlayerAttacksInactive);
            Flags.setFlagExclusive(ref _punchCollider.physicsLayer, (int)Game1.PhysicsLayers.PlayerAttacks);
            entity.addComponent(_collider);
            entity.addComponent(_punchCollider);
            //punchCollider.setEnabled(false);
            //_collider.isTrigger = true;
            _triggerHelper = new ColliderTriggerHelper(entity);
            HitDetector    = new Utilities.ProjectileHitDetector();
            entity.addComponent(HitDetector);


            _mover = entity.addComponent(new Mover());
            Flags.setFlagExclusive(ref _collider.collidesWithLayers, (int)Game1.PhysicsLayers.Background);
            Flags.setFlagExclusive(ref _collider.physicsLayer, (int)Game1.PhysicsLayers.Player);
        }
Exemple #3
0
        public override void onAddedToEntity()
        {
            base.onAddedToEntity();

            _mover         = this.getComponent <TiledMapMover>();
            _collider      = entity.getCollider <BoxCollider>();
            _triggerHelper = new ColliderTriggerHelper(entity);

            p = entity as Player;
        }
Exemple #4
0
 public override void onAddedToEntity()
 {
     base.onAddedToEntity();
     sprite = entity.getComponent <Sprite <CarAnimations> >();
     if (homeScene)
     {
         sprite.flipX = true;
         driveUp();
     }
     else
     {
         crashIn();
     }
     triggerHelper = new ColliderTriggerHelper(entity);
 }
Exemple #5
0
        public override void onAddedToEntity()
        {
            mover            = entity.getComponent <TiledMapMover>();
            animationManager = entity.getComponent <AnimationManager>();
            sprite           = animationManager.sprite;
            weaponSprite     = entity.getComponents <Sprite>().First((s) => s.name == Strings.Weapon);
            var boxes = entity.getComponents <BoxCollider>();

            moveBox = boxes.FirstOrDefault(c => c.name == Constants.Strings.MoveCollider);
            hurtBox = boxes.FirstOrDefault(c => c.name == Constants.Strings.HitCollider);
            //velocity = Vector2.Zero;
            maxSpeedVec   = new Vector2(moveSpeed * 2f, moveSpeed * 3f);
            triggerHelper = new ColliderTriggerHelper(entity);
            animationManager.Play(Animations.PlayerIdle);

            var gs = (GameScene)entity.scene;

            jumpSound  = gs.JumpSound;
            shootSound = gs.ShootSound;
        }
Exemple #6
0
        public override void Initialize()
        {
            colBodySize      = hitBoxSize;
            CollisionBox     = context.lvl.CollisionWorld.CreateRectangle(ConvertUnits.ToSimUnits(colBodySize.X), ConvertUnits.ToSimUnits(colBodySize.Y), 1, ConvertUnits.ToSimUnits(Transform.Position), 0, BodyType.Kinematic);
            CollisionBox.Tag = this;
            CurrentState     = CharState.Jumping;

            gravity         = (float)((2 * maxJumpHeight) / Math.Pow(timeToJumpApex, 2));
            maxJumpVelocity = Math.Abs(gravity) * timeToJumpApex;
            minJumpVelocity = (float)Math.Sqrt(2 * Math.Abs(gravity) * minJumpHeight);

            controller = new Controller2D(CollisionBox, Category.Cat1 | Category.Cat2 | Category.Cat4 | Category.Cat5);

            context.camera.SetViewTarget(this);

            trigger              = new ColliderTriggerHelper(CollisionBox, Category.Cat9);
            trigger.onEnterZone += Trigger_onEnterZone;

            //CurrentAnimation = Animations["Jump"];

            base.Initialize();

            Material = RenderMaterial.DefaultMaterial;
        }
Exemple #7
0
 public override void OnAddedToEntity()
 {
     _triggerHelper = new ColliderTriggerHelper(Entity);
 }
 public override void OnAddedToEntity()
 {
     TriggerHjälpare = new ColliderTriggerHelper(Entity);
 }
Exemple #9
0
        public override void OnAddedToEntity()
        {
            var texture = Entity.Scene.Content.LoadTexture(Content.Platformer.Caveman);
            var sprites = Sprite.SpritesFromAtlas(texture, 32, 32);

            _boxCollider = Entity.GetComponent <BoxCollider>();
            _mover       = Entity.GetComponent <TiledMapMover>();
            _animator    = Entity.AddComponent(new SpriteAnimator(sprites[0]));

            // the TiledMapMover does not call ITriggerListener Methods on collision.
            // To achieve ITriggerListener calling, this ColliderTriggerHelper can be used.
            // See the Update() function below, to see how this helper can be used.
            _triggerHelper = new ColliderTriggerHelper(Entity);

            // extract the animations from the atlas. they are setup in rows with 8 columns
            _animator.AddAnimation("Walk", new[]
            {
                sprites[0],
                sprites[1],
                sprites[2],
                sprites[3],
                sprites[4],
                sprites[5]
            });

            _animator.AddAnimation("Run", new[]
            {
                sprites[8 + 0],
                sprites[8 + 1],
                sprites[8 + 2],
                sprites[8 + 3],
                sprites[8 + 4],
                sprites[8 + 5],
                sprites[8 + 6]
            });

            _animator.AddAnimation("Idle", new[]
            {
                sprites[16]
            });

            _animator.AddAnimation("Attack", new[]
            {
                sprites[24 + 0],
                sprites[24 + 1],
                sprites[24 + 2],
                sprites[24 + 3]
            });

            _animator.AddAnimation("Death", new[]
            {
                sprites[40 + 0],
                sprites[40 + 1],
                sprites[40 + 2],
                sprites[40 + 3]
            });

            _animator.AddAnimation("Falling", new[]
            {
                sprites[48]
            });

            _animator.AddAnimation("Hurt", new[]
            {
                sprites[64],
                sprites[64 + 1]
            });

            _animator.AddAnimation("Jumping", new[]
            {
                sprites[72 + 0],
                sprites[72 + 1],
                sprites[72 + 2],
                sprites[72 + 3]
            });

            SetupInput();
        }