Пример #1
0
    /** 设置配置 */
    public virtual void initSceneID(int id)
    {
        _config      = SceneConfig.get(id);
        _mapConfig   = SceneMapConfig.get(_config.mapID);
        _placeConfig = ScenePlaceConfig.getSync(id);

        //绑定驱动类型
        if (_config.instanceType == SceneInstanceType.ClientDriveSinglePlayerBattle)
        {
            driveType = SceneDriveType.ClientDriveAll;
        }
        else
        {
            driveType = CommonSetting.sceneDriveType;
        }

        originPos.setByIArr(_mapConfig.origin);
        sizePos.setByIArr(_mapConfig.size);
        endPos.x = originPos.x + sizePos.x;
        endPos.y = originPos.y + sizePos.y;
        endPos.z = originPos.z + sizePos.z;

        method.onSetConfig();

        preInit();
    }
Пример #2
0
    public static ScenePlaceConfig getSync(int id)
    {
        if (_loadedSet.contains(id))
        {
            return(get(id));
        }

        ScenePlaceConfig cConfig = (ScenePlaceConfig)BaseC.config.getSplitConfigSync(ConfigType.ScenePlaceEditor, CommonSetting.scenePlaceEditor, id);

        if (cConfig != null)
        {
            addSceneConfig(cConfig);
        }

        return(get(id));
    }
Пример #3
0
    public static void load(int id, Action <ScenePlaceConfig> func)
    {
        if (_loadedSet.contains(id))
        {
            func(get(id));
            return;
        }

        BaseC.config.loadSplit(ConfigType.ScenePlaceEditor, CommonSetting.scenePlaceEditor, id, v =>
        {
            ScenePlaceConfig cConfig = (ScenePlaceConfig)v;
            addSceneConfig(cConfig);

            func(get(id));
        });
    }
Пример #4
0
    /** 重新加载配置 */
    public void onReloadConfig()
    {
        int id = _config.id;

        _config      = SceneConfig.get(id);
        _placeConfig = ScenePlaceConfig.get(id);

        Unit[] values;
        Unit   v;

        for (int i = (values = _units.getValues()).Length - 1; i >= 0; --i)
        {
            if ((v = values[i]) != null)
            {
                v.onReloadConfig();
            }
        }
    }
Пример #5
0
    /// <summary>
    /// 读完所有表后处理
    /// </summary>
    public static void afterReadConfigAll()
    {
        LongObjectMap <ScenePlaceElementConfig> fDic;

        if (!(fDic = _dic).isEmpty())
        {
            ScenePlaceElementConfig[] values;
            ScenePlaceElementConfig   v;

            for (int i = (values = fDic.getValues()).Length - 1; i >= 0; --i)
            {
                if ((v = values[i]) != null)
                {
                    ScenePlaceConfig.get(v.sceneID).addElement(v);
                }
            }
        }
    }
Пример #6
0
    public static void addSceneConfig(ScenePlaceConfig config)
    {
        ScenePlaceConfig sConfig = _dic.get(config.id);

        if (sConfig == null)
        {
            _dic.put(config.id, config);
        }
        else
        {
            ScenePlaceElementConfig[] values2;
            ScenePlaceElementConfig   v2;

            for (int i2 = (values2 = config.elements.getValues()).Length - 1; i2 >= 0; --i2)
            {
                if ((v2 = values2[i2]) != null)
                {
                    sConfig.addElement(v2);
                }
            }
        }
    }