public ModelLibrary.ItemCat GetItemCatById(int id)
        {
            var itemCtrl  = new ItemCtrl();
            var itemCatDb = new ItemCatDb();

            return(itemCtrl.ConvertItemCatToModel(itemCatDb.GetItemCatById(id)));
        }
        public ModelLibrary.Item GetItemByName(string itemName)
        {
            var itemCtrl = new ItemCtrl();
            var itemDb   = new ItemDb();

            return(itemCtrl.ConvertItemToModelWithoutPrice(itemDb.GetItemByName(itemName)));
        }
示例#3
0
        public void Delete_Item_Service()
        {
            ItemCtrl    itemCtrl    = new ItemCtrl();
            ItemService itemService = new ItemService();

            //Setup
            ModelLibrary.Item rtrnItem = itemService.GetItem(1000000);

            var isNull = false;

            //Act
            itemService.DeleteItem(1000000);

            //Assert
            try
            {
                itemService.GetItem(1000000);
            }
            catch (Exception e)
            {
                isNull = true;
            }

            Assert.IsTrue(isNull);
        }
        public ModelLibrary.Price GetItemPrice(ModelLibrary.Item item, int menuId, int itemCatId)
        {
            ItemCtrl itemCtrl = new ItemCtrl();
            var      itemo    = itemCtrl.ConvertItemToDb(item, menuId, itemCatId);

            return(itemCtrl.GetItemPrice(1000000));
        }
        public void UpdateItemCat(ModelLibrary.ItemCat beforeItemCat, ModelLibrary.ItemCat afterItemCat)
        {
            JustFeastDbDataContext db = new JustFeastDbDataContext();
            ItemCtrl itemCtrl         = new ItemCtrl();

            itemCtrl.UpdateItemCat(beforeItemCat, afterItemCat);
        }
示例#6
0
 // Use this for initialization
 private void Awake()
 {
     if (itemCtrl == null)
     {
         itemCtrl = this;
     }
 }
示例#7
0
 void UpdateItem()
 {
     Debug.Log("Call");
     for (int i = 0; i < GameMgr.Instance.playerMgr.myItem.Count; ++i)
     {
         if (GameMgr.Instance.playerMgr.myItem[i]._count > 0)
         {
             if (!childDic.ContainsKey(GameMgr.Instance.playerMgr.myItem[i]._name))
             {
                 GameObject temp = Instantiate(item, transform) as GameObject;
                 temp.SetActive(true);
                 ItemCtrl myItemCtrl = temp.GetComponent <ItemCtrl>();
                 temp.transform.localScale = Vector3.one;
                 myItemCtrl.Init(GameMgr.Instance.playerMgr.myItem[i]);
                 childDic.Add(GameMgr.Instance.playerMgr.myItem[i]._name, temp);
             }
             else
             {
                 childDic[GameMgr.Instance.playerMgr.myItem[i]._name].GetComponent <ItemCtrl>().count.text = string.Format("X{0}", GameMgr.Instance.playerMgr.myItem[i]._count);
             }
         }
         else
         {
             if (childDic.ContainsKey(GameMgr.Instance.playerMgr.myItem[i]._name))
             {
                 Destroy(childDic[GameMgr.Instance.playerMgr.myItem[i]._name]);
             }
         }
     }
 }
示例#8
0
        public void Edit_Item_With_Price()
        {
            ItemCtrl itemCtrl = new ItemCtrl();
            ItemDb   itemDb   = new ItemDb();
            //Setup

            ItemService  itemService  = new ItemService();
            PriceService priceService = new PriceService();

            //Act
            JustFeastDbDataContext db = new JustFeastDbDataContext();
            var testItem  = itemService.GetItem(1000000);
            var testPrice = priceService.GetLatestPrice(1000000);

            ModelLibrary.Item newItemUpdated = new ModelLibrary.Item
            {
                Id          = 1000000,
                Name        = "testNameUpdated",
                Description = "testDescrUpdated",
                Price       = testPrice
            };
            priceService.UpdatePrice(testPrice, 1000000);
            itemService.UpdateItem(newItemUpdated, 1000000, 1000000);

            priceService.UpdatePrice(testPrice, 1000000);

            //Assert
            Assert.IsFalse(testItem.Name == "testNameUpdated");
        }
        public ModelLibrary.Item GetItemByNameAndMenuId(string itemName, int menuId)
        {
            var itemCtrl = new ItemCtrl();
            var itemDb   = new ItemDb();

            return(itemCtrl.ConvertItemToModel(itemDb.GetItemByNameAndMenu(itemName, menuId)));
        }
