Files
2024-10-05 12:11:16 +01:00

60 lines
1.5 KiB
ActionScript

package com.alternativagame.engine3d.skin {
import com.alternativagame.engine3d.Matrix3D;
import com.alternativagame.engine3d.engine3d;
import com.alternativagame.engine3d.material.HelperMaterial;
import com.alternativagame.engine3d.object.Object3D;
import com.alternativagame.engine3d.object.light.Omni3D;
import com.alternativagame.type.RGB;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
use namespace engine3d;
public class OmniSkin extends HelperSkin {
use namespace engine3d;
public function OmniSkin(object:Omni3D) {
super(object);
}
override engine3d function draw():void {
super.draw();
// Чистим
gfx.graphics.clear();
var material:HelperMaterial = HelperMaterial(this.material);
var omni:Omni3D = Omni3D(object);
var color:RGB = (omni.color == null) ? new RGB() : omni.color.clone();
color.limit();
// Рисуем звёздочку
if (material.body) {
with (gfx.graphics) {
lineStyle(1, color.toInt());
moveTo(-8, 0);
lineTo(8, 0);
moveTo(0, -8);
lineTo(0, 8);
moveTo(-6, -6);
lineTo(6, 6);
moveTo(6, -6);
lineTo(-6, 6);
}
}
// Рисуем границы
if (material.gizmo && omni.color != null) {
with (gfx.graphics) {
lineStyle(1, color.toInt(), 0.5);
drawCircle(0, 0, omni.canvasFar);
drawCircle(0, 0, omni.canvasNear);
}
}
}
}
}