override public void MouseUp(int ScreenMouseX, int ScreenMouseY) { /* * Reset the currently selected items. Most recently selected remain active for any commands */ OutlineAreas.MouseUp(ScreenMouseX, ScreenMouseY); OpenAreas.MouseUp(ScreenMouseX, ScreenMouseY); Walls.MouseUp(ScreenMouseX, ScreenMouseY); }
// Update is called once per frame public void Update() { if (time < 0) { currentModules = new List <SCR_DungeonSections>(); filled.Clear(); empty.Clear(); startLocation.x = Random.Range(0, complexity + 5); startLocation.y = Random.Range(0, complexity + 5); empty.Add(startLocation); setUp = false; time = limit; } if (!setUp) { blockLimit = new OpenAreas[complexity + 5, complexity + 5]; for (int i = 0; i < complexity + 4; i++) { for (int j = 0; j < complexity + 4; j++) { blockLimit[i, j] = new OpenAreas(); blockLimit[i, j].Set(false); } } setUp = true; } if (empty.Count > 0) { PlanDungeon(); time -= Time.deltaTime; } else { time = limit; } if (itemSpots.Count > 0) { SpawnItems(); } }
/* * Sub classes will override these methods to implement mouse operations on their canvas */ override public eMouseDownCapture MouseDown(int ScreenMouseX, int ScreenMouseY) { /* * Try to capture something in the outline, then the open area, in turn */ eMouseDownCapture sts = OutlineAreas.MouseDown(ScreenMouseX, ScreenMouseY); if (sts != eMouseDownCapture.Nothing) { return(sts); } sts = OpenAreas.MouseDown(ScreenMouseX, ScreenMouseY); if (sts != eMouseDownCapture.Nothing) { return(sts); } sts = Walls.MouseDown(ScreenMouseX, ScreenMouseY); return(sts); }
override public bool MouseMove(eMouseState MouseState, int ScreenMouseX, int ScreenMouseY, int ScreenDeltaX, int ScreenDeltaY) { /* * See if we are moving anything in the outline, then the open area */ if (OutlineAreas.MouseMove(MouseState, ScreenMouseX, ScreenMouseY, ScreenDeltaX, ScreenDeltaY)) { return(true); } if (OpenAreas.MouseMove(MouseState, ScreenMouseX, ScreenMouseY, ScreenDeltaX, ScreenDeltaY)) { return(true); } if (Walls.MouseMove(MouseState, ScreenMouseX, ScreenMouseY, ScreenDeltaX, ScreenDeltaY)) { return(true); } /* * If we are here we scrolled the background. Update the dependent controls */ int WorldDeltaX = (int)((float)ScreenDeltaX * CurrentZoom); int WorldDeltaY = (int)((float)ScreenDeltaY * CurrentZoom); OutlineAreas.WorldPointScrollX -= WorldDeltaX; OutlineAreas.WorldPointScrollY -= WorldDeltaY; OpenAreas.WorldPointScrollX -= WorldDeltaX; OpenAreas.WorldPointScrollY -= WorldDeltaY; Walls.WorldPointScrollX -= WorldDeltaX; Walls.WorldPointScrollY -= WorldDeltaY; return(false); }