Beispiel #1
0
        public void exitProperty_Click(object sender, EventArgs e)
        {
            exitPropForm.SetExit(lastselectedExit);
            DialogResult dr = exitPropForm.ShowDialog();

            if (dr == DialogResult.OK)
            {
                int index = Array.IndexOf(jsonData.exitsOWs, lastselectedExit);
                jsonData.exitsOWs[index] = exitPropForm.editingExit;
                lastselectedExit         = jsonData.exitsOWs[index];
                scene.sceneMode          = SceneMode.exits;
            }
            else if (dr == DialogResult.Yes)
            {
                scene.sceneMode = SceneMode.door;
                if (lastselectedExit.doorType1 != 0) //wooden door
                {
                    scene.selectedTiles       = new ushort[2, 1];
                    scene.selectedTiles[0, 0] = 1865;
                    scene.selectedTiles[1, 0] = 1866;
                    scene.setOverlaytiles(scene.allgfx16Ptr);
                }
                else if ((lastselectedExit.doorType2 & 0x8000) != 0) //castle door
                {
                    scene.selectedTiles       = new ushort[2, 2];
                    scene.selectedTiles[0, 0] = 3510;
                    scene.selectedTiles[1, 0] = 3511;
                    scene.selectedTiles[0, 1] = 3512;
                    scene.selectedTiles[1, 1] = 3513;
                    scene.setOverlaytiles(scene.allgfx16Ptr);
                }
                else if ((lastselectedExit.doorType2 & 0x7FFF) != 0) //sanc door
                {
                    scene.selectedTiles       = new ushort[2, 1];
                    scene.selectedTiles[0, 0] = 3502;
                    scene.selectedTiles[1, 0] = 3503;
                    scene.setOverlaytiles(scene.allgfx16Ptr);
                }
            }
            else
            {
                scene.sceneMode = SceneMode.exits;
            }
            selectedExit     = null;
            scene.mouse_down = false;
            scene.rightClick = false;
        }
Beispiel #2
0
        private void DrawTest_MouseMove(object sender, MouseEventArgs e)
        {
            if (scene != null)
            {
                scene.mouseMove(e, allmaps[(scene.mouseOverMap + worldOffset)], jsonData.allgfx8array);
                if (scene.refresh)
                {
                    // Stopwatch sw = new Stopwatch();
                    //sw.Start();
                    //Refresh();
                    int yT = ((scene.mouseOverMap) / 8);
                    int xT = (scene.mouseOverMap) - (yT * 8);

                    if (allmaps[(scene.mouseOverMap + worldOffset)].largeMap)
                    {
                        yT = (allmaps[(scene.mouseOverMap)].parentMapId / 8);
                        xT = allmaps[(scene.mouseOverMap)].parentMapId - (yT * 8);
                        Invalidate(new Rectangle(xT * 512, yT * 512, 1024, 1024));
                    }
                    else
                    {
                        Invalidate(new Rectangle(xT * 512, yT * 512, 512, 512));
                    }
                    if (scene.screenChanged != -1)
                    {
                        if (mouseDown)
                        {
                            selectedMap = allmaps[(scene.mouseOverMap + worldOffset)];
                        }
                        if (allmaps[(scene.mouseOverMap + worldOffset)].largeMap)
                        {
                            scene.UpdateGfx(jsonData.allgfx8array, allmaps[(scene.mouseOverMap + worldOffset)]);
                        }
                        else
                        {
                            scene.UpdateGfx(jsonData.allgfx8array, allmaps[(scene.mouseOverMap + worldOffset)]);
                        }
                        scene.setOverlaytiles(scene.allgfx16Ptr);
                        yT = (scene.screenChanged / 8);
                        xT = scene.screenChanged - (yT * 8);
                        //invalidate last screen as well to prevent artifact
                        Invalidate(new Rectangle(xT * 512, yT * 512, 512, 512));

                        scene.screenChanged = -1;
                    }

                    scene.refresh = false;

                    //sw.Stop();
                    //Console.WriteLine(sw.ElapsedMilliseconds);
                }
            }
        }