/// <summary> /// 初期化 /// </summary> /// <param name="data">セーブデータ</param> /// <param name="index">インデックス</param> /// <param name="isSave">セーブ画面用ならtrue、ロード画面用ならfalse</param> public void Init(AdvSaveData data, int index, bool isSave) { ListViewItem listViewItem = this.GetComponent <ListViewItem>(); no.text = string.Format("No.{0,3}", index); if (data.IsSaved) { if (data.Type != AdvSaveData.SaveDataType.Auto) { //オートセーブにはテクスチャがない texture.Sprite = data.GetSprite(pixcelsToUnits); } text.text = data.Title; date.text = UtageToolKit.DateToStringJp(data.Date); listViewItem.IsEnableButton = true; } else { text.text = textEmpty; date.text = ""; listViewItem.IsEnableButton = isSave; } //オートセーブデータ if (data.Type == AdvSaveData.SaveDataType.Auto) { no.text = "Auto"; //セーブはできない if (isSave) { listViewItem.IsEnableButton = false; } } }
//各UIに値を反映 void LoadValues() { isInit = false; checkFullscreen.isOn = Config.IsFullScreen; checkMouseWheel.isOn = Config.IsMouseWheelSendMessage; checkSkipUnread.isOn = Config.IsSkipUnread; checkStopSkipInSelection.isOn = Config.IsStopSkipInSelection; sliderMessageSpeed.value = Config.MessageSpeed; sliderAutoBrPageSpeed.value = Config.AutoBrPageSpeed; sliderMessageWindowTransparency.value = Config.MessageWindowTransparency; sliderSoundMasterVolume.value = Config.SoundMasterVolume; sliderBgmVolume.value = Config.BgmVolume; sliderSeVolume.value = Config.SeVolume; sliderAmbienceVolume.value = Config.AmbienceVolume; sliderVoiceVolume.value = Config.VoiceVolume; radioButtonsVoiceStopType.CurrentIndex = (int)Config.VoiceStopType; //フルスクリーンやマウスホイールは、PC版のみの操作 if (!UtageToolKit.IsPlatformStandAloneOrEditor()) { checkFullscreen.gameObject.SetActive(false); checkMouseWheel.gameObject.SetActive(false); } isInit = true; }
void OnEndPage(AdvPage page) { if (page.CurrentData.IsEmptyText) { return; } AdvBacklog log = page.Engine.BacklogManager.LastLog; if (log == null) { return; } if (itemPrefab == null || targetRoot == null) { Debug.LogError("itemPrefab or targetRoot is null"); return; } if (logs.Count > 0 && logs.Count >= maxLog) { GameObject.Destroy(logs[0]); logs.RemoveAt(0); } GameObject go = UtageToolKit.AddChildPrefab(targetRoot, itemPrefab); go.SendMessage("OnInitData", log); go.transform.SetSiblingIndex(1); logs.Add(go); }
//セーブ用のスクショを撮る protected virtual Texture2D CaptureScreen() { Rect rect = LetterBoxCamera.CachedCamera.rect; int x = Mathf.CeilToInt(rect.x * Screen.width); int y = Mathf.CeilToInt(rect.y * Screen.height); int width = Mathf.FloorToInt(rect.width * Screen.width); int height = Mathf.FloorToInt(rect.height * Screen.height); return(UtageToolKit.CaptureScreen(new Rect(x, y, width, height))); }
//截取游戏画面 private Texture2D CaptureScreen() { Rect rect = this.LetterBoxCamera.CachedCamera.get_rect(); int num = Mathf.CeilToInt(rect.get_x() * Screen.get_width()); int num2 = Mathf.CeilToInt(rect.get_y() * Screen.get_height()); int num3 = Mathf.FloorToInt(rect.get_width() * Screen.get_width()); int num4 = Mathf.FloorToInt(rect.get_height() * Screen.get_height()); return(UtageToolKit.CaptureScreenFromLetterBoxCameras(this.CaptureCameras, new Rect((float)num, (float)num2, (float)num3, (float)num4))); }
public virtual void Refresh(bool isSave) { no.text = string.Format("No.{0,3}", index); if (data.IsSaved) { if (data.Type == AdvSaveData.SaveDataType.Auto || data.Texture == null) { if (data.Type == AdvSaveData.SaveDataType.Auto && autoSaveIcon != null) { //オートセーブ用のテクスチャ captureImage.texture = autoSaveIcon; captureImage.color = Color.white; } else { //テクスチャがない captureImage.texture = null; captureImage.color = Color.black; } } else { captureImage.texture = data.Texture; captureImage.color = Color.white; } text.text = data.Title; date.text = UtageToolKit.DateToStringJp(data.Date); button.interactable = true; } else { text.text = textEmpty; date.text = ""; button.interactable = isSave; } //オートセーブデータ if (data.Type == AdvSaveData.SaveDataType.Auto) { no.text = "Auto"; //セーブはできない if (isSave) { button.interactable = false; } } }
/// <summary> /// 初期化 /// </summary> /// <param name="data">バックログのデータ</param> /// <param name="target">サウンドボタン押されたときのメッセージ送信先</param> /// <param name="index">バックログのインデックス</param> void OnInitData(AdvBacklog data) { this.data = data; if (isMultiTextInPage) { float defaltHeight = this.text.rectTransform.rect.height; this.text.text = data.Text; float height = this.text.preferredHeight; (this.text.transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height); float baseH = (this.transform as RectTransform).rect.height; float scale = this.text.transform.lossyScale.y / this.transform.lossyScale.y; baseH += (height - defaltHeight) * scale; (this.transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, baseH); } else { this.text.text = data.Text; } characterName.text = data.MainCharacterNameText; int countVoice = data.CountVoice; if (countVoice <= 0) { soundIcon.SetActive(false); Button.interactable = false; } else { Button.onClick.AddListener(() => OnClicked(data.MainVoiceFileName)); if (countVoice > 2 || isMultiTextInPage) { UguiNovelTextEventTrigger trigger = UtageToolKit.GetComponentCreateIfMissing <UguiNovelTextEventTrigger>(text.gameObject); trigger.OnClick.AddListener((x) => OnClickHitArea(x, OnClicked)); } else { // Button.onClick.AddListener(() => ButtonClickedEvent(this, "")); } } }
//各UIに値を反映 void LoadValues() { isInit = false; if (checkFullscreen) { checkFullscreen.isOn = Config.IsFullScreen; } if (checkMouseWheel) { checkMouseWheel.isOn = Config.IsMouseWheelSendMessage; } if (checkSkipUnread) { checkSkipUnread.isOn = Config.IsSkipUnread; } if (checkStopSkipInSelection) { checkStopSkipInSelection.isOn = Config.IsStopSkipInSelection; } if (checkHideMessageWindowOnPlyaingVoice) { checkHideMessageWindowOnPlyaingVoice.isOn = Config.HideMessageWindowOnPlayingVoice; } if (sliderMessageSpeed) { sliderMessageSpeed.value = Config.MessageSpeed; } if (sliderMessageSpeedRead) { sliderMessageSpeed.value = Config.MessageSpeed; } if (sliderAutoBrPageSpeed) { sliderAutoBrPageSpeed.value = Config.AutoBrPageSpeed; } if (sliderMessageWindowTransparency) { sliderMessageWindowTransparency.value = Config.MessageWindowTransparency; } if (sliderSoundMasterVolume) { sliderSoundMasterVolume.value = Config.SoundMasterVolume; } if (sliderBgmVolume) { sliderBgmVolume.value = Config.BgmVolume; } if (sliderSeVolume) { sliderSeVolume.value = Config.SeVolume; } if (sliderAmbienceVolume) { sliderAmbienceVolume.value = Config.AmbienceVolume; } if (sliderVoiceVolume) { sliderVoiceVolume.value = Config.VoiceVolume; } if (radioButtonsVoiceStopType) { radioButtonsVoiceStopType.CurrentIndex = (int)Config.VoiceStopType; } //サブマスターボリュームの設定 foreach (var item in tagedMasterVolumSliders) { if (string.IsNullOrEmpty(item.tag) || item.volumeSlider == null) { continue; } float volume; if (Config.TryGetTaggedMasterVolume(item.tag, out volume)) { item.volumeSlider.value = volume; } } //フルスクリーンやマウスホイールは、PC版のみの操作 if (!UtageToolKit.IsPlatformStandAloneOrEditor()) { if (checkFullscreen) { checkFullscreen.gameObject.SetActive(false); } if (checkMouseWheel) { checkMouseWheel.gameObject.SetActive(false); } } isInit = true; }