コード例 #1
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var lookupstruct = Export.GetProperty <StructProperty>("LookupTrack");

            if (lookupstruct != null)
            {
                var trackKeys = lookupstruct.GetProp <ArrayProperty <StructProperty> >("Points"); //on lookuptrack

                var posTrack = Export.GetProperty <StructProperty>("PosTrack");
                ArrayProperty <StructProperty> points = posTrack?.GetProp <ArrayProperty <StructProperty> >("Points");
                if (trackKeys != null)
                {
                    int keyindex = 0;
                    foreach (var trackKey in trackKeys)
                    {
                        string tooltip = null;
                        if (points != null && points.Count > keyindex)
                        {
                            StructProperty vector = points[keyindex].GetProp <StructProperty>("OutVal");
                            var            point  = SharedPathfinding.GetLocationFromVector(vector);
                            tooltip = $"X={point.X},Y={point.Y},Z={point.Z}";
                        }

                        var time = trackKey.GetProp <FloatProperty>("Time");
                        Debug.WriteLine(time.Value);
                        Keys.Add(new Key(time, tooltip));
                        keyindex++;
                    }
                }
            }
        }
コード例 #2
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var vectorTrackProp = Export.GetProperty <StructProperty>("VectorTrack");
            var sounds          = Export.GetProperty <ArrayProperty <StructProperty> >("Sounds");

            if (vectorTrackProp != null)
            {
                int keyindex = 0;
                var points   = vectorTrackProp.GetPropOrDefault <ArrayProperty <StructProperty> >("Points");
                foreach (var curvePoint in points)
                {
                    int?   soundUIndex = sounds?.Count > keyindex ? sounds?[keyindex].GetProp <ObjectProperty>("Sound")?.Value : null;
                    string tooltip     = null;
                    if (soundUIndex.HasValue && Export.FileRef.TryGetEntry(soundUIndex.Value, out var entry))
                    {
                        tooltip += "Sound: " + entry.FullPath;
                        tooltip += "\nVolume: " + sounds?[keyindex].GetProp <FloatProperty>("Volume")?.Value;
                        tooltip += "\nPitch: " + sounds?[keyindex].GetProp <FloatProperty>("Pitch")?.Value;
                        tooltip += "\nLength: " + sounds?[keyindex].GetProp <FloatProperty>("Time")?.Value;
                    }
                    Keys.Add(new Key(curvePoint.GetProp <FloatProperty>("InVal"), tooltip));
                    keyindex++;
                }
            }
        }
コード例 #3
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var trackKeys = Export.GetProperty <ArrayProperty <StructProperty> >("m_aTrackKeys");

            if (trackKeys != null)
            {
                foreach (var trackKey in trackKeys)
                {
                    Keys.Add(new Key(trackKey.GetProp <FloatProperty>("fTime")));
                }
            }
        }
コード例 #4
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var trackKeys = Export.GetProperty <ArrayProperty <StructProperty> >("CutTrack");

            if (trackKeys != null)
            {
                foreach (var trackKey in trackKeys)
                {
                    Keys.Add(new Key(trackKey.GetProp <FloatProperty>("Time"), trackKey.GetProp <NameProperty>("TargetCamGroup").Value.Name));
                }
            }
        }
コード例 #5
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var trackKeys = Export.GetProperty <ArrayProperty <StructProperty> >("FaceFXSeqs");

            if (trackKeys != null)
            {
                foreach (StructProperty trackKey in trackKeys)
                {
                    Keys.Add(new Key(trackKey.GetProp <FloatProperty>("StartTime"), trackKey.GetProp <StrProperty>("FaceFXSeqName")?.Value));
                }
            }
        }
コード例 #6
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var floatTrackProp = Export.GetProperty <StructProperty>("FloatTrack");

            if (floatTrackProp != null)
            {
                foreach (var curvePoint in floatTrackProp.GetPropOrDefault <ArrayProperty <StructProperty> >("Points"))
                {
                    Keys.Add(new Key(curvePoint.GetProp <FloatProperty>("InVal"), curvePoint.GetProp <FloatProperty>("OutVal").Value.ToString()));
                }
            }
        }
コード例 #7
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var vectorTrackProp = Export.GetProperty <StructProperty>("VectorTrack");

            if (vectorTrackProp != null)
            {
                foreach (var curvePoint in vectorTrackProp.GetPropOrDefault <ArrayProperty <StructProperty> >("Points"))
                {
                    var outval = SharedPathfinding.GetLocationFromVector(curvePoint.GetProp <StructProperty>("OutVal")); //gets X Y Z
                    Keys.Add(new Key(curvePoint.GetProp <FloatProperty>("InVal"), $"X={outval.X},Y={outval.Y},Z={outval.Z}"));
                }
            }
        }
コード例 #8
0
        public override void LoadTrack()
        {
            Keys.ClearEx();
            var trackKeys    = Export.GetProperty <ArrayProperty <StructProperty> >("m_aTrackKeys");
            var subtitleData = Export.GetProperty <ArrayProperty <StructProperty> >("m_aSubtitleData");

            if (trackKeys != null)
            {
                int keyindex = 0;
                foreach (var trackKey in trackKeys)
                {
                    int strRef = subtitleData?[keyindex]?.GetProp <IntProperty>("nStrRefID");
                    Keys.Add(new Key(trackKey.GetProp <FloatProperty>("fTime"), ME1TalkFiles.findDataById(strRef, Export.FileRef)));
                }
            }
        }