示例#1
0
        /// <summary>
        /// Spracovanie kliknutia na plochu
        /// </summary>
        /// <param name="paE"></param>
        private void SpracujKliknutie(MouseEventArgs paE)
        {
            VykonavanaCinnost tl = VykonavanaCinnost.bezna;

            foreach (Tlacitko toto in aTlacitkaMenu)
            {
                if (toto.Kliknute(paE.X, paE.Y))
                {
                    Console.WriteLine(toto.ToString());
                    tl = toto.DajTyp();
                    break;
                }
            }

            RestartCinnosti();
            aBocneMenu.HlavnaCinnost = tl;
            switch (tl)
            {
            case VykonavanaCinnost.pauza:
                OknoAplikacie.DajInstanciu().Pauza();
                Sprava.Info("Hra prerušená");
                RestartCinnosti();
                break;

            case VykonavanaCinnost.start:
                OknoAplikacie.DajInstanciu().Start();
                Sprava.Info("Hra pokračuje");
                RestartCinnosti();
                break;

            case VykonavanaCinnost.vystavbaCiest:
                aBocneMenu.Obrazok       = Resources.MenuCesty;
                aBocneMenu.HlavnaCinnost = tl;
                aBocneMenu.Nadpis        = "Výstavba ciest";
                break;

            case VykonavanaCinnost.vystavbaZeleznic:
                aBocneMenu.Obrazok       = Resources.MenuZeleznice;
                aBocneMenu.HlavnaCinnost = tl;
                aBocneMenu.Nadpis        = "Výstavba železníc";
                break;

            case VykonavanaCinnost.upravaTerenu:
                aBocneMenu.Obrazok       = Resources.MenuTerenu;
                aBocneMenu.HlavnaCinnost = tl;
                aBocneMenu.Nadpis        = "Úprava terénu";
                break;

            case VykonavanaCinnost.vystavbaLetisk:
                aBocneMenu.HlavnaCinnost = tl;
                aBocneMenu.Nadpis        = "Výstavba letísk";
                break;

            case VykonavanaCinnost.vystavbaVodnychCiest:
                aBocneMenu.Nadpis        = "Výstavba vodných\nciest";
                aBocneMenu.Obrazok       = Resources.MenuVodnychStavieb;
                aBocneMenu.HlavnaCinnost = tl;
                break;

            case VykonavanaCinnost.zoznamMiest:
                SpravcaOkien.ZoznamVyroby(true);
                RestartCinnosti();
                break;

            case VykonavanaCinnost.zoznamVyroby:
                SpravcaOkien.ZoznamVyroby(false);
                RestartCinnosti();
                break;

            case VykonavanaCinnost.zoznamStanic:
                SpravcaOkien.ZoznamStanic();
                RestartCinnosti();
                break;

            case VykonavanaCinnost.zozmanLietadiel:
                SpravcaOkien.ZobrazZoznamDoprevProst(DruhVozidla.vzdusne);
                break;

            case VykonavanaCinnost.uloz:
                if (Sprava.DajNaVyber("Prajete si uložiť aktuálnu pozíciu v hre?\nUkladanie môže chvíľku trvať."))
                {
                    try
                    {
                        OknoAplikacie.DajInstanciu().Pauza();
                        Hra.DajInstanciu().Uloz();
                        OknoAplikacie.DajInstanciu().Start();
                        Sprava.Info("Hra bola úspešne uložená.");
                    }
                    catch (Exception)
                    {
                        Sprava.Info("Nie je možné uložiť hru!");
                        OknoAplikacie.DajInstanciu().Start();
                    }
                }
                break;

            case VykonavanaCinnost.nacitaj:
                if (Sprava.DajNaVyber("Prajete si načítať hru? Neuložený postup bude stratený!\nNačítanie môže chvíľku trvať."))
                {
                    try
                    {
                        OknoAplikacie.DajInstanciu().Pauza();
                        Hra.DajInstanciu().Nacitaj();
                        OknoAplikacie.DajInstanciu().Start();
                        Sprava.Info("Hra bola úspešne načítaná.");
                    }
                    catch (Exception)
                    {
                        Sprava.Info("Nie je možné načítať hru!");
                    }
                }

                break;

            case VykonavanaCinnost.zoznamVlakov:
                SpravcaOkien.ZobrazZoznamDoprevProst(DruhVozidla.kolajove);
                break;

            case VykonavanaCinnost.zoznamVozidiel:
                SpravcaOkien.ZobrazZoznamDoprevProst(DruhVozidla.cestne);
                break;

            case VykonavanaCinnost.zoznamLodi:
                SpravcaOkien.ZobrazZoznamDoprevProst(DruhVozidla.vodne);
                break;
            }
        }