示例#10
0
 public static ItemCtrl GetInstance()
 {
     if (Instance == null)
     {
         Instance = new ItemCtrl();
     }
     return(Instance);
 }
示例#11
0
    // 아이템을 넣기위해 모든 슬롯을 검사.
    public bool AddItem(ItemCtrl item)
    {
        // 슬롯에 총 개수.
        int slotCount = ItemAllSlot.Count;

        // 넣기위한 아이템이 슬롯에 존재하는지 검사.
        for (int i = 0; i < slotCount; i++)
        {
            // 그 슬롯의 스크립트를 가져온다.
            SlotCtrl slot = ItemAllSlot[i].GetComponent <SlotCtrl>();
            // 슬롯이 비어있으면 통과.
            if (!slot.isSlots())
            {
                continue;
            }

            // 슬롯에 존재하는 아이템의 타입과 넣을려는 아이템의 타입이 같고.
            // 슬롯에 존재하는 아이템의 겹칠수 있는 최대치가 넘지않았을 때. (true일 때)
            if (slot.ItemReturn().type == item.type)
            {
                if (slot.ItemReturn().type.ToString() == "ProofVest")
                {
                    return(false);
                }
                // 슬롯에 아이템을 넣는다.
                Debug.Log("중복 아이템 추가..!");
                slot.AddItem(item, true, slot);
                return(true);
            }
        }

        // 빈 슬롯에 아이템을 넣기위한 검사.
        for (int i = 0; i < slotCount; i++)
        {
            SlotCtrl slot = ItemAllSlot[i].GetComponent <SlotCtrl>();

            // 슬롯이 비어있지 않으면 통과
            if (slot.isSlots())
            {
                continue;
            }

            if (item.type.ToString() == "ProofVest")
            {
                player.armour += 100;
                player.imgArmourBar.fillAmount = (float)player.armour / (float)player.initArmour;
                player.send_PlayerHP(player.hp, player.armour);
            }

            slot.AddItem(item, false, null);
            return(true);
        }

        // 위에 조건에 해당되는 것이 없을 때 아이템을 먹지 못함.
        return(false);
    }
示例#12
0
    public void AddItem(ItemCtrl item, bool same, SlotCtrl sameSlot)
    {
        if (same == true)
        {
            if (item.type == 0)
            {
                player.bulletCount[0] += 30;
                sameSlot.ItemReturn().setItemCount(30); // 이미 존재 하면 해당 갯수를 증가한다.
            }
            else if ((int)item.type == 1)
            {
                player.bulletCount[1] += 30;
                player.bulletCount[2] += 30;
                sameSlot.ItemReturn().setItemCount(30); // 이미 존재 하면 해당 갯수를 증가한다.
            }
            else if ((int)item.type == 2)
            {
                player.bulletCount[3] += 30;
                sameSlot.ItemReturn().setItemCount(30); // 이미 존재 하면 해당 갯수를 증가한다.
            }
            else if ((int)item.type == 3)
            {
                sameSlot.ItemReturn().setItemCount(1); // 이미 존재 하면 해당 갯수를 증가한다
            }

            if (player.now_Weapon != -1)
            {
                player.weaponText.text = player.reloadBulletCount[player.now_Weapon] + " / " + player.bulletCount[player.now_Weapon];
            }
        }
        else
        {
            if (item.type == 0)
            {
                player.bulletCount[0] += 30;
            }
            else if ((int)item.type == 1)
            {
                player.bulletCount[1] += 30;
                player.bulletCount[2] += 30;
            }
            else if ((int)item.type == 2)
            {
                player.bulletCount[3] += 30;
            }

            if (player.now_Weapon != -1)
            {
                player.weaponText.text = player.reloadBulletCount[player.now_Weapon] + " / " + player.bulletCount[player.now_Weapon];
            }
            slot.Push(item);
        }

        UpdateInfo(true, item.DefaultImg);
    }
