KITASENJU DESIGN BLOG

memo, html, javascript, unity

.pcache parser

simple point cache file(.pcache) parser

using UnityEngine;
using System;

public class PCacheParser
{

    public static Vector3[] Parse(string text, int elements){

        string str = text;
        string[] splitStr = {"end_header"};
        string[] ary =  str.Split(splitStr, StringSplitOptions.None);

        var suuji = ary[1];

        string[] brStr = {"\n"};
        string[] lines =  suuji.Split(brStr, StringSplitOptions.None);

        Debug.Log("line " + lines.Length + " " + elements);
        if(elements>=lines.Length-2)elements = lines.Length-2;

        var positions = new Vector3[elements];
        for(int i=0;i<elements;i++){
            var s = lines[i+1];
            string[] space = {" "};
            string[] values =  s.Split(space, StringSplitOptions.None);
            
            positions[i] = new Vector3(
                float.Parse(values[0]),
                float.Parse(values[1]),
                float.Parse(values[2])
            );
            
        }

        return positions;

    }

}

"FOOTER"