コード例 #1
0
ファイル: BoxBehaviour.cs プロジェクト: SoapMc/Miner
        public void OnDigCompleted()
        {
            TryChangeResourcesInPlayerCargoEA tcripc = new TryChangeResourcesInPlayerCargoEA();
            ChangeUsableItemsEA cui = new ChangeUsableItemsEA();
            int category            = Random.Range(0, 100);
            int value = (int)Mathf.Pow(_playerLayer.Value * 500, 1 + (_playerLayer.Value / 20f));

            if (category < 40) //resources
            {
                tcripc.ResourcesToAdd = SelectResources(10 * value);
                _tryChangeResourcesInPlayerCargo.Raise(tcripc);
            }
            else if (category >= 40 && category < 80) //resources and items
            {
                tcripc.ResourcesToAdd = SelectResources((int)(value / 2f));
                _tryChangeResourcesInPlayerCargo.Raise(tcripc);
                cui.AddedUsableItems = SelectUsableItems((int)(value / 2f));
                _changeUsableItems.Raise(cui);
            }
            else if (category >= 80 && category < 95) //items
            {
                cui.AddedUsableItems = SelectUsableItems(value);
                _changeUsableItems.Raise(cui);
            }
            else if (category >= 95) //extra internal repair
            {
                RepairPlayer();
            }
        }
コード例 #2
0
 public int BuyItem(UsableItem item)
 {
     if (_playerMoney >= item.Cost)
     {
         ChangeUsableItemsEA cui = new ChangeUsableItemsEA();
         cui.AddedUsableItems.Add(new UsableItemTable.Element()
         {
             Item = item, Amount = 1
         });
         _changeUsableItems.Raise(cui);
         UpdatePlayerDataEA upd = new UpdatePlayerDataEA();
         upd.MoneyChange -= item.Cost;
         _updatePlayerData.Raise(upd);
         _buySound.Play();
         RefreshOffers();
         return(1);
     }
     return(0);
 }