83 lines
2.3 KiB
C#
83 lines
2.3 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;
|
|
[MultilingualField] public string DiplomacyUITitle;
|
|
[MultilingualField] public string DiplomacyUITitleSelf;
|
|
[MultilingualField] public string DiplomacyUIOtherRelationTitle;
|
|
public List<DiplomacyStateInfo> DiplomacyStateInfoList;
|
|
public List<FeelingStateInfo> FeelingStateInfoList;
|
|
public List<FeelingStrategyInfo> FeelingStrategyInfoList;
|
|
|
|
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;
|
|
}
|
|
|
|
public bool GetFeelingStragegyInfo(FeelingStrategy feelingStrategy,out FeelingStrategyInfo info)
|
|
{
|
|
foreach(var t in FeelingStrategyInfoList)
|
|
if (feelingStrategy == t.FeelingStrategy)
|
|
{
|
|
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;
|
|
}
|
|
|
|
[Serializable]
|
|
public class FeelingStrategyInfo
|
|
{
|
|
public FeelingStrategy FeelingStrategy;
|
|
[MultilingualField] public string FeelingStrategyTitle;
|
|
[MultilingualField] public string FeelingStrategyDesc;
|
|
public Color FeelingStrategyColor;
|
|
} |