void Update() { /*if (Input.GetKeyDown("space")) * { * SaveLoad.Save(SaveCallBack); * GlobalData.loadGame = true; * * StartCoroutine("Fader"); * }*/ if (player.GetPlayer().moninv.IsEmpty()) { gameover.SetActive(true); gameObject.SetActive(false); } //use bools to make this section go off only if there's a change? bool shopisactive = (ShopMain.isActive() || MICollider.isActive() || InvCol.isActive() || BookControl.isActive()); shop.GetComponent <BoxCollider>().enabled = !shopisactive; fountain.GetComponent <BoxCollider>().enabled = !shopisactive; book.GetComponent <BoxCollider>().enabled = !shopisactive; adventure.GetComponent <BoxCollider>().enabled = !shopisactive; iteminv.GetComponent <BoxCollider>().enabled = !shopisactive; iteminv.GetComponent <SpriteRenderer>().enabled = !shopisactive; moninv.GetComponent <SpriteRenderer>().enabled = !shopisactive; moninv.GetComponent <BoxCollider>().enabled = !shopisactive; downtown.GetComponent <BoxCollider>().enabled = !shopisactive; menubut.SetActive(!shopisactive); //if (Input.GetKeyDown("space")) //print(go == go2); if (Input.touchCount == 1 && onehit) { if (!shopisactive) { // touch on screen if (Input.GetTouch(0).phase == TouchPhase.Began) { Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); RaycastHit hit = new RaycastHit(); moving = Physics.Raycast(ray, out hit); if (moving) { go = hit.transform.gameObject; //Debug.Log("Touch Detected on : " + go.name); } else { onehit = false; } } // release touch/dragging if ((Input.GetTouch(0).phase == TouchPhase.Ended || Input.GetTouch(0).phase == TouchPhase.Canceled || Input.touchCount != 1) && go != null && onehit) { Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); RaycastHit hit = new RaycastHit(); moving = Physics.Raycast(ray, out hit); if (moving) { go2 = hit.transform.gameObject; } moving = false; //Debug.Log("Touch Released from : " + go.name); if (go == shop && go == go2) { ShopMain.ShopSet(true); } else if (go == fountain && go == go2) { player.GetPlayer().moninv.HealAll(); if (canenter) { StartCoroutine("HealSprite"); } //play sound SaveLoad.Save(SaveCallBack); } else if (go == book && go == go2) { BookControl.BookSet(true); } else if (go == adventure && go == go2) { if (player.GetPlayer().moninv.HasAnActive()) { SaveLoad.Save(SaveCallBack); GlobalData.loadGame = true; //fader.color = Color.clear; //SceneManager.LoadScene("Adventure"); StartCoroutine("Fader", "Adventure"); } else { //you need at least one active monster to adventure! } } else if (go == iteminv && go == go2) { InvCol.SetActive(true); } else if (go == moninv && go == go2) { MICollider.SetActive(true); } else if (go == downtown && go == go2) { SaveLoad.Save(SaveCallBack); GlobalData.loadGame = true; StartCoroutine("Fader", "Downtown"); } } } } else { go = null; go2 = null; onehit = true; } }
// Update is called once per frame void Update() { //close.transform.position = closeplace; if (Input.touchCount == 1 && onehit) { // touch on screen if (Input.GetTouch(0).phase == TouchPhase.Began) { origpos = Input.GetTouch(0).position; //fingpos = origpos; temp3 = Camera.main.ScreenToWorldPoint(origpos); //temp2 = temp3; Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); RaycastHit hit = new RaycastHit(); moving = Physics.Raycast(ray, out hit); if (moving) { go = hit.transform.gameObject; } else { onehit = false; } } //temp1 = fingpos; fingpos = Input.GetTouch(0).position; temp2 = Camera.main.ScreenToWorldPoint(fingpos); //if (temp2.y != temp3.y) //add room for error if (go != close) { if (go == downbut) { temp1.y = Mathf.Lerp(transform.position.y, transform.position.y + 2, Time.deltaTime * 20); transform.position = temp1; } if (go == upbut) { temp1.y = Mathf.Lerp(transform.position.y, transform.position.y - 2, Time.deltaTime * 20); transform.position = temp1; } } // release touch/dragging if ((Input.GetTouch(0).phase == TouchPhase.Ended || Input.GetTouch(0).phase == TouchPhase.Canceled || Input.touchCount != 1) && go != null && onehit) { Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); RaycastHit hit = new RaycastHit(); moving = Physics.Raycast(ray, out hit); if (moving) { go2 = hit.transform.gameObject; moving = false; } if (go == close && go2 == close) { close.SetActive(false); upbut.SetActive(false); downbut.SetActive(false); BookControl.BookSet(false); } } } else { go = null; go2 = null; onehit = true; } }