public void Drop() { if (!m_CurrentInteractable) { return; } HoldingSomething = false; Rigidbody targetBody = m_CurrentInteractable.GetComponent <Rigidbody>(); targetBody.velocity = m_pose.GetVelocity(); targetBody.angularVelocity = m_pose.GetAngularVelocity(); m_Joint.connectedBody = null; if (m_CurrentInteractable.gameObject.GetComponent <PartScript>() != null) { m_CurrentInteractable.gameObject.GetComponent <PartScript>().grabbedByHand = false; } if (m_CurrentInteractable.gameObject.GetComponent <HammerScript>() != null) { m_CurrentInteractable.gameObject.GetComponent <HammerScript>().InHand = false; } m_CurrentInteractable.m_ActiveHand = null; m_CurrentInteractable = null; }
public void ExitArea7(InteractableScript _switch) { //All Lights out for 2 Seconds ToggleLight(); //All fences sink into the ground sinkPos = new Vector3(AllFencesInRoom.transform.position.x, AllFencesInRoom.transform.position.y - 3f, AllFencesInRoom.transform.position.z); //Turn Lights on again Invoke("ToggleLight", 1f); //turn off switch _switch.enabled = false; }
void OnTriggerExit2D(Collider2D col) { if (col.tag == INTERACTABLE_TAG) { InteractableScript interactible = col.GetComponent <InteractableScript>(); if (interactible == m_targetInteractible) { m_targetInteractible = null; // Temp ======================== SpriteRenderer sr = col.GetComponent <SpriteRenderer>(); sr.color = Color.gray; // ============================= interactText.SetActive(false); } } }
void OnTriggerExit2D( Collider2D col ) { if( col.tag == INTERACTABLE_TAG ) { InteractableScript interactible = col.GetComponent<InteractableScript>(); if( interactible == m_targetInteractible ) { m_targetInteractible = null; // Temp ======================== SpriteRenderer sr = col.GetComponent<SpriteRenderer>(); sr.color = Color.gray; // ============================= interactText.SetActive(false); } } }
// Update is called once per frame void Update() { Debug.DrawRay(Camera.main.transform.position, Camera.main.transform.forward * 100f, Color.cyan); if (Input.GetMouseButtonDown(0)) { //create a raycast from the camera to the plane Ray dir = new Ray(Camera.main.transform.position, Camera.main.transform.forward); RaycastHit hit; //; //if the ray hits the plane, instantiate game object if (Physics.Raycast(dir, out hit)) { //if object is obtainable get object if (hit.transform.gameObject.tag == "trampoline") { InteractableScript script = hit.transform.gameObject.GetComponent <InteractableScript>(); obsticle = script.prefab; Destroy(hit.transform.gameObject); } } } if (Input.GetMouseButtonDown(1)) { Object.Instantiate(bullet, Camera.main.transform.position, Camera.main.transform.rotation); //create a raycast from the camera to the plane /* * Ray dir = new Ray(Camera.main.transform.position, Camera.main.transform.forward); * RaycastHit hit; * * //if the ray hits the plane, instantiate game object * if (Physics.Raycast(dir, out hit)) * { * hitObj = hit.transform.gameObject; * if (hitObj.tag == "surface") * { * Quaternion objRotation = new Quaternion(hitObj.transform.rotation.x, hitObj.transform.rotation.y, hitObj.transform.rotation.z, hitObj.transform.rotation.w); * Object.Instantiate(obsticle, hit.point, hitObj.transform.rotation); * } * } */ } }
void OnTriggerEnter2D( Collider2D col ) { if( col.tag == INTERACTABLE_TAG ) { // Temp ======================== if( m_targetInteractible != null ) { SpriteRenderer otherSr = m_targetInteractible.GetComponent<SpriteRenderer>(); otherSr.color = Color.gray; } SpriteRenderer sr = col.GetComponent<SpriteRenderer>(); sr.color = Color.green; // ============================= m_targetInteractible = col.GetComponent<InteractableScript>(); interactText.SetActive(true); } }
void OnTriggerEnter2D(Collider2D col) { if (col.tag == INTERACTABLE_TAG) { // Temp ======================== if (m_targetInteractible != null) { SpriteRenderer otherSr = m_targetInteractible.GetComponent <SpriteRenderer>(); otherSr.color = Color.gray; } SpriteRenderer sr = col.GetComponent <SpriteRenderer>(); sr.color = Color.green; // ============================= m_targetInteractible = col.GetComponent <InteractableScript>(); interactText.SetActive(true); } }
private InteractableScript GetNearestInteractable() { InteractableScript nearest = null; float minDistance = float.MaxValue; float distance = 0.0f; foreach (InteractableScript interactable in m_ContactInteractables) { distance = (interactable.transform.position - transform.position).sqrMagnitude; if (distance < minDistance) { minDistance = distance; nearest = interactable; } } return(nearest); }
public void DestroyObject(InteractableScript spawn, bool tree) { InteractableScript newObj = null; InteractableScript obj = objects[selection]; Debug.Log ("?????? " + selection + " size " + objects.Count); if (obj == spawn) { ChangeSelection (true); newObj = objects [selection]; } objects.Remove(spawn); if (obj == spawn) selection = objects.IndexOf (newObj); if (tree) --trees; else { --buildings; GameObject.Find("TreeCreator").GetComponent<TreeCreatorScript>().IncreaseLifeSpan(); } Debug.Log ("asdfasdfasdfasdf"); }
// For cases where a larger collider hasn't been exited // and a smaller, overlapping collider has been entered and exited void OnTriggerStay2D( Collider2D col ) { if( m_targetInteractible != null ) { // Early return return; } if( col.tag == INTERACTABLE_TAG ) { // Temp ======================== SpriteRenderer sr = col.GetComponent<SpriteRenderer>(); sr.color = Color.green; // ============================= if(GameMaster.CurrentGameState == GameState.Customization) interactText.SetActive(false); m_targetInteractible = col.GetComponent<InteractableScript>(); } }
public void Pickup() { m_CurrentInteractable = GetNearestInteractable(); if (!m_CurrentInteractable) { return; } HoldingSomething = true; if (m_CurrentInteractable.m_ActiveHand) { m_CurrentInteractable.m_ActiveHand.Drop(); } if (m_CurrentInteractable.gameObject.GetComponent <PartScript>() != null) { m_CurrentInteractable.gameObject.GetComponent <PartScript>().grabbedByHand = true; } if (m_CurrentInteractable.gameObject.GetComponent <HammerScript>() != null) { m_CurrentInteractable.gameObject.GetComponent <HammerScript>().InHand = true; } if (m_CurrentInteractable.gameObject.GetComponent <RestartCubeScript>() != null) { m_CurrentInteractable.gameObject.GetComponent <RestartCubeScript>().restart = true; } m_CurrentInteractable.transform.position = transform.position; Rigidbody targetBody = m_CurrentInteractable.GetComponent <Rigidbody>(); m_Joint.connectedBody = targetBody; m_CurrentInteractable.m_ActiveHand = this; }
// For cases where a larger collider hasn't been exited // and a smaller, overlapping collider has been entered and exited void OnTriggerStay2D(Collider2D col) { if (m_targetInteractible != null) { // Early return return; } if (col.tag == INTERACTABLE_TAG) { // Temp ======================== SpriteRenderer sr = col.GetComponent <SpriteRenderer>(); sr.color = Color.green; // ============================= if (GameMaster.CurrentGameState == GameState.Customization) { interactText.SetActive(false); } m_targetInteractible = col.GetComponent <InteractableScript>(); } }
public void BeginCombat() { InteractableScript name = GameObject.FindObjectOfType <InteractableScript>(); name.Menu(shipsInStack, shipsInStack.Length); }
public void SetInteractable(InteractableScript interactable) { currentInteractable = interactable; }
public void RemoveInteractable() { currentInteractable = null; }
void OnTriggerStay2D(Collider2D col) { float currentInteractiveDistance = Vector2.Distance( this.transform.position, col.gameObject.transform.position); if (closestInteractiveDistance == 0) { collided = col.gameObject.GetComponent<InteractableScript> (); } else if (currentInteractiveDistance < closestInteractiveDistance) { collided = col.gameObject.GetComponent<InteractableScript> (); } closestInteractiveDistance = Math.Max(lastClosestInteractiveDistance, currentInteractiveDistance); lastClosestInteractiveDistance = currentInteractiveDistance; }
void OnTriggerExit2D(Collider2D col) { collided = null; closestInteractiveDistance = 0f; }
//let the creators update the game manager about objects they've created so we can add it to our list public void ObjectWasCreated(InteractableScript spawn, bool tree) { spawn.Create (); objects.Add (spawn); Debug.Log ("Add " + spawn); if (tree) { ++trees; ++totalTrees; GameObject.Find ("TreeCreator").GetComponent<TreeCreatorScript> ().IncreaseLifeSpan (); } else { ++buildings; ++totalBuildings; GameObject.Find ("TreeCreator").GetComponent<TreeCreatorScript> ().DecreaseLifeSpan (); } }