Ejemplo n.º 1
0
    void Update()
    {
        /*
         * RaycastHit2D hit = Physics2D.Raycast(new Vector2(Camera.main.ScreenToWorldPoint(Input.mousePosition).x,Camera.main.ScreenToWorldPoint(Input.mousePosition).y), Vector3.forward, Mathf.Infinity);
         * if (hit){
         *
         * }
         */
        if (Input.GetMouseButtonDown(0))
        {
            ElevatorPos elevatorPos = TouchToElevatorPos(Input.mousePosition);
            if (elevatorPos.ID != -1 && !FindElevator(elevatorPos.ID).Frozen)
            {
                FindElevator(elevatorPos.ID).TargetFloor = elevatorPos.Floor;
            }
        }

        if ((Input.touchCount > 0) && (Input.GetTouch(0).phase == TouchPhase.Began))
        {
            ElevatorPos elevatorPos = TouchToElevatorPos(Input.GetTouch(0).position);
            if (elevatorPos.ID != -1 && !FindElevator(elevatorPos.ID).Frozen)
            {
                FindElevator(elevatorPos.ID).TargetFloor = elevatorPos.Floor;
            }

            /*
             * Ray raycast = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
             * RaycastHit raycastHit;
             * if (Physics.Raycast(raycast, out raycastHit))
             * {
             *      if (raycastHit.collider.CompareTag("Elevator"))
             *      {
             *              Debug.Log("Elevator clicked");
             *      }
             * }
             */
        }
    }
Ejemplo n.º 2
0
    public ElevatorPos TouchToElevatorPos(Vector2 pos)
    {
        Vector3 worldPos = Camera.main.ScreenToWorldPoint(pos);

        Debug.Log(worldPos + " - " + pos);
        ElevatorPos elevatorPos = new ElevatorPos(-1, -1);

        for (int i = 0; i < Elevators.Count; i++)
        {
            if (worldPos.x >= Elevators[i].ScreenPosRange.x && worldPos.x < Elevators[i].ScreenPosRange.y)
            {
                elevatorPos.ID = Elevators [i].ID;
            }
        }

        elevatorPos.Floor = Mathf.CeilToInt((worldPos.y - FloorStartY) / FloorHeight);

        if (elevatorPos.Floor < 1)
        {
            elevatorPos.Floor = 1;
        }
        return(elevatorPos);
    }
Ejemplo n.º 3
0
 public override int GetHashCode()
 {
     return(ElevatorPos.GetHashCode() ^ Items.GetHashCode());
 }