public bool AddItem(Takeable item) { if (Items.Count >= 10) { return(false); } else { Rigidbody itemRigidbody = item.GetComponent <Rigidbody>(); if (itemRigidbody) { itemRigidbody.isKinematic = true; } Collider itemCollider = item.GetComponent <Collider>(); if (itemCollider) { itemCollider.enabled = false; } MeshRenderer renderer = item.GetComponent <MeshRenderer>(); if (renderer) { renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; } item.transform.parent = InventorySpot; item.transform.localPosition = Vector3.zero; item.transform.localRotation = Quaternion.identity; uint index = (uint)Items.Count; Items.Add(item); item.gameObject.SetActive(false); _uiItems[index].gameObject.SetActive(true); SetCurrentItem(index); return(true); } }
private void take(Takeable theObject) { inHand = theObject; inHand.transform.parent = gameObject.transform; inHand.transform.localPosition = new Vector2(0.69f, 0f); var type = whichRoom.GetComponent <TypeRoom>().getTypeRoom(); inHand.GetComponent <SpriteRenderer>().sprite = type == Lightness.LIGHT ? inHand.getCarriedLight() : inHand.getCarriedDark(); }
public void put(Takeable takeable) { Debug.Log("Putting takeable " + takeable.name + " in release area"); if (takeable && takeable.getTheType() == typeObjectToGoHere) { takeable.transform.parent = transform; takeable.GetComponent <SpriteRenderer>().sprite = renderedArea; this.takeable = takeable; if (releaseAction) { releaseAction.doOnRelease(); } takeable.transform.localPosition = positionReleasedObject.localPosition; } }
/// <summary> /// Grabs the targetable object if it is not a pre selection object. /// </summary> private void Grab() { if (TaskController.Instance.currentGameObjects.Count == 0) { return; } if (Time.realtimeSinceStartup - lastFullGrabTime <= rotationModeTimeWindow) { rotationMode = true; rotationLever.gameObject.SetActive(true); } Takeable takeable = TaskController.Instance.currentGameObjects[0].GetComponent <Takeable>(); takeable.takeObject(primaryHand); if (!takeable.preTaskObject && takeable.GetComponent <Interactable>() != null) { currentTakeable = takeable; startGrabObjectPosition = currentTakeable.transform.position; barMaterial.SetMainColorAlpha(1); if (!rotationMode) { translationLever.gameObject.SetActive(true); } } else { // disable grab until the next release so the start task object is // not grabbed directly after the pre selection task object is grabbed grabDisabled = true; } startGrabHandPosition = GetHandPos(); }
public void PickUp(Takeable takeable) { //get obj m_CurrentTakeable = takeable; //null check if (!m_CurrentTakeable) { return; } //already held check if (m_CurrentTakeable.m_ActivePointer) { m_CurrentTakeable.m_ActivePointer.Drop(); } //pleassssssseeeeee // Enemy_ranged script = m_CurrentTakeable.gameObject.GetComponent<Enemy_ranged>(); // StopCoroutine(script.FireObject()); //position m_CurrentTakeable.transform.position = reference.position; m_CurrentTakeable.transform.rotation = reference.rotation; //Attach Rigidbody targetBody = m_CurrentTakeable.GetComponent <Rigidbody>(); targetBody.isKinematic = false; m_Joint.connectedBody = targetBody; takeable.StopMove = true; //set active pointer m_CurrentTakeable.m_ActivePointer = this; }