Beispiel #1
0
        private void LoadLadderComponent(GameEntity entity, LadderComponentInfo info)
        {
            var comp = new LadderComponent();

            entity.AddComponent(comp);
            comp.LoadInfo(info);
        }
        public Effect Load(IEffectPartInfo info)
        {
            var ladderInfo = (LadderEffectPartInfo)info;

            Effect effect = e => { };

            if (ladderInfo.Action == LadderAction.Grab)
            {
                effect = entity =>
                {
                    LadderComponent ladder = entity.GetComponent <LadderComponent>();
                    if (ladder != null)
                    {
                        ladder.Grab();
                    }
                }
            }
            ;
            else if (ladderInfo.Action == LadderAction.LetGo)
            {
                effect = entity =>
                {
                    LadderComponent ladder = entity.GetComponent <LadderComponent>();
                    if (ladder != null)
                    {
                        ladder.LetGo();
                    }
                }
            }
            ;
            else if (ladderInfo.Action == LadderAction.StandOn)
            {
                effect = entity =>
                {
                    LadderComponent ladder = entity.GetComponent <LadderComponent>();
                    if (ladder != null)
                    {
                        ladder.StandOn();
                    }
                }
            }
            ;
            else if (ladderInfo.Action == LadderAction.ClimbDown)
            {
                effect = entity =>
                {
                    LadderComponent ladder = entity.GetComponent <LadderComponent>();
                    if (ladder != null)
                    {
                        ladder.ClimbDown();
                    }
                }
            }
            ;

            return(effect);
        }
    }
Beispiel #3
0
        public override void process(Entity entity)
        {
            CollisionResult collisionResult;

            if (entity.getComponent <Collider>().collidesWith(_player.getComponent <Collider>(), out collisionResult))
            {
                _ladder = entity.getComponent <LadderComponent>();
            }
        }
Beispiel #4
0
 protected override void process(List <Entity> entities)
 {
     _ladder = null;
     base.process(entities);
     if (_player.platformerObject != null)
     {
         _player.platformerObject.ladderComponent = _ladder;
     }
 }
 private void LoadLadderComponent(GameEntity entity, LadderComponentInfo info)
 {
     var comp = new LadderComponent();
     entity.AddComponent(comp);
     comp.LoadInfo(info);
 }