void setName() { NameCan = transform.GetChild(2).gameObject; if (pc.isKor()) { NameCan.transform.GetChild(0).GetComponent <Text>().text = item.ItemName; } else { NameCan.transform.GetChild(0).GetComponent <Text>().text = item.ItemName2; } }
private void OnTriggerEnter2D(Collider2D other) //충돌함수 { if (pv.IsMine) { if (other.CompareTag("Teleport")) //순간이동 { StopAllCoroutines(); canMove = true; SetAnimRPC(0); FindObjectOfType<Fade>().Teleport(this,GameObject.Find(other.name + "_T").transform.position); } if (other.CompareTag("Explosion")) //폭탄 { DelayDestroy enemy = other.GetComponent<DelayDestroy>(); if (enemy.isWire) { if (!enemy.gameObject.GetComponent<PhotonView>().IsMine) { if(pc.isKor()) Hit(enemy.damage, enemy.myName,enemy.nuckBackDistance,enemy.transform.position); else Hit(enemy.damage, enemy.myName2,enemy.nuckBackDistance,enemy.transform.position); enemy.gameObject.GetComponent<Mine>().DestroyRPC(); } } else { if(pc.isKor()) Hit(enemy.damage, enemy.myName,enemy.nuckBackDistance,enemy.transform.position); else Hit(enemy.damage, enemy.myName2,enemy.nuckBackDistance,enemy.transform.position); StartCoroutine(superTick()); } } if (other.CompareTag("rantem")) playerItem.ranTem(); } }
private void Update() { if (pc.isKor()) { pTxt.text = pTxts[Index]; pTxt2.text = pTxts2[Index]; pTxt3.text = pTxts3[Index]; } else { pTxt.text = pTxtss[Index]; pTxt2.text = pTxtss2[Index]; pTxt3.text = pTxtss3[Index]; } }
private void Update() { if (player != null) { if (player.pv.IsMine) { if (player.isPlay) { float scroll = Input.GetAxis("Mouse ScrollWheel"); if (scroll != 0) { if (scroll < 0) { if (selectedIndex >= Selected.Length - 1) { selectedIndex = 0; } else { selectedIndex++; } player.ChangeWeaponSound(); for (int i = 0; i < Selected.Length; i++) //현재 인텍스에만 선택창 달아줌 { if (i == selectedIndex) { Selected[i].SetActive(true); } else { Selected[i].SetActive(false); } } check(selectedIndex, false); } else { if (selectedIndex <= 0) { selectedIndex = Selected.Length - 1; } else { selectedIndex--; } player.ChangeWeaponSound(); for (int i = 0; i < Selected.Length; i++) //현재 인텍스에만 선택창 달아줌 { if (i == selectedIndex) { Selected[i].SetActive(true); } else { Selected[i].SetActive(false); } } check(selectedIndex, false); } } //스크롤 템전환 } for (int i = 0; i < ItemList.Length; i++) //아이템이미지가 존재한다면 매 프레임마다 박스에 이미지 갱신 { if (ItemList[i].ItemSprite != null) { ItemBoxes[i].sprite = ItemList[i].ItemSprite; } else { ItemBoxes[i].sprite = NullSprite; } } if (Input.GetKeyDown((KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("COMBINE")))) //우클릭으로 템조합하기 { invent.OpenIfCan(ItemList[selectedIndex]); } if (player.canMove) //움직일 수 있는 상태에서만 입력 가능 { if (Input.GetKeyDown((KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("USE")))) //아이템 사용 { if (ItemList[selectedIndex].type == itemType.Usable) { if (usable.UseItem(ItemList[selectedIndex].index)) { slots[selectedIndex].itemCount--; if (slots[selectedIndex].itemCount <= 0) { ItemList[selectedIndex].Clear(); } } else { if (pc.isKor()) { PopUpManager.instance.PopUp("회복아이템은 " + usable.getCool() + "초 후 재사용 가능", Color.cyan); } else { PopUpManager.instance.PopUp("Can use food " + usable.getCool() + "sec after", Color.cyan); } } } } if (Input.GetMouseButtonDown(1)) //스페이스바로 줍기 { Collider2D[] items = Physics2D.OverlapCircleAll(transform.position, itemRadious, itemLayer); try { if (items[0] != null) { items.OrderBy(c => c.transform.position - transform.position); Collider2D item = items[0]; Item it = item.GetComponent <Item>(); bool canGo = false; if (it.isShopTem) { int price = it.price; if (player.PlayerIndex == 8) { price = price / 2; } if (player.leftBullet.GetedBulletCount() >= price) { canGo = true; player.leftBullet.GetBulletMinus(price); player.purchaseSound(); } else { if (pc.isKor()) { PopUpManager.instance.PopUp("총알이 부족합니다!", Color.red); } else { PopUpManager.instance.PopUp("Lack of Bullet!", Color.red); } } } else { canGo = true; } if (canGo) { bool isGet = false; if (it.item.type == itemType.Usable || it.item.type == itemType.Item) //소비템이면 { bool isHaveUsable = false; for (int i = 0; i < ItemList.Length; i++) { if (ItemList[i].ItemName == it.item.ItemName) //이름이 같은 소비템이면 { isHaveUsable = true; isGet = true; slots[i].itemCount++; check(i, false); if (!it.isShopTem) { temMgr.delTem(it.Index); Destroy(item.gameObject); } else { it.Del(); } break; } } if (!isHaveUsable) //소비템이 없으면 { for (int i = 0; i < ItemList.Length; i++) { if (ItemList[i].ItemName == "") //빈곳에 템넣어줌 { isGet = true; ItemList[i] = it.item; slots[i].itemCount++; check(i, true); if (!it.isShopTem) { temMgr.delTem(it.Index); Destroy(item.gameObject); } else { it.Del(); } break; } } } } else//소비템이 아니면 { for (int i = 0; i < ItemList.Length; i++) { if (ItemList[i].ItemName == "") //빈곳에 템넣어줌 { isGet = true; ItemList[i] = it.item; if (it.item.type == itemType.Passive) //패시브템이면 { player.PassiveOn(it.item.index); //패시브 ON } check(i, true); if (!it.isShopTem) { temMgr.delTem(it.Index); Destroy(item.gameObject); } else { it.Del(); } break; } } } if (!isGet) { if (pc.isKor()) { PopUpManager.instance.PopUp("더 이상 주울 수 없습니다!", Color.red); } else { PopUpManager.instance.PopUp("Can't pick up item any more!'", Color.red); } } else { player.GetSound(); } } } } catch (Exception e) { } } if (player.isPlay) { //1부터 6으로 아이템 선택 가능 if (Input.GetKeyDown(KeyCode.Alpha1) || Input.GetKeyDown(KeyCode.Alpha2) || Input.GetKeyDown(KeyCode.Alpha3) || Input.GetKeyDown(KeyCode.Alpha4) || Input.GetKeyDown(KeyCode.Alpha5) || Input.GetKeyDown(KeyCode.Alpha6) || Input.GetKeyDown(KeyCode.Alpha7) || Input.GetKeyDown(KeyCode.Alpha8) || Input.GetKeyDown(KeyCode.Alpha9)) { int contactIndex = 0; if (Input.GetKeyDown(KeyCode.Alpha1)) //1 { contactIndex = 0; } else if (Input.GetKeyDown(KeyCode.Alpha2)) //2 { contactIndex = 1; } else if (Input.GetKeyDown(KeyCode.Alpha3)) //3 { contactIndex = 2; } else if (Input.GetKeyDown(KeyCode.Alpha4)) //4 { contactIndex = 3; } else if (Input.GetKeyDown(KeyCode.Alpha5)) //5 { contactIndex = 4; } else if (Input.GetKeyDown(KeyCode.Alpha6)) //6 { contactIndex = 5; } else if (Input.GetKeyDown(KeyCode.Alpha7)) //7 { contactIndex = 6; } else if (Input.GetKeyDown(KeyCode.Alpha8)) //8 { contactIndex = 7; } else if (Input.GetKeyDown(KeyCode.Alpha9)) //9 { if (player.PlayerIndex == 3) { contactIndex = 8; } } if (contactIndex != selectedIndex) { player.ChangeWeaponSound(); selectedIndex = contactIndex; for (int i = 0; i < Selected.Length; i++) //현재 인텍스에만 선택창 달아줌 { if (i == selectedIndex) { Selected[i].SetActive(true); } else { Selected[i].SetActive(false); } } check(selectedIndex, false); } } } if (Input.GetKeyDown((KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("DROP"))) && player.isPlay) //템 버리기 { DiscardItem(false); } } if (player.isPlay) { canTem(); } } } else { Player[] players = FindObjectsOfType <Player>(); foreach (Player p in players) { if (p.pv.IsMine) { player = p; break; } } } }
public void Open(tem taaaaam) { if (!isLobby) { if (XBtn.activeSelf) { XBtn.SetActive(false); } if (player.isPlay) { pause.canPause = false; } } if (!dicBtn.activeSelf) { dicBtn.SetActive(true); } if (!Com.activeSelf) { Com.SetActive(true); } if (Dic.activeSelf) { Dic.SetActive(false); } element = taaaaam; isOpen = true; anim.Play("InvenOpen"); tem tem; for (int i = 0; i < completeTemArray.Length; i++) { completeTemArray[i].canSee = true; } for (int i = 0; i < element.CompleteItemIndex.Length; i++) { tem = temMgr.GetItemList(element.CompleteItemIndex[i]); completeTemArray[i] = tem.DeepCopy(); } for (int i = element.CompleteItemIndex.Length; i < completeTemArray.Length; i++) { completeTemArray[i].canSee = false; } for (int i = 0; i < completeTemArray.Length; i++) { if (completeTemArray[i].canSee) { completeBoxes[i].gameObject.SetActive(true); completes[i].gameObject.SetActive(true); completes[i].sprite = completeTemArray[i].ItemSprite; } else { completes[i].gameObject.SetActive(false); completeBoxes[i].gameObject.SetActive(false); } } if (element != null) { if (element.SmallItemIndex.Length >= 2) { Big.SetActive(false); Small.SetActive(true); SmallItemImg1.sprite = temMgr.GetItemList(element.SmallItemIndex[0]).ItemSprite; SmallItemImg2.sprite = temMgr.GetItemList(element.SmallItemIndex[1]).ItemSprite; if (pc.isKor()) { SmallItemName1.text = temMgr.GetItemList(element.SmallItemIndex[0]).ItemName; } else { SmallItemName1.text = temMgr.GetItemList(element.SmallItemIndex[0]).ItemName2; } SmallType1.text = getType(temMgr.GetItemList(element.SmallItemIndex[0]).type); if (pc.isKor()) { SmallItemName2.text = temMgr.GetItemList(element.SmallItemIndex[1]).ItemName; } else { SmallItemName2.text = temMgr.GetItemList(element.SmallItemIndex[1]).ItemName2; } SmallType2.text = getType(temMgr.GetItemList(element.SmallItemIndex[1]).type); BigItemImg2.sprite = element.ItemSprite; if (pc.isKor()) { BigItemName2.text = element.ItemName; } else { BigItemName2.text = element.ItemName2; } BigType2.text = getType(element.type); } else { Big.SetActive(true); Small.SetActive(false); BigItemImg.sprite = element.ItemSprite; if (pc.isKor()) { BigItemName.text = element.ItemName; } else { BigItemName.text = element.ItemName2; } BigType.text = getType(element.type); } if (pc.isKor()) { ItemName.text = element.ItemName; } else { ItemName.text = element.ItemName2; } if (pc.isKor()) { ItemDescription.text = element.ItemDescription; } else { ItemDescription.text = element.ItemDescription2; } if (pc.isKor()) { WhereGet.text = "획득 경로 : " + element.WhereGet; } else { WhereGet.text = "Can get at : " + element.WhereGet2; } } }
public bool UseItem(int itemIndex) { player.isFight(); switch (itemIndex) { case 44: //붕대 if (eat()) { statMgr.Heal(15); setHappy(); return(true); } break; case 53: //좀비고기 if (eat()) { offStat.HungryHeal(9); setHappy(); player.hitSound(); if (statMgr.LoseHp(10)) { if (pc.isKor()) { player.Die("식중독"); } else { player.Die("Food poisoning"); } } return(true); } break; case 55: //폭탄 player.PutBombSound(); if (PhotonNetwork.OfflineMode) { Instantiate(Bomb, transform.position, Quaternion.identity); } else { PhotonNetwork.Instantiate(Bomb.name, transform.position, Quaternion.identity); } return(true); break; case 57: //컵라면 if (eat()) { offStat.HungryHeal(15); setHappy(); return(true); } break; case 58: //삼각김밥 if (eat()) { offStat.HungryHeal(15); setHappy(); return(true); } break; case 59: //물 if (eat()) { statMgr.Heal(15); setHappy(); return(true); } break; case 60: //꿀물 if (eat()) { statMgr.Heal(20); setHappy(); return(true); } break; case 61: //포도주스 if (eat()) { statMgr.Heal(35); setHappy(); return(true); } break; case 62: //사과주스 if (eat()) { statMgr.Heal(35); setHappy(); return(true); } break; case 63: //사과 if (eat()) { offStat.HungryHeal(8); setHappy(); return(true); } break; case 64: //포도 if (eat()) { offStat.HungryHeal(8); setHappy(); return(true); } break; case 67: //꿀 if (eat()) { statMgr.Heal(15); setHappy(); return(true); } break; case 72: //버섯 수프 if (eat()) { offStat.HungryHeal(60); statMgr.Heal(30); setHappy(); return(true); } break; case 73: //식빵 if (eat()) { offStat.HungryHeal(15); setHappy(); return(true); } break; case 74: //비타민주사 if (eat()) { statMgr.Heal(23); setHappy(); return(true); } break; case 75: //부목 if (eat()) { statMgr.Heal(35); setHappy(); return(true); } break; case 76: //모닥불 if (PhotonNetwork.OfflineMode) { Instantiate(BonFire, transform.position, Quaternion.identity); } else { PhotonNetwork.Instantiate(BonFire.name, transform.position, Quaternion.identity); } return(true); case 78: //전등 if (PhotonNetwork.OfflineMode) { Instantiate(Light, transform.position, Quaternion.identity); } else { PhotonNetwork.Instantiate(Light.name, transform.position, Quaternion.identity); } return(true); case 79: //화염병 player.fireSound(); if (PhotonNetwork.OfflineMode) { GameObject g = Instantiate(FireBomb, transform.position, Quaternion.identity); g.GetComponent <FireBomb>().ON(); } else { GameObject g = PhotonNetwork.Instantiate(FireBomb.name, transform.position, Quaternion.identity); g.GetComponent <FireBomb>().ON(); } return(true); case 80: //사과식초 if (eat()) { statMgr.Heal(20); setHappy(); return(true); } break; case 84: //피자 if (eat()) { offStat.HungryHeal(15); setHappy(); return(true); } break; case 86: //치즈가 늘어나는 피자 if (eat()) { offStat.HungryHeal(40); setHappy(); return(true); } break; case 96: //아드레날린 if (eat()) { statMgr.Heal(100); setHappy(); StartCoroutine(Adrenalin()); return(true); } break; case 97: //지뢰 player.PutBombSound(); if (PhotonNetwork.OfflineMode) { Instantiate(Mine, transform.position, Quaternion.identity); } else { GameObject a; a = PhotonNetwork.Instantiate(Mine.name, transform.position, Quaternion.identity); a.GetComponent <Mine>().p = GetComponent <Player>(); } return(true); break; case 100: //과일세트 if (eat()) { offStat.HungryHeal(25); setHappy(); return(true); } break; case 101: //샐러드 if (eat()) { offStat.HungryHeal(15); statMgr.Heal(30); setHappy(); return(true); } break; case 102: //껍질없는식빵 if (eat()) { offStat.HungryHeal(40); setHappy(); return(true); } break; case 103: //오이 if (eat()) { offStat.HungryHeal(8); setHappy(); return(true); } break; case 104: //피클 if (eat()) { offStat.HungryHeal(8); setHappy(); return(true); } break; case 108: //버섯볶음 if (eat()) { offStat.HungryHeal(30); statMgr.Heal(30); setHappy(); return(true); } break; case 109: //과일빙수 if (eat()) { offStat.HungryHeal(20); statMgr.Heal(70); setHappy(); return(true); } break; case 110: //좀비요리 if (eat()) { offStat.HungryHeal(15); setHappy(); return(true); } break; case 113: //감자 if (eat()) { offStat.HungryHeal(7); setHappy(); return(true); } break; case 114: //감자맛탕 if (eat()) { offStat.HungryHeal(15); statMgr.Heal(10); setHappy(); return(true); } break; case 115: //꿀단지 if (eat()) { statMgr.Heal(25); setHappy(); return(true); } break; case 116: //감자칩 if (eat()) { offStat.HungryHeal(20); setHappy(); return(true); } break; case 117: //나무판 if (PhotonNetwork.OfflineMode) { Instantiate(Pan1, transform.position, Quaternion.identity); } else { PhotonNetwork.Instantiate(Pan1.name, transform.position, Quaternion.identity); } return(true); break; case 118: //철판 if (PhotonNetwork.OfflineMode) { Instantiate(Pan2, transform.position, Quaternion.identity); } else { PhotonNetwork.Instantiate(Pan2.name, transform.position, Quaternion.identity); } return(true); break; case 128: //터렛 if (PhotonNetwork.OfflineMode) { Instantiate(Turret, transform.position, Quaternion.identity); } else { PhotonNetwork.Instantiate(Turret.name, transform.position, Quaternion.identity); } return(true); break; case 131: //오이냉국 if (eat()) { offStat.HungryHeal(60); setHappy(); return(true); } break; case 137: //옥수수 if (eat()) { offStat.HungryHeal(8); setHappy(); return(true); } break; case 138: //콘스프 if (eat()) { offStat.HungryHeal(20); statMgr.Heal(25); setHappy(); return(true); } break; case 140: //옥수수식빵 if (eat()) { offStat.HungryHeal(12); statMgr.Heal(16); setHappy(); return(true); } break; case 141: //팝콘 if (eat()) { offStat.HungryHeal(4); setHappy(); return(true); } break; case 156: //가시공 player.fireSound(); if (PhotonNetwork.OfflineMode) { GameObject g = Instantiate(NailMarble, transform.position, Quaternion.identity); g.GetComponent <NailMarble>().ON(); } else { GameObject g = PhotonNetwork.Instantiate(NailMarble.name, transform.position, Quaternion.identity); g.GetComponent <NailMarble>().ON(); } return(true); case 163: //와이어트랩 //player.fireSound(); if (PhotonNetwork.OfflineMode) { Instantiate(WireTrap, transform.position, Quaternion.identity); } else { PhotonNetwork.Instantiate(WireTrap.name, transform.position, Quaternion.identity); } return(true); case 165: //투척용단도 player.fireSound(); if (PhotonNetwork.OfflineMode) { GameObject g = Instantiate(ThrowingDagger, transform.position, Quaternion.identity); g.GetComponent <NailMarble>().ON(); } else { GameObject g = PhotonNetwork.Instantiate(ThrowingDagger.name, transform.position, Quaternion.identity); g.GetComponent <NailMarble>().ON(); } return(true); case 166: //회오리감자 if (eat()) { offStat.HungryHeal(20); statMgr.Heal(10); setHappy(); return(true); } break; } return(false); }
private void Start() { if(SceneManager.GetActiveScene().name=="Tutorial") GameObject.Find("FAST").GetComponent<Image>().color=Color.white; timeMgr = FindObjectOfType<TimeManager>(); temMgr = FindObjectOfType<TemManager>(); if (PhotonNetwork.OfflineMode) nickname.text = PlayerPrefs.GetString("NameKey", "Player"); anim = GetComponent<Animator>(); localScaleX = transform.localScale.x; canvasLocalScaleX = canvasRect.localScale.x; savedGunPos = gun.transform.localPosition; speed = savedSpeed; gunAnim = gun.GetComponent<Animator>(); currentWeapon.walkSpeed_P = 100; savedCanvasScale = photonviewCanvas.transform.localScale; passive = GetComponent<PassiveItem>(); pc=playerCountSave.instance; if (!pc.isKor()) { CombineText.text = CombineEng; for (int i = 0; i < ItemTypes.Length; i++) { ItemTypes[i].text = ItemTypesEng[i]; } } if (SceneManager.GetActiveScene().name == "Play" ||SceneManager.GetActiveScene().name == "Tutorial" ) { isPlay = true; } if (pv.IsMine) { StartCoroutine(hpRegenCor()); camera = GameObject.Find("Main Camera").GetComponent<Camera>(); statMgr=transform.GetChild(0).GetComponent<StatManager>(); playerItem = GetComponent<PlayerItem>(); leftBullet = transform.GetChild(0).transform.GetChild(0).GetComponent<LeftBullet>(); sound = GetComponent<SoundManager>(); playerItem.player = this; offStat =transform.GetChild(0).GetComponent<offlineStat>(); if(isPlay) { GetComponent<CapsuleCollider2D>().isTrigger = true; if (!isTEST && SceneManager.GetActiveScene().name!="Tutorial") { Invoke("aspaltSet",FindObjectOfType<RoomTemplates>().delay); Invoke("setCam",FindObjectOfType<ZombieSpawner>().FirstDelay+0.5f); } else { setCam(); } offStat.startSpeed = speedValue(); } else { canMove = true; camera.GetComponent<CameraManager>().target = gameObject; } } else { Destroy(canvas); Destroy(GetComponent<AudioListener>()); } }