[Exception] ArgumentNullException: Value cannot be null.
Parameter name: key
System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry() at <787acc3c9a4c471ba7d971300105af24>:0
System.Collections.Generic.Dictionary`2[TKey,TValue].TryGetValue() at <787acc3c9a4c471ba7d971300105af24>:0
EventHandler.GetActionList() at <52329c5bb9d24a17aa3c9cbeab267298>:0
EventHandler.ExecuteEvent[T1]() at <52329c5bb9d24a17aa3c9cbeab267298>:0
FullScoreboardMonitor.ShowHideScore() at /Opsive/DeathmatchAIKit/Demo/Scripts/UI/FullScoreboardMonitor.cs:213
211: EventHandler.ExecuteEvent(DeathmatchManager.LocalPlayer, "OnEnableGameplayInput", !show);
212: }
--> 213: EventHandler.ExecuteEvent(DeathmatchManager.LocalPlayer, "OnShowUI", !show);
214: // Keep the cursor disabled.
215: Cursor.lockState = cursorLockState;
FullScoreboardMonitor.GameOver() at /Opsive/DeathmatchAIKit/Demo/Scripts/UI/FullScoreboardMonitor.cs:227
225: private void GameOver(bool winner)
226: {
--> 227: ShowHideScore(true, true);
228: m_GameOver = true;
229: }
Opsive.Shared.Events.InvokableAction`1[T1].Invoke() at <52329c5bb9d24a17aa3c9cbeab267298>:0
EventHandler.ExecuteEvent[T1]() at <52329c5bb9d24a17aa3c9cbeab267298>:0
Scoreboard.ReportDeathInternal() at /Opsive/DeathmatchAIKit/Demo/Scripts/Game/Scoreboard.cs:316
314: // The leader won if they reach the winning kill count.
315: if (m_Leader.Kills >= (DeathmatchManager.TeamGame ? m_TeamKillsToWin : m_FFAKillsToWin)) {
--> 316: EventHandler.ExecuteEvent<bool>("OnGameOver", m_Leader == m_TeamStats[0]);
317: m_GameOver = true;
318: }
Scoreboard.ReportDeath() at /Opsive/DeathmatchAIKit/Demo/Scripts/Game/Scoreboard.cs:271
269: public static void ReportDeath(GameObject attacker, GameObject victim)
270: {
--> 271: Instance.ReportDeathInternal(attacker, victim);
272: }
DeathmatchHealth.Die() at /Opsive/DeathmatchAIKit/Demo/Scripts/Game/DeathmatchHealth.cs:40
38: public override void Die(Vector3 position, Vector3 force, GameObject attacker)
39: {
--> 40: Scoreboard.ReportDeath(attacker, gameObject);
41: if (TeamManager.IsInstantiated) {
42: TeamManager.CancelBackupRequest(gameObject);
Health.OnDamage() at /Opsive/UltimateCharacterController/Scripts/Traits/Health.cs:419
417: if (m_NetworkInfo == null || m_NetworkInfo.HasAuthority()) {
418: #endif
--> 419: Die(damageData.Position, force, attacker);
420: #if ULTIMATE_CHARACTER_CONTROLLER_MULTIPLAYER
421: }
CharacterHealth.OnDamage() at /Opsive/UltimateCharacterController/Scripts/Traits/CharacterHealth.cs:116
114: public override void OnDamage(DamageData damageData)
115: {
--> 116: base.OnDamage(damageData);
118: if (m_DamagedEffect != null) {
DeathmatchHealth.OnDamage() at /Opsive/DeathmatchAIKit/Demo/Scripts/Game/DeathmatchHealth.cs:29
27: }
--> 29: base.OnDamage(damageData);
30: }
Health.Damage() at /Opsive/UltimateCharacterController/Scripts/Traits/Health.cs:327
325: #endif
--> 327: OnDamage(damageData);
328: }
DamageProcessor.Process() at /Opsive/UltimateCharacterController/Scripts/Traits/Damage/DamageProcessor.cs:282
280: public virtual void Process(IDamageTarget target, DamageData damageData)
281: {
--> 282: target.Damage(damageData);
283: }
284: }
SimpleDamage.OnImpactInternal() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/SimpleDamage.cs:220
218: } else {
219: if (damageProcessor == null) { damageProcessor = DamageProcessor.Default; }
--> 220: damageProcessor.Process(damageTarget, pooledDamageData);
221: }
ImpactAction.OnImpact() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:279
277: {
278: if (m_Delay <= 0) {
--> 279: OnImpactInternal(ctx);
280: } else {
ImpactAction.TryInvokeOnImpact() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:269
267: }
--> 269: OnImpact(ctx);
270: }
ImpactActionGroup.OnImpactInternal() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:142
140: if (m_ImpactActions[i] == null) { continue; }
--> 142: m_ImpactActions[i].TryInvokeOnImpact(impactCallbackContext, forceImpact);
143: }
144: }
ImpactActionGroup.OnImpact() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:129
127: if (m_ImpactActions == null) { return; }
--> 129: OnImpactInternal(impactCallbackContext, forceImpact);
130: }
GenericShootableImpactModule.OnImpact() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/ImpactModule.cs:117
115: {
116: if (m_Conditions.CanImpact(impactCallbackContext)) {
--> 117: m_ImpactActions.OnImpact(impactCallbackContext, true);
118: } else {
119: m_FailImpactActions.OnImpact(impactCallbackContext, true);
ShootableAction.OnFireImpact() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableAction.cs:347
345: #endif
346: for (int i = 0; i < m_ImpactModuleGroup.EnabledModules.Count; i++) {
--> 347: m_ImpactModuleGroup.EnabledModules[i].OnImpact(shootableImpactCallbackContext);
348: #if ULTIMATE_CHARACTER_CONTROLLER_MULTIPLAYER
349: invokedBitmask |= 1 << m_ImpactModuleGroup.EnabledModules[i].ID;
HitscanShooter.HitscanFire() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/HitscanShooter.cs:301
299: }
--> 301: ShootableAction.OnFireImpact(m_ShootableImpactCallbackContext);
303: // Spawn a tracer which moves to the hit point.
SchedulerBase.AddEventInternal[T,U]() at <5be52286c54c47958ace04af73911405>:0
SchedulerBase.Schedule[T,U]() at <5be52286c54c47958ace04af73911405>:0
HitscanShooter.Fire() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/HitscanShooter.cs:197
195: // Fire as many projectiles or hitscan bullets as the fire count specifies.
196: for (int i = 0; i < m_FireCount; ++i) {
--> 197: Scheduler.Schedule(m_HitscanFireDelay, HitscanFire, dataStream, ammoData);
198: }
ShootableAction.TriggerItemAction() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableAction.cs:267
265: // The shooter will take care of removing the ammo when getting the projectile data.
266: // It will also call OnFire when it has done firing.
--> 267: m_ShooterModuleGroup.FirstEnabledModule.Fire(m_ShootableUseDataStream);
269: // The item can complete its use.
SimpleBaseTrigger.UseItemTrigger() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/TriggerModule.cs:370
368: {
369: m_TriggerData.Force = 1;
--> 370: UsableAction.TriggerItemAction(m_TriggerData);
371: m_WasTriggered = true;
372: }
UsableAction.UseItem() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/UsableAction.cs:521
519: }
--> 521: m_TriggerActionModuleGroup.FirstEnabledModule.UseItemTrigger();
522: }
ShootableAction.UseItem() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableAction.cs:245
243: }
--> 245: base.UseItem();
246: }
UsableAction.UseItemUpdateInternal() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/UsableAction.cs:665
663: // The item may not be able to be used.
664: if (CanUseItem()) {
--> 665: UseItem();
666: EventHandler.ExecuteEvent<IUsableItem>(m_Character, "OnUseAbilityUsedItem", this);
UsableAction.UseItemUpdate() at /Opsive/UltimateCharacterController/Scripts/Items/Actions/UsableAction.cs:633
631: public virtual void UseItemUpdate(Use useItemAbility)
632: {
--> 633: var isNotTryingToStop = UseItemUpdateInternal(useItemAbility);
634: if (IsDebugging) {
635: DebugLogger.SetInfo(InfoKey_IsTryingToStop, (!isNotTryingToStop).ToString());
Use.LateUpdate() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/Use.cs:459
458: // Allow the items currently in use to be updated.
--> 459: m_UsableItems[i].UseItemUpdate(this);
460: }
461: }
UltimateCharacterLocomotion.LateUpdateActiveAbilities() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:672
670: if (abilities != null) {
671: for (int i = 0; i < abilityCount; ++i) {
--> 672: abilities[i].LateUpdate();
673: }
674: }
UltimateCharacterLocomotion.UpdateCharacter() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:598
596: // Allow the abilities to update after the character has been moved.
597: LateUpdateActiveAbilities(m_ActiveAbilities, ref m_ActiveAbilityCount);
--> 598: LateUpdateActiveAbilities(m_ActiveItemAbilities, ref m_ActiveItemAbilityCount);
599: }
CharacterLocomotion.Move() at /Opsive/UltimateCharacterController/Scripts/Character/CharacterLocomotion.cs:561
559: EnableColliderCollisionLayer(false);
--> 561: UpdateCharacter();
563: EnableColliderCollisionLayer(true);
SimulationManager+SmoothedCharacter.Move() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:169
167: }
--> 169: m_Locomotion.Move(horizontalMovement, forwardMovement, deltaYaw);
170: AssignFixedLocation();
171: }
SimulationManager.MoveCharacters() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:723
721: for (int i = 0; i < m_Characters.Count; ++i) {
722: if (interpAmount == -1) {
--> 723: m_Characters[i].Move(preMove);
724: } else {
725: if (!m_Characters[i].Locomotion.Interpolate) {
SimulationManager.FixedUpdate() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:671
669: MoveCharacters(true, -1);
670: RotateCameras();
--> 671: MoveCharacters(false, -1);
672: MoveCameras(-1);