示例#1
0
        private int stageNumFile;                            //ステージのファイル番号

        /// <summary>
        /// シーンの間にゲーム情報を伝える仲介者
        /// </summary>
        /// <param name="gameDevice">ゲームディバイス</param>
        public GameManager(GameDevice gameDevice)
        {
            this.gameDevice = gameDevice;
            mapInstance     = null;

            stageManager        = new StageManager(gameDevice);
            enemySettingManager = new EnemySettingManager(gameDevice);
            blockStyle          = new BlockStyle();
            questManager        = new QuestLoader();
            questManager.Initialize();
            questManager.Load(dungeonProcess, true);
            itemManager    = new ItemManager();
            dungeonProcess = new DungeonProcess();
            enemyName      = new EnemyNameLoader();

            #region Player初期化
            PlayerStatusLoader psLoader = new PlayerStatusLoader();
            int[]  status        = psLoader.LoadStatus();
            Status defaultStatus = new Status(1, status[0], status[1], status[2], status[3], 1);
            playerStatus = new PlayerStatus(defaultStatus, gameDevice);
            playerStatus.Initialize();

            playerItem      = playerStatus.GetInventory();                //道具欄を取得
            playerQuest     = new PlayerQuest();
            playerGuildRank = new PlayerGuildRank();
            #endregion

            Load();
        }
示例#2
0
 public void Set()
 {
     clearDungen      = gameManager.DungeonProcess.GetProcess();
     money            = playerInventory.CurrentMoney();
     bag              = playerInventory.BagList();
     armor            = playerInventory.CurrentArmor();
     leftHand         = playerInventory.LeftHand();
     rightHand        = playerInventory.RightHand();
     arrow            = playerInventory.Arrow();
     accessary        = playerInventory.Accessary();
     depotEquipment   = playerInventory.EquipDepository();
     depotConsumption = playerInventory.DepositoryItem();
     questLoader      = gameManager.QuestManager;
     quest            = gameManager.PlayerQuest.CurrentQuest();
     guildRank        = gameManager.GuildInfo;
 }
示例#3
0
        public SaveData(GameManager gameManager)
        {
            this.gameManager = gameManager;
            itemManager      = gameManager.ItemManager;
            playerInventory  = gameManager.PlayerItem;

            clearDungen = gameManager.DungeonProcess.GetProcess();
            money       = playerInventory.CurrentMoney();
            bag         = playerInventory.BagList();
            armor       = playerInventory.CurrentArmor();
            leftHand    = playerInventory.LeftHand();
            rightHand   = playerInventory.RightHand();
            arrow       = playerInventory.Arrow();
            accessary   = playerInventory.Accessary();
            quest       = new List <Quest>();
            questLoader = gameManager.QuestManager;
            guildRank   = gameManager.GuildInfo;

            saveFileName = @"Content/SaveCSV/SaveDate.csv";
            isSave       = false;
            isLoad       = false;
        }
