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();
 }
Exemplo n.º 3
0
 public ClimbOrder(IElevatable elevatable, eCollisionLayers levelTo)
 {
     this.elevatable = elevatable;
     this.levelTo    = levelTo;
 }
Exemplo n.º 4
0
 public TileMap GetTileMap(eCollisionLayers layer)
 {
     return(layer == eCollisionLayers.LEVEL2 ? level2 :
            layer == eCollisionLayers.LEVEL3 ? level3 :
            layer == eCollisionLayers.LEVEL4 ? level4 : null);
 }
Exemplo n.º 5
0
 internal void InitClimbing(eCollisionLayers level)
 {
     isClimbing = true;
     tickHandler.AddOrder(new ClimbOrder(node as IElevatable, level), 5);
 }
Exemplo n.º 6
0
 //IElevateable
 public void Elevate(eCollisionLayers level)
 {
     state.elevationHandler.HandleElevation((int)level);
 }