protected override void OnUpdate(GameTime time, int updateCounter) { if (Session.CurrentAtom != null) { Session.CurrentAtom.Update(time); } if (Session.NextAtom != null) { Session.NextAtom.Update(time); } GridRenderer.Update(time); }
/// <summary> /// Creates a new level editor. /// </summary> public Editor() { input = SceneManager.Input; renderer = new GridRenderer(null, layout); InitUI(); InitLowerFrame(); worldIndex = Settings.Current.EditorWorld; levelIndex = Settings.Current.EditorLevel; LoadWorld(); LoadLevel(); }
private void OnEnable() { if (slot == null) { slot = GetComponent <EnergyDeviceSlot>(); } if (grid == null) { grid = GetComponentInChildren <GridRenderer>(); } if (meter == null) { meter = GetComponentInChildren <EnergyAccumulatorMeter>(); } }
public PintaCanvas() { cr = new CanvasRenderer (); gr = new GridRenderer (cr); // Keep the widget the same size as the canvas PintaCore.Workspace.CanvasSizeChanged += delegate (object sender, EventArgs e) { SetRequisition (PintaCore.Workspace.CanvasSize); }; // Update the canvas when the image changes PintaCore.Workspace.CanvasInvalidated += delegate (object sender, CanvasInvalidatedEventArgs e) { if (e.EntireSurface) GdkWindow.Invalidate (); else GdkWindow.InvalidateRect (e.Rectangle, false); }; // Give mouse press events to the current tool ButtonPressEvent += delegate (object sender, ButtonPressEventArgs e) { if (PintaCore.Workspace.HasOpenDocuments) PintaCore.Tools.CurrentTool.DoMouseDown (this, e, PintaCore.Workspace.WindowPointToCanvas (e.Event.X, e.Event.Y)); }; // Give mouse release events to the current tool ButtonReleaseEvent += delegate (object sender, ButtonReleaseEventArgs e) { if (PintaCore.Workspace.HasOpenDocuments) PintaCore.Tools.CurrentTool.DoMouseUp (this, e, PintaCore.Workspace.WindowPointToCanvas (e.Event.X, e.Event.Y)); }; // Give mouse move events to the current tool MotionNotifyEvent += delegate (object sender, MotionNotifyEventArgs e) { if (!PintaCore.Workspace.HasOpenDocuments) return; Cairo.PointD point = PintaCore.Workspace.ActiveWorkspace.WindowPointToCanvas (e.Event.X, e.Event.Y); if (PintaCore.Workspace.ActiveWorkspace.PointInCanvas (point)) PintaCore.Chrome.LastCanvasCursorPoint = point.ToGdkPoint (); if (PintaCore.Tools.CurrentTool != null) PintaCore.Tools.CurrentTool.DoMouseMove (sender, e, point); }; // Handle key press/release events KeyPressEvent += new KeyPressEventHandler (PintaCanvas_KeyPressEvent); KeyReleaseEvent += new KeyReleaseEventHandler (PintaCanvas_KeyReleaseEvent); }
// Use this for initialization void Start() { terrainRenderer = new GridRenderer(); terrainRenderer.Init(Battle.MAX_BATTLE_FILED_X, Battle.MAX_BATTLE_FILED_Y, 10, 0, "grid/mat_terrain", "Terrain"); gridRenderer = new GridRenderer(); gridRenderer.Init(Battle.MAX_BATTLE_FILED_X, Battle.MAX_BATTLE_FILED_Y, 2, 0.1f, "grid/mat_grid", "Grid"); SkillAttackFlyAttributeConfig.Initialize(); UnitConfig.Initialize(); battleplayer = new Battleplayer(); battleplayer.Init(); }
public void OnRenderObject() { if (renderGrid) { Matrix4x4 localToWorld = Matrix4x4.TRS(gridCornerOffset, Quaternion.identity, Vector3.one) * transform.localToWorldMatrix; GridRenderer.RenderGrid((x, y) => GetGrid(x, y), gridX, gridY, localToWorld, gridXVec, gridYVec, Color.white); } }
private void InitScene() { myScene = new Scene(); myOnyxInstance = Onyx3DEngine.Instance; myOnyxInstance.Init(); SceneObject teapot = new SceneObject("Teapot"); MeshRenderer teapotMesh = teapot.AddComponent <MeshRenderer>(); teapotMesh.Mesh = myOnyxInstance.Resources.GetMesh(BuiltInMesh.Teapot); teapot.Transform.LocalPosition = new Vector3(0, 0.5f, 0); teapotMesh.Material = myOnyxInstance.Resources.GetMaterial(BuiltInMaterial.Default); teapot.Parent = myScene.Root; SceneObject teapot2 = new SceneObject("Teapot2"); MeshRenderer teapot2Mesh = teapot2.AddComponent <MeshRenderer>(); teapot2Mesh.Mesh = myOnyxInstance.Resources.GetMesh(BuiltInMesh.Teapot); teapot2Mesh.Material = myOnyxInstance.Resources.GetMaterial(BuiltInMaterial.Default); teapot2.Transform.LocalScale = new Vector3(0.5f, 0.5f, 0.5f); teapot2.Transform.LocalPosition = new Vector3(2, 0, 2); teapot2.Transform.LocalRotation = Quaternion.FromEulerAngles(new Vector3(0, 90, 0)); teapot2.Parent = myScene.Root; myTeapot = teapot2; // Editor objects -------------------------------------- SceneObject grid = new SceneObject("Grid"); myGridRenderer = grid.AddComponent <GridRenderer>(); myGridRenderer.GenerateGridMesh(100, 100, 0.25f, 0.25f); myGridRenderer.Material = myOnyxInstance.Resources.GetMaterial(BuiltInMaterial.Unlit); myGridRenderer.Material.Properties["color"].Data = new Vector4(1, 1, 1, 0.1f); //myBox = teapot.AddComponent<BoxRenderer>(); //myBox.Material = myOnyxInstance.Resources.GetMaterial(BuiltInMaterial.UnlitVertexColor); mNavigation.CreateCamera(); UpdateTreeView(); }
static void Main(string[] args) { var gridCollection = new TileUtfGridCollection(); // Add a polygon var polygon = new TileUtfGridCoords(); polygon.PointList.Add(new PointF(50, 50)); polygon.PointList.Add(new PointF(50, 100)); polygon.PointList.Add(new PointF(100, 100)); polygon.PointList.Add(new PointF(100, 50)); polygon.UtfShapeType = UtfShapeType.Polygon; polygon.LineWidth = 10; polygon.Id = 1; polygon.Name = "Eranu"; gridCollection.Collection.Add(polygon); // Add a line var line = new TileUtfGridCoords(); line.PointList.Add(new PointF(200, 200)); line.PointList.Add(new PointF(200, 300)); line.PointList.Add(new PointF(300, 300)); line.PointList.Add(new PointF(300, 200)); line.UtfShapeType = UtfShapeType.Line; line.LineWidth = 5; line.Id = 2; line.Name = "Oovavu"; gridCollection.Collection.Add(line); // Render the shapes var gridRenderer = new GridRenderer(); var json = gridRenderer.GetUtfGrid(gridCollection).JsonString; Console.WriteLine(json); Console.ReadLine(); // System.IO.File.WriteAllText(@"C:\temp\grid.json", json); }
// -------------------------------------------------------------------- private void InitializeEditor() { Onyx3DEngine.InitMain(renderCanvas.Context, renderCanvas.WindowInfo); mOnyxInstance = Onyx3DEngine.Instance; mNavigation.CreateCamera(); mObjectHandler = new ObjectHandler(mOnyxInstance, renderCanvas, mNavigation.Camera); mObjectHandler.OnTransformModified += OnTransformModifiedFromObjectHandler; selectedObjectInspector.InspectorChanged += OnInspectorChanged; SceneObject grid = new SceneObject("Grid"); mGridRenderer = grid.AddComponent <GridRenderer>(); mGridRenderer.GenerateGridMesh(100, 100, 0.25f, 0.25f, Vector3.One); mGridRenderer.Material = mOnyxInstance.Resources.GetMaterial(BuiltInMaterial.Unlit); mGridRenderer.Material.Properties["color"].Data = new Vector4(1, 1, 1, 0.1f); }
// Use this for initialization void Start() { grid = GameObject.FindWithTag("grid"); //Get the grid components if (grid != null) { gridRenderer = grid.GetComponent <GridRenderer>(); } //Get the height and width from the renderer and copy //it locally gridHeight = gridRenderer.GridHeight; gridWidth = gridRenderer.GridWidth; //Build an array to monitor cell positions based on //the size of the grid built by the renderer gridArray = new bool[gridWidth, gridHeight]; }
public OpenGlEngine() { Load += OnLoad; Paint += OnPaint; Resize += OnResize; _dispatcherTimer.Tick += ThreadIdle; _dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 13); Context.VSync = Vsync; _realCamera = new Camera { Pan = 40, Yaw = -40, Z = 300, X = 0, Y = 0, Roll = 0 }; _objectRenderer = new ObjectNormalRenderer(); _gridRenderer = new GridRenderer(); _pointCloudRenderer = new PointCloudRenderer(); _dispatcherTimer.Start(); }
// XXX End XXX private void RenderWorld(World world, IMessage message) { if (Dispatcher.CheckAccess()) // Accessing from UI thread. { var grid = GridRenderer.RenderGrid(world.GridItems, (int)Math.Floor(MainGrid.ActualHeight)); MainGrid.Children.Clear(); MainGrid.Children.Add(grid); StatsStackPanel.Children.Clear(); world.Tanks.Select(LabelRenderer.RenderTankProfile).ForEach(item => StatsStackPanel.Children.Add(item)); // XXX Start XXX This violates programming style DrawBullets(world); // XXX End XXX } else { Dispatcher.Invoke(() => RenderWorld(world, message)); } }
// -------------------------------------------------------------------- public virtual void InitializeBasicScene() { Scene = new Scene(OnyxInstance); Camera = new PerspectiveCamera("MainCamera", 0.5f, (float)mFrameBuffer.Width / (float)mFrameBuffer.Height); Camera.Transform.LocalPosition = new Vector3(0, 1.45f, 3f); Camera.Transform.LocalRotation = OpenTK.Quaternion.FromAxisAngle(new Vector3(1, 0, 0), -0.45f); Scene.ActiveCamera = Camera; mCamPivot = new SceneObject("camPivot"); mCamPivot.Parent = Scene.Root; Camera.Parent = mCamPivot; SceneObject grid = new SceneObject("Grid"); mGridRenderer = grid.AddComponent <GridRenderer>(); mGridRenderer.GenerateGridMesh(10, 10, 0.25f, 0.25f, new Vector3(0.8f, 0.8f, 0.8f)); mGridRenderer.Material = OnyxInstance.Resources.GetMaterial(BuiltInMaterial.UnlitVertexColor); SceneObject light = new SceneObject("Light"); Light lightC = light.AddComponent <Light>(); light.Parent = Scene.Root; light.Transform.LocalPosition = new Vector3(1, 2, 1); lightC.Intensity = 5; SceneObject test = new SceneObject("ReflectionProbe"); test.Parent = Scene.Root; test.Transform.LocalPosition = new Vector3(0, 0, 0); mReflectionProbe = test.AddComponent <ReflectionProbe>(); mReflectionProbe.Init(64); mReflectionProbe.Bake(OnyxInstance.Renderer); }
public override void Awake() { base.Awake(); Application.targetFrameRate = 60; //Tracker.SMARTEnabled = true; //Tracker.DeviceHeightAboveGround = 1.2f; //Tracker.OnTargetsLoaded.AddListener(OnTargetsLoaded); //Tracker.OnErrorLoadingTargets.AddListener(OnErrorLoadingTargets); //Tracker.OnStateChanged.AddListener(OnStateChanged); //Tracker.OnError.AddListener(OnError); //Tracker.OnScreenConversionComputed.AddListener(OnScreenConversionComputed); //instantTrackable.OnInitializationStarted.AddListener(OnSceneRecognized); //instantTrackable.OnInitializationStopped.AddListener(OnSceneLost); //instantTrackable.OnSceneRecognized.AddListener(OnSceneRecognized); //instantTrackable.OnSceneLost.AddListener(OnSceneLost); _gridRenderer = GetComponent <GridRenderer>(); mainLight = GameObject.FindGameObjectWithTag(Tags.Light).GetComponent <Light>(); }
private static void RegisterGridRendererTree(IServiceCollection services) { services.AddSingleton(typeof(IGridRenderer), provider => { var gridRowRenderer = new GridRowRenderer(); gridRowRenderer.AddRenderer(new GridCellMasterActionRenderer()); gridRowRenderer.AddRenderer(new GridCellRenderer()); var gridBodyRenderer = new GridBodyRenderer(provider.GetRequiredService <ILogger <GridBodyRenderer> >()); gridBodyRenderer.AddRenderer(gridRowRenderer); var gridRenderer = new GridRenderer(provider.GetRequiredService <ILogger <GridRenderer> >()); gridRenderer.AddRenderer(new GridMesurablePartRenderer( new GridHeaderRenderer(provider.GetRequiredService <ILogger <GridHeaderRenderer> >()), provider.GetRequiredService <ILogger <GridMesurablePartRenderer> >()) ); gridRenderer.AddRenderer(new GridLoadingRenderer(), RendererType.BeforeTag); gridRenderer.AddRenderer(new GridMesurablePartRenderer(gridBodyRenderer, provider.GetRequiredService <ILogger <GridMesurablePartRenderer> >())); gridRenderer.AddRenderer(new GridPaginationRenderer(), RendererType.AfterTag); return(gridRenderer); }); }
// Start is called before the first frame update void Start() { myGridScript = MyGridObject.GetComponent <GridRenderer>(); }
// Use this for initialization( Unity callback method) void Start() { gridRenderer = GameObject.Find("Canvas").GetComponent<GridRenderer>(); grid = new Grid(128,128); pointA = new Vector2 (0, 0); pointB = new Vector2 (0, 0); }
protected override void OnDraw(SpriteBatch batch) { GraphicsDevice.Clear(AppColors.WindowBackground); batch.Begin(SpriteSortMode.FrontToBack); // grid GridRenderer.Draw(batch, new Vector2(AppConstants.GridX, AppConstants.GridY)); batch.End(); batch.Begin(); var y = AppConstants.GridY + 10; // time batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.GridRight, y), "Time:", AppColors.Descriptions); batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.WindowWidth - AppConstants.ScreenPadding - 140, y), TimeSpan.FromSeconds(Session.Time).ToString(@"hh\:mm\:ss"), AppColors.Texts); y += AppContents.DefaultFont.Data.LineHeight + 15; // score batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.GridRight, y), $"Score:", AppColors.Descriptions); batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.WindowWidth - AppConstants.ScreenPadding - 140, y), Session.Score.ToString("n0"), AppColors.Texts); y += AppContents.DefaultFont.Data.LineHeight + 15; batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.GridRight, y), $"Atoms:", AppColors.Descriptions); batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.WindowWidth - AppConstants.ScreenPadding - 140, y), Session.Atoms.ToString("n0"), AppColors.Texts); y += AppContents.DefaultFont.Data.LineHeight + 5; batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.GridRight, y), $"Molecules:", AppColors.Descriptions); batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.WindowWidth - AppConstants.ScreenPadding - 140, y), Session.Molecules.ToString("n0"), AppColors.Texts); y += AppContents.DefaultFont.Data.LineHeight + 5; // current/next atom y = AppConstants.WindowHeight - AppConstants.ScreenPadding - AppConstants.PreviewBoxHeight - AppContents.DefaultFont.Data.LineHeight - 8; batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.GridRight, y), "Current", AppColors.Descriptions); batch.DrawBitmapFont(AppContents.DefaultFont, new Vector2(AppConstants.GridRight + AppConstants.PreviewBoxWidth + AppConstants.PreviewBoxPadding, y), "Next", AppColors.Descriptions); y += AppContents.DefaultFont.Data.LineHeight + 8; batch.DrawRect(new Rectangle(AppConstants.GridRight, y, AppConstants.PreviewBoxWidth, AppConstants.PreviewBoxHeight), 1, AppColors.PreviewBorder); batch.DrawRect(new Rectangle(AppConstants.GridRight + AppConstants.PreviewBoxWidth + AppConstants.PreviewBoxPadding, y, AppConstants.PreviewBoxWidth, AppConstants.PreviewBoxHeight), 1, AppColors.PreviewBorder); if (Session.CurrentAtom != null) { Session.CurrentAtom.Draw(batch, pos: new Vector2( AppConstants.GridRight + AppConstants.PreviewBoxWidth / 2, y + AppConstants.PreviewBoxHeight / 2), layerDepth: LayerDepth.Default); } if (Session.NextAtom != null) { Session.NextAtom.Draw(batch, pos: new Vector2( AppConstants.GridRight + AppConstants.PreviewBoxWidth + AppConstants.PreviewBoxPadding + AppConstants.PreviewBoxWidth / 2, y + AppConstants.PreviewBoxHeight / 2), layerDepth: LayerDepth.Default); } // atom grid preview if (Session.CurrentAtom != null && IsMouseOverGrid() && IsOnTop) { var gridPos = GetMouseGridPos(); if (Grid.IsValidPos(gridPos.X, gridPos.Y) && !Grid.HasAtom(gridPos.X, gridPos.Y)) { if (Grid.CanSet(gridPos.X, gridPos.Y, Session.CurrentAtom)) { Session.CurrentAtom.Draw(batch, new Vector2( AppConstants.GridX + gridPos.X * Grid.TileSize + Grid.TileSize / 2, AppConstants.GridY + gridPos.Y * Grid.TileSize + Grid.TileSize / 2), LayerDepth.Default, AppColors.AtomValidPos); } else { Session.CurrentAtom.Draw(batch, new Vector2( AppConstants.GridX + gridPos.X * Grid.TileSize + Grid.TileSize / 2, AppConstants.GridY + gridPos.Y * Grid.TileSize + Grid.TileSize / 2), LayerDepth.Default, AppColors.AtomInvalidPos); } } } batch.End(); }
public GridClustered(string _FileName, GridRenderer _Renderer, int _SizeClusterRows, int _SizeClusterColumns) : base(_FileName, _Renderer) { GenerateClusters(_SizeClusterRows, _SizeClusterColumns); }
protected override void OnStart() { Session = new GameSession(); Grid = new AtomsGrid(AppContents, Session, AppConstants.GridTileSize, AppConstants.GridWidth, AppConstants.GridHeight); GridRenderer = new GridRenderer(Grid, Session); }
private static GridRenderer Instantiate() { _instance = new GridRenderer(); return(_instance); }
void OnGUI () { if (_gridRenderer == null) _gridRenderer = new GridRenderer(); Event currentEvent = Event.current; Rect scrollViewRect = new Rect(0, 0, position.width - SidebarWidth, position.height); Rect sidebarRect = new Rect(position.width - SidebarWidth, 0, SidebarWidth, position.height); OperatorInspector.DrawInspector(sidebarRect); ScrollPoint = GUI.BeginScrollView(scrollViewRect, ScrollPoint, Canvas); bool needsRepaint = false; // Mouse wheel event to control zoom if (currentEvent.type == EventType.ScrollWheel) { float previousZoom = Zoom; Vector2 pivotPoint = currentEvent.mousePosition / Zoom; float wheelDelta = Event.current.delta.y > 0 ? -0.1f : 0.1f; // Apply the delta to the zoom level and clamp to min and max Zoom = (Zoom + wheelDelta).Clamp(MinZoom, MaxZoom); Zoom = (float) System.Math.Round(Zoom, 2); if (previousZoom != Zoom) { // Keep the viewport anchored to the position of the mouse cursor float zoomDelta = Zoom - previousZoom; ScrollPoint += pivotPoint * zoomDelta; // Repaint if there was a zoom change (after clamping) needsRepaint = true; } currentEvent.Use(); } Canvas = new Rect(0f, 0f, CanvasWidth * Zoom, CanvasHeight * Zoom); _gridRenderer.Draw(ScrollPoint, Zoom, Canvas); if (Template != null) { // Draw the connections Template.DrawConnections(); // Draw the nodes string[] guids = new string[Template.Operators.Count]; Template.Operators.Keys.CopyTo(guids, 0); for (int i = 0; i < guids.Length; i++) { Node node = GetNode(guids[i]); // kvp.Key = GUID needsRepaint = needsRepaint || node.EventsNeedRepaint(Zoom, this); node.Draw(Zoom); } // Handle left mouse button events if (currentEvent.button == 0) { // MouseDown if (currentEvent.type == EventType.MouseDown && CurrentEvent.Type == GEType.None) { CurrentEvent = new GraphEvent(GEType.Unresolved, GEContext.Grid, null, IOOutlet.None, currentEvent.mousePosition); } // MouseDrag if (currentEvent.type == EventType.MouseDrag && CurrentEvent.IsType(GEType.Unresolved, GEType.Drag) && CurrentEvent.Context == GEContext.Grid) { if (currentEvent.delta.magnitude > 0) { CurrentEvent = new GraphEvent(GEType.Drag, GEContext.Grid, null, IOOutlet.None); ScrollPoint.x += - currentEvent.delta.x; ScrollPoint.y += - currentEvent.delta.y; needsRepaint = true; } } // MouseUp if (currentEvent.type == EventType.MouseUp) { if (CurrentEvent.Type == GEType.Unresolved && CurrentEvent.Context == GEContext.Grid) { Selection.Clear(); needsRepaint = true; } needsRepaint = needsRepaint || CurrentEvent.IsConnecting(); CurrentEvent.Empty(); } } // Left mouse down/drag/up // Right mouse button if (currentEvent.type == EventType.ContextClick) { var menu = new GenericMenu(); var opTypes = Operator.GetAvailableOperators(); foreach (var opType in opTypes) { string menuLabel = opType.Name; var meta = System.Attribute.GetCustomAttribute(opType, typeof(OperatorMetadataAttribute)) as OperatorMetadataAttribute; if (meta != null) { menuLabel = meta.Category + "/" + (meta.Title != null ? meta.Title : opType.Name); } var payload = new MenuActionPayload() {OperatorType=opType, Position=currentEvent.mousePosition / Zoom}; menu.AddItem(new GUIContent(menuLabel), false, MenuAction, payload); } menu.ShowAsContext(); } if (currentEvent.isKey && currentEvent.keyCode == KeyCode.Delete) { foreach (var node in Selection.Nodes) { Template.RemoveOperator(node.Operator); } Selection.Clear(); needsRepaint = true; } } if (needsRepaint) { Repaint(); } GUI.EndScrollView(); // Current Zoom level float zoomLabelWidth = 150f; float zoomLabelHeight = 20f; Rect zoomLabelRect = new Rect(position.width - SidebarWidth - zoomLabelWidth - 20f, position.height - zoomLabelHeight - 20f, zoomLabelWidth, zoomLabelHeight); if (LabelStyle == null) { LabelStyle = new GUIStyle(); LabelStyle.normal.textColor = Color.white; LabelStyle.alignment = TextAnchor.LowerRight; } GUI.Label(zoomLabelRect, string.Format("Zoom: {0}%", Zoom * 100f), LabelStyle); } // OnGUI
public void Awake() { grid = GetComponent <GridRenderer>(); _gameController = gameControllerObj.GetComponent <GameController>(); hazards = _gameController.hazards; }
// Start is called before the first frame update void Start() { dodgeBalls = new List <Ball>(3); myGridScript = MyGridObject.GetComponent <GridRenderer>(); }