1 /**
2 Branches program flow based on a given input's value.
3 
4 Copyright:
5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.  
6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)  
7 Copyright (c) 2017-2018 Godot-D contributors  
8 
9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License)
10 
11 
12 */
13 module godot.visualscriptswitch;
14 import std.meta : AliasSeq, staticIndexOf;
15 import std.traits : Unqual;
16 import godot.d.meta;
17 import godot.core;
18 import godot.c;
19 import godot.d.bind;
20 import godot.d.reference;
21 import godot.object;
22 import godot.classdb;
23 import godot.visualscriptnode;
24 import godot.resource;
25 import godot.reference;
26 /**
27 Branches program flow based on a given input's value.
28 
29 Branches the flow based on an input's value. Use "Case Count" in the Inspector to set the number of branches and each comparison's optional type.
30 $(B Input Ports:)
31 - Sequence: `'input' is`
32 - Data (variant): `=`
33 - Data (variant): `=` (optional)
34 - Data (variant): `input`
35 $(B Output Ports:)
36 - Sequence
37 - Sequence (optional)
38 - Sequence: `done`
39 */
40 @GodotBaseClass struct VisualScriptSwitch
41 {
42 	enum string _GODOT_internal_name = "VisualScriptSwitch";
43 public:
44 @nogc nothrow:
45 	union { godot_object _godot_object; VisualScriptNode _GODOT_base; }
46 	alias _GODOT_base this;
47 	alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses);
48 	package(godot) __gshared bool _classBindingInitialized = false;
49 	package(godot) static struct _classBinding
50 	{
51 		__gshared:
52 	}
53 	bool opEquals(in VisualScriptSwitch other) const { return _godot_object.ptr is other._godot_object.ptr; }
54 	VisualScriptSwitch opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; }
55 	bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; }
56 	mixin baseCasts;
57 	static VisualScriptSwitch _new()
58 	{
59 		static godot_class_constructor constructor;
60 		if(constructor is null) constructor = _godot_api.godot_get_class_constructor("VisualScriptSwitch");
61 		if(constructor is null) return typeof(this).init;
62 		return cast(VisualScriptSwitch)(constructor());
63 	}
64 	@disable new(size_t s);
65 }