Gradient
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Ichni.Editor
|
||||
{
|
||||
public class DynamicUIGradientAlphaKeyUnit : DynamicUICompositeUnit
|
||||
{
|
||||
public TMP_InputField colorAInputField;
|
||||
public TMP_InputField percentInputField;
|
||||
|
||||
public override void SetUnit(CompositeParameterWindow window, object itemContent)
|
||||
{
|
||||
compositeParameterWindow = window;
|
||||
|
||||
GradientAlphaKey alphaKey = (GradientAlphaKey)itemContent;
|
||||
colorAInputField.text = alphaKey.alpha.ToString();
|
||||
percentInputField.text = alphaKey.time.ToString();
|
||||
|
||||
colorAInputField.onEndEdit.AddListener(_ => compositeParameterWindow.ApplyParameters());
|
||||
percentInputField.onEndEdit.AddListener(_ => compositeParameterWindow.ApplyParameters());
|
||||
|
||||
removeButton.onClick.AddListener(() =>
|
||||
{
|
||||
compositeParameterWindow.RemoveUnit(this);
|
||||
compositeParameterWindow.ApplyParameters();
|
||||
});
|
||||
}
|
||||
|
||||
public GradientAlphaKey GetValue()
|
||||
{
|
||||
return new GradientAlphaKey(float.Parse(colorAInputField.text), float.Parse(percentInputField.text));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 13b978e1f66386b44a08579679b8d1ff
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,44 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Ichni.Editor
|
||||
{
|
||||
public class DynamicUIGradientColorKeyUnit : DynamicUICompositeUnit
|
||||
{
|
||||
public TMP_InputField colorRInputField;
|
||||
public TMP_InputField colorGInputField;
|
||||
public TMP_InputField colorBInputField;
|
||||
public TMP_InputField percentInputField;
|
||||
|
||||
public override void SetUnit(CompositeParameterWindow window, object itemContent)
|
||||
{
|
||||
compositeParameterWindow = window;
|
||||
|
||||
GradientColorKey colorKey = (GradientColorKey)itemContent;
|
||||
colorRInputField.text = colorKey.color.r.ToString();
|
||||
colorGInputField.text = colorKey.color.g.ToString();
|
||||
colorBInputField.text = colorKey.color.b.ToString();
|
||||
percentInputField.text = colorKey.time.ToString();
|
||||
|
||||
colorRInputField.onEndEdit.AddListener(_ => compositeParameterWindow.ApplyParameters());
|
||||
colorGInputField.onEndEdit.AddListener(_ => compositeParameterWindow.ApplyParameters());
|
||||
colorBInputField.onEndEdit.AddListener(_ => compositeParameterWindow.ApplyParameters());
|
||||
percentInputField.onEndEdit.AddListener(_ => compositeParameterWindow.ApplyParameters());
|
||||
|
||||
removeButton.onClick.AddListener(() =>
|
||||
{
|
||||
compositeParameterWindow.RemoveUnit(this);
|
||||
compositeParameterWindow.ApplyParameters();
|
||||
});
|
||||
}
|
||||
|
||||
public GradientColorKey GetValue()
|
||||
{
|
||||
return new GradientColorKey(
|
||||
new Color(float.Parse(colorRInputField.text), float.Parse(colorGInputField.text), float.Parse(colorBInputField.text)),
|
||||
float.Parse(percentInputField.text));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b22dbb74eb94afc47b5d75973eb2ac02
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -272,6 +272,80 @@ namespace Ichni.Editor
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public CompositeParameterWindow SetAsGradientColorKeys()
|
||||
{
|
||||
void GenerateUnit(GradientColorKey content)
|
||||
{
|
||||
DynamicUIGradientColorKeyUnit unit = Instantiate(unitPrefab, windowRect).GetComponent<DynamicUIGradientColorKeyUnit>();
|
||||
unitList.Add(unit);
|
||||
unit.SetUnit(this, content);
|
||||
}
|
||||
|
||||
unitPrefab = EditorManager.instance.basePrefabs.gradientColorKeyUnit;
|
||||
Gradient gradient = connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement) as Gradient;
|
||||
List<GradientColorKey> colorKeys = gradient.colorKeys.ToList();
|
||||
foreach (GradientColorKey colorKey in colorKeys)
|
||||
{
|
||||
GenerateUnit(colorKey);
|
||||
}
|
||||
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
|
||||
|
||||
addNewUnitButton.onClick.AddListener(() =>
|
||||
{
|
||||
GenerateUnit(new GradientColorKey(Color.white, 1));
|
||||
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
|
||||
});
|
||||
|
||||
ApplyParameters = () =>
|
||||
{
|
||||
List<GradientColorKey> newColorKeys = new List<GradientColorKey>();
|
||||
foreach (var unit in unitList)
|
||||
{
|
||||
newColorKeys.Add((unit as DynamicUIGradientColorKeyUnit).GetValue());
|
||||
}
|
||||
(connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement) as Gradient).colorKeys = newColorKeys.ToArray();
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public CompositeParameterWindow SetAsGradientAlphaKeys()
|
||||
{
|
||||
void GenerateUnit(GradientAlphaKey content)
|
||||
{
|
||||
DynamicUIGradientAlphaKeyUnit unit = Instantiate(unitPrefab, windowRect).GetComponent<DynamicUIGradientAlphaKeyUnit>();
|
||||
unitList.Add(unit);
|
||||
unit.SetUnit(this, content);
|
||||
}
|
||||
|
||||
unitPrefab = EditorManager.instance.basePrefabs.gradientAlphaKeyUnit;
|
||||
Gradient gradient = connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement) as Gradient;
|
||||
List<GradientAlphaKey> alphaKeys = gradient.alphaKeys.ToList();
|
||||
foreach (GradientAlphaKey alphaKey in alphaKeys)
|
||||
{
|
||||
GenerateUnit(alphaKey);
|
||||
}
|
||||
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
|
||||
|
||||
addNewUnitButton.onClick.AddListener(() =>
|
||||
{
|
||||
GenerateUnit(new GradientAlphaKey(1, 1));
|
||||
addNewUnitButton.GetComponent<RectTransform>().SetAsLastSibling();
|
||||
});
|
||||
|
||||
ApplyParameters = () =>
|
||||
{
|
||||
List<GradientAlphaKey> newAlphaKeys = new List<GradientAlphaKey>();
|
||||
foreach (var unit in unitList)
|
||||
{
|
||||
newAlphaKeys.Add((unit as DynamicUIGradientAlphaKeyUnit).GetValue());
|
||||
}
|
||||
(connectedBaseElement.GetType().GetField(parameterName).GetValue(connectedBaseElement) as Gradient).alphaKeys = newAlphaKeys.ToArray();
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public CompositeParameterWindow SetAsStringIntDictionary()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user