Esempio n. 1
0
        /// <summary>
        /// 装備文字を設定
        /// </summary>
        private void SetText()
        {
            ProtectionItem[] armor     = playerItem.CurrentArmor(); //装備を取得
            WeaponItem       leftHand  = playerItem.LeftHand();     //左手
            WeaponItem       rightHand = playerItem.RightHand();    //右手
            ConsumptionItem  arrow     = playerItem.Arrow();
            AccessaryItem    accessary = playerItem.Accessary();

            equips = new string[8];                                 //装備文字初期化
            for (int i = 0; i < 4; i++)                             //防具文字を設定
            {
                colors[i] = Color.White;
                SetProtectionText(ref equips[i], armor, (ProtectionItem.ProtectionType)i);
            }

            if (leftHand == null)           //左手に武器がない場合
            {
                colors[4] = Color.White;
                EquipNull(ref equips[4]);
            }
            else
            {
                colors[4] = Color.Lerp(Color.White, Color.Gold, leftHand.GetItemRare() / 8.0f);       //レア度で色付け
                equips[4] = leftHand.GetItemName() + " + " + leftHand.GetReinforcement();
            }

            if (rightHand == null)           //右手に武器がない場合
            {
                colors[5] = Color.White;
                EquipNull(ref equips[5]);
            }
            else
            {
                colors[5] = Color.Lerp(Color.White, Color.Gold, rightHand.GetItemRare() / 8.0f);       //レア度で色付け
                equips[5] = rightHand.GetItemName() + " + " + rightHand.GetReinforcement();
            }

            if (arrow == null)                //矢を装備していない場合
            {
                colors[6] = Color.White;
                EquipNull(ref equips[6]);
            }
            else
            {
                colors[6] = Color.Lerp(Color.White, Color.Gold, arrow.GetItemRare() / 8.0f);       //レア度で色付け
                equips[6] = arrow.GetItemName() + "(" + arrow.GetStack() + ")";
            }

            if (accessary == null)
            {
                colors[7] = Color.White;
                EquipNull(ref equips[7]);
            }
            else
            {
                colors[7] = Color.Lerp(Color.White, Color.Gold, accessary.GetItemRare() / 8.0f);       //レア度で色付け
                equips[7] = accessary.GetItemName();
            }
        }
Esempio n. 2
0
    public override Item CreateItem(Dictionary <string, object> _info)
    {
        int      id         = (int)_info["id"];
        string   name       = (string)_info["name"];
        ItemType type       = (ItemType)_info["type"];
        string   targetName = (string)_info["targetName"];
        string   funcName   = (string)_info["funcName"];
        float    effect     = (float)_info["effect"];

        ItemUse use  = new ConsumptionItem(targetName, funcName, effect);
        Item    item = new Item(id, name, type, use);

        return(item);
    }
Esempio n. 3
0
        /// <summary>
        /// 使用アイテムの詳細設定
        /// </summary>
        /// <param name="item">アイテム</param>
        private void ConsumptionInfo(ConsumptionItem item)
        {
            info = new string[6];

            info[0] = item.GetItemName();
            info[1] = "レア度 " + item.GetItemRare();
            info[2] = "買値 " + item.GetItemPrice();
            info[3] = "重量 " + item.GetItemWeight();
            info[4] = "タイプ " + item.GetTypeText();
            info[5] = item.GetItemExplanation();

            if (item.GetTypeText() == "矢")
            {
                info[0] += "(" + item.GetStack() + ")";
            }
        }
