internal static CampaignVariable<T> Create(string campaign, string name, NwPlayer player = null) { CampaignVariable<T> variable = new CampaignVariable<T>(); variable.Campaign = campaign; variable.Name = name; variable.Player = player; variable.converter = VariableConverterService.GetCampaignConverter<T>(); return variable; }
bool ICampaignVariableConverter <bool> .GetCampaign(string campaign, string name, NwPlayer player) => NWScript.GetCampaignInt(campaign, name, player).ToBool();
void ICampaignVariableConverter <Guid> .ClearCampaign(string campaign, string name, NwPlayer player) => NWScript.DeleteCampaignVariable(campaign, name, player);
void ICampaignVariableConverter <Guid> .SetCampaign(string campaign, string name, Guid value, NwPlayer player) => NWScript.SetCampaignString(campaign, name, value.ToUUIDString(), player);
Guid ICampaignVariableConverter <Guid> .GetCampaign(string campaign, string name, NwPlayer player) { string stored = NWScript.GetCampaignString(campaign, name, player); return(string.IsNullOrEmpty(stored) ? Guid.Empty : Guid.Parse(stored)); }
void ICampaignVariableConverter <bool> .SetCampaign(string campaign, string name, bool value, NwPlayer player) => NWScript.SetCampaignInt(campaign, name, value.ToInt(), player);
float ICampaignVariableConverter <float> .GetCampaign(string campaign, string name, NwPlayer player) => NWScript.GetCampaignFloat(campaign, name, player);
void ICampaignVariableConverter <Vector3> .SetCampaign(string campaign, string name, Vector3 value, NwPlayer player) => NWScript.SetCampaignVector(campaign, name, value, player);
Vector3 ICampaignVariableConverter <Vector3> .GetCampaign(string campaign, string name, NwPlayer player) => NWScript.GetCampaignVector(campaign, name, player);
void ICampaignVariableConverter <string> .SetCampaign(string campaign, string name, string value, NwPlayer player) => NWScript.SetCampaignString(campaign, name, value, player);
string ICampaignVariableConverter <string> .GetCampaign(string campaign, string name, NwPlayer player) => NWScript.GetCampaignString(campaign, name, player);
void ICampaignVariableConverter <Location> .SetCampaign(string campaign, string name, Location value, NwPlayer player) => NWScript.SetCampaignLocation(campaign, name, value, player);
Location ICampaignVariableConverter <Location> .GetCampaign(string campaign, string name, NwPlayer player) => NWScript.GetCampaignLocation(campaign, name, player);
void ICampaignVariableConverter <int> .SetCampaign(string campaign, string name, int value, NwPlayer player) => NWScript.SetCampaignInt(campaign, name, value, player);
void ICampaignVariableConverter <float> .SetCampaign(string campaign, string name, float value, NwPlayer player) => NWScript.SetCampaignFloat(campaign, name, value, player);