public NumberInputWindow(Node parent, int id, int money, Common.Parameter.Quality quality) : base(parent) { _id = id; _money = money; _quority = quality; createWindow(id, money); }
public ShopListButton(Texture2D texture, int id, int money, Common.Parameter.Quality quality) : base() { _id = id; _money = money; _type = Type.Food; _quolity = quality; createButton(texture); _text.Text = Function.SearchItemById(id).name + "(品質:" + Function.Quolity2String(quality) + "):" + money.ToString() + "G"; }
public void OnClick(Vector2F position) { if (_dialog != null && _dialog.IsShow) { Function.PlaySoundOK(); if (_isLevelup) { _dialog.UpdateText( "経営レベルが上がりました\n(" + GameData.PlayerData.ManagementLevel.ToString() + ")" ); _isLevelup = false; return; } _dialog.RemoveNode(_parentNode); _confirmWindow.Hide(); return; } if (_confirmWindow != null && _confirmWindow.IsShow()) { _confirmWindow.OnClick(position); return; } foreach (var column in requestColumns) { if (column.DeliveryButton.Click(position)) { Function.PlaySoundOK(); _confirmWindow = new ConfirmWindow(_parentNode, column.Label.GetText() + "\n" + "納品しますか?\n" + "(品質の高いものから使用されます)", () => { var request = column.GetRequest(); int num = request.Num; int quolity = 0; for (int q = 0; q < Common.Parameter.QuolityMaxNum; q++) { if (GameData.PlayerData.Item[request.ItemId, q] < num) { quolity += Function.Quolity2Value(q) * GameData.PlayerData.Item[request.ItemId, q]; num -= GameData.PlayerData.Item[request.ItemId, q]; GameData.PlayerData.Item[request.ItemId, q] = 0; } else { quolity += Function.Quolity2Value(q) * num; GameData.PlayerData.Item[request.ItemId, q] -= num; break; } } Common.Parameter.Quality averageQuolity = Function.QualityByValue(quolity / request.Num); float bonus = Function.Quolity2Bonus(averageQuolity); GameData.PlayerData.Money += (int)(request.Money * bonus); _dialog = new Dialog(); _dialog.SetNode("納品しました\n" + "(品質" + Function.Quolity2String(averageQuolity) + ")\n" + "(+" + (request.Money * bonus).ToString() + "G)", _parentNode); column.DeleteRequest(); //納品出来なくなったリクエストはロックする foreach (var column2 in requestColumns) { column2.ButtonUpdate(); } GameData.PlayerData.ManagementExperience += column.Exp; if (GameData.PlayerData.ManagementExperience >= GameData.PlayerData.ManagementLevel * 25) { GameData.PlayerData.ManagementExperience -= GameData.PlayerData.ManagementLevel * 25; GameData.PlayerData.ManagementLevel++; GameData.PlayerData.MaxPower++; _isLevelup = true; } }); _confirmWindow.Show(); return; } if (column.DestructionButton.Click(position)) { Function.PlaySoundOK(); _confirmWindow = new ConfirmWindow(_parentNode, column.Label.GetText() + "\n破棄しますか?", () => { _dialog = new Dialog(); _dialog.SetNode("破棄しました", _parentNode); column.DeleteRequest(); }); _confirmWindow.Show(); return; } } }