示例#13
0
    public void OnValueChange(Vector2 pos)
    {
        if (flag)
        {
            return;
        }

        if (m_DataSource.Count > 0)
        {
            GameObject go       = m_DataSource[0].gameObject;
            float      y        = m_ContentParent.transform.InverseTransformPoint(go.transform.position).y;
            ItemCtrl   itemCtrl = go.GetComponent <ItemCtrl>();
            //向上滑动
            if (direction == 1 && (y - itemCtrl.Height) > m_DestroyLine)
            {
                //删除顶部一个元素
                Destroy(go);
                m_DataSource.RemoveAt(0);
                m_Content.localPosition = m_Content.localPosition - new Vector3(0, (itemCtrl.Height + gap), 0);
                //在底部添加一个元素
                int        index   = Random.Range(0, 3);
                GameObject newItem = GameObject.Instantiate(m_Prefabs[index]) as GameObject;
                newItem.transform.SetParent(m_Content.transform);
                newItem.transform.localScale = Vector3.one;
                ItemCtrl   newItemCtrl  = newItem.GetComponent <ItemCtrl>();
                GameObject lastItem     = m_DataSource[m_DataSource.Count - 1].gameObject;
                ItemCtrl   lastItemCtrl = lastItem.GetComponent <ItemCtrl>();
                newItemCtrl.m_Text.text = (lastItemCtrl.m_Index + 1).ToString();
                newItemCtrl.m_Index     = lastItemCtrl.m_Index + 1;
                m_DataSource.Add(newItemCtrl);
            }

            //向下滑动
            if (direction == -1 && (m_Content.localPosition.y < m_DestroyLine))
            {
                if (itemCtrl.m_Index >= 1)
                {
                    //顶部添加一个元素
                    int        index   = Random.Range(0, 3);
                    GameObject newItem = GameObject.Instantiate(m_Prefabs[index]) as GameObject;
                    newItem.transform.SetParent(m_Content.transform);
                    newItem.transform.SetAsFirstSibling();
                    newItem.transform.localScale = Vector3.one;
                    ItemCtrl newItemCtrl = newItem.GetComponent <ItemCtrl>();
                    newItemCtrl.m_Text.text = (itemCtrl.m_Index - 1).ToString();
                    newItemCtrl.m_Index     = itemCtrl.m_Index - 1;
                    m_DataSource.Insert(0, newItemCtrl);
                    m_Content.localPosition = m_Content.localPosition + new Vector3(0, (newItemCtrl.Height + gap), 0);
                    //底部删除一个
                    Destroy(m_DataSource[m_DataSource.Count - 1].gameObject);
                    m_DataSource.RemoveAt(m_DataSource.Count - 1);
                }
            }
        }
    }
        public IEnumerable <ModelLibrary.ItemCat> GetItemCats()
        {
            JustFeastDbDataContext db = new JustFeastDbDataContext();
            ItemCtrl itemCtrl         = new ItemCtrl();
            var      res = db.ItemCats.ToList();
            List <ModelLibrary.ItemCat> modelItemCat = new List <ModelLibrary.ItemCat>();

            foreach (var x in res)
            {
                modelItemCat.Add(itemCtrl.ConvertItemCatToModel(x));
            }
            return(modelItemCat);
        }
示例#15
0
    // 아이템 옮기기 및 교환.
    public void ItemSwap1(SlotCtrl value, Vector3 Pos)
    {
        SlotCtrl FirstSlot = NearDisItemSlot(Pos);

        // 현재 슬롯과 옮기려는 슬롯이 같으면 함수 종료.
        if (value == FirstSlot || FirstSlot == null)
        {
            value.UpdateInfo(true, value.slot.Peek().DefaultImg);
            return;
        }

        // 가까운 슬롯이 비어있으면 옮기기.
        if (!FirstSlot.isSlots())
        {
            ItemSwap2(FirstSlot, value);
        }
        // 교환.
        else
        {
            int              Count = value.slot.Count;
            ItemCtrl         item  = value.slot.Peek();
            Stack <ItemCtrl> temp  = new Stack <ItemCtrl>();

            {
                for (int i = 0; i < Count; i++)
                {
                    temp.Push(item);
                }

                value.slot.Clear();
            }

            ItemSwap2(value, FirstSlot);

            {
                Count = temp.Count;
                item  = temp.Peek();

                for (int i = 0; i < Count; i++)
                {
                    FirstSlot.slot.Push(item);
                }

                FirstSlot.UpdateInfo(true, temp.Peek().DefaultImg);
            }
        }
    }
示例#16
0
    public void OnEndDrag(PointerEventData eventData)
    {
        if (OffsetThing == null)
        {
            return;
        }
        BagCtrl.onlyShowOneIntroduce = true;

        GameObject TargetItem = BagCtrl.judgeRunintoObject(eventData.pointerEnter.transform.position);


        if (TargetItem == null)
        {
            Destroy(OffsetThing);
            return;
        }

        ItemCtrl ItemBagData = TargetItem.GetComponent <ItemCtrl>();

        if (ItemBagData.BagData.Name == null && ItemBagData.BagData.ItemPositon == null)
        {
            //属于空白格,如果是在备包内部,拖拽的物品需要排序到最后或者不对拖拽的物品做处理,此处不做处理
            Destroy(OffsetThing);
            return;
        }



        if (TargetItem.Equals(BeginDragItem))
        {
            //如果是物品本身就不用替换
            Destroy(OffsetThing);
            return;
        }

        if (!(TargetItem.GetComponent <ItemCtrl>().BagData.ItemPositon == TagType.BagTag || TargetItem.GetComponent <ItemCtrl>().BagData.ItemPositon == TagType.EquipTag))
        {
            return;
        }

        BagCtrl.ExchangeItemFunc(TargetItem, BeginDragItem);

        if (OffsetThing != null)
        {
            Destroy(OffsetThing);
        }
    }
