26 lines
		
	
	
		
			546 B
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			546 B
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using Godot; | ||
|  | 
 | ||
|  | struct PointMass : IMassive, ILocation | ||
|  | { | ||
|  |     public float Mass => _massive == null ? _mass : _massive.Mass; | ||
|  |     public Vector3 Position => _spatial.Translation; | ||
|  | 
 | ||
|  |     private IMassive _massive; | ||
|  |     private Spatial _spatial; | ||
|  |     private float _mass; | ||
|  | 
 | ||
|  |     public PointMass(Spatial spatial, IMassive massive) | ||
|  |     { | ||
|  |         _spatial = spatial; | ||
|  |         _massive = massive; | ||
|  |         _mass = 0; | ||
|  |     } | ||
|  | 
 | ||
|  |     public PointMass(Spatial spatial, float mass) | ||
|  |     { | ||
|  |         _spatial = spatial; | ||
|  |         _massive = null; | ||
|  |         _mass = mass; | ||
|  |     } | ||
|  | } |