public int ArrayLength(CharacterIntData type) { switch (type) { case CharacterIntData.BASE: { int size = arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.BASE)]; int maxSize = arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.MAXBASE)]; return size > maxSize ? size : maxSize; } case CharacterIntData.MARK: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.MARK)]; case CharacterIntData.ABL: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.ABL)]; case CharacterIntData.EXP: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.EXP)]; case CharacterIntData.RELATION: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.RELATION)]; case CharacterIntData.TALENT: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.TALENT)]; case CharacterIntData.CFLAG: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.CFLAG)]; case CharacterIntData.EQUIP: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.EQUIP)]; case CharacterIntData.JUEL: return arraySize[(int)(VariableCode.__LOWERCASE__ & VariableCode.JUEL)]; default: throw new CodeEE("存在しないキーを参照しました"); } }
public CsvDataMethod(CharacterIntData cInt) { ReturnType = typeof(Int64); argumentTypeArray = null; charaInt = cInt; CanRestructure = true; }
public Int64 GetCharacterIntfromCSVData(Int64 charaTmplNo, CharacterIntData type, bool isSp, Int64 arg2Long) { CharacterTemplate tmpl = constant.GetCharacterTemplate(charaTmplNo, isSp); if (tmpl == null) throw new CodeEE("定義していないキャラクタを参照しようとしました"); if (arg2Long >= tmpl.ArrayLength(type) || arg2Long < 0) throw new CodeEE("参照可能範囲外を参照しました"); int arg2 = (int)arg2Long; Dictionary<int, Int64> intDic = null; switch (type) { case CharacterIntData.BASE: intDic = tmpl.Maxbase; break; case CharacterIntData.MARK: intDic = tmpl.Mark; break; case CharacterIntData.ABL: intDic = tmpl.Abl; break; case CharacterIntData.EXP: intDic = tmpl.Exp; break; case CharacterIntData.RELATION: intDic = tmpl.Relation; break; case CharacterIntData.TALENT: intDic = tmpl.Talent; break; case CharacterIntData.CFLAG: intDic = tmpl.CFlag; break; case CharacterIntData.EQUIP: intDic = tmpl.Equip; break; case CharacterIntData.JUEL: intDic = tmpl.Juel; break; default: throw new CodeEE("存在しないデータを参照しようとしました"); } Int64 ret; if (intDic.TryGetValue(arg2, out ret)) return ret; return 0L; }