Esempio n. 1
0
    // 截取中心图片
    IEnumerator MakeFounedImage()
    {
        HomeCamera.fieldOfView   = ARCamera.fieldOfView;
        HomeCamera.farClipPlane  = ARCamera.farClipPlane;
        HomeCamera.nearClipPlane = ARCamera.nearClipPlane;
        HomeCamera.depth         = ARCamera.depth;

        yield return(new WaitForEndOfFrame());

        var pos = ARCamera.WorldToScreenPoint(FoundedImage.transform.position);
        //Rect mRect = new Rect(new Vector2(pos.x - FoundedImage.rectTransform.rect.size.x / 2,
        //    pos.y - FoundedImage.rectTransform.rect.size.y / 2),
        //    new Vector2((int)FoundedImage.rectTransform.rect.width,
        //    (int)FoundedImage.rectTransform.rect.height));
        Rect mRect    = new Rect(0, (int)pos.y - Display.main.systemWidth / 2.0f, Display.main.systemWidth, Display.main.systemWidth);
        var  mTexture = new Texture2D((int)mRect.width, (int)mRect.height);
        var  rt       = new RenderTexture((int)Display.main.systemWidth, (int)Display.main.systemHeight, (int)ARCamera.depth);
        var  yt       = HomeCamera.targetTexture;

        HomeCamera.targetTexture = rt;
        RenderTexture.active     = rt;

        HomeCamera.Render();
        mTexture.ReadPixels(mRect, 0, 0);
        mTexture.Apply();
        FoundedImage.sprite = Sprite.Create(mTexture, new Rect(new Vector2(0, 0), mRect.size), new Vector2(0.5f, 0.5f));
        transform.parent.Find("RecognizeHandleCanvas").gameObject.GetComponent <RecognizeHandleViewController>().ScanningImage.transform.Find("foundedImage").GetComponent <UnityEngine.UI.Image>().sprite = FoundedImage.sprite;
        RenderTexture.active     = null;
        HomeCamera.targetTexture = null;
        GameObject.Destroy(rt);
        HomeCamera.targetTexture = yt;
        HomeCamera.gameObject.SetActive(false);
        gameObject.SetActive(false);
    }
Esempio n. 2
0
 private void OnTap(InputManager.TouchInfo info)
 {
     //IL_00a7: Unknown result type (might be due to invalid IL or missing references)
     //IL_00d2: Unknown result type (might be due to invalid IL or missing references)
     //IL_00d7: Unknown result type (might be due to invalid IL or missing references)
     //IL_00dc: Unknown result type (might be due to invalid IL or missing references)
     //IL_00e1: Unknown result type (might be due to invalid IL or missing references)
     //IL_00e2: Unknown result type (might be due to invalid IL or missing references)
     //IL_00fb: Unknown result type (might be due to invalid IL or missing references)
     //IL_0108: Unknown result type (might be due to invalid IL or missing references)
     if (IsEnableControl())
     {
         HomeCamera homeCamera = null;
         if (MonoBehaviourSingleton <HomeManager> .IsValid())
         {
             homeCamera = MonoBehaviourSingleton <HomeManager> .I.HomeCamera;
         }
         else if (MonoBehaviourSingleton <LoungeManager> .IsValid())
         {
             homeCamera = MonoBehaviourSingleton <LoungeManager> .I.HomeCamera;
         }
         else if (MonoBehaviourSingleton <GuildStageManager> .IsValid())
         {
             homeCamera = MonoBehaviourSingleton <GuildStageManager> .I.HomeCamera;
         }
         if (homeCamera.viewMode == HomeCamera.VIEW_MODE.NORMAL)
         {
             HomeCharacterBase   homeCharacterBase   = null;
             HomeStageTouchEvent homeStageTouchEvent = null;
             if (targetEvent != null)
             {
                 targetEvent.DispatchEvent();
             }
             else if (targetChara != null)
             {
                 homeCharacterBase = targetChara;
             }
             else
             {
                 Ray val = default(Ray);
                 if (MonoBehaviourSingleton <HomeManager> .IsValid() || MonoBehaviourSingleton <LoungeManager> .IsValid() || MonoBehaviourSingleton <GuildStageManager> .IsValid())
                 {
                     val = homeCamera.targetCamera.ScreenPointToRay(Vector2.op_Implicit(info.position));
                 }
                 RaycastHit val2 = default(RaycastHit);
                 if (Physics.Raycast(val, ref val2, 100f, 259))
                 {
                     homeCharacterBase   = val2.get_transform().GetComponent <HomeCharacterBase>();
                     homeStageTouchEvent = val2.get_transform().GetComponent <HomeStageTouchEvent>();
                 }
             }
             if (homeCharacterBase != null)
             {
                 if (MonoBehaviourSingleton <GameSceneManager> .I.IsEventExecutionPossible())
                 {
                     if (homeCharacterBase is HomeNPCCharacter)
                     {
                         lastTargetNPCID = ((HomeNPCCharacter)homeCharacterBase).npcInfo.npcID;
                     }
                     else
                     {
                         lastTargetNPCID = 0;
                     }
                     if (homeCharacterBase.DispatchEvent())
                     {
                         homeCharacterBase.StopMoving();
                     }
                 }
             }
             else if (homeStageTouchEvent != null)
             {
                 homeStageTouchEvent.DispatchEvent();
             }
         }
     }
 }