重构inspector!
This commit is contained in:
@@ -78,33 +78,28 @@ namespace Ichni.RhythmGame
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
base.SetUpInspector();
|
||||
var container = inspector.GenerateContainer("Base Color Change");
|
||||
var colorRButton = inspector.GenerateButton(this, container, "Color R",
|
||||
() =>
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var colorRButton = inspector.GenerateButton(this, subcontainer, "Color R", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color R", nameof(colorR)).SetAsFlexibleFloat();
|
||||
});
|
||||
var colorGButton = inspector.GenerateButton(this, container, "Color G",
|
||||
() =>
|
||||
var colorGButton = inspector.GenerateButton(this, subcontainer, "Color G", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color G", nameof(colorG)).SetAsFlexibleFloat();
|
||||
});
|
||||
var colorBButton = inspector.GenerateButton(this, container, "Color B",
|
||||
() =>
|
||||
var colorBButton = inspector.GenerateButton(this, subcontainer, "Color B", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color B", nameof(colorB)).SetAsFlexibleFloat();
|
||||
});
|
||||
var colorAButton = inspector.GenerateButton(this, container, "Color A",
|
||||
() =>
|
||||
var colorAButton = inspector.GenerateButton(this, subcontainer, "Color A", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color A", nameof(colorA)).SetAsFlexibleFloat();
|
||||
});
|
||||
var graphicEditor = inspector.GenerateButton(this, container, "GraphicEditor",
|
||||
() =>
|
||||
var graphicEditor = inspector.GenerateButton(this, subcontainer, "GraphicEditor", () =>
|
||||
{
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Displacement",
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Base Color",
|
||||
new FlexibleFloat[] { colorR, colorG, colorB, colorA }, new string[] { "R", "G", "B", "A" });
|
||||
});
|
||||
container.SetDeviver(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Ichni.Editor;
|
||||
using Ichni.RhythmGame.Beatmap;
|
||||
using Lean.Pool;
|
||||
using UnityEngine;
|
||||
@@ -81,6 +82,35 @@ namespace Ichni.RhythmGame
|
||||
matchedBM = new EmissionColorChange_BM(elementName, elementGuid, tags, animatedObject.matchedBM as GameElement_BM,
|
||||
colorR.ConvertToBM(), colorG.ConvertToBM(), colorB.ConvertToBM(), colorI.ConvertToBM());
|
||||
}
|
||||
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
base.SetUpInspector();
|
||||
var container = inspector.GenerateContainer("Base Color Change");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var colorRButton = inspector.GenerateButton(this, subcontainer, "Color R", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color R", nameof(colorR)).SetAsFlexibleFloat();
|
||||
});
|
||||
var colorGButton = inspector.GenerateButton(this, subcontainer, "Color G", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color G", nameof(colorG)).SetAsFlexibleFloat();
|
||||
});
|
||||
var colorBButton = inspector.GenerateButton(this, subcontainer, "Color B", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color B", nameof(colorB)).SetAsFlexibleFloat();
|
||||
});
|
||||
var colorAButton = inspector.GenerateButton(this, subcontainer, "Color A", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Color I", nameof(colorI)).SetAsFlexibleFloat();
|
||||
});
|
||||
var graphicEditor = inspector.GenerateButton(this, subcontainer, "GraphicEditor", () =>
|
||||
{
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Emission Color",
|
||||
new FlexibleFloat[] { colorR, colorG, colorB, colorI }, new string[] { "R", "G", "B", "I" });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
namespace Beatmap
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Ichni.Editor;
|
||||
using Ichni.RhythmGame.Beatmap;
|
||||
using Lean.Pool;
|
||||
using UnityEngine;
|
||||
@@ -58,6 +59,18 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
matchedBM = new TrackTotalTimeChange_BM(elementName, elementGuid, tags, animatedObject.matchedBM as Track_BM, totalTime.ConvertToBM());
|
||||
}
|
||||
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
base.SetUpInspector();
|
||||
var container = inspector.GenerateContainer("Displacement");
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var positionXButton = inspector.GenerateButton(this, subcontainer, "Total Time", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Total Time", nameof(totalTime)).SetAsFlexibleFloat();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
namespace Beatmap
|
||||
|
||||
@@ -82,28 +82,24 @@ namespace Ichni.RhythmGame
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
base.SetUpInspector();
|
||||
var container = inspector.GenerateContainer("Displacement");
|
||||
var positionXButton = inspector.GenerateButton(this, container, "Position X",
|
||||
() =>
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var positionXButton = inspector.GenerateButton(this, subcontainer, "Position X", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Position X", nameof(positionX)).SetAsFlexibleFloat();
|
||||
});
|
||||
var positionYButton = inspector.GenerateButton(this, container, "Position Y",
|
||||
() =>
|
||||
var positionYButton = inspector.GenerateButton(this, subcontainer, "Position Y", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Position Y", nameof(positionY)).SetAsFlexibleFloat();
|
||||
});
|
||||
var positionZButton = inspector.GenerateButton(this, container, "Position Z",
|
||||
() =>
|
||||
var positionZButton = inspector.GenerateButton(this, subcontainer, "Position Z", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Position Z", nameof(positionZ)).SetAsFlexibleFloat();
|
||||
});
|
||||
var graphicEditor = inspector.GenerateButton(this, container, "GraphicEditor",
|
||||
() =>
|
||||
var graphicEditor = inspector.GenerateButton(this, subcontainer, "GraphicEditor", () =>
|
||||
{
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Displacement",
|
||||
new FlexibleFloat[] { positionX, positionY, positionZ }, new string[] { "PosX", "PosY", "PosZ" });
|
||||
});
|
||||
container.SetDeviver(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Ichni.Editor;
|
||||
using Ichni.RhythmGame.Beatmap;
|
||||
using Lean.Pool;
|
||||
using UnityEngine;
|
||||
@@ -13,6 +15,7 @@ namespace Ichni.RhythmGame
|
||||
/// </summary>
|
||||
public partial class LookAt : AnimationBase
|
||||
{
|
||||
public GameElement targetGameElement;
|
||||
public TransformSubmodule targetTransformSubmodule;
|
||||
public GameElement lookAtObject;
|
||||
public FlexibleBool enabling;
|
||||
@@ -30,6 +33,7 @@ namespace Ichni.RhythmGame
|
||||
look.enabling = enabling;
|
||||
look.animationReturnType = FlexibleReturnType.Before;
|
||||
|
||||
look.targetGameElement = lookAtTarget;
|
||||
look.targetTransformSubmodule = (animatedObject as IHaveTransformSubmodule).transformSubmodule;
|
||||
|
||||
|
||||
@@ -77,6 +81,41 @@ namespace Ichni.RhythmGame
|
||||
}
|
||||
}
|
||||
|
||||
public partial class LookAt
|
||||
{
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||
|
||||
var container = inspector.GenerateContainer("Enable Control");
|
||||
var effectSettings = container.GenerateSubcontainer(3);
|
||||
var connectedGameElementInputField = inspector.GenerateInputField(effectSettings, "Game Element Name");
|
||||
var connectGameElementButton = inspector.GenerateButton(this, effectSettings, "Connect Game Element", () =>
|
||||
{
|
||||
GameElement targetElement = EditorManager.instance.beatmapContainer.gameElementList
|
||||
.First(e => e.elementName == connectedGameElementInputField.GetValue<string>());
|
||||
|
||||
if (targetElement == null)
|
||||
{
|
||||
LogWindow.Log("Game Element not found.", Color.red);
|
||||
}
|
||||
|
||||
targetGameElement = targetElement;
|
||||
targetTransformSubmodule = (targetElement as IHaveTransformSubmodule).transformSubmodule;
|
||||
|
||||
inspectorMain.SetInspector(this);
|
||||
});
|
||||
string ShowConnection() => targetGameElement == null ? "No Game Element Connected" : "Connected With: " + targetGameElement.elementName;
|
||||
var connectHintText = inspector.GenerateHintText(this, effectSettings, ShowConnection);
|
||||
|
||||
var enablingButton = inspector.GenerateButton(this, effectSettings, "Enabling", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Enabling", nameof(enabling)).SetAsFlexibleBool();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
namespace Beatmap
|
||||
{
|
||||
public class LookAt_BM : GameElement_BM
|
||||
|
||||
@@ -82,34 +82,25 @@ namespace Ichni.RhythmGame
|
||||
base.SetUpInspector();
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Scale");
|
||||
|
||||
var scaleXButton = inspector.GenerateButton(this, container, "Scale X",
|
||||
() =>
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var scaleXButton = inspector.GenerateButton(this, subcontainer, "Scale X", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Scale X", nameof(scaleX)).SetAsFlexibleFloat();
|
||||
});
|
||||
|
||||
var scaleYButton = inspector.GenerateButton(this, container, "Scale Y",
|
||||
() =>
|
||||
var scaleYButton = inspector.GenerateButton(this, subcontainer, "Scale Y", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Scale Y", nameof(scaleY)).SetAsFlexibleFloat();
|
||||
});
|
||||
|
||||
var scaleZButton = inspector.GenerateButton(this, container, "Scale Z",
|
||||
() =>
|
||||
var scaleZButton = inspector.GenerateButton(this, subcontainer, "Scale Z", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Scale Z", nameof(scaleZ)).SetAsFlexibleFloat();
|
||||
});
|
||||
|
||||
var graphicEditor = inspector.GenerateButton(this, container, "GraphicEditor",
|
||||
() =>
|
||||
var graphicEditor = inspector.GenerateButton(this, subcontainer, "GraphicEditor", () =>
|
||||
{
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Displacement",
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Scale",
|
||||
new FlexibleFloat[] { scaleX, scaleY, scaleZ },
|
||||
new string[] { "ScaleX", "ScaleY", "ScaleZ" });
|
||||
});
|
||||
|
||||
container.SetDeviver(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -82,32 +82,25 @@ namespace Ichni.RhythmGame
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Swirl");
|
||||
|
||||
var eulerAngleXButton = inspector.GenerateButton(this, container, "Euler Angle X",
|
||||
() =>
|
||||
var subcontainer = container.GenerateSubcontainer(3);
|
||||
var eulerAngleXButton = inspector.GenerateButton(this, subcontainer, "Euler Angle X", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Euler Angle X", nameof(eulerAngleX)).SetAsFlexibleFloat();
|
||||
});
|
||||
var eulerAngleYButton = inspector.GenerateButton(this, container, "Euler Angle Y",
|
||||
() =>
|
||||
var eulerAngleYButton = inspector.GenerateButton(this, subcontainer, "Euler Angle Y", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Euler Angle Y", nameof(eulerAngleY)).SetAsFlexibleFloat();
|
||||
});
|
||||
var eulerAngleZButton = inspector.GenerateButton(this, container, "Euler Angle Z",
|
||||
() =>
|
||||
var eulerAngleZButton = inspector.GenerateButton(this, subcontainer, "Euler Angle Z", () =>
|
||||
{
|
||||
inspector.GenerateCompositeParameterWindow(this, "Euler Angle Z", nameof(eulerAngleZ)).SetAsFlexibleFloat();
|
||||
});
|
||||
|
||||
var graphicEditor = inspector.GenerateButton(this, container, "GraphicEditor",
|
||||
() =>
|
||||
var graphicEditor = inspector.GenerateButton(this, subcontainer, "GraphicEditor", () =>
|
||||
{
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Displacement",
|
||||
inspector.GenerateGraphicalFlexibleFloatWindow(this, "Swirl",
|
||||
new FlexibleFloat[] { eulerAngleX, eulerAngleY, eulerAngleZ },
|
||||
new string[] { "EulerX", "EulerY", "EulerZ" });
|
||||
});
|
||||
|
||||
container.SetDeviver(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user