示例#4
0
        //セーブデータを読み込む
        public bool Load()
        {
            if (!File.Exists(saveFileName))
            {
                return(false);
            }
            StreamReader sr = new StreamReader(saveFileName);

            try
            {
                isLoad = true;

                List <string[]> itemDates = new List <string[]>();
                clearDungen = new Dictionary <int, int>();
                armor       = new ProtectionItem[4];
                bag         = new List <Item>();
                int accessaryID = 0;

                depotEquipment   = new List <Item>();
                depotConsumption = new Dictionary <int, int>();

                int bagNum   = 0;
                int depotNum = 0;

                while (!sr.EndOfStream)
                {
                    string   line    = sr.ReadLine();
                    string[] strings = line.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);

                    if (strings[0] == "floor")
                    {
                        clearDungen[int.Parse(strings[1])] = int.Parse(strings[2]);
                    }
                    else if (strings[0] == "money")
                    {
                        money = int.Parse(strings[1]);
                    }
                    else if (strings[0] == "leftHand")
                    {
                        if (strings[1] != "no")
                        {
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                                strings[3],
                                strings[4],
                                strings[5],
                            };
                            itemDates.Add(itemDate);
                        }
                        else
                        {
                            itemDates.Add(null);
                        }
                    }
                    else if (strings[0] == "rightHand")
                    {
                        if (strings[1] != "no")
                        {
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                                strings[3],
                                strings[4],
                                strings[5],
                            };
                            itemDates.Add(itemDate);
                        }
                        else
                        {
                            itemDates.Add(null);
                        }
                    }
                    else if (strings[0] == "arrow")
                    {
                        if (strings[1] != "no")
                        {
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                                strings[3]
                            };
                            itemDates.Add(itemDate);
                        }
                        else
                        {
                            itemDates.Add(null);
                        }
                    }
                    else if (strings[0] == "armor")
                    {
                        if (strings[1] != "no")
                        {
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                                strings[3],
                                strings[4],
                                strings[5],
                            };
                            itemDates.Add(itemDate);
                        }
                        else
                        {
                            itemDates.Add(null);
                        }
                    }
                    else if (strings[0] == "accessary")
                    {
                        if (strings[1] != "no")
                        {
                            accessaryID = int.Parse(strings[2]);
                        }
                    }
                    else if (strings[0] == "bag")
                    {
                        bagNum++;

                        if (strings[1] == "Consumption")
                        {
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                                strings[3],
                            };
                            itemDates.Add(itemDate);
                        }
                        else if (strings[1] == "Accessary")
                        {
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                            };
                            itemDates.Add(itemDate);
                        }
                        else
                        {
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                                strings[3],
                                strings[4],
                                strings[5],
                            };
                            itemDates.Add(itemDate);
                        }
                    }
                    else if (strings[0] == "depot")
                    {
                        if (strings[1] == "Consumption")
                        {
                            depotConsumption.Add(int.Parse(strings[2]), int.Parse(strings[3]));
                        }
                        else if (strings[1] == "Accessary")
                        {
                            depotNum++;
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                            };
                            itemDates.Add(itemDate);
                        }
                        else
                        {
                            depotNum++;
                            string[] itemDate = new string[]
                            {
                                strings[1],
                                strings[2],
                                strings[3],
                                strings[4],
                                strings[5],
                            };
                            itemDates.Add(itemDate);
                        }
                    }
                    else if (strings[0] == "quest")
                    {
                        Quest q = questLoader.GetQuest(int.Parse(strings[1]));
                        for (int i = 0; i < 3; i++)
                        {
                            if (i >= q.RequireID().Length)
                            {
                                break;
                            }
                            q.SetItemAmount(q.RequireID()[i], int.Parse(strings[i + 2]));
                        }
                        quest.Add(q);
                    }
                    else if (strings[0] == "guild")
                    {
                        guildRank = new PlayerGuildRank(int.Parse(strings[1]), int.Parse(strings[2]));
                    }
                }
                sr.Close();

                List <Item> items = itemManager.LoadSaveItem(itemDates);
                if (accessaryID != 0)
                {
                    accessary = (AccessaryItem)itemManager.GetAccessary(accessaryID);
                }
                leftHand  = (WeaponItem)items[0];
                rightHand = (WeaponItem)items[1];
                arrow     = (ConsumptionItem)items[2];
                armor[0]  = (ProtectionItem)items[3];
                armor[1]  = (ProtectionItem)items[4];
                armor[2]  = (ProtectionItem)items[5];
                armor[3]  = (ProtectionItem)items[6];
                for (int i = 7; i < 7 + bagNum; i++)
                {
                    bag.Add(items[i]);
                }
                for (int i = 7 + bagNum; i < 7 + bagNum + depotNum; i++)
                {
                    depotEquipment.Add(items[i]);
                }

                isLoad = false;
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                sr.Close();
                return(false);
            }
        }