public void PickupItem(Item item) { if (!IsFull(item.Code)) { var slotWithItem = SlotOf(item.Code, false); if (slotWithItem != null && slotWithItem.FreeQty >= item.Count) { slotWithItem.Add(item.Count); Destroy(item.gameObject); return; } if (FreeSlot != 0) { AddItem(new ItemList.ItemInfo { itemCode = item.Code, count = item.Count }); Destroy(item.gameObject); return; } } GameLibOfMethods.CreateFloatingText("Not enough space in inventory", 2); }
public override void CompletePurchase() { float totalPrice = GetTotalPrice(); bool success = totalPrice <= Stats.Money; if (!success) { GameLibOfMethods.CreateFloatingText("Not enough money.", 2); AlertNotification(); return; } Stats.RemoveMoney(totalPrice); foreach (var item in basketItems) { var upgradeData = (FurnitureItemData)item.currentItem; UpgradesManager.GetValidator(upgradeData.Type).ApplyUpgrade(upgradeData.LinkedPrefab); Destroy(item.gameObject); } basketItems.Clear(); ResetToDefault(); currentlyOpenStore.ForceRefresh(); }
protected override void Effect() { base.Effect(); Stats.PriceMultiplier -= 0.02f; GameLibOfMethods. CreateFloatingText(string.Format("Items now costs only {0:P1} of their price!", Stats.PriceMultiplier), 2); }
public virtual void Demote() { GameLibOfMethods.AddChatMessege("You got fired from your job."); CurrentPerfomanceLevel = 3; JobManager.Instance.CurrentJob = DemoteJob ? DemoteJob : null; CareerUi.Instance.UpdateJobUi(); }
public void CheckOut() { if (basket.Empty) { return; } if (Stats.Money < basket.TotalCost) { GameLibOfMethods.CreateFloatingText("Not enough money", 2); return; } if (!Inventory.PlaceOnBag(basket.Itemlist)) { GameLibOfMethods.CreateFloatingText("Not enough space in inventory", 2); return; } Stats.GetMoney(basket.TotalCost); Stats.AddXP(Type.Charisma, basket.TotalCost * 0.2f); ClearBasketItems(); Inventory.SetBagItemActions(ItemActionOnShopping); }
protected override void Effect() { base.Effect(); Stats.XpMultiplier += 0.02f; GameLibOfMethods. CreateFloatingText("Now you receive " + (Stats.XpMultiplier + Stats.BonusXpMultiplier) + "% XP!", 2); }
private void Awake() { Instance = this; GUI_TimersList timers = FindObjectOfType <GUI_TimersList>(); HospitalRespawnPoint = GameObject.Find("Hospital Respawn Point").transform; actions = Component.FindObjectOfType <Actions>(); FloatingText = Resources.Load <GameObject>("Core/AIS/FloatingText"); ChatMessege = Resources.Load <GameObject>("Core/AIS/ChatMessege"); player = Player; animator = player.GetComponent <Animator>(); checkRaycastOrigin = GameLibOfMethods.player.transform; blackScreen = GameObject.Find("BlackScreen").GetComponent <Image>(); Vector4 temp = new Vector4(blackScreen.color.r, blackScreen.color.g, blackScreen.color.b, 1); blackScreen.color = temp; blackScreen.CrossFadeAlpha(0, 2, false); ChatContent = GameObject.Find("ChatContent").transform; PlayerAudioSource = player.GetComponent <AudioSource>(); }
public IEnumerator TakingShower() { if (!GameLibOfMethods.canInteract) { GameLibOfMethods.cantMove = true; GameLibOfMethods.Walking = false; GameLibOfMethods.animator.SetBool("Jumping", false); GameLibOfMethods.animator.SetBool("TakingShower", true); Emission.enabled = true; yield return(new WaitForEndOfFrame()); SpriteControler.Instance.FaceDOWN(); GameLibOfMethods.canInteract = true; yield return(new WaitForEndOfFrame()); float timeWithFullBar = 0; while (!Input.GetKey(InteractionChecker.Instance.KeyToInteract) && !GameLibOfMethods.passedOut && !isBroken) { Stats.Status(Type.Hygiene).Add(HygieneGainAmount * Time.fixedDeltaTime); float chance = Random.Range(0f, 100f); if (chance <= breakChancePerSecond / 60) { isBroken = true; Break(); } if (Stats.Status(Type.Hygiene).CurrentAmount >= Stats.Status(Type.Hygiene).MaxAmount) { timeWithFullBar += Time.deltaTime; if (timeWithFullBar >= 2) { GameLibOfMethods.CreateFloatingText("You are too clean for this.", 2); break; } } yield return(new WaitForFixedUpdate()); } Emission.enabled = false; yield return(new WaitForEndOfFrame()); PlayExitSound(); GameLibOfMethods.animator.SetBool("TakingShower", false); yield return(new WaitForEndOfFrame()); void act() => SpriteControler.Instance.ChangeSortingOrder(0); PlayerCommands.JumpOff(0, act); } }
public override void Activate() { if (type == PopUpUIEffectType.OnEnd) { return; } GameLibOfMethods.CreateFloatingText(Text, 2); }
protected virtual void LevelUp() { data.xp = 0; data.level += 1; Stats.InvokeLevelUp(type); Effect(); GameLibOfMethods.CreateFloatingText($"{name} Leveled UP!", 3); GameLibOfMethods.AddChatMessege(name + " level UP!"); }
public virtual void PositiveWorkProgress() { CurrentPerfomanceLevel += 1; GameLibOfMethods.AddChatMessege("You are doing well in your job!"); if (CurrentPerfomanceLevel > 5) { Promote(); } CareerUi.Instance.UpdateJobUi(); }
public virtual void Penalize() { GameLibOfMethods.AddChatMessege("You performing badly on your job."); CurrentPerfomanceLevel -= 1; if (CurrentPerfomanceLevel == 0) { Demote(); } CareerUi.Instance.UpdateJobUi(); }
private void Update() { if (containerOpen) { var container = GameLibOfMethods.CheckInteractable()?.GetComponent <ItemList>(); if (container == null || !container.Equals(currentContainerData)) { CloseContainer(); } } }
protected virtual void LevelUp() { data.xp = 0; data.level += 1; Stats.InvokeLevelUp(type); Effect(); GameLibOfMethods.CreateFloatingText($"{name} Leveled UP!", 3); PlayerChatLog.Instance.AddChatMessege(name + " level UP!"); Notify.Show($"Congratulations, you have reached level {data.level} in {name}!", GetSkillSprite()); }
private void MoveToBasket(ShopList.ItemInfo itemData) { if (!basket.Contains(itemData)) { basket.AddItem(itemData); } else { GameLibOfMethods.CreateFloatingText("You already ordered this.", 1.5f); } }
public void Deposit() { int inputInt = int.Parse(InputField.text); if (inputInt > Stats.Money) { GameLibOfMethods.CreateFloatingText("Not enough money!", 3); return; } Stats.GetMoney(inputInt); MoneyInBank += inputInt; UpdateBalance(); }
void Update() { if (Input.GetKeyUp(KeyToInteract)) { if (GameLibOfMethods.isSleeping || !GameLibOfMethods.canInteract || GameLibOfMethods.doingSomething) { return; } GameObject interactableObject = GameLibOfMethods.CheckInteractable(); InteractWith(interactableObject); } ApplyHighlights(); }
public void Accomplish() { if (accomplished == false) { accomplished = true; GetRewardButton.gameObject.SetActive(true); GetRewardButton.onClick.AddListener(GetReward); MissionHandler.missionHandler.activeMissions.Remove(MissionHandler.missionHandler.activeMissions.Where(obj => obj.name == name).FirstOrDefault()); MissionHandler.missionHandler.CheckMissions(); GameLibOfMethods.AddChatMessege("You've completed a quest, collect the reward to get " + MoneyBonus + " £!"); } }
public bool Deposit(float amount) { if (amount > Stats.Money) { GameLibOfMethods.CreateFloatingText("Not enough money!", 3); return(false); } Stats.RemoveMoney(amount); MoneyInBank += amount; UpdateBalance(); return(true); }
public void PutInBag(ItemSlot itemSlot) { if (!playerInventory.CanFit(itemSlot)) { GameLibOfMethods.CreateFloatingText("Not enough space in inventory", 2); return; } playerInventory.AddItem(itemSlot); if (containerOpen) { playerInventory.UpdateSlotActions(PutInCurrentContainer); } }
private void PutInCurrentContainer(ItemSlot itemSlot) { if (!currentContainer.IsOpen) { return; } if (currentContainer.CanFit(itemSlot)) { currentContainer.AddItem(itemSlot); } else { GameLibOfMethods.CreateFloatingText($"Not enough space in {currentContainer.name}", 2); } }
public void PickupItem(Item item) { if (IsFull(item.Code) && !Contains(item.Code)) { GameLibOfMethods.CreateFloatingText("Not enough space in inventory", 2); } else { AddItem(new ItemList.ItemInfo { itemCode = item.Code, count = item.Count }); Destroy(item.gameObject); } }
private void TryAction(List <ItemList.ItemInfo> itemsToCook) { if (!CanAct()) { return; } if (!Inventory.CanFitOnBag(itemsToCook)) { GameLibOfMethods.CreateFloatingText("Not enough space in inventory.", 2f); return; } CookingHandler.EnableCanvas = false; GameLibOfMethods.doingSomething = true; PlayerCommands.MoveTo(StandArea.position, () => StartAction(itemsToCook).Start(MEC.Segment.LateUpdate)); }
private void Cook() { var itemsToCook = GetRecipeToCook(); if (!Inventory.CanFitOnBag(itemsToCook)) { GameLibOfMethods.CreateFloatingText("Not enough space in inventory.", 2f); return; } if (PlayerStatsManager.statWarning.ContainsValue(true)) { PlayerChatLog.Instance.AddChatMessege("I'm not feeling well to cook."); return; } Stats.RemoveMoney(_price); CookingEntity.StartAction(itemsToCook, true); }
public override void Deactivate(bool canceled) { if (type == PopUpUIEffectType.OnBegin) { return; } if (canceled) { if (string.IsNullOrWhiteSpace(CanceledText)) { return; } GameLibOfMethods.CreateFloatingText(CanceledText, 2); } else { GameLibOfMethods.CreateFloatingText(Text, 2); } }
public void CheckOut() { if (basket.Empty) { return; } if (Stats.Money < basket.TotalCost) { GameLibOfMethods.CreateFloatingText("Not enough money", 2); return; } Stats.GetMoney(basket.TotalCost); Stats.AddXP(Type.Charisma, basket.TotalCost * 0.2f); ExecuteUpgrades(); Shop.CloseUpgradeShop(); }
private void Update() { if (shopOpen) { var shopList = GameLibOfMethods.CheckInteractable()?.GetComponent <ShopList>(); if (shopList == null || !shopList.Equals(currentShoplist)) { CloseShop(); } } if (upgradeShopOpen) { var upgradeList = GameLibOfMethods.CheckInteractable()?.GetComponent <UpgradeList>(); if (upgradeList == null || !upgradeList.Equals(currentUpgradelist)) { CloseUpgradeShop(); } } }
public virtual void Promote() { int i = 0; foreach (Skill.Type type in RequiredSkills.Keys) { i++; if (Stats.Skill(type).CurrentLevel >= RequiredSkills[type]) { } else { return; } } CurrentPerfomanceLevel = 3; JobManager.Instance.CurrentJob = PromotionJob ? PromotionJob : this; GameLibOfMethods.AddChatMessege("You got promoted on your job!"); CareerUi.Instance.UpdateJobUi(); }
IEnumerator UseToilet() { GameLibOfMethods.cantMove = true; SpriteControler.Instance.FaceLEFT(); GameLibOfMethods.animator.SetBool("Jumping", false); GameLibOfMethods.animator.SetBool("TakingADump", true); yield return(new WaitForFixedUpdate()); SpriteControler.Instance.FaceLEFT(); float timeWithFullBar = 0; while (!Input.GetKey(InteractionChecker.Instance.KeyToInteract) && !GameLibOfMethods.passedOut) { Stats.Status(Type.Bladder).Add(BladderGainAmount * Time.fixedDeltaTime); if (Stats.Status(Type.Bladder).CurrentAmount >= Stats.Status(Type.Bladder).MaxAmount) { timeWithFullBar += Time.deltaTime; if (timeWithFullBar >= 2) { GameLibOfMethods.CreateFloatingText("You have no juice left in your body.", 2); break; } } yield return(new WaitForFixedUpdate()); } PlayExitSound(); GameLibOfMethods.animator.SetBool("TakingADump", false); yield return(new WaitForEndOfFrame()); void act() => SpriteControler.Instance.ChangeSortingOrder(0); PlayerCommands.JumpOff(0, act); }
private void UseItem() { if (itemInside.Data.State == ActiveItem && !onCoolDown) { ActiveItem itemParams = (ActiveItem)itemInside.Data; if (!GameLibOfMethods.animator.GetBool("Walking")) { GameLibOfMethods.StaticCoroutine.Start(GameLibOfMethods.DoAction( delegate { itemParams.Use(); Consume(1); StartCoroutine(StartCooldown(itemParams.cooldown)); }, itemParams.UsageTime, itemParams.AnimationToPlayName)); Inventory.FoodInHand = itemParams.icon; } } }