private void MousePressed(PosVector position) { if (AccpetInput) { EventManager.TriggerEvent(EventList.TilePressed, GetTileByPos(position)); } }
public override IntersectionInfo Intersect(Ray ray) { var vd = Position.Dot(ray.Direction); if (vd >= 0.0) { return(new IntersectionInfo()); } var t = -(Position.Dot(ray.Position) + _dval) / vd; if (t <= 0.0) { return(new IntersectionInfo()); } var intersectPosition = ray.Position + ray.Direction * t; var u = 0.0; var v = 0.0; if (GetMaterial().HasTexture) { var vecU = new PosVector(Position.Y, Position.Z, -Position.X); var vecV = vecU.Cross(Position); u = intersectPosition.Dot(vecU); v = intersectPosition.Dot(vecV); } var color = GetMaterial().GetColor(u, v); return(new IntersectionInfo(color, t, Position, intersectPosition, Id)); }
public IntersectionInfo(ColorVector color, double distance, PosVector normal, PosVector position, int elementId) { Color = color; Distance = distance; ElementId = elementId; Normal = normal; Position = position; }
public void Add(PosVector index, SceneGameObject obj) { if (monsterMap.ContainsKey(index)) { Debug.LogError("duplicat index:x=" + index.x + ",y=" + index.y); return; } monsterMap.Add(index, obj); }
private Tile GetTileByPos(Tile starting, PosVector position) { if (Mathf.Abs(starting.Position.x + position.x) > (floorSetting.GroundWidth - 1) / 2) { return(null); } if (Mathf.Abs(starting.Position.y + position.y) > (floorSetting.GroundHeight - 1) / 2) { return(null); } return(TileList[starting.ID + position.y * floorSetting.GroundWidth + position.x]); }
public Light(PosVector position, ColorVector color) { Position = position; Color = color; Id = 0; }
public IntersectionInfo() : this(new ColorVector(0.0, 0.0, 0.0), double.MaxValue, PosVector.NewDefault(), PosVector.NewDefault(), 0) { }
public PlaneShape(PosVector position, double dval, BaseMaterial material) : base(position) { _dval = dval; _material = material; }
public Tile GetTileByPos(PosVector position) { return(GetTileByPos(CenterTile, position)); }
/// <inheritdoc /> public PointLight(PosVector position, ColorVector color) : base(position, color) { }
protected Shape(PosVector position) { Position = position; Id = 0; }
public Ray(PosVector pos, PosVector dir) { Position = pos; Direction = dir; }