private void FromMoving(GameShape shape, GameShapeState shapeState) { GamePipe pipe = GetShapePipePair(shape).AttachedPipe; switch (shapeState) { case GameShapeState.CORRECT_MOVING: if (pipe != null) { pipe.RemoveShape(shape); } shape.SetState(GameShapeState.CORRECT_MOVING); break; case GameShapeState.FINISHED: if (pipe != null) { pipe.RemoveShape(shape); } shape.SetState(GameShapeState.FINISHED); shape.OnShapeFinished(false); break; default: break; } }
private void FromCorrectMoving(GameShape shape, GameShapeState shapeState) { switch (shapeState) { case GameShapeState.FINISHED: shape.SetState(GameShapeState.FINISHED); shape.OnShapeFinished(true); break; default: break; } }
private void FromSpawning(GameShape shape, GameShapeState shapeState) { switch (shapeState) { case GameShapeState.MOVING: GamePipe pipe = GetShapePipePair(shape).AttachedPipe; if (pipe == null) { shape.SetState(GameShapeState.EXPLODING); shape.OnShapeFinished(false); } else { shape.SetState(GameShapeState.MOVING); } break; default: break; } }