示例#2
0
 /// <summary>
 /// Inicializácia
 /// </summary>
 /// <param name="paX">poloha X</param>
 /// <param name="paY">poloha Y</param>
 /// <param name="paSirka"> šírka</param>
 /// <param name="paVyska">výška</param>
 /// <param name="paTyp">typ - teda na èo slúži</param>
 public Tlacitko(int paX, int paY, int paSirka, int paVyska, VykonavanaCinnost paTyp)
 {
     aTyp   = paTyp;
     aObsah = new Rectangle(paX, paY, paSirka, paVyska);
 }
示例#3
0
        /// <summary>
        /// Rozhodovanie, čo je potrebné vykonať
        /// </summary>
        /// <param name="paE"></param>
        private void SpracujKliknutie(MouseEventArgs paE)
        {
            aMatica = aHra.DajHernuPlochu().DajMaticu();
            aStav   = false;

            for (int i = aKamera.OdsadenieY; i < aKamera.OdsadenieY + Kamera.cPocetOkienRiadky - PozadieMenu.cPosunZVrchu; i++)
            {
                for (int j = aKamera.OdsadenieX; j < aKamera.OdsadenieX + Kamera.cPocetOkienStplce - PozadieMenu.cPosunZBoku; j++)
                {
                    var aktPolicko = aMatica[i, j];
                    if (aStav != true && aktPolicko.BoloKliknute(paE.X, paE.Y))
                    {
                        aStav = true;
                        int upresnenieCinnosti    = aBocneMenu.DajZvolene();
                        VykonavanaCinnost cinnost = aBocneMenu.HlavnaCinnost;
                        switch (cinnost)
                        {
                        case VykonavanaCinnost.vystavbaCiest:
                            if (upresnenieCinnosti <= 11)
                            {
                                aktPolicko.PostavCestu(upresnenieCinnosti);
                            }
                            else if (upresnenieCinnosti <= 14)
                            {
                                aktPolicko.PostavZastavku(upresnenieCinnosti);
                            }


                            break;

                        case VykonavanaCinnost.vystavbaZeleznic:
                            if (upresnenieCinnosti <= 6)
                            {
                                aktPolicko.PostavZeleznicu(upresnenieCinnosti);
                            }
                            else if (upresnenieCinnosti <= 8)
                            {
                                aktPolicko.PostavStanicu(upresnenieCinnosti + 6);
                            }
                            break;

                        case VykonavanaCinnost.upravaTerenu:
                            if (upresnenieCinnosti == 1)
                            {
                                aktPolicko.Zburaj(true);
                            }
                            else if (upresnenieCinnosti == 2)
                            {
                                aktPolicko.Konvertuj();
                            }
                            break;

                        case VykonavanaCinnost.vystavbaLetisk:

                            aktPolicko.PostavLetisko();

                            break;

                        case VykonavanaCinnost.vystavbaVodnychCiest:

                            switch (upresnenieCinnosti)
                            {
                            case (int)SmerDoku.boja:
                                aktPolicko.PostavBoju();
                                break;

                            default:
                                aktPolicko.PostavDok(upresnenieCinnosti);
                                break;
                            }
                            break;

                        case VykonavanaCinnost.vyberCielov:
                            if (aktPolicko.Zastavane is MiestoZastavenia)
                            {
                                aHra.Spolocnost.UpravovanyDP.PridajCiel((MiestoZastavenia)aktPolicko.Zastavane);
                            }
                            else if (aktPolicko.Vyroba != null && aktPolicko.Vyroba.Dok != null)
                            {
                                aHra.Spolocnost.UpravovanyDP.PridajCiel(aktPolicko.Vyroba.Dok);
                            }
                            break;

                        case VykonavanaCinnost.bezna:
                            if (aktPolicko.Prostriedky())
                            {
                                aktPolicko.ZobrazFormProstriedkov();
                            }
                            if (aktPolicko.Vyroba != null)
                            {
                                aktPolicko.Vyroba.ZobrazForm();
                            }
                            else if (aktPolicko.Zastavane is Stanica)
                            {
                                (aktPolicko.Zastavane as Stanica).Zoskupenie.ZobrazForm();
                                (aktPolicko.Zastavane as Stanica).ZobrazForm();
                            }
                            break;
                        }
                    }
                }
            }
        }
示例#4
0
 public BocneMenu()
 {
     HlavnaCinnost = VykonavanaCinnost.bezna;
     aSlot         = 0;
 }