public static List <ChaFileAccessory.PartsInfo> ListPartsInfo(ChaControl _chaCtrl, int _coordinateIndex) { List <ChaFileAccessory.PartsInfo> _partInfo = _chaCtrl.chaFile.coordinate[_coordinateIndex].accessory.parts.ToList(); if (MoreAccessories.Installed) { _partInfo.AddRange(MoreAccessories.ListMorePartsInfo(_chaCtrl, _coordinateIndex) ?? new List <ChaFileAccessory.PartsInfo>()); } return(_partInfo); }
public static void SetPartsInfo(ChaControl _chaCtrl, int _coordinateIndex, int _slotIndex, ChaFileAccessory.PartsInfo _partInfo) { if (_slotIndex < 0) { return; } if (_slotIndex >= 20 && !MoreAccessories.Installed) { return; } if (_slotIndex < 20) { _chaCtrl.chaFile.coordinate[_coordinateIndex].accessory.parts[_slotIndex] = _partInfo; } else { MoreAccessories.CheckAndPadPartInfo(_chaCtrl, _coordinateIndex, _slotIndex - 20); MoreAccessories.ListMorePartsInfo(_chaCtrl, _coordinateIndex)[_slotIndex - 20] = _partInfo; } }
public static ChaFileAccessory.PartsInfo GetPartsInfo(ChaControl _chaCtrl, int _coordinateIndex, int _slotIndex) { if (_slotIndex < 0) { return(null); } if (_slotIndex >= 20 && !MoreAccessories.Installed) { return(null); } if (_slotIndex < 20) { if (_chaCtrl.chaFile.coordinate.ElementAtOrDefault(_coordinateIndex) == null) { return(null); } return(_chaCtrl.chaFile.coordinate[_coordinateIndex].accessory.parts.ElementAtOrDefault(_slotIndex)); } return(MoreAccessories.ListMorePartsInfo(_chaCtrl, _coordinateIndex).ElementAtOrDefault(_slotIndex - 20)); }