示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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);
        }
示例#4
0
 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));
     }
 }