public override int[] Serialize() { int[] arnSerializedSelections = new int[skillSelected.lstTargets.Count + 2]; //First, add the character who's set to be acting arnSerializedSelections[0] = TarChr.SerializeChr(chrActing); //Second, add the serialization of the use skill arnSerializedSelections[1] = Serializer.SerializeSkillSlot(skillslotSelected); //Then add all the selections afterward for (int i = 0; i < skillSelected.lstTargets.Count; i++) { //For each Target, ask it how we should serialize the selected object we have stored // Note - i+1, since we're adding all selections after the used skill arnSerializedSelections[i + 2] = skillSelected.lstTargets[i].Serialize(lstSelections[i]); } return(arnSerializedSelections); }
public static int SerializeSkillSlot(SkillSlot skillslot) { return((TarChr.SerializeChr(skillslot.chrOwner) << 4) + (skillslot.iSlot)); }