// Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            ray = mainCamera.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, Mathf.Infinity))
            {
                GameObject game = hit.collider.gameObject;

                ItemAcceptor item = game.GetComponent <ItemAcceptor>();
                if (item != null)
                {
                    Visit(item);
                }

                DoorAcceptor door = game.GetComponent <DoorAcceptor>();
                if (door != null)
                {
                    Visit(door);
                }

                ActorAcceptor actor = game.GetComponent <ActorAcceptor>();
                if (actor != null)
                {
                    Visit(actor);
                }
            }
        }
    }
 public override void Visit(ActorAcceptor acceptor)
 {
     acceptor.Accept(this);
     Debug.Log("会話モードへ移行する処理");
 }
Exemplo n.º 3
0
 public abstract void Visit(ActorAcceptor acceptor);