58 lines
1.4 KiB
C#
58 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using UnityEngine;
|
|
using RuntimeData;
|
|
using Logic.Multilingual;
|
|
|
|
[Serializable]
|
|
[CreateAssetMenu(fileName = "DiplomacyDataAssets", menuName = "TH1 Game Data/Diplomacy Data Asset")]
|
|
public class DiplomacyDataAssets : ScriptableObject
|
|
{
|
|
[MultilingualField] public string NoMeetText;
|
|
public List<DiplomacyStateInfo> DiplomacyStateInfoList;
|
|
public List<FeelingStateInfo> FeelingStateInfoList;
|
|
|
|
public bool GetStateInfo(DiplomacyState state,out DiplomacyStateInfo info)
|
|
{
|
|
foreach(var t in DiplomacyStateInfoList)
|
|
if (state == t.DiplomacyState)
|
|
{
|
|
info = t;
|
|
return true;
|
|
}
|
|
|
|
info = null;
|
|
return false;
|
|
}
|
|
|
|
public bool GetFeelingInfo(FeelingState state,out FeelingStateInfo info)
|
|
{
|
|
foreach(var t in FeelingStateInfoList)
|
|
if (state == t.FeelingState)
|
|
{
|
|
info = t;
|
|
return true;
|
|
}
|
|
info = null;
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
[Serializable]
|
|
public class DiplomacyStateInfo
|
|
{
|
|
public DiplomacyState DiplomacyState;
|
|
[MultilingualField] public string stateText;
|
|
public Color stateColor;
|
|
public Material stateBGMat;
|
|
}
|
|
|
|
[Serializable]
|
|
public class FeelingStateInfo
|
|
{
|
|
public FeelingState FeelingState;
|
|
[MultilingualField] public string feelingText;
|
|
public Color feelingColor;
|
|
} |