init
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using VOID.Generic.Dict;
|
||||
using VOID.ScriptableObjects.Affiliation;
|
||||
|
||||
namespace VOID.Editor.EditorWindow.Affiliation
|
||||
{
|
||||
public record AffiliationEditorConflict
|
||||
{
|
||||
[ReadOnly]
|
||||
[HorizontalGroup("faction1")]
|
||||
public Faction faction1;
|
||||
|
||||
[ReadOnly]
|
||||
[ShowInInspector]
|
||||
[HideLabel]
|
||||
[HorizontalGroup("faction1")]
|
||||
public string faction1Attitude => faction1.GetAttitudeFor(faction2).ToString();
|
||||
|
||||
[ReadOnly]
|
||||
[HorizontalGroup("faction2")]
|
||||
public Faction faction2;
|
||||
|
||||
[ReadOnly]
|
||||
[ShowInInspector]
|
||||
[HideLabel]
|
||||
[HorizontalGroup("faction2")]
|
||||
public string faction2Attitude => faction2.GetAttitudeFor(faction1).ToString();
|
||||
|
||||
[GUIColor(nameof(GetResolveColor))]
|
||||
[InlineButton(nameof(Resolve))]
|
||||
public AttitudeType newAttitude;
|
||||
|
||||
private bool _resolved;
|
||||
|
||||
private void Resolve()
|
||||
{
|
||||
faction1.factionAttitudes[faction2] = newAttitude;
|
||||
faction2.factionAttitudes[faction1] = newAttitude;
|
||||
_resolved = true;
|
||||
|
||||
EditorUtility.SetDirty(faction1);
|
||||
EditorUtility.SetDirty(faction2);
|
||||
AssetDatabase.SaveAssets();
|
||||
}
|
||||
|
||||
private Color GetResolveColor() => _resolved ? Color.green : Color.red;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user