mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +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)
 | 
