private void OnTriggerEnter(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { if (item.CanInteract(other)) { interactableItemsInRange.Add(item); if (interactableItemsInRange.Count > 0) { SetCloserItem(); } else { mInteractItem = item; if (photonView.IsMine) { hud.OpenMessagePanel(mInteractItem); } } } } }
void OnCollisionEnter(Collision collision) { InteractableItemBase item = collision.collider.gameObject.GetComponent <InteractableItemBase>(); if (item != null) { // Hit by a weapon if (item.ItemType == EItemType.Weapon) { if (ActivePlayer.GetComponent <PlayerController>().IsAttacking) { //if(Pcon.) //mAgent.enabled = false; ///Destroy(GetComponent<Rigidbody>()); if (mIsCutting == false) { StartCoroutine(CutTree()); } // Invoke("ShowItemsDeadState", 1.2f); } } } }
public void DetachItem() { m_heldObject.Detach(); m_heldObject = null; m_trackedModel.SetActive(true); m_itemAttached = false; }
public void RightClickInteractWithAnItem(InteractableItemBase mInteractItem) //Exact same method as InteractWithItemAnimEvent() which is Being called in the animation events, this is for rightclickmenu { if (mInteractItem != null) { mInteractItem.OnInteract(); if (mInteractItem is InventoryItemBase) //If the interactable item is an InventoryItemBase (like axe) { InventoryItemBase inventoryItem = mInteractItem as InventoryItemBase; // inventoryItem becomes the interacted with item if it is an Instance of InventoryItemBase? (as is like is keyword + cast) Inventory.AddItem(inventoryItem); inventoryItem.OnPickup(); if (inventoryItem.UseItemAfterPickup) { Inventory.UseItem(inventoryItem); } } } else { Debug.Log("mInteractItem is null"); } Hud.CloseMessagePanel(); mInteractItem = null; }
private void OnTriggerEnter(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { mInteractItem = item; Hud.OpenMessagePanel(mInteractItem); } //도형 표지판을 보았을 때 도형 닌자로 이동 if (other.gameObject.name == "Sign_Move_ShapeNinja") { SceneManager.LoadScene("ShapeNinja"); } //도형 표지판을 보았을 때 도형 슈마허로 이동 if (other.gameObject.name == "Sign_Move_Samasher") { SceneManager.LoadScene("ShapesSmasher"); } //도형 표지판을 보았을 때 도형 슈마허로 이동 if (other.gameObject.name == "Sign_Move_ShapeShift") { SceneManager.LoadScene("ShapeShift"); } }
// ------------------ 화면 UI ------------------- void OnGUI() { // x 는 값을 더하면 오른쪽으로, 빼면 왼쪽으로 float x = 20.0f; // y 는 값을 더하면 아래로, 빼면 위로 float y = Screen.height - 40.0f; if (this.carried_item != null) // 들고 있는 Item이 있다면 { //hud.OpenMessagePanel("Press Z to drop / Press X to eat"); //GUI.Label(new Rect(x, y, 200.0f, 20.0f), "Z : 버린다", guistyle); //GUI.Label(new Rect(x + 100.0f, y, 200.0f, 20.0f), "X : 먹는다", guistyle); } else { if (this.closest_item != null) // 들고있지 않은데 주목하고 있다면 { //hud.OpenMessagePanel("Press Z to pick up"); InteractableItemBase item = this.closest_item.GetComponent <InteractableItemBase>(); if (item.CanInteract(this.closest_item)) { mInteractItem = item; hud.OpenMessagePanel(mInteractItem); } hud.OpenElementalBubble("들어보자"); //GUI.Label(new Rect(x, y, 200.0f, 20.0f), "Z : 줍는다", guistyle); } else { hud.CloseMessagePanel(); hud.CloseElementalBubble(); } } switch (this.step) { case STEP.EATING: GUI.Label(new Rect(x, y, 200.0f, 20.0f), "암냠냠", guistyle); break; } GUI.Label(new Rect(x, y - 20.0f, 200.0f, 20.0f), "◀", guistyle); GUI.Label(new Rect(x + 100.0f, y - 20.0f, 200.0f, 20.0f), "▶", guistyle); switch (this.carried_skill.tag) { case "Owl": GUI.Label(new Rect(x + 30.0f, y - 20.0f, 200.0f, 20.0f), "부엉이", guistyle); break; case "Alpaca": GUI.Label(new Rect(x + 30.0f, y - 20.0f, 200.0f, 20.0f), "알파카", guistyle); break; case "Turtle": GUI.Label(new Rect(x + 30.0f, y - 20.0f, 200.0f, 20.0f), "거북이", guistyle); break; } }
private void ResetBite() { m_timeTillBite = Random.Range(m_MinBiteTime, m_MaxBiteTime); m_biteTime = 0; m_ActualFishTension = 0; m_targetFishTension = 0; m_CurrentlyHooked = false; m_HookedObj = null; }
private void OnTriggerExit(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { UpdateMInteractItem(item); } }
private void PickupItem(InteractableItemBase item) { if (item.Attach(transform, this, m_deviceIndex, true)) { m_heldObject = item; m_trackedModel.SetActive(false); m_attachedThisFrame = true; } }
void OnTriggerEnter(Collider other) { InteractableItemBase item = other.GetComponentInParent <InteractableItemBase>(); if (item != null) { item.OnMouth = true; } }
public void OpenMessagePanel(InteractableItemBase item) { MessagePanel.SetActive(true); Text mpText = MessagePanel.transform.Find("Text").GetComponent <Text>(); mpText.text = item.InteractText; mIsMessagePanelOpened = true; }
private void OnTriggerExit(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { Hud.CloseMessagePanel(); mInteractItem = null; } }
public void HookObject(InteractableItemBase obj) { m_HookedObject = obj; obj.transform.SetParent(m_Hook.transform, true); obj.transform.localPosition = Vector3.zero; obj.transform.localRotation = Quaternion.identity; obj.GetComponent <Rigidbody>().isKinematic = true; }
private void OnTriggerEnter(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { mInteractItem = item; Hud.OpenMessagePanel(mInteractItem); } }
public void OpenMessagePanel(InteractableItemBase item) { MessagePanel.SetActive(true); Text mpText = MessagePanel.transform.Find("Text").GetComponent <Text>(); mpText.text = item.InteractText + " " + RichText.Paint(item.Name, item.itemNameColor, true, false); mIsMessagePanelOpened = true; }
public void SetHandObject(GameObject pickup) { if (pickup != null) { InteractableItemBase item = pickup.GetComponent <InteractableItemBase>(); item.transform.parent = hand.transform; item.transform.localPosition = item.pickupPosition; item.transform.localEulerAngles = item.pickupRotation; Destroy(item.gameObject.GetComponent <Rigidbody>()); } }
private void OnRightClickTriggerClicked(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { if (item.CanInteract(other)) { mInteractItem = item; Hud.OpenMessagePanel(mInteractItem); } } }
//Funció per fer apareixer el MessagePanel, i agafar el Missatge: Press key F to Pickup de cadascun dels items public void OpenMessagePanel(InteractableItemBase item) { //Activa el panell MessagePanel que és un child de HUD(on està aquest script assignat) MessagePanel.SetActive(true); //Inicialitza la variable Text del Message Panel (és un child de Message Panel) Text mpText = MessagePanel.transform.Find("Text").GetComponent <Text>(); //Posa el text que hi hagi a cadascun dels items mpText.text = item.InteractText; //Posem la variable del MessagePanel a activat mIsMessagePanelOpened = true; }
private void TryInteraction(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { if (item.CanInteract(other)) { mInteractItem = item; Hud.OpenMessagePanel(mInteractItem); } } }
private void Hook() { List <InteractableItemBase> bucket = GetFishBucket(); if (bucket != null && bucket.Count > 0) { m_CurrentlyHooked = true; m_HookedObj = (InteractableItemBase)GameObject.Instantiate(bucket[0], Vector3.zero, Quaternion.identity); m_FishingRod.HookObject(m_HookedObj); m_biteTime = 0; m_currentBucket = bucket; } }
//Funció per acabar la funció anterior OnTriggerEnter, una vegada ja no hi hagi trigger private void OnTriggerExit(Collider other) { //Inicialitzem la variable item InteractableItemBase item = other.GetComponent <InteractableItemBase>(); //si hi ha un item if (item != null) { //Cridem a la funció que desaparegui el missatge per pantalla Hud.CloseMessagePanel(); //Posem a buit la variable mInteractItem, ja que no hi ha objecte amb qui interactua mInteractItem = null; } }
void SetCloserItem() { float minDistance = interactableItemsInRange.Where(x => x.GetDistanceToPlayer(transform.position) < 2f).Min(x => x.distance); var closerItem = interactableItemsInRange.Where(x => x.distance == minDistance); foreach (InteractableItemBase itemInRange in closerItem) { mInteractItem = itemInRange; if (photonView.IsMine) { hud.OpenMessagePanel(mInteractItem); } } }
public int GetItemCount(InteractableItemBase item) { foreach (InventorySlot slot in mSlots) { if (slot.FirstItem == null) { break; } if (slot.FirstItem.Name == item.Name) { return(slot.Count); } } return(0); }
public GUIStyle guistyle; // Font 스타일 private void Pick_Or_Drop_Control() // 물건을 줍거나 떨어뜨리기 위한 method 입니다. { do { if (!this.key.pick) // '줍기/버리기' Z키가 눌리지 않았으면 종료 { break; } // 주목중인 아이템을 인벤토리로 InteractWithItem(); // 주목 중인 아이템을 삭제 this.closest_item = null; mInteractItem = null; } while (false); }
//Funció per posar a la variable Item l'objecte interactuat i connectar amb l'inventari (HUD) private void OnTriggerEnter(Collider other) { //Inicialitzem la variable item InteractableItemBase item = other.GetComponent <InteractableItemBase>(); //si hi ha un item if (item != null) { //si amb aquest item es pot interactuar if (item.CanInteract(other)) { // Activem la variable mInteractItem amb l'item mInteractItem = item; //Cridem a la funció que aparegui el missatge per pantalla passant-li el paràmetre item (mInteractItem) Hud.OpenMessagePanel(mInteractItem); } } }
private void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("redEnemy") && PlayerPrefs.GetInt("infight") != 1) { PlayerPrefs.SetInt("infight", 1); Debug.Log("nowayjskdfffffffffffffffffffffffffffffffff"); PlayerPosition.Instance.position = transform.position; PlayerPosition.Instance.rotation = transform.rotation; SceneManager.LoadScene(fight1); } else if (other.gameObject.CompareTag("stoneEnemy1") && PlayerPrefs.GetInt("infight") != 1) { PlayerPrefs.SetInt("infight", 1); PlayerPosition.Instance.position = transform.position; PlayerPosition.Instance.rotation = transform.rotation; SceneManager.LoadScene(fight2); } else if (other.gameObject.CompareTag("stoneEnemy2") && PlayerPrefs.GetInt("infight") != 1) { PlayerPrefs.SetInt("infight", 1); PlayerPosition.Instance.position = transform.position; PlayerPosition.Instance.rotation = transform.rotation; SceneManager.LoadScene(fight3); } else if (other.gameObject.CompareTag("boss") && PlayerPrefs.GetInt("infight") != 1) { PlayerPrefs.SetInt("infight", 1); PlayerPosition.Instance.position = transform.position; PlayerPosition.Instance.rotation = transform.rotation; SceneManager.LoadScene(bossfight); } InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { if (item.CanInteract(other)) { mInteractItem = item; Hud.OpenMessagePanel(mInteractItem); } } }
void OnCollisionEnter(Collision collision) { InteractableItemBase item = collision.collider.gameObject.GetComponent <InteractableItemBase>(); if (item != null) { // Hit by a weapon if (item.ItemType == EItemType.Weapon) { if (Player.GetComponent <PlayerController>().IsAttacking) { mIsDead = true; mAgent.enabled = false; Destroy(GetComponent <Rigidbody>()); Debug.Log(transform.name + " is dead"); Invoke("ShowItemsDeadState", 1.2f); } } } }
private void OnTriggerEnter(Collider other) { InteractableItemBase item = other.GetComponent <InteractableItemBase>(); if (item != null) { if (item.CanInteract(other)) { mInteractItem = item; Hud.OpenMessagePanel(mInteractItem); } } if (other.GetComponent <EggBehaviour>() != null) { Debug.Log(EggsCount); EggsCount++; Destroy(other.gameObject); } }
void OnCollisionEnter(Collision collision) { InteractableItemBase item = collision.collider.gameObject.GetComponent <InteractableItemBase>(); if (item != null) { // Hit by a weapon if (item.ItemType == EItemType.Weapon) { /*if(Player.GetComponent<PlayerController>().IsAttacking) * { * mIsDead = true; * mAgent.enabled = false; * mAnimator.SetTrigger("die"); * Destroy(GetComponent<Rigidbody>()); * * Invoke("ShowItemsDeadState", 1.2f); * }*/ } } }
void OnCollisionEnter(Collision collision) { InteractableItemBase item = collision.collider.gameObject.GetComponent <InteractableItemBase>(); if (item != null) { //-------------------This causes enemy to die, disabling for now //// Hit by a weapon //if (item.ItemType == EItemType.Weapon) //{ // if (Player.GetComponent<PlayerController>().IsAttacking) // { // mIsDead = true; // _navMeshAgent.enabled = false; // _animator.SetTrigger("death"); // Destroy(GetComponent<Rigidbody>()); // Debug.Log(transform.name + " is ded"); // Invoke("ShowItemsDeadState", 1.2f); // } //} } }