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); } }
public override void process(Entity entity) { CollisionResult collisionResult; if (entity.getComponent <Collider>().collidesWith(_player.getComponent <Collider>(), out collisionResult)) { _ladder = entity.getComponent <LadderComponent>(); } }
protected override void process(List <Entity> entities) { _ladder = null; base.process(entities); if (_player.platformerObject != null) { _player.platformerObject.ladderComponent = _ladder; } }