public override void ConfirmTransactionSelectedItem(ShopActions pAction) { tradedItem = inventory.GetItemByIndex(GetSelectedItemIndex()); switch (pAction) { case ShopActions.SOLD: SellItem(); break; case ShopActions.UPGRADED: UpgradeItem(); break; } NotifyObservers(); }
public WebAPI(IRequestSender requestSender) { requestSender_ = requestSender; admin_ = new AdminActions (requestSender); appstore_ = new AppstoreActions (requestSender); chrome_web_store_ = new ChromeWebStoreActions (requestSender); facebook_ = new FacebookActions (requestSender); friends_ = new FriendsActions (requestSender); google_ = new GoogleActions (requestSender); info_ = new InfoActions (requestSender); items_ = new ItemsActions (requestSender); leaderboards_ = new LeaderboardsActions (requestSender); mail_ = new MailActions (requestSender); shop_ = new ShopActions (requestSender); scripts_ = new ScriptsActions (requestSender); tasks_ = new TasksActions (requestSender); user_ = new UserActions (requestSender); urbanairship_ = new UrbanairshipActions (requestSender); }
public WebAPI(IRequestSender requestSender) { requestSender_ = requestSender; admin_ = new AdminActions(requestSender); appstore_ = new AppstoreActions(requestSender); chrome_web_store_ = new ChromeWebStoreActions(requestSender); facebook_ = new FacebookActions(requestSender); friends_ = new FriendsActions(requestSender); google_ = new GoogleActions(requestSender); info_ = new InfoActions(requestSender); items_ = new ItemsActions(requestSender); leaderboards_ = new LeaderboardsActions(requestSender); mail_ = new MailActions(requestSender); shop_ = new ShopActions(requestSender); scripts_ = new ScriptsActions(requestSender); tasks_ = new TasksActions(requestSender); user_ = new UserActions(requestSender); urbanairship_ = new UrbanairshipActions(requestSender); }
//------------------------------------------------------------------------------------------------------------------------ // ConfirmTransactionSelectedItem() //------------------------------------------------------------------------------------------------------------------------ //Should we want the BuyModel to perform any other actions that involve buying an item, we can easily extend public override void ConfirmTransactionSelectedItem(ShopActions pAction) { Item item = inventory.GetItemByIndex(GetSelectedItemIndex()); if (pAction == ShopActions.PURCHASED) { if (ShopCreator.MoneyCount >= item.BasePrice) { tradedItem = item; inventory.UpdateMoneyCountAfterTransaction(item, pAction); inventory.RemoveItemByIndex(GetSelectedItemIndex()); SubjectState = (int)pAction; NotifyObservers(); return; } //If-statement failed, which means the money balance is not sufficient & throw ArgumentException. //For future iterations, we can implement a way to display that to the user. throw new ArgumentException("Money balance is not sufficient enough to purchase this item."); } }
//Handles de/incremention of the money balance. public void UpdateMoneyCountAfterTransaction(Item pItem, ShopActions pAction) { switch (pAction) { case ShopActions.PURCHASED: { ShopCreator.CalculateBalance(-pItem.BasePrice); break; } case ShopActions.UPGRADED: { ShopCreator.CalculateBalance(-pItem.BasePrice); break; } case ShopActions.SOLD: { ShopCreator.CalculateBalance(+pItem.BasePrice); break; } } if (OnMoneyChanged != null) OnMoneyChanged(); }
//------------------------------------------------------------------------------------------------------------------------ // ConfirmTransactionSelectedItem() //------------------------------------------------------------------------------------------------------------------------ //Tells the model to confirm the current selected item public void ConfirmSelectedItem(ShopActions pAction, ShopModel pModel) { pModel.ConfirmTransactionSelectedItem(pAction); }
//------------------------------------------------------------------------------------------------------------------------ // Confirm() //------------------------------------------------------------------------------------------------------------------------ //Concrete classes to implement public abstract void ConfirmTransactionSelectedItem(ShopActions pAction);
private void Awake() { inst = this; }