//Przełozenie obiektu public void Transfer(ElementEq d, GameObject drop_place) { item = d; TransferGui.SetActive(true); slider.maxValue = d.Count; waitForDecision = true; transfer_drop_place = drop_place; }
//usunięcie noża public void ThrowKnife() { ElementEq Second_Weapon = Secon_Weapon_Slot.GetComponentInChildren <ElementEq>(); Second_Weapon.Count -= 1; for (int i = 0; i < itd.Secon_WeaponCount.Length; i++) { if (itd.SecondWeaponSlotItemID == itd.Secon_Weapons[i].GetComponent <ElementEq>().Id) { itd.Secon_WeaponCount[i] -= 1; } } }
void Start() { trans = GetComponent <Transform>(); itd = GameObject.FindGameObjectWithTag("GameMaster").GetComponent <itemDataBase>(); if (gameObject.name == "Chest") //items data base chest { itdch = GameObject.FindGameObjectWithTag("GameMaster").GetComponent <itemDataBaseChest>(); } gm = GameObject.FindGameObjectWithTag("GameMaster").GetComponent <Game_Master>(); eq = GameObject.Find("Equipment").GetComponent <CanvasEkwipunek>(); child = gameObject.GetComponentInChildren <ElementEq>(); audioSource = gameObject.GetComponent <AudioSource>(); audioSource.clip = audioClip; }
//Metoda wykrywająca zdarzenie upuszczenia obiektu. public void OnDrop(PointerEventData eventData) { ElementEq d = eventData.pointerDrag.GetComponent <ElementEq>(); if (d != null) { if (d.prevParent != transform) { if (d.elementTyp == EqElementType.Second_Weapon) { if (d.prevParent != Chest_Eq.transform && trans == Chest_Eq.transform) { Debug.Log("Pomiedzy nie skrzynia a skrzynia"); eq.Transfer(d, gameObject); } else { if (d.prevParent == Chest_Eq.transform && trans != Chest_Eq.transform) { Debug.Log("Pomiedz skrzynia a nie skrzynia"); eq.Transfer(d, gameObject); } else { Debug.Log("Pomiedz plecakiem a slotem"); Transfer(d); } } } else { Debug.Log("Albo nie noze, albo tych nozy jest 1 sztuka"); Transfer(d); } } } }
public void TransferKnives(ElementEq d, int amountToTransfer) //PRzerzucanie noży (obiektów o większej niż 1 liczbie w jednym { if (d != null) { Debug.Log("TransferKnives"); Debug.Log("Amount = " + amountToTransfer); if (elementTyp == EqElementType.Second_Weapon) { Debug.Log(trans.childCount); //Sprawdzamy czy slot jest pusty. if (trans.childCount < maksElement) { Debug.Log("Slot jest wolny, wiec usuwam z przedmiotu przezucanego ilosc, i tworze nowy przedmiot w dsecond wweapon slot."); d.Count -= amountToTransfer; GameObject knives = Instantiate(itd.Secon_Weapons[d.Id], transform) as GameObject; knives.GetComponent <ElementEq>().Count = amountToTransfer; } else {//Slot nie jest pusty i osiągnięto maksymalną ilość elementów. //Pobieram obecny element slotu. Transform elem = transform.GetChild(0); ElementEq element = gameObject.GetComponentInChildren <ElementEq>(); //Obecny element slotu przerzucam do ekwipunku poprzez ustawienie rodzica. if (d.prevParent == Weapon_Eq.transform) { if (element.Id == d.Id && element.elementTyp == EqElementType.Second_Weapon) { if (d.Count - amountToTransfer <= 0) { Destroy(d.gameObject); element.Count += amountToTransfer; } else { d.Count -= amountToTransfer; element.Count += amountToTransfer; } } else { if (d.Count - amountToTransfer < 0) { if (d.prevParent.GetComponent <DropPlace>().maksElement > d.prevParent.childCount) { Debug.Log("Jest miejscce na dodatkowy przedmiot ktory wroci"); d.Count -= amountToTransfer; GameObject knives = Instantiate(itd.Secon_Weapons[d.Id], transform) as GameObject; knives.GetComponent <ElementEq>().Count = amountToTransfer; bool sameknife = false; for (int i = 0; i < d.prevParent.childCount; i++) { if (d.prevParent.GetChild(i).GetComponent <ElementEq>().Id == element.Id && d.prevParent.GetChild(i).GetComponent <ElementEq>().elementTyp == EqElementType.Second_Weapon) { d.prevParent.GetChild(i).GetComponent <ElementEq>().Count += elem.GetComponent <ElementEq>().Count; Debug.Log("zgadza sie " + d.prevParent.GetChild(i).name); Destroy(elem.gameObject); sameknife = true; } } if (!sameknife) { elem.SetParent(d.prevParent.transform); Debug.Log("Nie sa takie same noze"); } else { Debug.Log("zgadza sie "); } } else { Debug.Log("Nie ma miejsca"); } } else { elem.SetParent(d.prevParent); d.setRodzic(trans); } } } else //nie jest brany z "reki" { if (element.Id == d.Id && element.elementTyp == EqElementType.Second_Weapon) { if (d.Count - amountToTransfer <= 0) { Destroy(d.gameObject); element.Count += amountToTransfer; } else { d.Count -= amountToTransfer; element.Count += amountToTransfer; } } else { if (d.Count - amountToTransfer > 0) { Debug.Log("d.prevParent = " + d.prevParent.ToString()); if (d.prevParent.GetComponent <DropPlace>().maksElement > d.prevParent.childCount) { d.Count -= amountToTransfer; GameObject knives = Instantiate(itd.Secon_Weapons[d.Id], transform) as GameObject; knives.GetComponent <ElementEq>().Count = amountToTransfer; bool sameknife = false; for (int i = 0; i < Chest_Eq.transform.childCount; i++) { if (Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().Id == element.Id && Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().elementTyp == EqElementType.Second_Weapon) { Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().Count += elem.GetComponent <ElementEq>().Count; Debug.Log("zgadza sie " + Chest_Eq.transform.GetChild(i).name); Destroy(elem.gameObject); sameknife = true; } } if (!sameknife) { elem.SetParent(Chest_Eq.transform); } } else { Debug.Log("Nie ma miejsca"); } } else { Debug.Log("Calosc przezucam, calosc wraca"); d.setRodzic(trans); bool sameknife = false; for (int i = 0; i < Chest_Eq.transform.childCount; i++) { if (Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().Id == element.Id && Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().elementTyp == EqElementType.Second_Weapon) { Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().Count += elem.GetComponent <ElementEq>().Count; Debug.Log("zgadza sie " + Chest_Eq.transform.GetChild(i).name); Destroy(elem.gameObject); sameknife = true; } } if (!sameknife) { elem.SetParent(Chest_Eq.transform); } } } } } audioSource.Play(); //zagranie dzwieku } else { if (elementTyp == EqElementType.Weapons) //jezeli jest to bron { bool sameknife = false; for (int i = 0; i < Weapon_Eq.transform.childCount; i++) { if (Weapon_Eq.transform.GetChild(i).GetComponent <ElementEq>().Id == d.Id && Weapon_Eq.transform.GetChild(i).GetComponent <ElementEq>().elementTyp == EqElementType.Second_Weapon) { sameknife = true; Weapon_Eq.transform.GetChild(i).GetComponent <ElementEq>().Count += d.Count; Debug.Log("zgadza sie " + Weapon_Eq.transform.GetChild(i).name); Destroy(d.gameObject); } } if (!sameknife) { if (d.Count - amountToTransfer <= 0) { d.setRodzic(trans); } else { d.Count -= amountToTransfer; GameObject knives = Instantiate(itd.Secon_Weapons[d.Id], transform) as GameObject; knives.GetComponent <ElementEq>().Count = amountToTransfer; } } } if (elementTyp == EqElementType.Chest) //jezeli jest to element ze skrzyni { bool sameknife = false; for (int i = 0; i < Chest_Eq.transform.childCount; i++) { if (Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().Id == d.Id && Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().elementTyp == EqElementType.Second_Weapon) { sameknife = true; Chest_Eq.transform.GetChild(i).GetComponent <ElementEq>().Count += d.Count; Debug.Log("zgadza sie " + Chest_Eq.transform.GetChild(i).name); Destroy(d.gameObject); } } if (!sameknife) { Debug.Log(" "); if (d.Count - amountToTransfer <= 0) { d.setRodzic(trans); } else { d.Count -= amountToTransfer; GameObject knives = Instantiate(itd.Secon_Weapons[d.Id], transform) as GameObject; knives.GetComponent <ElementEq>().Count = amountToTransfer; } } } eq.PlayBag(); } } if (d.Count <= 0) { Destroy(d.gameObject); } gm.RefreshEqStats(); gm.RefreshEqStats(); itd.checkQuantity(); itdch.checkQuantity(); Debug.Log("odswiezam, statystyki broni itd."); }
public void Transfer(ElementEq d) { if (d != null) { Debug.Log("Transfer"); if (elementTyp == d.elementTyp) { Debug.Log(trans.childCount); //Sprawdzamy czy slot jest pusty. if (trans.childCount < maksElement) { d.setRodzic(trans); } else {//Slot nie jest pusty i osiągnięto maksymalną ilość elementów. //Pobieram obecny element slotu. Transform elem = transform.GetChild(0); ElementEq element = gameObject.GetComponentInChildren <ElementEq>(); if (element.elementTyp == EqElementType.Second_Weapon && element.Id == d.Id) { element.Count += d.Count; Destroy(d.gameObject); } else { //Obecny element slotu przerzucam do ekwipunku poprzez ustawienie rodzica. if (d.prevParent == Rest_Eq.transform || d.prevParent == Defend_Eq.transform || d.prevParent == Weapon_Eq.transform) { if (d.elementTyp == EqElementType.Armor || d.elementTyp == EqElementType.Legs || d.elementTyp == EqElementType.Boots) { elem.SetParent(Defend_Eq.transform); } if (d.elementTyp == EqElementType.Second_Weapon) { bool sameknife = false; for (int i = 0; i < d.prevParent.childCount; i++) { if (d.prevParent.GetChild(i).GetComponent <ElementEq>().Id == element.Id && d.prevParent.GetChild(i).GetComponent <ElementEq>().elementTyp == EqElementType.Second_Weapon) { d.prevParent.GetChild(i).GetComponent <ElementEq>().Count += elem.GetComponent <ElementEq>().Count; Debug.Log("zgadza sie " + d.prevParent.GetChild(i).name); Destroy(elem.gameObject); sameknife = true; } } if (!sameknife) { elem.SetParent(d.prevParent.transform); Debug.Log("Nie sa takie same noze"); } else { Debug.Log("zgadza sie "); } } if (d.elementTyp == EqElementType.Main_Weapon) { elem.SetParent(Weapon_Eq.transform); } if (d.elementTyp == EqElementType.Amulet || d.elementTyp == EqElementType.Task_Item) { elem.SetParent(Rest_Eq.transform); } } else { elem.SetParent(Chest_Eq.transform); } element.setPrevParent(); //Umieszczam nowy element w slocie poprzez ustawienie rodzica. d.setRodzic(trans); } } audioSource.Play(); } else { if (elementTyp == EqElementType.Weapons || elementTyp == EqElementType.Rest || elementTyp == EqElementType.Defend) {//Jeżeli typy się nie zgadzają to sprawdź //czy czasem nie ekwipunek, bo tu można dodać wszystko. if (d.elementTyp == EqElementType.Armor || d.elementTyp == EqElementType.Legs || d.elementTyp == EqElementType.Boots) { d.setRodzic(Defend_Eq.transform); } if (d.elementTyp == EqElementType.Main_Weapon) { d.setRodzic(Weapon_Eq.transform); } if (d.elementTyp == EqElementType.Second_Weapon) { bool sameknife = false; for (int i = 0; i < Weapon_Eq.transform.childCount; i++) { if (Weapon_Eq.transform.GetChild(i).GetComponent <ElementEq>().Id == d.Id && Weapon_Eq.transform.GetChild(i).GetComponent <ElementEq>().elementTyp == EqElementType.Second_Weapon) { Weapon_Eq.transform.GetChild(i).GetComponent <ElementEq>().Count += d.GetComponent <ElementEq>().Count; Debug.Log("zgadza sie " + Weapon_Eq.transform.GetChild(i).name); Destroy(d.gameObject); sameknife = true; } } if (!sameknife) { d.setRodzic(Weapon_Eq.transform); Debug.Log("Nie sa takie same noze"); } else { Debug.Log("zgadza sie "); } } if (d.elementTyp == EqElementType.Amulet || d.elementTyp == EqElementType.Task_Item) { d.setRodzic(Rest_Eq.transform); } } if (elementTyp == EqElementType.Chest) { if (d.elementTyp == EqElementType.Second_Weapon) { d.setRodzic(gameObject.transform); } else { d.setRodzic(trans); } } eq.PlayBag(); } } gm.RefreshEqStats(); gm.RefreshEqStats(); itd.checkQuantity(); itdch.checkQuantity(); Debug.Log("odswiezam, statystyki broni itd."); }
//dodanie noża public void AddKnife(GameObject Knife) { ElementEq Second_Weapon = Secon_Weapon_Slot.GetComponentInChildren <ElementEq>(); bool add = false; if (Secon_Weapon_Slot.transform.childCount != 0) { if (Second_Weapon.Id == Knife.GetComponent <ElementEq>().Id) { Secon_Weapon_Slot.transform.GetChild(0).GetComponent <ElementEq>().Count += Knife.GetComponent <ElementEq>().Count; add = true; Debug.Log("added to pocket when there is some knives in that type"); } } if (eq.Weapon_CatUI.transform.childCount > 0 && add == false) { for (int i = 0; i < eq.Weapon_CatUI.transform.childCount; i++) { if (eq.Weapon_CatUI.transform.GetChild(i).GetComponent <ElementEq>().Id == Knife.GetComponent <ElementEq>().Id) { eq.Weapon_CatUI.transform.GetChild(i).GetComponent <ElementEq>().Count += Knife.GetComponent <ElementEq>().Count; for (int j = 0; j < itd.Secon_WeaponCount.Length; j++) { if (Knife.GetComponent <ElementEq>().Id == itd.Secon_Weapons[j].GetComponent <ElementEq>().Id) { itd.Secon_WeaponCount[j] += Knife.GetComponent <ElementEq>().Count; add = true; Debug.Log("added to backpack when there is some knives"); } } } } } if (Secon_Weapon_Slot.transform.childCount == 0 && add == false) { Instantiate(Knife, Secon_Weapon_Slot.transform); itd.SecondWeaponSlotItemID = Knife.GetComponent <ElementEq>().Id; itd.SecondWeaponSlotItemCount = Knife.GetComponent <ElementEq>().Count; add = true; Debug.Log("added to pocket"); } if (eq.Weapon_CatUI.transform.childCount == 0 && add == false) { for (int j = 0; j < itd.Secon_WeaponCount.Length; j++) { if (Knife.GetComponent <ElementEq>().Id == itd.Secon_Weapons[j].GetComponent <ElementEq>().Id) { itd.Secon_WeaponCount[j] += Knife.GetComponent <ElementEq>().Count; add = true; Instantiate(Knife, eq.Weapon_CatUI.transform); Debug.Log("added to backpack"); } } } if (add == false) { ShowInfo(3, "there is no space"); } RefreshEqStats(); }
void Update() { TimePowerChoose = 0.4f + (TimePowerChooseBasic * difficultLevel / 10f); if (settings.gameObject.activeSelf) { difficultLevel = settings.qualityindex; } //progi punktowe if (PlayerLevel == 0) { nextLevel = 50f; } if (PlayerLevel == 1) { nextLevel = 75f; } if (PlayerLevel > 1) //obliczanie progów punktowych { nextLevel = PlayerLevel * PlayerLevel * PlayerLevel * 10f - PlayerLevel * PlayerLevel * 20f + 100f; } //ile pozostało do nastepnego poziomu i jakie punkty należy przyznać graczowi if (nextLevel > 0) { if (nextLevel <= exp) { exp_Slider.NewLevel(); PDPoint += 1; if (PlayerLevel % 10 == 0) { SkillPDPoint += 1; } if (NewLevelTimer >= 1) { NewLevelInstantiate = true; } PlayerLevel += 1; } } //przyznanie poziomu if (NewLevelInstantiate) { NewLevelTimer = 0; GameObject particle = Instantiate(NewLevel, PlayerNewLevelTransform.position, transform.rotation); particle.GetComponent <LevelUp>().target = PlayerNewLevelTransform; NewLevelInstantiate = false; } else { if (NewLevelTimer < 1) { NewLevelTimer += Time.deltaTime; } else { NewLevelTimer = 1f; } } //obliczenie ilości noży w ekwipunktu if (Secon_Weapon_Slot.transform.childCount > 0) { ElementEq Second_Weapon = Secon_Weapon_Slot.GetComponentInChildren <ElementEq>(); knifeId = Second_Weapon.Id; knifeCount = Second_Weapon.Count; } else { knifeCount = 0; } //wczytywanie i zapisywanie if (awake) { GameStart(); } if (dead) { GameEnd(); } if (saving) { if (gameObject.GetComponent <itemDataBaseChest>() != null) { itemDataBaseChest = gameObject.GetComponent <itemDataBaseChest>(); save.ChestSave(LevelId); Debug.Log("saveing chest"); } save.Save(); } //przeskakiwanie miedzy poziomami if (loadScene == true && saving == false) { player.blockMove = true; ScreenImage.SetActive(true); ScreenImage.GetComponent <Animator>().SetBool("FadeOut", true); fade = true; } if (fade) { Cursor.lockState = CursorLockMode.Locked; //Zablokowanie kursora myszy. Cursor.visible = false; //Ukrycie kursora. TimeToFade -= Time.deltaTime; if (TimeToFade <= 0) { //50 line loadScript.LoadScreenNum(SceneIdToLoad, Application.loadedLevel); } } if (PlayerSpeed == 0) //obliczanie kosztów ruchów { BackDashCost = BasicBackDashCost; JumpDownSpecialAttackCost = BasicJumpDownSpecialAttackCost; JumpSpecialAttackCost = BasicJumpSpecialAttackCost; RunSpecialAttackCost = BasicRunSpecialAttackCost; AttackCost = BasicAttackCost; AttackRunCost = BasicAttackRunCost; JumpCost = BasicJumpCost; } else { BackDashCost = BasicBackDashCost - (5 * PlayerSpeed); JumpDownSpecialAttackCost = BasicJumpDownSpecialAttackCost - (2 * (PlayerSpeed + PlayerSwordStaminaLevel)); JumpSpecialAttackCost = BasicJumpSpecialAttackCost - (2 * (PlayerSpeed + PlayerSwordStaminaLevel)); RunSpecialAttackCost = BasicRunSpecialAttackCost - (2 * (PlayerSpeed + PlayerSwordStaminaLevel)); AttackCost = BasicAttackCost - (1 * PlayerSpeed + PlayerSwordStaminaLevel); AttackRunCost = BasicAttackRunCost - (2 * (PlayerSpeed + PlayerSwordStaminaLevel)); JumpCost = BasicJumpCost - (5 * PlayerSpeed); } if (BackDashCost <= 5) { BackDashCost = 5f; } if (JumpDownSpecialAttackCost <= 10) { JumpDownSpecialAttackCost = 10; } if (JumpSpecialAttackCost <= 15) { JumpSpecialAttackCost = 15; } if (RunSpecialAttackCost <= 20) { RunSpecialAttackCost = 20; } if (AttackCost <= 1) { AttackCost = 1; } if (AttackRunCost <= 5) { AttackRunCost = 5f; } if (JumpCost <= 5) { JumpCost = 5f; } //zatrzymanie czasu if (ChangeToZero) { active_menu = 0; ChangeToZero = false; } if (active_menu == 0) { Time.timeScale = 1; player.blockMove = true; Cursor.lockState = CursorLockMode.Locked; //Zablokowanie kursora myszy. Cursor.visible = false; //Ukrycie kursora. if (StopTimePowerChoose) { Time.timeScale = TimePowerChoose; } } else { Time.timeScale = 0; //player.CanMove = false; Cursor.lockState = CursorLockMode.None; //Odblokowanie kursora myszy. Cursor.visible = true; //Pokazanie kursora. } //wyswietlanie podpowiedzi if (timeToShow < 1f) { YouGetBoard.GetComponent <Animator>().SetBool("disappear", true); } if (timeToShow > 0) { timeToShow -= Time.deltaTime; YouGetBoard.SetActive(true); } else { YouGetBoard.SetActive(false); YouGet.text = " "; } }
void Update() { if (waitForDecision) //Tranferiwanie obiektów { StayAmount.text = ((int)slider.maxValue - (int)slider.value).ToString(); TransferAmount.text = ((int)slider.value).ToString(); if (accept) { transfer_drop_place.GetComponent <DropPlace>().TransferKnives(item, amountToTransfer); amountToTransfer = 0; item = null; waitForDecision = false; } } else { accept = false; } if (Input.GetKeyDown(keyMenager.keys["Equipment"]) && gm.active_menu == 0) { //Jeżeli naciśnięto klawisz "Equipment" if (ekwipunek.active == false) { ekwipunek.SetActive(true); //Ukrycie/pokazanie ekwipunku. gm.active_menu = 3; Cursor.lockState = CursorLockMode.None; //Odblokowanie kursora myszy. Cursor.visible = true; //Pokazanie kursora. } } if (ekwipunek.active == true && Input.GetKeyDown(keyMenager.keys["Pause"])) { gm.ChangeToZero = true; ekwipunek.SetActive(false);//Ukrycie/pokazanie ekwipunku. StatsUI.SetActive(false); } if (Change) //Zmiana notatki { for (int i = 0; i < noteObj.Length; i++) { if (i == NoteNumber - 1) { noteObj[i].SetActive(true); } else { noteObj[i].SetActive(false); } } Change = false; } if (Amor_Cat) { Active[1].SetActive(true); } else { Active[1].SetActive(false); } if (Weapon_Cat) { Active[0].SetActive(true); } else { Active[0].SetActive(false); } if (Rest_Cat) { Active[2].SetActive(true); } else { Active[2].SetActive(false); } //Wyświetlenie statystyk i posiadanych przedmiotów wielekrotnego użytku attackTxt.text = gm.PlayerAttack.ToString(); armorTxt.text = gm.PlayerArmor.ToString(); magicTxt.text = gm.PlayerMagic.ToString(); agilityTxt.text = gm.PlayerSpeed.ToString(); GoldTxt.text = gm.gold.ToString(); RunesTxt.text = gm.runes.ToString(); HpTxt.text = gm.hp_potion.ToString(); MpTxt.text = gm.mana_potion.ToString(); //Przyciski umożliwiające wykorzystanie obiektów if (gm.hp_potion > 0) { ButtonHp.SetActive(true); ButtonHpHide.SetActive(false); } else { ButtonHp.SetActive(false); ButtonHpHide.SetActive(true); } if (gm.mana_potion > 0) { ButtonMana.SetActive(true); ButtonManaHide.SetActive(false); } else { ButtonMana.SetActive(false); ButtonManaHide.SetActive(true); } }