private void LoadFromModel(InstanceTrailData trailData) { _instanceTrailData = trailData; _lengthSlider.Value = _instanceTrailData.Length; _widthSlider.Value = _instanceTrailData.Width; _whitestepSlider.Value = _instanceTrailData.WhiteStep; }
public void SetupTrailData() { if (GetCustomSaber(out var customsaber)) { return; } // TODO: Setup sf trail data _instanceTrailData = default; }
/// <summary> /// Creates an <see cref="InstanceTrailData"/> object /// with the correct trail transforms /// </summary> /// <param name="saberObject">The saber gameobject that the <see cref="CustomTrail"/> component is on</param> /// <param name="trailModel">The <see cref="TrailModel"/> to use</param> public void InitializeTrailData(GameObject saberObject, TrailModel trailModel) { if (trailModel is null) { return; } var trails = saberObject?.GetComponentsInChildren <CustomTrail>(); if (trails is null || trails.Length < 1) { return; } var saberTrail = trails[0]; if (trails.Length > 1) { SecondaryTrails = new List <CustomTrail>(); for (int i = 1; i < trails.Length; i++) { SecondaryTrails.Add(trails[i]); } } // if trail comes from the preset save system // the model comes without the material assigned // so we assign if (trailModel.Material is null) { trailModel.Material = new MaterialDescriptor(saberTrail.TrailMaterial); // set texture wrap mode if (trailModel.Material.Material.TryGetMainTexture(out var tex)) { trailModel.OriginalTextureWrapMode = tex.wrapMode; } } Transform pointStart = saberTrail.PointStart; Transform pointEnd = saberTrail.PointEnd; // Correction for sabers that have the transforms set up the other way around bool isTrailReversed = pointStart.localPosition.z > pointEnd.localPosition.z; if (isTrailReversed) { pointStart = saberTrail.PointEnd; pointEnd = saberTrail.PointStart; } InstanceTrailData = new InstanceTrailData(trailModel, pointStart, pointEnd, isTrailReversed); }
public TrailModel InitializeTrailData(GameObject saberObject, TrailModel trailModel) { var(data, model) = InstanceTrailData.FromCustomSaber(saberObject, trailModel); if (data == null || model == null) { return(null); } InstanceTrailData = data; return(model); }
public override void DidClose() { _instanceTrailData = null; _trailPreviewer.Destroy(); _editorInstanceManager.OnSaberInstanceCreated -= CreateTrail; }