예제 #1
0
        public void Init(SceneConfig sceneConfig, MagicWallManager manager, Action onSceneCompleted)
        {
            _manager          = manager;
            _onSceneCompleted = onSceneCompleted;

            _cutEffect = CutEffectFactory.GetCutEffect(sceneConfig.sceneType); // 设置过场效果
            _cutEffect.Init(_manager, sceneConfig
                            , OnCutEffectCreateAgentCompleted,
                            () => {
                // on effect completed

                _runEntrance = false;
            }, () =>
            {
                // on display Start

                _runDisplay       = true;
                _displayStartTime = Time.time;
            }
                            );
            _dataType = sceneConfig.dataType; // 设置类型

            //  显示
            _displayBehavior = DisplayBehaviorFactory.GetBehavior(sceneConfig.displayBehavior);

            // 销毁
            _destoryBehavior = DestoryBehaviorFactory.GetBehavior(sceneConfig.destoryBehavior);
            _destoryBehavior.Init(_manager, this, OnDestoryCompleted, sceneConfig);

            _sceneConfig = sceneConfig;

            _magicSceneEnumStatus = MagicSceneEnum.Running;

            _runEntrance = true;
        }
예제 #2
0
        public void Init(SceneConfig sceneConfig, MagicWallManager manager, Action onSceneCompleted)
        {
            _manager          = manager;
            _sceneConfig      = sceneConfig;
            _onSceneCompleted = onSceneCompleted;


            Debug.Log("sceneConfig daoTypeEnum : " + sceneConfig.daoTypeEnum);

            // 销毁
            _destoryBehavior = DestoryBehaviorFactory.GetBehavior(sceneConfig.destoryBehavior);
            _destoryBehavior.Init(_manager, null, OnDestoryCompleted, sceneConfig);
        }