Esempio n. 1
0
    /// <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;
            }
        }
    }
Esempio n. 2
0
    //各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;
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    //セーブ用のスクショを撮る
    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)));
    }
Esempio n. 6
0
    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;
            }
        }
    }
Esempio n. 7
0
    /// <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, ""));
            }
        }
    }
Esempio n. 8
0
    //各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;
    }