示例#17
0
 void Start()
 {
     gap             = m_Layout.spacing;
     m_ContentParent = m_Content.transform.parent.gameObject;
     for (int i = 0; i < m_DefaultCnt; ++i)
     {
         int        index = Random.Range(0, 3);
         GameObject go    = GameObject.Instantiate(m_Prefabs[index]) as GameObject;
         go.transform.SetParent(m_Content.transform);
         go.transform.localScale = Vector3.one;
         ItemCtrl itemCtrl = go.GetComponent <ItemCtrl>();
         itemCtrl.m_Text.text = (cnt).ToString();
         itemCtrl.m_Index     = cnt;
         ++cnt;
         m_DataSource.Add(itemCtrl);
     }
 }
示例#18
0
    // 아이템!!!!!!!!!! 1: 비어있는 슬롯, 2: 안 비어있는 슬롯.
    void ItemSwap2(SlotCtrl xFirst, SlotCtrl oSecond)
    {
        int      Count = oSecond.slot.Count;
        ItemCtrl item  = oSecond.slot.Peek();

        for (int i = 0; i < Count; i++)
        {
            if (xFirst != null)
            {
                xFirst.slot.Push(item);
            }
        }

        if (xFirst != null)
        {
            xFirst.UpdateInfo(true, oSecond.ItemReturn().DefaultImg);
        }

        oSecond.slot.Clear();
        oSecond.UpdateInfo(false, oSecond.DefaultImg);
    }
        private async void buttonDelete_Click(object sender, RoutedEventArgs e)
        {
            ItemCtrl itemCtrl     = new ItemCtrl();
            var      selectedItem = (ModelLibrary.Item)dataGridItemList.SelectedItem;
            var      dbItem       = await Services._ItemProxy.GetItemAsync(selectedItem.Id);

            if (dbItem == null)
            {
                MessageBox.Show("Select an item for deletion");
            }
            await Services._ItemProxy.DeleteItemAsync(selectedItem.Id);

            dataGridItemList.Items.Clear();
            var modelMenu = await Services._ItemProxy.GetAllItemsByMenuAsync(amenuId);

            foreach (Item item in modelMenu)
            {
                dataGridItemList.Items.Add(item);
            }
            ;
        }
示例#20
0
        public void Create_Item_Service()
        {
            ItemCtrl itemCtrl = new ItemCtrl();
            //Setup
            var menu = new ModelLibrary.Menu
            {
                Active       = false,
                Id           = 1000000,
                Name         = "newName",
                RestaurantId = 1000000,
            };
            var itemCat = new ModelLibrary.ItemCat
            {
                Id   = 1000000,
                Name = "Soup"
            };
            var price = new ModelLibrary.Price
            {
                StartDate = DateTime.Now.Date,
                EndDate   = new DateTime(9999, 12, 31),
                VarPrice  = 12.5
            };
            var item = new ModelLibrary.Item
            {
                Id          = 1000000,
                Name        = "Controllerforabi",
                Description = "Totallynotadescription",
                Price       = price,
            };

            //Act
            var itemdb = itemCtrl.CreateItem(item, menu.Id, itemCat.Id);

            //Assert
            Assert.AreEqual(item.Name, itemdb.Name);
        }
示例#21
0
        public void Create_Item_With_Price_Service_Test()
        {
            ItemCtrl itemCtrl = new ItemCtrl();
            ItemDb   itemDb   = new ItemDb();

            //Setup
            #region creates ModelItem, ModelPrice
            ModelLibrary.Price newPrice = new ModelLibrary.Price
            {
                VarPrice  = 12,
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(100)
            };
            ModelLibrary.Item newItem = new ModelLibrary.Item
            {
                Name        = "testName",
                Description = "testDescr",
                Price       = newPrice
            };
            ItemService  itemService  = new ItemService();
            PriceService priceService = new PriceService();
            #endregion
            //Act
            JustFeastDbDataContext db = new JustFeastDbDataContext();
            itemService.CreateItem(newItem, 1000000, 1000000);
            var checkItem = db.Items.SingleOrDefault(p => p.name == newItem.Name && p.description == newItem.Description);
            priceService.CreatePrice(newPrice, checkItem.id);


            //Get Item(1,1,"PerfectlyGoodName");

            //Assert

            Assert.IsNotNull(db.Items.SingleOrDefault(p => p.id == checkItem.id));
            Assert.IsNotNull(db.Prices.Where(p => p.itemId == checkItem.id).OrderByDescending(p => p.startDate).First());
        }
