mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-04 07:31:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			821 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			821 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
enum Flags {
 | 
						|
	FIRE = 1 << 1,
 | 
						|
	ICE = 1 << 2,
 | 
						|
	SLIPPERY = 1 << 3,
 | 
						|
	STICKY = 1 << 4,
 | 
						|
	NONSOLID = 1 << 5,
 | 
						|
 | 
						|
	ALL = FIRE | ICE | SLIPPERY | STICKY | NONSOLID,
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
func test():
 | 
						|
	var flags = Flags.FIRE | Flags.SLIPPERY
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	flags = Flags.FIRE & Flags.SLIPPERY
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	flags = Flags.FIRE ^ Flags.SLIPPERY
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	flags = Flags.ALL & (Flags.FIRE | Flags.ICE)
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	flags = (Flags.ALL & Flags.FIRE) | Flags.ICE
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	flags = Flags.ALL & Flags.FIRE | Flags.ICE
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	# Enum value must be casted to an integer. Otherwise, a parser error is emitted.
 | 
						|
	flags &= int(Flags.ICE)
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	flags ^= int(Flags.ICE)
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	flags |= int(Flags.STICKY | Flags.SLIPPERY)
 | 
						|
	print(flags)
 | 
						|
 | 
						|
	print()
 | 
						|
 | 
						|
	var num = 2 << 4
 | 
						|
	print(num)
 | 
						|
 | 
						|
	num <<= 2
 | 
						|
	print(num)
 | 
						|
 | 
						|
	num >>= 2
 | 
						|
	print(num)
 |