public PrcBgmStreamSetEntry FromSpecialCategory(PrcBgmStreamSetEntry setStreamEntry, SpecialCategoryEntry specialEntry) { if (specialEntry == null) { return(setStreamEntry); } setStreamEntry.SpecialCategory = new PrcHash40(specialEntry.Id); if (specialEntry.Parameters == null) { return(setStreamEntry); } //TODO: Yeah yeah it's not great. Will need to think about that. if (specialEntry.Parameters.Count > 0) { setStreamEntry.Info1 = new PrcHash40(specialEntry.Parameters[0]); } if (specialEntry.Parameters.Count > 1) { setStreamEntry.Info2 = new PrcHash40(specialEntry.Parameters[1]); } if (specialEntry.Parameters.Count > 2) { setStreamEntry.Info3 = new PrcHash40(specialEntry.Parameters[2]); } if (specialEntry.Parameters.Count > 3) { setStreamEntry.Info4 = new PrcHash40(specialEntry.Parameters[3]); } if (specialEntry.Parameters.Count > 4) { setStreamEntry.Info5 = new PrcHash40(specialEntry.Parameters[4]); } if (specialEntry.Parameters.Count > 5) { setStreamEntry.Info6 = new PrcHash40(specialEntry.Parameters[5]); } if (specialEntry.Parameters.Count > 6) { setStreamEntry.Info7 = new PrcHash40(specialEntry.Parameters[6]); } if (specialEntry.Parameters.Count > 7) { setStreamEntry.Info8 = new PrcHash40(specialEntry.Parameters[7]); } if (specialEntry.Parameters.Count > 8) { setStreamEntry.Info9 = new PrcHash40(specialEntry.Parameters[8]); } if (specialEntry.Parameters.Count > 9) { setStreamEntry.Info10 = new PrcHash40(specialEntry.Parameters[9]); } if (specialEntry.Parameters.Count > 10) { setStreamEntry.Info11 = new PrcHash40(specialEntry.Parameters[10]); } if (specialEntry.Parameters.Count > 11) { setStreamEntry.Info12 = new PrcHash40(specialEntry.Parameters[11]); } if (specialEntry.Parameters.Count > 12) { setStreamEntry.Info13 = new PrcHash40(specialEntry.Parameters[12]); } if (specialEntry.Parameters.Count > 13) { setStreamEntry.Info14 = new PrcHash40(specialEntry.Parameters[13]); } if (specialEntry.Parameters.Count > 14) { setStreamEntry.Info15 = new PrcHash40(specialEntry.Parameters[14]); } return(setStreamEntry); }
private SpecialCategoryEntry ToSpecialCategory(PrcBgmStreamSetEntry setStreamEntry) { if (setStreamEntry.SpecialCategory?.HexValue == 0) { return(null); } var output = new SpecialCategoryEntry() { Id = setStreamEntry.SpecialCategory.HexValue, Parameters = new List <string>() }; //TODO: Yeah yeah it's not great. Will need to think about that. if (setStreamEntry.Info1 != null && setStreamEntry.Info1.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info1.StringValue); } if (setStreamEntry.Info2 != null && setStreamEntry.Info2.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info2.StringValue); } if (setStreamEntry.Info3 != null && setStreamEntry.Info3.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info3.StringValue); } if (setStreamEntry.Info4 != null && setStreamEntry.Info4.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info4.StringValue); } if (setStreamEntry.Info5 != null && setStreamEntry.Info5.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info5.StringValue); } if (setStreamEntry.Info6 != null && setStreamEntry.Info6.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info6.StringValue); } if (setStreamEntry.Info7 != null && setStreamEntry.Info7.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info7.StringValue); } if (setStreamEntry.Info8 != null && setStreamEntry.Info8.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info8.StringValue); } if (setStreamEntry.Info9 != null && setStreamEntry.Info9.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info9.StringValue); } if (setStreamEntry.Info10 != null && setStreamEntry.Info10.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info10.StringValue); } if (setStreamEntry.Info11 != null && setStreamEntry.Info11.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info11.StringValue); } if (setStreamEntry.Info12 != null && setStreamEntry.Info12.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info12.StringValue); } if (setStreamEntry.Info13 != null && setStreamEntry.Info13.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info13.StringValue); } if (setStreamEntry.Info14 != null && setStreamEntry.Info14.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info14.StringValue); } if (setStreamEntry.Info15 != null && setStreamEntry.Info15.HexValue != 0) { output.Parameters.Add(setStreamEntry.Info15.StringValue); } return(output); }