Update to latest version of PkmnLib
This commit is contained in:
parent
aaad311158
commit
cb3d3c74a1
|
@ -35,14 +35,17 @@ namespace PkmnLibSharp.Battling
|
||||||
return res == 1;
|
return res == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnUse()
|
public void OnUse(Battle? battle)
|
||||||
{
|
{
|
||||||
Creaturelib.Generated.ItemUseScript.OnUse(Ptr);
|
var ptr = IntPtr.Zero;
|
||||||
|
if (battle != null)
|
||||||
|
ptr = battle.Ptr;
|
||||||
|
Creaturelib.Generated.ItemUseScript.OnUse(Ptr, ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnPokemonUse(Pokemon pokemon)
|
public void OnPokemonUse(Pokemon pokemon, bool isBattle)
|
||||||
{
|
{
|
||||||
Creaturelib.Generated.ItemUseScript.OnCreatureUse(Ptr, pokemon.Ptr);
|
Creaturelib.Generated.ItemUseScript.OnCreatureUse(Ptr, pokemon.Ptr, isBattle.ToNative());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void DeletePtr()
|
protected override void DeletePtr()
|
||||||
|
|
|
@ -13,11 +13,14 @@ namespace Creaturelib.Generated
|
||||||
/// <param name="effectName">const char *</param>
|
/// <param name="effectName">const char *</param>
|
||||||
/// <param name="effectParameters">EffectParameter * *</param>
|
/// <param name="effectParameters">EffectParameter * *</param>
|
||||||
/// <param name="effectParameterCount">long unsigned int</param>
|
/// <param name="effectParameterCount">long unsigned int</param>
|
||||||
|
/// <param name="battleTriggerEffectName">const char *</param>
|
||||||
|
/// <param name="battleTriggerEffectParameters">EffectParameter * *</param>
|
||||||
|
/// <param name="battleTriggerEffectParameterCount">long unsigned int</param>
|
||||||
/// <param name="flags">const char * *</param>
|
/// <param name="flags">const char * *</param>
|
||||||
/// <param name="flagsCount">long unsigned int</param>
|
/// <param name="flagsCount">long unsigned int</param>
|
||||||
/// <returns>Item *</returns>
|
/// <returns>Item *</returns>
|
||||||
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_Construct")]
|
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Item_Construct")]
|
||||||
internal static extern IntPtr Construct(IntPtr name, ItemCategory category, BattleItemCategory battleCategory, int price, IntPtr effectName, IntPtr effectParameters, ulong effectParameterCount, IntPtr flags, ulong flagsCount);
|
internal static extern IntPtr Construct(IntPtr name, ItemCategory category, BattleItemCategory battleCategory, int price, IntPtr effectName, IntPtr effectParameters, ulong effectParameterCount, IntPtr battleTriggerEffectName, IntPtr battleTriggerEffectParameters, ulong battleTriggerEffectParameterCount, IntPtr flags, ulong flagsCount);
|
||||||
|
|
||||||
/// <param name="p">const Item *</param>
|
/// <param name="p">const Item *</param>
|
||||||
/// <returns>void</returns>
|
/// <returns>void</returns>
|
||||||
|
|
|
@ -37,15 +37,17 @@ namespace Creaturelib.Generated
|
||||||
internal static extern byte IsHoldable(IntPtr p, ref byte @out);
|
internal static extern byte IsHoldable(IntPtr p, ref byte @out);
|
||||||
|
|
||||||
/// <param name="p">ItemUseScript *</param>
|
/// <param name="p">ItemUseScript *</param>
|
||||||
|
/// <param name="battle">Battle *</param>
|
||||||
/// <returns>unsigned char</returns>
|
/// <returns>unsigned char</returns>
|
||||||
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ItemUseScript_OnUse")]
|
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ItemUseScript_OnUse")]
|
||||||
internal static extern byte OnUse(IntPtr p);
|
internal static extern byte OnUse(IntPtr p, IntPtr battle);
|
||||||
|
|
||||||
/// <param name="p">ItemUseScript *</param>
|
/// <param name="p">ItemUseScript *</param>
|
||||||
/// <param name="creature">Creature *</param>
|
/// <param name="creature">Creature *</param>
|
||||||
|
/// <param name="isBattle">bool</param>
|
||||||
/// <returns>unsigned char</returns>
|
/// <returns>unsigned char</returns>
|
||||||
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ItemUseScript_OnCreatureUse")]
|
[DllImport("libCreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_ItemUseScript_OnCreatureUse")]
|
||||||
internal static extern byte OnCreatureUse(IntPtr p, IntPtr creature);
|
internal static extern byte OnCreatureUse(IntPtr p, IntPtr creature, byte isBattle);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ namespace Creaturelib
|
||||||
Creature = 3,
|
Creature = 3,
|
||||||
Battle = 4,
|
Battle = 4,
|
||||||
Side = 5,
|
Side = 5,
|
||||||
|
ItemBattleTrigger = 6,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,11 +104,5 @@ namespace Pkmnlib.Generated
|
||||||
[DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_AngelScriptResolver_DefineWord")]
|
[DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_AngelScriptResolver_DefineWord")]
|
||||||
internal static extern void DefineWord(IntPtr p, IntPtr word);
|
internal static extern void DefineWord(IntPtr p, IntPtr word);
|
||||||
|
|
||||||
/// <param name="p">AngelScriptResolver *</param>
|
|
||||||
/// <param name="port">unsigned short</param>
|
|
||||||
/// <returns>void</returns>
|
|
||||||
[DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_AngelScriptResolver_AddDebugger")]
|
|
||||||
internal static extern void AddDebugger(IntPtr p, ushort port);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,12 +13,15 @@ namespace Pkmnlib.Generated
|
||||||
/// <param name="effectName">const char *</param>
|
/// <param name="effectName">const char *</param>
|
||||||
/// <param name="effectParameters">EffectParameter * *</param>
|
/// <param name="effectParameters">EffectParameter * *</param>
|
||||||
/// <param name="effectParameterCount">long unsigned int</param>
|
/// <param name="effectParameterCount">long unsigned int</param>
|
||||||
|
/// <param name="battleTriggerEffectName">const char *</param>
|
||||||
|
/// <param name="battleTriggerEffectParameters">EffectParameter * *</param>
|
||||||
|
/// <param name="battleTriggerEffectParameterCount">long unsigned int</param>
|
||||||
/// <param name="flags">const char * *</param>
|
/// <param name="flags">const char * *</param>
|
||||||
/// <param name="flagsCount">long unsigned int</param>
|
/// <param name="flagsCount">long unsigned int</param>
|
||||||
/// <param name="flingPower">unsigned char</param>
|
/// <param name="flingPower">unsigned char</param>
|
||||||
/// <returns>Item *</returns>
|
/// <returns>Item *</returns>
|
||||||
[DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Item_Construct")]
|
[DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Item_Construct")]
|
||||||
internal static extern IntPtr Construct(IntPtr name, ItemCategory category, BattleItemCategory battleCategory, int price, IntPtr effectName, IntPtr effectParameters, ulong effectParameterCount, IntPtr flags, ulong flagsCount, byte flingPower);
|
internal static extern IntPtr Construct(IntPtr name, ItemCategory category, BattleItemCategory battleCategory, int price, IntPtr effectName, IntPtr effectParameters, ulong effectParameterCount, IntPtr battleTriggerEffectName, IntPtr battleTriggerEffectParameters, ulong battleTriggerEffectParameterCount, IntPtr flags, ulong flagsCount, byte flingPower);
|
||||||
|
|
||||||
/// <param name="p">const Item *</param>
|
/// <param name="p">const Item *</param>
|
||||||
/// <returns>void</returns>
|
/// <returns>void</returns>
|
||||||
|
|
|
@ -12,5 +12,6 @@ namespace Pkmnlib
|
||||||
Creature = 3,
|
Creature = 3,
|
||||||
Battle = 4,
|
Battle = 4,
|
||||||
Side = 5,
|
Side = 5,
|
||||||
|
ItemBattleTrigger = 6,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,21 +9,24 @@ namespace PkmnLibSharp.Library.Items
|
||||||
private string? _name;
|
private string? _name;
|
||||||
|
|
||||||
public Item(string name, ItemCategory category, BattleItemCategory battleCategory, int price, string effectName,
|
public Item(string name, ItemCategory category, BattleItemCategory battleCategory, int price, string effectName,
|
||||||
EffectParameter[] parameters, string[] flags, byte flingPower)
|
EffectParameter[] parameters, string battleTriggerEffectName, EffectParameter[] battleTriggerParameters,
|
||||||
|
string[] flags, byte flingPower)
|
||||||
{
|
{
|
||||||
var convertedFlags = flags.Select(x => x.ToPtr()).ToArray().ArrayPtr();
|
var convertedFlags = flags.Select(x => x.ToPtr()).ToArray().ArrayPtr();
|
||||||
var pars = parameters.Select(x => x.Ptr).ToArray().ArrayPtr();
|
var pars = parameters.Select(x => x.Ptr).ToArray().ArrayPtr();
|
||||||
var p = Pkmnlib.Generated.Item.Construct(name.ToPtr(), (Pkmnlib.ItemCategory) category,
|
var battlePars = battleTriggerParameters.Select(x => x.Ptr).ToArray().ArrayPtr();
|
||||||
(Pkmnlib.BattleItemCategory) battleCategory, price, effectName.ToPtr(), pars, (ulong) parameters.Length,
|
var p = Pkmnlib.Generated.Item.Construct(name.ToPtr(), (Pkmnlib.ItemCategory)category,
|
||||||
convertedFlags, (ulong) flags.Length, flingPower);
|
(Pkmnlib.BattleItemCategory)battleCategory, price, effectName.ToPtr(), pars, (ulong)parameters.Length,
|
||||||
|
battleTriggerEffectName.ToPtr(), battlePars, (ulong)battleTriggerParameters.Length, convertedFlags,
|
||||||
|
(ulong)flags.Length, flingPower);
|
||||||
Initialize(p);
|
Initialize(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name => _name ??= Creaturelib.Generated.Item.GetName(Ptr).PtrString()!;
|
public string Name => _name ??= Creaturelib.Generated.Item.GetName(Ptr).PtrString()!;
|
||||||
public ItemCategory Category => (ItemCategory) Creaturelib.Generated.Item.GetCategory(Ptr);
|
public ItemCategory Category => (ItemCategory)Creaturelib.Generated.Item.GetCategory(Ptr);
|
||||||
|
|
||||||
public BattleItemCategory BattleCategory =>
|
public BattleItemCategory BattleCategory =>
|
||||||
(BattleItemCategory) Creaturelib.Generated.Item.GetBattleCategory(Ptr);
|
(BattleItemCategory)Creaturelib.Generated.Item.GetBattleCategory(Ptr);
|
||||||
|
|
||||||
public int Price => Creaturelib.Generated.Item.GetPrice(Ptr);
|
public int Price => Creaturelib.Generated.Item.GetPrice(Ptr);
|
||||||
public byte FlingPower => Pkmnlib.Generated.Item.GetFlingPower(Ptr);
|
public byte FlingPower => Pkmnlib.Generated.Item.GetFlingPower(Ptr);
|
||||||
|
|
|
@ -28,8 +28,8 @@ namespace PkmnLibSharp.Library.Items
|
||||||
|
|
||||||
public void Delete(string key)
|
public void Delete(string key)
|
||||||
{
|
{
|
||||||
Creaturelib.Generated.ItemLibrary.Delete(Ptr, key.ToPtr()).Assert();
|
|
||||||
_cache.Remove(key);
|
_cache.Remove(key);
|
||||||
|
Creaturelib.Generated.ItemLibrary.Delete(Ptr, key.ToPtr()).Assert();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TryGet(string key, out Item? item)
|
public bool TryGet(string key, out Item? item)
|
||||||
|
|
|
@ -24,8 +24,8 @@ namespace PkmnLibSharp.Library.Moves
|
||||||
|
|
||||||
public void Delete(string key)
|
public void Delete(string key)
|
||||||
{
|
{
|
||||||
AttackLibrary.Delete(Ptr, key.ToPtr()).Assert();
|
|
||||||
_cache.Remove(key);
|
_cache.Remove(key);
|
||||||
|
AttackLibrary.Delete(Ptr, key.ToPtr()).Assert();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TryGet(string key, out MoveData? move)
|
public bool TryGet(string key, out MoveData? move)
|
||||||
|
|
|
@ -20,13 +20,13 @@ namespace PkmnLibSharp.Library
|
||||||
|
|
||||||
public void Delete(string key)
|
public void Delete(string key)
|
||||||
{
|
{
|
||||||
Creaturelib.Generated.SpeciesLibrary.Delete(Ptr, key.ToPtr()).Assert();
|
|
||||||
if (_cache.TryGetValue(key, out var s))
|
if (_cache.TryGetValue(key, out var s))
|
||||||
{
|
{
|
||||||
_cache.Remove(key);
|
_cache.Remove(key);
|
||||||
if (s != null)
|
if (s != null)
|
||||||
_idCache.Remove(s.Id);
|
_idCache.Remove(s.Id);
|
||||||
}
|
}
|
||||||
|
Creaturelib.Generated.SpeciesLibrary.Delete(Ptr, key.ToPtr()).Assert();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TryGet(string key, out Species? species)
|
public bool TryGet(string key, out Species? species)
|
||||||
|
|
BIN
PkmnLibSharp/Native/Linux/libArbutils.so (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Linux/libArbutils.so (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Linux/libCreatureLib.so (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Linux/libCreatureLib.so (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Linux/libpkmnLib.so (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Linux/libpkmnLib.so (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Linux/libpkmnlib_ai.so (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Linux/libpkmnlib_ai.so (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Windows/libArbutils.dll (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Windows/libArbutils.dll (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Windows/libCreatureLib.dll (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Windows/libCreatureLib.dll (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Windows/libangelscript.dll (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Windows/libangelscript.dll (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Windows/libpkmnLib.dll (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Windows/libpkmnLib.dll (Stored with Git LFS)
Binary file not shown.
BIN
PkmnLibSharp/Native/Windows/libpkmnlib_ai.dll (Stored with Git LFS)
BIN
PkmnLibSharp/Native/Windows/libpkmnlib_ai.dll (Stored with Git LFS)
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
{"enums":[{"byteSize":4,"filename":"libpkmnlib_ai","name":"memory_order","values":{"0":"relaxed","1":"consume","2":"acquire","3":"release","4":"acq_rel","5":"seq_cst"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_denorm_style","values":{"-1":"denorm_indeterminate","0":"denorm_absent","1":"denorm_present"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_round_style","values":{"-1":"round_indeterminate","0":"round_toward_zero","1":"round_to_nearest","2":"round_toward_infinity","3":"round_toward_neg_infinity"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"launch","values":{"1":"async","2":"deferred"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"errc","values":{"1":"operation_not_permitted","10":"no_child_process","100":"network_down","101":"network_unreachable","102":"network_reset","103":"connection_aborted","104":"connection_reset","105":"no_buffer_space","106":"already_connected","107":"not_connected","11":"operation_would_block","110":"timed_out","111":"connection_refused","113":"host_unreachable","114":"connection_already_in_progress","115":"operation_in_progress","12":"not_enough_memory","125":"operation_canceled","13":"permission_denied","130":"owner_dead","131":"state_not_recoverable","14":"bad_address","16":"device_or_resource_busy","17":"file_exists","18":"cross_device_link","19":"no_such_device","2":"no_such_file_or_directory","20":"not_a_directory","21":"is_a_directory","22":"invalid_argument","23":"too_many_files_open_in_system","24":"too_many_files_open","25":"inappropriate_io_control_operation","26":"text_file_busy","27":"file_too_large","28":"no_space_on_device","29":"invalid_seek","3":"no_such_process","30":"read_only_file_system","31":"too_many_links","32":"broken_pipe","33":"argument_out_of_domain","34":"result_out_of_range","35":"resource_deadlock_would_occur","36":"filename_too_long","37":"no_lock_available","38":"function_not_supported","39":"directory_not_empty","4":"interrupted","40":"too_many_symbolic_link_levels","42":"no_message","43":"identifier_removed","5":"io_error","6":"no_such_device_or_address","60":"not_a_stream","61":"no_message_available","62":"stream_timeout","63":"no_stream_resources","67":"no_link","7":"argument_list_too_long","71":"protocol_error","74":"bad_message","75":"value_too_large","8":"executable_format_error","84":"illegal_byte_sequence","88":"not_a_socket","89":"destination_address_required","9":"bad_file_descriptor","90":"message_size","91":"wrong_protocol_type","92":"no_protocol_option","93":"protocol_not_supported","95":"not_supported","97":"address_family_not_supported","98":"address_in_use","99":"address_not_available"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"future_errc","values":{"1":"future_already_retrieved","2":"promise_already_satisfied","3":"no_state","4":"broken_promise"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}}],"functions":[{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastExceptionStacktrace","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_Delete","parameters":[{"name":"p","type":"PokemonAI *"}],"returns":"void"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_GetChoice","parameters":[{"name":"out","type":"BaseTurnChoice * &"},{"name":"p","type":"PokemonAI *"},{"name":"battle","type":"Battle *"},{"name":"user","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_RandomAI_Create","parameters":[],"returns":"RandomAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_NaiveAI_Create","parameters":[],"returns":"NaiveAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_DepthSearchAI_Create","parameters":[],"returns":"DepthSearchAI *"}]}
|
{"enums":[{"byteSize":4,"filename":"libpkmnlib_ai","name":"memory_order","values":{"0":"relaxed","1":"consume","2":"acquire","3":"release","4":"acq_rel","5":"seq_cst"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_denorm_style","values":{"-1":"denorm_indeterminate","0":"denorm_absent","1":"denorm_present"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_round_style","values":{"-1":"round_indeterminate","0":"round_toward_zero","1":"round_to_nearest","2":"round_toward_infinity","3":"round_toward_neg_infinity"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"launch","values":{"1":"async","2":"deferred"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"errc","values":{"1":"operation_not_permitted","10":"no_child_process","100":"network_down","101":"network_unreachable","102":"network_reset","103":"connection_aborted","104":"connection_reset","105":"no_buffer_space","106":"already_connected","107":"not_connected","11":"operation_would_block","110":"timed_out","111":"connection_refused","113":"host_unreachable","114":"connection_already_in_progress","115":"operation_in_progress","12":"not_enough_memory","125":"operation_canceled","13":"permission_denied","130":"owner_dead","131":"state_not_recoverable","14":"bad_address","16":"device_or_resource_busy","17":"file_exists","18":"cross_device_link","19":"no_such_device","2":"no_such_file_or_directory","20":"not_a_directory","21":"is_a_directory","22":"invalid_argument","23":"too_many_files_open_in_system","24":"too_many_files_open","25":"inappropriate_io_control_operation","26":"text_file_busy","27":"file_too_large","28":"no_space_on_device","29":"invalid_seek","3":"no_such_process","30":"read_only_file_system","31":"too_many_links","32":"broken_pipe","33":"argument_out_of_domain","34":"result_out_of_range","35":"resource_deadlock_would_occur","36":"filename_too_long","37":"no_lock_available","38":"function_not_supported","39":"directory_not_empty","4":"interrupted","40":"too_many_symbolic_link_levels","42":"no_message","43":"identifier_removed","5":"io_error","6":"no_such_device_or_address","60":"not_a_stream","61":"no_message_available","62":"stream_timeout","63":"no_stream_resources","67":"no_link","7":"argument_list_too_long","71":"protocol_error","74":"bad_message","75":"value_too_large","8":"executable_format_error","84":"illegal_byte_sequence","88":"not_a_socket","89":"destination_address_required","9":"bad_file_descriptor","90":"message_size","91":"wrong_protocol_type","92":"no_protocol_option","93":"protocol_not_supported","95":"not_supported","97":"address_family_not_supported","98":"address_in_use","99":"address_not_available"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"future_errc","values":{"1":"future_already_retrieved","2":"promise_already_satisfied","3":"no_state","4":"broken_promise"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side","6":"ItemBattleTrigger"}}],"functions":[{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastExceptionStacktrace","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_Delete","parameters":[{"name":"p","type":"PokemonAI *"}],"returns":"void"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_GetChoice","parameters":[{"name":"out","type":"BaseTurnChoice * &"},{"name":"p","type":"PokemonAI *"},{"name":"battle","type":"Battle *"},{"name":"user","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_RandomAI_Create","parameters":[],"returns":"RandomAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_NaiveAI_Create","parameters":[],"returns":"NaiveAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_DepthSearchAI_Create","parameters":[],"returns":"DepthSearchAI *"}]}
|
||||||
|
|
|
@ -63,8 +63,8 @@ namespace PkmnLibSharpTests.Battling
|
||||||
|
|
||||||
var items = new ItemLibrary(10);
|
var items = new ItemLibrary(10);
|
||||||
items.Insert("testItem",
|
items.Insert("testItem",
|
||||||
new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.None, 500, "", new EffectParameter[0],
|
new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.None, 500, "",
|
||||||
new string[] { }, 20));
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), Array.Empty<string>(), 20));
|
||||||
var gr = new GrowthRateLibrary(10);
|
var gr = new GrowthRateLibrary(10);
|
||||||
gr.AddGrowthRate("growthRate",
|
gr.AddGrowthRate("growthRate",
|
||||||
new LookupGrowthRate(Enumerable.Range(1, 100).Select(x => (uint)x * 100).ToArray()));
|
new LookupGrowthRate(Enumerable.Range(1, 100).Select(x => (uint)x * 100).ToArray()));
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using PkmnLibSharp.Library;
|
using PkmnLibSharp.Library;
|
||||||
using PkmnLibSharp.Library.Items;
|
using PkmnLibSharp.Library.Items;
|
||||||
|
@ -17,9 +18,8 @@ namespace PkmnLibSharpTests.Library
|
||||||
[Test]
|
[Test]
|
||||||
public void Insert()
|
public void Insert()
|
||||||
{
|
{
|
||||||
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
var library = new ItemLibrary(100);
|
var library = new ItemLibrary(100);
|
||||||
library.Insert("foobar", item);
|
library.Insert("foobar", item);
|
||||||
Assert.AreEqual(1, library.Count);
|
Assert.AreEqual(1, library.Count);
|
||||||
|
@ -29,9 +29,8 @@ namespace PkmnLibSharpTests.Library
|
||||||
[Test]
|
[Test]
|
||||||
public void Delete()
|
public void Delete()
|
||||||
{
|
{
|
||||||
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
var library = new ItemLibrary(100);
|
var library = new ItemLibrary(100);
|
||||||
library.Insert("foobar", item);
|
library.Insert("foobar", item);
|
||||||
Assert.AreEqual(1, library.Count);
|
Assert.AreEqual(1, library.Count);
|
||||||
|
@ -43,27 +42,22 @@ namespace PkmnLibSharpTests.Library
|
||||||
[Test]
|
[Test]
|
||||||
public void Get()
|
public void Get()
|
||||||
{
|
{
|
||||||
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
var library = new ItemLibrary(100);
|
var library = new ItemLibrary(100);
|
||||||
library.Insert("foobar", item);
|
library.Insert("foobar", item);
|
||||||
Assert.AreEqual(1, library.Count);
|
Assert.AreEqual(1, library.Count);
|
||||||
var m = library.Get("foobar");
|
var m = library.Get("foobar");
|
||||||
Assert.AreEqual(m.Name, "testItem");
|
Assert.AreEqual(m.Name, "testItem");
|
||||||
Assert.Throws<NativeException>(() =>
|
Assert.Throws<NativeException>(() => { library.Get("barfoo"); });
|
||||||
{
|
|
||||||
library.Get("barfoo");
|
|
||||||
});
|
|
||||||
library.Dispose();
|
library.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TryGet()
|
public void TryGet()
|
||||||
{
|
{
|
||||||
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("testItem", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
var library = new ItemLibrary(100);
|
var library = new ItemLibrary(100);
|
||||||
library.Insert("foobar", item);
|
library.Insert("foobar", item);
|
||||||
Assert.AreEqual(1, library.Count);
|
Assert.AreEqual(1, library.Count);
|
||||||
|
@ -72,6 +66,5 @@ namespace PkmnLibSharpTests.Library
|
||||||
Assert.False(library.TryGet("barfoo", out item));
|
Assert.False(library.TryGet("barfoo", out item));
|
||||||
library.Dispose();
|
library.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using PkmnLibSharp.Library;
|
using PkmnLibSharp.Library;
|
||||||
using PkmnLibSharp.Library.Items;
|
using PkmnLibSharp.Library.Items;
|
||||||
|
@ -9,63 +10,62 @@ namespace PkmnLibSharpTests.Library
|
||||||
[Test]
|
[Test]
|
||||||
public void ConstructDestruct()
|
public void ConstructDestruct()
|
||||||
{
|
{
|
||||||
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
item.Dispose();
|
item.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetName()
|
public void GetName()
|
||||||
{
|
{
|
||||||
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
Assert.AreEqual("foobar", item.Name);
|
Assert.AreEqual("foobar", item.Name);
|
||||||
item.Dispose();
|
item.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetCategory()
|
public void GetCategory()
|
||||||
{
|
{
|
||||||
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
Assert.AreEqual(ItemCategory.MiscItem, item.Category);
|
Assert.AreEqual(ItemCategory.MiscItem, item.Category);
|
||||||
item.Dispose();
|
item.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetBattleCategory()
|
public void GetBattleCategory()
|
||||||
{
|
{
|
||||||
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
Assert.AreEqual(BattleItemCategory.Healing, item.BattleCategory);
|
Assert.AreEqual(BattleItemCategory.Healing, item.BattleCategory);
|
||||||
item.Dispose();
|
item.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetPrice()
|
public void GetPrice()
|
||||||
{
|
{
|
||||||
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
Assert.AreEqual(1000, item.Price);
|
Assert.AreEqual(1000, item.Price);
|
||||||
item.Dispose();
|
item.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void HasFlag()
|
public void HasFlag()
|
||||||
{
|
{
|
||||||
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
Assert.True(item.HasFlag("testFlag"));
|
Assert.True(item.HasFlag("testFlag"));
|
||||||
Assert.False(item.HasFlag("non-existing"));
|
Assert.False(item.HasFlag("non-existing"));
|
||||||
item.Dispose();
|
item.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetFlingPower()
|
public void GetFlingPower()
|
||||||
{
|
{
|
||||||
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000,
|
var item = new Item("foobar", ItemCategory.MiscItem, BattleItemCategory.Healing, 1000, "",
|
||||||
"", new EffectParameter[0],
|
Array.Empty<EffectParameter>(), "", Array.Empty<EffectParameter>(), new[] { "testFlag" }, 50);
|
||||||
new[] {"testFlag"}, 50);
|
|
||||||
Assert.AreEqual(50, item.FlingPower);
|
Assert.AreEqual(50, item.FlingPower);
|
||||||
item.Dispose();
|
item.Dispose();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue