예제 #1
0
    public BaseItem CreateItem(ItemInfo _itemPb)
    {
        BaseItem item = null;

        switch (_itemPb.MType)
        {
        case 0:
            item = new Money(_itemPb.MItemid, "money", ItemType.MONEEY, 0, _itemPb.MCount, _itemPb.MPrice);
            break;

        case 1:
            item = new ConsumeItem(_itemPb.MItemid, "consume", ItemType.CONSUME, 0, _itemPb.MCount, _itemPb.MPrice);
            item.setAttribute(AttributeType.HP, _itemPb.MHp);
            break;

        case 2:
            item = new ConsumeItem(_itemPb.MItemid, "equip", ItemType.EQUIP, 0, _itemPb.MCount, _itemPb.MPrice);
            item.setAttribute(AttributeType.ATK, _itemPb.MAtk);
            break;

        default:
            Debug.Log("item type error");
            break;
        }
        return(item);
    }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public override bool Save(XmlWriter writer)
        {
            if (writer == null)
            {
                return(false);
            }


            writer.WriteStartElement(Tag);

            writer.WriteAttributeString("side", Side.ToString());
            writer.WriteAttributeString("reusable", Reusable.ToString());
            writer.WriteAttributeString("activateitem", NeededItem);
            writer.WriteAttributeString("consumeitem", ConsumeItem.ToString());
            writer.WriteAttributeString("picklock", LockLevel.ToString());
            writer.WriteAttributeString("activated", ActivatedDecoration.ToString());
            writer.WriteAttributeString("deactivated", DeactivatedDecoration.ToString());

            if (Scripts.Count > 0)
            {
                writer.WriteStartElement("scripts");
                foreach (WallSwitchScript script in Scripts)
                {
                    script.Save(writer);
                }
                writer.WriteEndElement();
            }


            base.Save(writer);

            writer.WriteEndElement();

            return(true);
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="writer"></param>
        /// <returns></returns>
        public override bool Save(XmlWriter writer)
        {
            if (writer == null)
            {
                return(false);
            }

            writer.WriteStartElement(XmlTag);

            if (ConsumeItem)
            {
                writer.WriteElementString("consume", ConsumeItem.ToString());
            }


            if (!string.IsNullOrEmpty(ItemName))
            {
                writer.WriteElementString("item", ItemName);
            }

            base.Save(writer);

            writer.WriteEndElement();
            return(true);
        }
예제 #4
0
        public Task QueueItem(Action item)
        {
            ConsumeItem consumeItem = new ConsumeItem(item);

            TryAddConsumeItemOnQueue(consumeItem);

            return(consumeItem.Task);
        }
예제 #5
0
        public Task QueueItem(Func <Task> item)
        {
            ConsumeItem consumeItem = new ConsumeItem(item);

            TryAddConsumeItemOnQueue(consumeItem);

            return(consumeItem.Task);
        }
예제 #6
0
 public void TestConsume <T> (ConsumeItem <T> cons) where T : ItemGroup
 {
     cons.onComplete += (PerformerTask task) => Debug.Log("Consume Item test succeeded :)");
     PerformableTasks.Add(cons);
     cons.Start();
     if (!cons.Performing)
     {
         Debug.Log("Consume Item test failed because the task did not start");
     }
 }
예제 #7
0
        public void ConsumeInventoryItem(InventoryItemModel item, int?count = 1, Action <InventoryItemModel> onSuccess = null, Action <Error> onError = null)
        {
            var consumeItem = new ConsumeItem
            {
                sku         = item.Sku,
                instance_id = item.InstanceId,
                quantity    = count
            };

            XsollaStore.Instance.ConsumeInventoryItem(XsollaSettings.StoreProjectId, consumeItem,
                                                      onSuccess: () => onSuccess?.Invoke(item),
                                                      onError);
        }
예제 #8
0
        public void DeleteData(ConsumeItem item)
        {
            //using (var cmd = postGresConnection.CreateCommand())
            //{
            //    cmd.Parameters.Add(new NpgsqlParameter("id", item.Id));
            //    //cmd.Parameters.Add(new NpgsqlParameter("date", item.Date));
            //    cmd.Parameters.Add(new NpgsqlParameter("amount", item.Amount));
            //    //cmd.Parameters.Add(new NpgsqlParameter("store", item.Store));

            //    cmd.CommandText = "DELETE FROM consume WHERE id= :id";
            //    cmd.ExecuteNonQuery();
            //}
        }
예제 #9
0
        public void UpdateData(ConsumeItem item)
        {
            //using (var cmd = postGresConnection.CreateCommand())
            //{
            //    cmd.Parameters.Add(new NpgsqlParameter("id", item.Id));
            //    cmd.Parameters.Add(new NpgsqlParameter("date", item.Date));
            //    cmd.Parameters.Add(new NpgsqlParameter("amount", item.Amount));
            //    cmd.Parameters.Add(new NpgsqlParameter("store", item.Store));
            //    cmd.Parameters.Add(new NpgsqlParameter("linenumber", item.LineNumber));

            //    cmd.CommandText = "UPDATE consume SET date= :date, amount= :amount, store= :store, linenumber= :linenumber WHERE id= :id;";
            //    cmd.ExecuteNonQuery();
            //}
        }
예제 #10
0
        public void CreateData(ConsumeItem item)
        {
            //using (var cmd = postGresConnection.CreateCommand())
            //{
            //    cmd.Parameters.Add(new NpgsqlParameter("id", item.Id));
            //    cmd.Parameters.Add(new NpgsqlParameter("date", item.Date));
            //    cmd.Parameters.Add(new NpgsqlParameter("store", item.Store));
            //    cmd.Parameters.Add(new NpgsqlParameter("amount", item.Amount));
            //    cmd.Parameters.Add(new NpgsqlParameter("linenumber", item.LineNumber));

            //    cmd.CommandText = "INSERT INTO consume (id, date, store, amount, linenumber ) values(:id, :date, :store, :amount, :linenumber);";
            //    cmd.ExecuteNonQuery();
            //}
        }
예제 #11
0
        private void UsePotion(object sender, ConsumeItem _consumeItem)
        {
            playerManager.UsePotion(_consumeItem.Hp, _consumeItem.Mp);

            Message.Send <UIPlayerHpMsg>(new UIPlayerHpMsg(playerManager.GetPlayerName(), playerManager.GetPlayerMaxHp(), playerManager.GetPlayerHp()));

            Message.Send <UIInventoryStatusMsg>(new UIInventoryStatusMsg(playerManager.GetPlayerName(),
                                                                         playerManager.GetPlayerMaxHp(),
                                                                         playerManager.GetPlayerHp(),
                                                                         playerManager.GetPlayerAttack(),
                                                                         playerManager.GetPlayerDefence(),
                                                                         playerManager.GetPlayerMoveSpeed()
                                                                         ));
        }
예제 #12
0
        public async Task <bool> CreateItem(ConsumeItem item)
        {
            var uri = new Uri(string.Format(REST_URL, item.Id));

            var json    = JsonConvert.SerializeObject(item);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync(uri, content);

            if (response.IsSuccessStatusCode)
            {
                Debug.WriteLine("Item created");
            }
            return(response.IsSuccessStatusCode);
        }
예제 #13
0
 private void TryAddConsumeItemOnQueue(ConsumeItem consumeItem)
 {
     try
     {
         if (_workerQueue.TryAdd(consumeItem))
         {
             _waitHandle.Set();
         }
         else
         {
             consumeItem.Source.TrySetResult(false);
         }
     }
     catch (Exception ex)
     {
         consumeItem.Source.TrySetException(ex);
     }
 }
예제 #14
0
 public static async Task <bool> CreateItem(ConsumeItem item)
 {
     return(await restService.CreateItem(item));
 }
예제 #15
0
 public void OnConsumeItem(Item item)
 {
     ConsumeItem?.Invoke(item);
 }
예제 #16
0
 public static void DeleteData(ConsumeItem item)
 {
     postGreSqlService.DeleteData(item);
 }
예제 #17
0
 public static void UpdateData(ConsumeItem item)
 {
     postGreSqlService.UpdateData(item);
 }
예제 #18
0
 public static void SetSelectedConsumeItem(ConsumeItem item)
 {
     ConsumeItemHandler.SetSelectedConsumeItem(item);
 }
예제 #19
0
 public static void SetSelectedConsumeItem(ConsumeItem item)
 {
     consumeItem = item;
 }
예제 #20
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            #region Include Return Button in Keyboard
            this.sumUiTextField.ShouldReturn += (textField) =>
            {
                sumUiTextField.ResignFirstResponder();
                return(true);
            };
            #endregion

            #region When Clicked out side keyboard, Close the Keyboard
            var tap = new UITapGestureRecognizer {
                CancelsTouchesInView = false
            };
            tap.AddTarget(() => View.EndEditing(true));
            tap.ShouldReceiveTouch += (recognizer, touch) => !(touch.View is UIControl);
            View.AddGestureRecognizer(tap);
            #endregion

            #region Move UI View Up Handling
            // Keyboard popup
            _didShowNotificationObserver = NSNotificationCenter.DefaultCenter.AddObserver
                                               (UIKeyboard.DidShowNotification, KeyBoardDidShow, this);

            // Keyboard Down
            _willHideNotificationObserver = NSNotificationCenter.DefaultCenter.AddObserver
                                                (UIKeyboard.WillHideNotification, KeyBoardWillHide, this);
            #endregion


            //Xamarin.IQKeyboardManager.SharedManager.Enable = true;
            //Xamarin.IQKeyboardManager.SharedManager.EnableAutoToolbar = false;
            //Xamarin.IQKeyboardManager.SharedManager.ShouldResignOnTouchOutside = true;
            //Xamarin.IQKeyboardManager.SharedManager. = true;
            //sumUiTextField.InputAccessoryVie

            //var g = new UITapGestureRecognizer(() => View.EndEditing(true));
            //g.CancelsTouchesInView = false; //for iOS5
            //View.AddGestureRecognizer(g);

            // keyboard shifting
            // Keyboard popup
            //NSNotificationCenter.DefaultCenter.AddObserver
            //(UIKeyboard.DidShowNotification, KeyBoardUpNotification);

            //// Keyboard Down
            //NSNotificationCenter.DefaultCenter.AddObserver
            //(UIKeyboard.WillHideNotification, KeyBoardDownNotification);

            // disable back button
            NavigationItem.HidesBackButton = true;

            NavigationItem.SetLeftBarButtonItem(new UIBarButtonItem(UIImage.FromFile("close.png"), UIBarButtonItemStyle.Plain, (s, e) =>
            {
                resetViewState();
            }), true);

            rightButton = new UIBarButtonItem(UIImage.FromFile("save.png"), UIBarButtonItemStyle.Plain, async(s, e) =>
            {
                ConsumeItem item = new ConsumeItem();
                var date         = DateTime.Now;
                var id           = date.Hour.ToString() + date.Minute.ToString() + date.Second.ToString() + date.Millisecond.ToString() + date.Month.ToString() + date.Year.ToString();
                item.Id          = 3334;
                item.Store       = "Ideapark";
                item.Date        = date.Date;
                item.Amount      = Convert.ToDouble(sumUiTextField.Text);
                var status       = await Core.CreateItem(item);
                resetViewState();
            });
            NavigationItem.RightBarButtonItem = rightButton;
        }