<?php namespace FML\Script; /** * Builder Class offering Methods to build ManiaScript * * @author steeffeen */ abstract class Builder { /** * Build a Label Implementation Block * * @param string $labelName Name of the Label * @param string $implementationCode Label Implementation Coding (without declaration) * @return string */ public static function getLabelImplementationBlock($labelName, $implementationCode) { $labelText = PHP_EOL . "***{$labelName}***" . PHP_EOL . "***{$implementationCode}***" . PHP_EOL; return $labelText; } /** * Escape dangerous Characters in the given Text * * @param string $text Text to escape * @return string */ public static function escapeText($text) { $escapedText = $text; $dangers = array('\\', '"'); $replacements = array('\\\\', '\\"'); $escapedText = str_ireplace($dangers, $replacements, $escapedText); return $escapedText; } /** * Get the Real String-Representation of the given Value * * @param float $value The Float Value to convert to a ManiaScript Real * @return string */ public static function getReal($value) { $value = (float) $value; $stringVal = (string) $value; if (!fmod($value, 1)) $stringVal .= '.'; return $stringVal; } /** * Get the Boolean String-Representation of the given Value * * @param bool $value The Value to convert to a ManiaScript Boolean * @return string */ public static function getBoolean($value) { $bool = (bool) $value; if ($bool) { return "True"; } return "False"; } }