public void SetWorldCenter(RealPoint center) { WorldRect = WorldRect.SetCenter(center); WorldScale = new WorldScale(WorldScale.Factor, -WorldScale.RealToScreenDistance(WorldRect.X), -WorldScale.RealToScreenDistance(WorldRect.Y)); WorldChange?.Invoke(); }
public void SetScreenSize(Size size) { WorldRect = WorldRect.ExpandWidth(WorldScale.ScreenToRealDistance(size.Width)); WorldRect = WorldRect.ExpandHeight(WorldScale.ScreenToRealDistance(size.Height)); _screenSize = size; WorldChange?.Invoke(); }
public SaveHelper_World(WorldChange Changes) { m_Changes = Changes.Data; m_Helpers = new Dictionary <Vector2Int, SaveHelper_Chunk>(); foreach (var ChunkModify in m_Changes) { m_Helpers.Add(ChunkModify.Slot, new SaveHelper_Chunk(ChunkModify)); } }
public void SetZoomFactor(double mmPerPixel) { RealPoint center = WorldRect.Center(); WorldRect = WorldRect.ExpandWidth(WorldRect.Width * (mmPerPixel / WorldScale.Factor)); WorldRect = WorldRect.ExpandHeight(WorldRect.Height * (mmPerPixel / WorldScale.Factor)); WorldScale = new WorldScale(mmPerPixel, (int)(-WorldRect.X / mmPerPixel), (int)(-WorldRect.Y / mmPerPixel)); WorldChange?.Invoke(); }
public void AddChange(WorldChange change) { _worldManager.AddChange(change); }
public void AddChange(WorldChange change) { world = change; }
protected void OnWorldChange() { WorldChange?.Invoke(); }