Exemplo n.º 1
0
 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();
        }
    }
Exemplo n.º 3
0
        /*
         * 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);
        }
Exemplo n.º 4
0
        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);
        }