mirror of
				https://github.com/MapMakersAndProgrammers/alternativa3d-archive.git
				synced 2025-10-27 18:29:07 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| package com.alternativagame.engine3d.skin {
 | |
| 	import com.alternativagame.engine3d.engine3d;
 | |
| 	import com.alternativagame.engine3d.material.WireMaterial;
 | |
| 	import com.alternativagame.engine3d.object.mesh.polygon.WirePolygon3D;
 | |
| 	import com.alternativagame.type.Vector;
 | |
| 	
 | |
| 	use namespace engine3d;
 | |
| 
 | |
| 	public class WireSkin extends PolygonSkin {
 | |
| 
 | |
| 		use namespace engine3d;
 | |
| 		
 | |
| 		public function WireSkin(polygon:WirePolygon3D) {
 | |
| 			super(polygon);
 | |
| 		}
 | |
| 
 | |
| 		override protected function drawPolygon(bx:int, by:int, cx:int, cy:int):void {
 | |
| 			var material:WireMaterial = WireMaterial(polygon.material);
 | |
| 			
 | |
| 			var wire:WirePolygon3D = WirePolygon3D(polygon);
 | |
| 			
 | |
| 			with (graphics) {
 | |
| 				clear();
 | |
| 				lineStyle(material.thickness, material.color.toInt());
 | |
| 				if (wire.edgeAB) {
 | |
| 					lineTo(bx, by);
 | |
| 					if (wire.edgeBC) {
 | |
| 						lineTo(cx, cy);
 | |
| 						if (wire.edgeCA) {
 | |
| 							lineTo(0, 0);
 | |
| 						}
 | |
| 					} else {
 | |
| 						if (wire.edgeCA) {
 | |
| 							moveTo(cx, cy);
 | |
| 							lineTo(0, 0);
 | |
| 						}
 | |
| 					}
 | |
| 				} else {
 | |
| 					if (wire.edgeBC) {
 | |
| 						moveTo(bx, by);
 | |
| 						lineTo(cx, cy);
 | |
| 						if (wire.edgeCA) {
 | |
| 							lineTo(0, 0);
 | |
| 						}
 | |
| 					} else {
 | |
| 						if (wire.edgeCA) {
 | |
| 							lineTo(cx, cy);
 | |
| 						}
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 	}
 | |
| } | 
