Example #1
0
        public void Execute(CommodityVO reward)
        {
            InventoryModel inventory = AmbitionApp.GetModel <InventoryModel>();
            ItemVO         item      = inventory.Instantiate(reward.ID);

            if (item == null)
            {
                ItemConfig config = Resources.Load <ItemConfig>(Filepath.Items + reward.ID);
                inventory.Import(config);
                item = inventory.Instantiate(reward.ID);
            }
            if (item != null)
            {
                if (reward.Value > 0)
                {
                    item.Price = reward.Value;
                }
                item.Created = AmbitionApp.GetModel <CalendarModel>().Today;
                inventory.Inventory.Add(item);
                inventory.Broadcast();
            }
#if DEBUG
            else
            {
                Debug.LogWarningFormat("No inventory template matches reward ID '{0}'; synthesizing one", reward.ID);
            }
#endif
        }
Example #2
0
        public void Execute(ItemVO item)
        {
            InventoryModel inventory = AmbitionApp.Inventory;
            int            livre     = AmbitionApp.Game.Livre;

            if (item != null && livre + item.Price >= 0 && inventory.Inventory.Remove(item))
            {
                CommodityVO profit = new CommodityVO(CommodityType.Livre, item.Price);
                AmbitionApp.SendMessage(profit);
                // Seller will markup the used price.
                item.Price = (int)(item.Price / inventory.SellbackMultiplier);
                inventory.Market?.Add(item);
                inventory.Broadcast();
            }
        }
Example #3
0
        public void Execute(ItemVO item)
        {
            InventoryModel inventory = AmbitionApp.Inventory;

            if (item != null &&
                AmbitionApp.Game.Livre >= item.Price &&
                inventory.Market != null &&
                inventory.Market.Remove(item))
            {
                CommodityVO cost = new CommodityVO(CommodityType.Livre, -item.Price);
                AmbitionApp.SendMessage(cost);
                if (item.Created == default)
                {
                    item.Created = AmbitionApp.GetModel <CalendarModel>().Today;
                }
                item.Price = (int)(item.Price * inventory.SellbackMultiplier);
                inventory.Inventory.Add(item);
                inventory.Broadcast();
            }
        }