Files
CodenameEngine/source/funkin/backend/assets/AssetSource.hx
T
2024-04-10 01:28:23 +02:00

40 lines
752 B
Haxe

package funkin.backend.assets;
enum abstract AssetSource(Null<Int>)/* from Null<Bool>*/ from Null<Int> to Null<Int> {
var SOURCE = 0;
var MODS = 1;
var BOTH = -1;
@:from public static function fromString(str:String):AssetSource
{
return switch (StringTools.trim(str).toLowerCase())
{
case "source": SOURCE;
case "mods": MODS;
case "both": BOTH;
default: MODS;
}
}
/*@:from public static function fromBool(b:Null<Bool>):AssetSource
{
return switch (b)
{
case true: SOURCE;
case false: MODS;
case null: BOTH;
default: MODS;
}
}*/
@:to public inline function toString():String
{
return switch (this)
{
case SOURCE: "source";
case MODS: "mods";
case BOTH: "both";
default: "mods";
}
}
}