void PC_Update() { if (Input.GetMouseButton(0)) { Vector2 mousePos = Input.mousePosition; Vector2 mouseDeltaPos = mousePos - previousPos; if (Input.GetMouseButtonDown(0)) { clicked_object = click.Click(mousePos); if (clicked_object.isClicked) { clicked_object.clicked_object.SendMessage("BeginClick", SendMessageOptions.DontRequireReceiver); clicking = true; if (clicked_object.clicked_object.tag == "GameplayObjects") clicking = false; } else { clicking = false; } } previousPos = mousePos; /* * clicked_object = click.Click(touches[0].position); if (clicked_object.isClicked) { clicked_object.clicked_object.SendMessage("BeginClick",SendMessageOptions.DontRequireReceiver); clicking = true; } else //move map { if (CheckMovePosition(touches[0].position)) ChangeCameraPosition(touches[0].deltaPosition); clicking = false; } */ } if (Input.GetMouseButtonUp(0)) { Vector2 mousePos = Input.mousePosition; Vector2 mouseDeltaPos = mousePos - previousPos; if (clicking && clicked_object.clicked_object == click.Click(mousePos).clicked_object) { clicked_object.clicked_object.SendMessage("EndClick", SendMessageOptions.DontRequireReceiver); clicking = false; } clicking = false; previousPos = mousePos; /* if (clicking && clicked_object.clicked_object == click.Click(touches[0].position).clicked_object) { clicked_object.clicked_object.SendMessage("EndClick", SendMessageOptions.DontRequireReceiver); clicking = false; } else if (!clicking) //move map { if (CheckMovePosition(touches[0].position)) ChangeCameraPosition(touches[0].deltaPosition); } */ } }
// Update is called once per frame void Update() { if (pc_controls) PC_Update(); Touch[] touches = Input.touches; if (!camera_mover.moving) { foreach (Touch touch in touches) { switch (touch.phase) { case TouchPhase.Began: clicked_object = click.Click(touch.position); if (clicked_object.isClicked) { clicked_object.clicked_object.SendMessage("BeginClick",SendMessageOptions.DontRequireReceiver); clicking = true; if (clicked_object.clicked_object.tag == "GameplayObjects") clicking = false; } else { clicking = false; } break; case TouchPhase.Moved: case TouchPhase.Stationary: if (clicking && clicked_object.clicked_object.name != click.Click(touch.position).clicked_object.name) { clicked_object.clicked_object.SendMessage("CanceledClick",SendMessageOptions.DontRequireReceiver); clicking = false; } break; case TouchPhase.Ended: if (clicking && clicked_object.clicked_object == click.Click(touch.position).clicked_object) { clicked_object.clicked_object.SendMessage("EndClick",SendMessageOptions.DontRequireReceiver); clicking = false; } break; default: break; } } } }