コード例 #1
0
    public static void FSaveSet(DATA_RP_Set set)
    {
        string sPath = Application.dataPath + "/FILE_IO/PitchAndCatch/" + set.mName + ".txt";

        StreamWriter sw = new StreamWriter(sPath);

        sw.WriteLine("SET FOR PITCH AND CATCH");
        sw.WriteLine("NAME");
        sw.WriteLine(set.mName);
        sw.WriteLine("THROW TIME");
        sw.WriteLine(set.mTimeToThrow);
        sw.WriteLine("PC SPOT");
        sw.WriteLine(UT_Strings.FConvertVecToString(set.mPCSpot));
        sw.WriteLine("RECEIVER DATA");
        sw.WriteLine(set.mReceiverData.Count);
        for (int i = 0; i < set.mReceiverData.Count; i++)
        {
            sw.WriteLine(set.mReceiverData[i].mTag);
            sw.WriteLine(set.mReceiverData[i].mRoute);
            sw.WriteLine(UT_Strings.FConvertVecToString(set.mReceiverData[i].mStartPos));
        }
        sw.WriteLine("RING DATA");
        sw.WriteLine(set.mRingData.Count);
        foreach (DATA_RP_Ring r in set.mRingData)
        {
            sw.WriteLine(r.mTag);
            sw.WriteLine(UT_Strings.FConvertVecToString(r.mScale));
            sw.WriteLine(UT_Strings.FConvertVecToString(r.mDir));
            sw.WriteLine(UT_Strings.FConvertVecToString(r.mStartPos));
        }

        sw.Close();
    }
コード例 #2
0
    public static DATA_RP_Set FLoadSet(string sName)
    {
        string sPath = Application.dataPath + "/FILE_IO/PitchAndCatch/" + sName + ".txt";

        string[] sLines = System.IO.File.ReadAllLines(sPath);

        DATA_RP_Set s = new DATA_RP_Set();

        s.mReceiverData = new List <DATA_RP_Receiver>();
        s.mRingData     = new List <DATA_RP_Ring>();
        for (int i = 0; i < sLines.Length; i++)
        {
            if (sLines[i].Contains("NAME"))
            {
                s.mName = sLines[i + 1];
            }
            if (sLines[i].Contains("THROW"))
            {
                s.mTimeToThrow = float.Parse(sLines[i + 1]);
            }
            if (sLines[i].Contains("PC"))
            {
                s.mPCSpot = UT_Strings.FGetVec3FromString(sLines[i + 1]);
            }
            if (sLines[i].Contains("RECEIVER"))
            {
                int num = int.Parse(sLines[i + 1]);
                int ind = i + 2;
                for (int j = 0; j < num; j++)
                {
                    DATA_RP_Receiver r = new DATA_RP_Receiver();
                    r.mTag      = sLines[ind++];
                    r.mRoute    = sLines[ind++];
                    r.mStartPos = UT_Strings.FGetVec3FromString(sLines[ind++]);
                    s.mReceiverData.Add(r);
                }
            }
            if (sLines[i].Contains("RING"))
            {
                int num = int.Parse(sLines[i + 1]);
                int ind = i + 2;
                for (int j = 0; j < num; j++)
                {
                    DATA_RP_Ring r = new DATA_RP_Ring();
                    r.mTag      = sLines[ind++];
                    r.mScale    = UT_Strings.FGetVec3FromString(sLines[ind++]);
                    r.mDir      = UT_Strings.FGetVec3FromString(sLines[ind++]);
                    r.mStartPos = UT_Strings.FGetVec3FromString(sLines[ind++]);
                    s.mRingData.Add(r);
                }
            }
        }

        return(s);
    }