예제 #1
0
    /** 通过战斗单位配置初始化 */
    public void initByFightUnitConfig(int id)
    {
        FightUnitConfig config = FightUnitConfig.get(id);

        //默认模型ID
        avatar.setDefaultModelID(config.modelID > 0 ? config.modelID : -1);
    }
예제 #2
0
    /** 构造单位加载列表 */
    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;
        }
    }
예제 #3
0
    /// <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;
                }
            }
        }
    }
예제 #4
0
    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);
    }
예제 #5
0
 /// <summary>
 /// 获取战斗单位配置(可能为空)
 /// </summary>
 public FightUnitConfig getFightUnitConfig()
 {
     return(FightUnitConfig.get(getFightUnitID()));
 }
예제 #6
0
    //--主显示部分--//

    /** 初始化主显示 */
    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;
        }
    }