discofever
New member
I'm trying to get a glimpse of how this 'Ultimate Black Box' works.
I've created the following dummy script for usableitem.
But when i use the item
Item
Dummy Script
I've created the following dummy script for usableitem.
C#:
using UnityEngine;
using Opsive.UltimateCharacterController.Character;
using Opsive.UltimateCharacterController.Character.Abilities.Items;
using Opsive.UltimateCharacterController.Utility;
using Opsive.UltimateCharacterController.Items.Actions;
public class DummyUsableItem : UsableItem {
protected UltimateCharacterLocomotion m_CharacterLocomotion;
private Transform m_CharacterTransform;
protected override void Awake()
{
base.Awake();
m_CharacterLocomotion = m_Character.GetCachedComponent<UltimateCharacterLocomotion>();
m_CharacterTransform = m_CharacterLocomotion.transform;
}
public override void StartItemUse()
{
base.StartItemUse();
Debug.Log("StartItemUse");
}
public override void UseItem()
{
Debug.Log("UseItem");
base.UseItem();
}
public override bool CanUseItem(ItemAbility itemAbility, UseAbilityState abilityState)
{
return true;
}
protected override void Start()
{
base.Start();
Debug.Log("START");
}
}
But when i use the item
Code:
NullReferenceException: Object reference not set to an instance of an object
Opsive.UltimateCharacterController.Items.AnimatorAudioStates.AnimatorAudioStateSet.StartStopStateSelection (Boolean start) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/AnimatorAudioOutput/AnimatorAudioStateSet.cs:156)
Opsive.UltimateCharacterController.Items.Actions.UsableItem.StopItemUse () (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/UsableItem.cs:291)
Opsive.UltimateCharacterController.Character.Abilities.Items.Use.CanStartAbility () (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/Use.cs:240)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion.TryStartAbility (Opsive.UltimateCharacterController.Character.Abilities.Items.ItemAbility itemAbility, Boolean ignoreCanStartCheck) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:1149)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion.TryStartAbility (Opsive.UltimateCharacterController.Character.Abilities.Ability ability, Boolean ignorePriority, Boolean ignoreCanStartCheck) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:1007)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion.TryStartAbility (Opsive.UltimateCharacterController.Character.Abilities.Ability ability, Boolean ignorePriority) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:993)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion.TryStartAbility (Opsive.UltimateCharacterController.Character.Abilities.Ability ability) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:982)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotionHandler.TryStartAbility (Opsive.UltimateCharacterController.Character.Abilities.Ability ability) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotionHandler.cs:231)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotionHandler.UpdateAbilityInput (Opsive.UltimateCharacterController.Character.Abilities.Ability[] abilities) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotionHandler.cs:128)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotionHandler.UpdateAbilityInput () (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotionHandler.cs:99)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotionHandler.Update () (at Assets/Opsive/UltimateChara
Item
Dummy Script