Exemple #1
0
 public AUDIO_scription(AUDIO_scription main, AudioClip audio, string str, COMMAND_TYPE t) : base(str, t)
 {
     this._audio_name = main.audio_name;
     _audio           = audio;
 }
    public void start_Novel(string novel_name, int pos)
    {
        //スクリーンショット取得
        StartCoroutine(LoadScreenshot());
        //フロントスクリーン・バックスクリーンのロード
        FrontScreen = new NovelScreen(frontscreen_inspector);
        BackScreen  = new NovelScreen(backscreen_inspector);
        FrontScreen.gobj.SetActive(true);
        BackScreen.gobj.SetActive(false);

        if (skeltonsprite == null)
        {
            skeltonsprite = Resources.Load <Sprite>("stand/skelton");
        }

        //ノベルスクリプトの取得
        string path = "";

        if (Debug.isDebugBuild)
        {
            path += "/debug/";
        }
        else
        {
            path += "/compiled/";
        }
        StreamReader sr = new StreamReader(Application.streamingAssetsPath + path + novel_name, System.Text.Encoding.GetEncoding("utf-8"));

        text.color          = chara_color = Color_Parser("000000");
        characterText.color = Color_Parser("000000");
        namebox.gameObject.SetActive(false);
        PageChangeAnim.gameObject.SetActive(false);
        PageWaitAnim.gameObject.SetActive(false);
        back_log_Stage.gameObject.SetActive(false);
        back_log.text = "";
        anim_timer    = 0;

        Debug.Log("Scripter Start Call");

        string            temp;
        Encryption_Config ec = Resources.Load <Encryption_Config>("Prefab/Encryption");

        while (sr.Peek() != -1)
        {
            temp = ec.DecryptionSystem(sr.ReadLine(), false);
            Scription test = JsonUtility.FromJson <Scription>(temp);
            switch (test.type)
            {
            case COMMAND_TYPE.AUDIO_BGM:
            case COMMAND_TYPE.AUDIO_VOICE:
            case COMMAND_TYPE.AUDIO_SE:
            {
                AUDIO_scription audio = JsonUtility.FromJson <AUDIO_scription>(temp);
                scriptions.Add(new AUDIO_scription(audio, Resources.Load <AudioClip>(audio.audio_name), audio.text, audio.type));
            }
            break;

            case COMMAND_TYPE.BACKGROUND:
            case COMMAND_TYPE.BACKGROUND_IMAGE:
            {
                IMAGE_scription image = JsonUtility.FromJson <IMAGE_scription>(temp);
                scriptions.Add(new IMAGE_scription(image, Resources.Load <Sprite>(image.imagename), image.text, image.type));
            }
            break;

            case COMMAND_TYPE.STAND_IMAGE:
            {
                STAND_IMAGE_scription image = JsonUtility.FromJson <STAND_IMAGE_scription>(temp);
                scriptions.Add(new STAND_IMAGE_scription(image.place, image, Resources.Load <Sprite>(image.imagename), image.text, image.type));
            }
            break;

            case COMMAND_TYPE.COLOR:
            case COMMAND_TYPE.BACKGROUND_COLOR:
                scriptions.Add(JsonUtility.FromJson <COLOR_scription>(temp));
                break;

            case COMMAND_TYPE.NORMAL_TEXT:
            case COMMAND_TYPE.NORMAL_TEXT_CONTINUE:
                scriptions.Add(JsonUtility.FromJson <Text_scription>(temp));
                break;

            case COMMAND_TYPE.WAIT_B:
            case COMMAND_TYPE.WAIT_S:
            case COMMAND_TYPE.WAIT_W:
            case COMMAND_TYPE.WAIT:
                scriptions.Add(JsonUtility.FromJson <WAIT_scription>(temp));
                break;

            case COMMAND_TYPE.STAND_IMAGE_CLEAR:
                scriptions.Add(JsonUtility.FromJson <IMAGE_clear_scription>(temp));
                break;

            case COMMAND_TYPE.AUDIO_BGM_STOP:
            case COMMAND_TYPE.AUDIO_SE_STOP:
            case COMMAND_TYPE.AUDIO_VOICE_STOP:
            case COMMAND_TYPE.TEXTOFF:
            case COMMAND_TYPE.TEXTON:
                scriptions.Add(JsonUtility.FromJson <Scription>(temp));
                break;

            case COMMAND_TYPE.SETWINDOW:
                scriptions.Add(JsonUtility.FromJson <UI_IMAGE_scription>(temp));
                break;

            case COMMAND_TYPE.RETURN:
                scriptions.Add(JsonUtility.FromJson <Scription>(temp));
                break;
            }
        }
        reading_pos = pos;
        now         = scriptions[reading_pos];
        state       = NOVEL_STATUS.NEXT;
    }