public void HandleElevation(int customLevel = -1) { var currentElev = customLevel == -1 ? runtime.World.GetElevation(subject.Position) : (eCollisionLayers)customLevel; if (Level != currentElev && !subject.isFallDisabled) { Level = currentElev; SetElevationLayers(); } }
public ElevationHandler(IElevatable sub, Runtime runtime, eCollisionLayers startingLevel = eCollisionLayers.LEVEL3) { this.subject = sub; this.Level = startingLevel; this.runtime = runtime; AllLevels = new List <eCollisionLayers>() { eCollisionLayers.LEVEL1, eCollisionLayers.LEVEL2, eCollisionLayers.LEVEL3, eCollisionLayers.LEVEL4, eCollisionLayers.LEVEL5 }; SetElevationLayers(); }
public ClimbOrder(IElevatable elevatable, eCollisionLayers levelTo) { this.elevatable = elevatable; this.levelTo = levelTo; }
public TileMap GetTileMap(eCollisionLayers layer) { return(layer == eCollisionLayers.LEVEL2 ? level2 : layer == eCollisionLayers.LEVEL3 ? level3 : layer == eCollisionLayers.LEVEL4 ? level4 : null); }
internal void InitClimbing(eCollisionLayers level) { isClimbing = true; tickHandler.AddOrder(new ClimbOrder(node as IElevatable, level), 5); }
//IElevateable public void Elevate(eCollisionLayers level) { state.elevationHandler.HandleElevation((int)level); }