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