/* * Called by SkillBytes to advance skill execution to the next byte, * or if last byte was called, to end the skill and start the cooldown */ public void AdvanceToNextByte() { m_ManagedBytes[m_ByteIndex].enabled = false; m_ByteIndex++; // Roll over back to 0 if we need to repeat if (!CheckValidByteIndex(m_ByteIndex)) { if (++m_RepeatIndex < RepeatTimes) { m_ByteIndex = 0; } } // If we didn't roll over, then we're done if (!CheckValidByteIndex(m_ByteIndex)) { SkillOwner.StartSkillCooldown(this); SkillOwner.AdvanceNPCBattleState(); ResetSkill(); } else { _targetAndEnableByte(m_ByteIndex); } }
public override int GetHashCode() { return((!string.IsNullOrEmpty(SkillName) ? SkillName.GetHashCode() : 10) * (!string.IsNullOrEmpty(Invoker) ? Invoker.GetHashCode() : 11) * (!string.IsNullOrEmpty(SkillOwner) ? SkillOwner.GetHashCode() : 12)); }