Beispiel #1
0
 public TrailRecordInfo(TrailRecordConfig config)
 {
     this.Config   = config;
     this.MeshInfo = new SplineMeshInfo(config, mMeshModifier);
     tmo           = new TrailMeshObject();
     tmo.Init(config.Materials, config.Layer, config.SortingLayerName, config.SortingOrder);
 }
Beispiel #2
0
        void UpdateMeshObjectWithSpline2(TrailMeshObject tmo, MeshModifier meshModifier, NF.Collections.Generic.LinkedList <LineInfo> records, SplineMeshInfo meshInfo, TrailRecordConfig config)
        {
            int desireRecordFrameCount = Math.Min(records.Count, config.MaxPlayingRecordLength);

            if (desireRecordFrameCount < 2)
            {
                return;
            }

            var line = mSpliner.Refresh(records, desireRecordFrameCount);

            meshModifier.FillSplineVUC2(mSpliner, config.ColorStart, config.ColorEnd, ref meshInfo.mMeshInfo);
            tmo.UpdateMesh(line, 2, ref meshInfo.mMeshInfo);
        }
Beispiel #3
0
        public void Play(TrailRecordInfo recordInfo, int recordNum)
        {
            TrailMeshObject tmo = recordInfo.tmo;

            NF.Collections.Generic.LinkedList <LineInfo> records = recordInfo.RecordElements;
            SplineMeshInfo    meshInfo = recordInfo.MeshInfo;
            TrailRecordConfig config   = recordInfo.Config;

            switch (config.ELinePerVertexCount)
            {
            case TrailRecordConfig.E_LinePerVertexCount.TWO:
                UpdateMeshObjectWithSpline2(tmo, recordInfo.mMeshModifier, records, meshInfo, config);
                break;

            case TrailRecordConfig.E_LinePerVertexCount.THREE:
                UpdateMeshObjectWithSpline3(tmo, recordInfo.mMeshModifier, records, meshInfo, config);
                break;
            }
        }