Esempio n. 1
0
        public static void printInitScreen()
        {
            GameRoom      gm;
            Player        player;
            GameWorldInfo gwinfo;
            Item          item;

            gm     = GameDataFactory.curr_gwinfo.GetGameRoombyNumber(GameState.currentRoom);
            gwinfo = GameDataFactory.curr_gwinfo;
            player = GameDataFactory.curr_gwinfo.The_Player;

            //****************************************************************************
            PlayUIBottomItem.UpdateInstruction(
                PlayUIBottomItem.QUIT_INSTRUNCTION
                //PlayUIBottomItem.UP_INSTRUNCTION   ^
                //PlayUIBottomItem.DOWN_INSTRUNCTION   ^
                //PlayUIBottomItem.RIGHT_INSTRUNCTION   ^
                //PlayUIBottomItem.LEFT_INSTRUNCTION
                );

            PlayUIBottomItem.UpdateMenuOption(
                // PlayUIBottomItem.QUIT_INSTRUNCTION ^
                PlayUIBottomItem.UP_INSTRUNCTION ^
                PlayUIBottomItem.DOWN_INSTRUNCTION ^
                PlayUIBottomItem.RIGHT_INSTRUNCTION ^
                PlayUIBottomItem.LEFT_INSTRUNCTION
                );

            PlayUIBottomItem.updateMessageBox(
                ConfigManager.GetStringResource(2) + "\n" + ConfigManager.GetStringResource(3));


            PlayUITopItem.UpdateGameLevel(GameState.gameLevel);
            PlayUITopItem.UpdateExperienceLevel(GameState.experience);
            PlayUITopItem.UpdateNoOfRoom(gwinfo.NumberOfRooms);

            PlayUITopItem.UpdateHealthLevel(player.GetHealthLevel());

            PlayUITopItem.UpdateSilverLevel(GameState.CountSilverInInventory());
            PlayUITopItem.UpdateGoldLevel(GameState.CountGoldInInventory());
            PlayUITopItem.UpdateHealthPotion(GameState.CountHealthPotionInInventory());

            item = GameState.GetFirstArmourInInventory();
            if (item != null)
            {
                PlayUITopItem.UpdateArmourType(item.descriptions);
            }
            else
            {
                PlayUITopItem.UpdateArmourType("No");
            }

            item = GameState.GetFirstSwordInInventory();
            if (item != null)
            {
                PlayUITopItem.UpdateWeaponType(item.descriptions);
            }
            else
            {
                PlayUITopItem.UpdateWeaponType("No");
            }

            PlayUITopItem.UpdateScore(GameState.score);
            //************************************************************************************
        }
        public static bool HandleArmour(Object item)
        {
            ConsoleKeyInfo keyInfo;
            bool           toProcessing = true;
            bool           toPickup     = false;

            GameRoom gm;

            ScreenManager.WaitForBufferClear();  //Clear Buffer

            gm = GameDataFactory.curr_gwinfo.GetGameRoombyNumber(GameState.currentRoom);


            if (GameState.CountSwordInInventory() > 0)
            {
                //************************************
                PlayUIBottomItem.updateMessageBox(ConfigManager.GetStringResource(21) + ((Item)item).descriptions + "\r\n" +
                                                  ConfigManager.GetStringResource(26) + GameState.GetFirstSwordInInventory().descriptions + "?\r\n" +
                                                  ConfigManager.GetStringResource(27) + ((IShield)item).shieldPower + "%" + "\r\n" +
                                                  ConfigManager.GetStringResource(23));

                PlayUIBottomItem.UpdateInstruction(
                    PlayUIBottomItem.YES_INSTRUNCTION | PlayUIBottomItem.NO_INSTRUNCTION);
                PlayUIBottomItem.UpdateMenuOption(PlayUIBottomItem.CLEAR);
                //***********************************
            }
            else
            {
                //************************************
                PlayUIBottomItem.updateMessageBox(ConfigManager.GetStringResource(21) + ((Item)item).descriptions + "\r\n" +
                                                  ConfigManager.GetStringResource(22) + "\r\n" + ConfigManager.GetStringResource(27) + ((IShield)item).shieldPower + "%" + "\r\n" +
                                                  ConfigManager.GetStringResource(23));

                PlayUIBottomItem.UpdateInstruction(
                    PlayUIBottomItem.YES_INSTRUNCTION | PlayUIBottomItem.NO_INSTRUNCTION);
                PlayUIBottomItem.UpdateMenuOption(PlayUIBottomItem.CLEAR);
                //***********************************
            }

            while (toProcessing)
            {
                keyInfo = Console.ReadKey(true);

                switch (Char.ToUpper(keyInfo.KeyChar))
                {
                case 'N':
                    toProcessing = false;
                    //***************************
                    PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.QUIT_INSTRUNCTION);
                    PlayUIBottomItem.UpdateMenuOption(
                        PlayUIBottomItem.UP_INSTRUNCTION ^
                        PlayUIBottomItem.DOWN_INSTRUNCTION ^
                        PlayUIBottomItem.RIGHT_INSTRUNCTION ^
                        PlayUIBottomItem.LEFT_INSTRUNCTION
                        );
                    //******************************
                    ((IAvailable)item).SetNotAvailable(ConfigManager.ItemNotAvailableTime);
                    break;

                case 'Y':
                    toProcessing = false;
                    toPickup     = true;
                    gm.ItemsHashTable.Remove(((Item)item).InstanceKey);     //Remove from room
                    GameState.RemoveArmourFromInventory();
                    GameState.inventory.Add((Item)item);
                    ((ITakable)item).Take();
                    //*************************************
                    PlayUITopItem.UpdateArmourType(((Item)item).descriptions);
                    PlayUILeftPanel.UpdateArmourItem(GameState.CountArmourInInventory());
                    PlayUILeftPanel.UpdateArmourTypeVal(((Item)item).descriptions);
                    PlayUILeftPanel.UpdateArmourPowerLevel(((IShield)item).shieldPower);

                    PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.QUIT_INSTRUNCTION);
                    PlayUIBottomItem.UpdateMenuOption(
                        PlayUIBottomItem.UP_INSTRUNCTION ^
                        PlayUIBottomItem.DOWN_INSTRUNCTION ^
                        PlayUIBottomItem.RIGHT_INSTRUNCTION ^
                        PlayUIBottomItem.LEFT_INSTRUNCTION
                        );

                    PlayUIRightPanel.PaintLegendOption(GameState.currentRoom);
                    //***************************************
                    break;
                }
            }

            return(toPickup);
        }