Esempio n. 4
0
        public int InsertConsumptionItem(ConsumptionItem objConsumptionItem, IDbConnection connection, IDbTransaction txn)
        {
            try
            {
                string sql = @"insert into ConsumptionItem(ConsumptionId,ItemId,Remarks,Amount) Values (@ConsumptionId,@ItemId,@Remarks,@Amount);
            SELECT CAST(SCOPE_IDENTITY() as int)";

                var id = connection.Query <int>(sql, objConsumptionItem, txn).Single();

                return(id);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 5
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;
 }
        private void SaveRows(Consumption consumption, JArray rowsJArray)
        {
            var consumptionService = CreateService <ConsumptionService>();
            List <ConsumptionItem> consumptionItems = new List <ConsumptionItem>();

            foreach (JObject jObject in rowsJArray)
            {
                Unit unit = new Unit();
                if (jObject["Status"].ToString() != "Error")
                {
                    ConsumptionItem consumptionItem = new ConsumptionItem();
                    consumptionItem.ConsumptionId = consumption.Id;
                    consumptionItem.UnitId        = Guid.Parse(jObject["Unit.NumberId"].ToString());
                    consumptionItem.Amount        = decimal.Parse(jObject["Amount"].ToString());
                    consumptionItems.Add(consumptionItem);
                }
            }
            consumptionService.BulkSave(this.communityId, consumption, consumptionItems);
        }
Esempio n. 7
0
        public void Initialize()
        {
            ProtectionItem[] armor     = playerItem.CurrentArmor(); //装備を取得
            WeaponItem       leftHand  = playerItem.LeftHand();     //左手
            WeaponItem       rightHand = playerItem.RightHand();    //右手
            ConsumptionItem  arrow     = playerItem.Arrow();
            AccessaryItem    accessary = playerItem.Accessary();

            items = new Item[8];
            for (int i = 0; i < armor.Length; i++)
            {
                items[i] = armor[i];
            }
            items[4] = leftHand;
            items[5] = rightHand;
            items[6] = arrow;
            items[7] = accessary;

            currentItem = null;
        }
Esempio n. 8
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;
        }
Esempio n. 9
0
        /// <summary>
        /// 消耗产品
        /// </summary>
        /// <returns></returns>
        public ActionResult Consume(int? customerCardId, int? customerAccountId, string consumptionItems, string password)
        {
            ConsumptionRecord consumptionRecord = new ConsumptionRecord();

            if (this.Request.IsPost())
            {
                if (customerCardId != null)
                {
                    consumptionRecord.CustomerCard = this.CustomerService.FindCustomerCardById(customerCardId.Value);
                }
                if (customerAccountId == null)
                {
                    ModelState.AddModelError("CustomerAccountId", "请选择客户账户.");
                }
                else
                {
                    CustomerAccount customerAccount = this.CustomerService.FindCustomerAccountById(customerAccountId.Value);
                    if (customerAccount == null)
                    {
                        throw new LogicalException(string.Format("未找到 ID 为 {0} 的账户", customerAccountId));
                    }

                    consumptionRecord.CustomerAccount = customerAccount;
                }

                if (!string.IsNullOrEmpty(consumptionItems) && consumptionItems.StartsWith("[") && consumptionItems.EndsWith("]"))
                {
                    consumptionRecord.Items = new List<ConsumptionItem>();

                    JArray array = JArray.Parse(consumptionItems);
                    if (array != null && array.Count > 0)
                    {
                        foreach (var item in array)
                        {
                            ConsumptionItem consumptionItem = new ConsumptionItem();

                            consumptionItem.ConsumptionRecord = consumptionRecord;
                            consumptionItem.Product = this.ProductService.FindById(item["Product"].Value<int>("Id"));

                            CustomerAccountItem customerAccountItem = consumptionRecord.CustomerAccount.Items.FirstOrDefault(x => x.Product.Equals(consumptionItem.Product));
                            if (customerAccountItem == null)
                            {
                                ModelState.AddModelError("consumptionItems", "");
                            }
                            else
                            {
                                int consumeCount = item.Value<int>("ConsumeCount");
                                if (customerAccountItem.ChargedBalance >= consumeCount)
                                {
                                    consumptionItem.ChargedCount = consumeCount;
                                    consumptionItem.DonatedCount = 0;
                                }
                                else
                                {
                                    consumptionItem.ChargedCount = customerAccountItem.ChargedBalance;
                                    consumptionItem.DonatedCount = consumeCount - customerAccountItem.ChargedBalance;
                                }
                            }
                            consumptionRecord.Items.Add(consumptionItem);
                        }
                    }

                    if (string.IsNullOrEmpty(password))
                    {
                        ModelState.AddModelError("Password", "请输入密码.");
                    }
                    else
                    {
                        string hash = PasswordCryptor.Default.Encrypt(password);
                        if (consumptionRecord.CustomerCard.Password != hash)
                        {
                            ModelState.AddModelError("Password", "密码错误.");
                        }
                    }

                    if (ModelState.IsValid)
                    {
                        
                        this.ProductService.Consume(consumptionRecord);

                        return View("Consume/Details", consumptionRecord); 
                    }
                }
            }
            return View("Consume/Consume", consumptionRecord);
        }
Esempio n. 10
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);
            }
        }