示例#22
0
    }                                                    // 슬롯에 존재하는 아이템이 뭔지 반환

    public bool ItemMax(ItemCtrl item)
    {
        return(ItemReturn().MaxCount > slot.Count);
    }                                                                                 // 겹칠수 있는 한계치를 넘으면
示例#23
0
 void DestroyItem(ItemCtrl _go)
 {
     //gameCtrl.ScoreChange = _go.pointScored;
     Destroy(_go.gameObject);
 }
        public void DeleteItemCat(int itemCatId)
        {
            ItemCtrl itemCatCtrl = new ItemCtrl();

            itemCatCtrl.DeleteItemCat(itemCatId);
        }
        public ModelLibrary.Item GetItem(int itemId)
        {
            ItemCtrl itemCtrl = new ItemCtrl();

            return(itemCtrl.GetItem(itemId));
        }
示例#26
0
    /// <summary>
    /// 创造得到json数据的背包里所有的物品
    /// </summary>
    private void CreateAllItem()
    {
        int BagdataAcount   = 0;
        int EquipdataAcount = 0;


        for (int i = 0; i < BagData.Count; i++)
        {
            //创建有数据的背包栏
            if (BagData[i].ItemPositon == TagType.BagTag)
            {
                BagdataAcount++;
                GameObject BagTemp = GameObject.Instantiate(item, Vector3.zero, Quaternion.identity);

                BagTemp.transform.SetParent(Baglayout.transform);
                ItemCtrl TempItemCtrl = BagTemp.AddComponent <ItemCtrl>();

                if (i <= BagData.Count)
                {
                    TempItemCtrl.BagData = BagData[i];
                    TempItemCtrl.LoadTextrue();
                }
                if (BagTemp != null)
                {
                    BagsList.Add(BagTemp);
                }
            }
            //创建有数据的装备栏
            else if (BagData[i].ItemPositon == TagType.EquipTag)
            {
                EquipdataAcount++;
                GameObject EquipTemp = GameObject.Instantiate(item, Vector3.zero, Quaternion.identity);

                EquipTemp.transform.SetParent(EquipLayout.transform);
                ItemCtrl TempItemCtrl = EquipTemp.AddComponent <ItemCtrl>();

                if (i <= BagData.Count)
                {
                    TempItemCtrl.BagData = BagData[i];

                    TempItemCtrl.LoadTextrue();
                }

                if (EquipTemp != null)
                {
                    BagsList.Add(EquipTemp);
                }
            }
        }
        //当给定的背包的空格还需要再创建的时候创建空格
        if (bagItemAcount >= BagdataAcount)
        {
            for (int i = 0; i < bagItemAcount - BagdataAcount; i++)
            {
                GameObject BagTemp = GameObject.Instantiate(item, Vector3.zero, Quaternion.identity);

                BagTemp.transform.SetParent(Baglayout.transform);
                ItemCtrl TempItemCtrl = BagTemp.AddComponent <ItemCtrl>();
                TempItemCtrl.BagData             = new BagData();
                TempItemCtrl.BagData.ItemPositon = TagType.BagTag;
                BagData.Add(TempItemCtrl.BagData);
                if (BagTemp != null)
                {
                    BagsList.Add(BagTemp);
                }
            }
        }
        //当给定的装备栏的空格还需要再创建的时候创建空格
        if (equipItemAcount >= EquipdataAcount)
        {
            for (int i = 0; i < equipItemAcount - EquipdataAcount; i++)
            {
                EquipdataAcount++;
                GameObject EquipTemp = GameObject.Instantiate(item, Vector3.zero, Quaternion.identity);

                EquipTemp.transform.SetParent(EquipLayout.transform);
                ItemCtrl TempItemCtrl = EquipTemp.AddComponent <ItemCtrl>();
                TempItemCtrl.BagData             = new BagData();
                TempItemCtrl.BagData.ItemPositon = TagType.EquipTag;
                BagData.Add(TempItemCtrl.BagData);
                if (EquipTemp != null)
                {
                    BagsList.Add(EquipTemp);
                }
            }
        }
    }