/** 通过战斗单位配置初始化 */ public void initByFightUnitConfig(int id) { FightUnitConfig config = FightUnitConfig.get(id); //默认模型ID avatar.setDefaultModelID(config.modelID > 0 ? config.modelID : -1); }
/** 构造单位加载列表 */ protected virtual void makeUnitLoadList(IntSet loadList, UnitInfoData data) { if (BaseC.constlist.unit_canFight(data.identity.type)) { int fightUnitID; if ((fightUnitID = ((FightUnitIdentityData)data.identity).getFightUnitID()) > 0) { int modelID; if ((modelID = FightUnitConfig.get(fightUnitID).modelID) > 0) { loadList.add(ModelConfig.get(modelID).sourceT); } } } switch (data.identity.type) { case UnitType.Character: { } break; } }
/// <summary> /// 读完所有表后处理 /// </summary> public static void afterReadConfigAll() { FightUnitConfig fConfig; FightUnitLevelConfig[] values; FightUnitLevelConfig v; for (int i = (values = _dic.getValues()).Length - 1; i >= 0; --i) { if ((v = values[i]) != null) { if ((fConfig = FightUnitConfig.get(v.id)).levelMax < v.level) { fConfig.levelMax = v.level; } } } }
private void makeElementModel(SceneElementEditorData data) { switch (data.config.type) { case SceneElementType.Npc: { } break; case SceneElementType.Monster: { MonsterConfig monsterConfig = MonsterConfig.get(data.config.id); data.gameObject = createModel(FightUnitConfig.get(monsterConfig.fightUnitID).modelID, data); } break; case SceneElementType.Operation: { OperationConfig operationConfig = OperationConfig.get(data.config.id); data.gameObject = createModel(operationConfig.modelID, data); } break; case SceneElementType.FieldItem: { ItemConfig itemConfig = ItemConfig.get(data.config.id); data.gameObject = createModel(itemConfig.fieldItemModelID, data); } break; } setPosToGameObject(data); }
/// <summary> /// 获取战斗单位配置(可能为空) /// </summary> public FightUnitConfig getFightUnitConfig() { return(FightUnitConfig.get(getFightUnitID())); }
//--主显示部分--// /** 初始化主显示 */ protected virtual void initMainShow() { bool hasModel = false; if (_data.avatar != null && _data.avatar.modelID > 0) { hasModel = true; setModel(_data.avatar.modelID); _data.avatar.parts.forEach((k, v) => { setPart(k, _unit.avatar.getShowPart(k)); }); } if (BaseC.constlist.unit_canFight(_data.identity.type)) { int fightUnitID = _data.getFightIdentity().getFightUnitID(); if (fightUnitID > 0) { FightUnitConfig fConfig = FightUnitConfig.get(fightUnitID); if (!hasModel && fConfig.modelID > 0) { setModel(fConfig.modelID); } if (fConfig.effectID > 0) { addEffect(fConfig.effectID); } } } //特殊的 switch (_unit.type) { case UnitType.SceneEffect: { SceneEffectIdentityData iData = _data.getSceneEffectIdentity(); if (iData.signedEffectID > 0) { addOrPlayEffect(iData.signedEffectID); } else { SceneEffectConfig config = SceneEffectConfig.get(((SceneEffectIdentityData)_data.identity).signedEffectID); if (config.modelID > 0) { setModel(config.modelID); } if (config.effectID > 0) { addOrPlayEffect(config.effectID); } } } break; case UnitType.FieldItem: { FieldItemIdentityData iData = (FieldItemIdentityData)_data.identity; ItemConfig itemConfig = ItemConfig.get(iData.item.id); if (itemConfig.fieldItemModelID > 0) { setModel(itemConfig.fieldItemModelID); } } break; } }