public override Sprite GetCurrentIcon([NotNull] GenericSkill skillSlot) { ElementalSkillDef.InstanceData instanceData = (ElementalSkillDef.InstanceData)skillSlot.skillInstanceData; int index = (instanceData != null) ? (int)instanceData.currentElement : 0; return(ArrayUtils.GetSafe <Sprite>(this.icons, index)); }
public override string GetCurrentDescriptionToken([NotNull] GenericSkill skillSlot) { if (!this.useElementalTokens) { return(base.GetCurrentDescriptionToken(skillSlot)); } ElementalSkillDef.InstanceData instanceData = (ElementalSkillDef.InstanceData)skillSlot.skillInstanceData; int index = (instanceData != null) ? (int)instanceData.currentElement : 0; return(ArrayUtils.GetSafe <string>(this.elementalDescriptions, index)); }
public virtual ManipulatorController.Element SwitchElement([NotNull] GenericSkill skillSlot, [NotNull] ManipulatorController.Element inElement) { ElementalSkillDef.InstanceData instanceData = (ElementalSkillDef.InstanceData)skillSlot.skillInstanceData; instanceData.currentElement = inElement; if (this.elementalEntityStates.Length != 4) { return(instanceData.currentElement); } int index = (instanceData != null) ? (int)instanceData.currentElement : 0; this.activationState = elementalEntityStates[index]; return(instanceData.currentElement); }
public override bool IsReady([NotNull] GenericSkill skillSlot) { ElementalSkillDef.InstanceData instanceData = (ElementalSkillDef.InstanceData)skillSlot.skillInstanceData; if (instanceData.currentElement == trackerElement) { useTracker = true; } else { useTracker = false; } if (shouldUseTracker && useTracker) { return(base.IsReady(skillSlot) && this.HasTarget(skillSlot)); } else { return(base.IsReady(skillSlot)); } }