static IEnumerator Co_Render() { CardPreviewPanel cpp = UIManager.Instance.ShowUIForms <CardPreviewPanel>(); Camera camera = cpp.CardPreviewCamera; float ori_FieldOfView = camera.fieldOfView; camera.fieldOfView = 36f; foreach (KeyValuePair <int, CardBase> kv in UIManager.Instance.GetBaseUIForm <SelectBuildPanel>().AllCards) { cpp?.ShowPreviewCardPanel(kv.Value, false); cpp?.HideOtherThingsExceptShowCard(); RenderTexture rt = new RenderTexture(Screen.width, Screen.height, 0); camera.targetTexture = rt; yield return(new WaitForSeconds(0.1f)); camera.Render(); yield return(new WaitForSeconds(0.1f)); RenderTexture.active = rt; Rect rect = new Rect(0, 0, Screen.width, Screen.height); Texture2D screenShot = new Texture2D((int)rect.width, (int)rect.height, TextureFormat.RGBA32, false); screenShot.ReadPixels(rect, 0, 0); screenShot.Apply(); camera.targetTexture = null; RenderTexture.active = null; Destroy(rt); yield return(new WaitForSeconds(0.1f)); byte[] bytes = screenShot.EncodeToPNG(); string filename = Application.dataPath + "/CardScreenShots/" + kv.Key + ".png"; System.IO.File.WriteAllBytes(filename, bytes); yield return(new WaitForSeconds(0.1f)); } camera.fieldOfView = ori_FieldOfView; }
void Update_Cards() { if (!IsInit) { return; } CardPreviewPanel previewPanel = UIManager.Instance.GetBaseUIForm <CardPreviewPanel>(); ConfirmPanel confirmPanel = UIManager.Instance.GetBaseUIForm <ConfirmPanel>(); BuildRenamePanel buildRenamePanel = UIManager.Instance.GetBaseUIForm <BuildRenamePanel>(); if (previewPanel != null && previewPanel.gameObject.activeInHierarchy) { return; } if (confirmPanel != null && confirmPanel.gameObject.activeInHierarchy) { return; } if (buildRenamePanel != null && buildRenamePanel.gameObject.activeInHierarchy) { return; } if (Input.GetMouseButtonDown(0)) { Ray ray = UIManager.Instance.UICamera.ScreenPointToRay(Input.mousePosition); RaycastHit raycast; Physics.Raycast(ray, out raycast, 500f, GameManager.Instance.Layer_Cards); if (raycast.collider) { CardBase card = raycast.collider.gameObject.GetComponent <CardBase>(); if (card) { mouseDownPosition = Input.mousePosition; mouseLeftDownCard = card; } } else { mouseRightDownCard = null; mouseLeftDownCard = null; } } if (Input.GetMouseButtonDown(1)) { Ray ray = UIManager.Instance.UICamera.ScreenPointToRay(Input.mousePosition); RaycastHit raycast; Physics.Raycast(ray, out raycast, 500f, GameManager.Instance.Layer_Cards); if (raycast.collider != null) { CardBase card = raycast.collider.gameObject.GetComponent <CardBase>(); if (card) { mouseDownPosition = Input.mousePosition; mouseRightDownCard = card; } } else { mouseRightDownCard = null; mouseLeftDownCard = null; } } if (Input.GetMouseButtonUp(0)) { Ray ray = UIManager.Instance.UICamera.ScreenPointToRay(Input.mousePosition); RaycastHit raycast; Physics.Raycast(ray, out raycast, 500f, GameManager.Instance.Layer_Cards); if (raycast.collider != null) { CardBase card = raycast.collider.gameObject.GetComponent <CardBase>(); if (card) { if ((Input.mousePosition - mouseDownPosition).magnitude < 50) { if (mouseLeftDownCard == card) { SelectCard(card, SelectCardMethods.CardClick); } } } } mouseLeftDownCard = null; mouseRightDownCard = null; } if (Input.GetMouseButtonUp(1)) { Ray ray = UIManager.Instance.UICamera.ScreenPointToRay(Input.mousePosition); RaycastHit raycast; Physics.Raycast(ray, out raycast, 500f, GameManager.Instance.Layer_Cards); if (raycast.collider != null) { CardBase card = raycast.collider.gameObject.GetComponent <CardBase>(); if (Input.GetMouseButtonUp(1)) { if (card && mouseRightDownCard == card) { if (CurrentEditBuildButton == null) { OnCreateNewBuildButtonClick(); NoticeManager.Instance.ShowInfoPanelCenter(LanguageManager.Instance.GetText("Notice_SelectBuildManagerSelect_DeckCreatedPleaseSelectCards"), 0f, 1f); } UIManager.Instance.ShowUIForms <CardPreviewPanel>().ShowPreviewCardPanel(card, IsReadOnly); } } } mouseLeftDownCard = null; mouseRightDownCard = null; } }