示例#1
0
    static public SceneFactory createFactory(GAME_SCENE_TYPE type, Type classType)
    {
        object[]     param   = new object[] { type, classType };    //构造器参数
        SceneFactory factory = Activator.CreateInstance(typeof(SceneFactory), param) as SceneFactory;

        return(factory);
    }
示例#2
0
    public SceneFactory addFactory(Type classType, GAME_SCENE_TYPE type)
    {
        SceneFactory factory = SceneFactory.createFactory(type, classType);

        mFactoryList.Add(factory.getType(), factory);
        return(factory);
    }
示例#3
0
 public SceneFactory getFactory(GAME_SCENE_TYPE type)
 {
     if (mFactoryList.ContainsKey(type))
     {
         return(mFactoryList[type]);
     }
     return(null);
 }
示例#4
0
    //----------------------------------------------------------------------------------------------
    protected GameScene createScene(GAME_SCENE_TYPE type)
    {
        SceneFactory factory = mSceneFactoryManager.getFactory(type);

        if (factory != null)
        {
            string name = factory.getClassType().ToString();
            return(factory.createScene(name));
        }
        return(null);
    }
示例#5
0
 public GameScene(GAME_SCENE_TYPE type, string name)
     :
     base(name)
 {
     mSceneType          = type;
     mCurProcedure       = null;
     mDestroyEngineScene = true;
     mLastProcedureType  = PROCEDURE_TYPE.PT_NONE;
     mDestroyEngineScene = false;
     mSceneProcedureList = new Dictionary <PROCEDURE_TYPE, SceneProcedure>();
     mLastProcedureList  = new List <SceneProcedure>();
     // 创建场景对应的物体,并挂接到场景管理器下
     mSceneObject = UnityUtility.createObject(name, mGameSceneManager.getManagerObject());
     mAudioSource = mSceneObject.GetComponent <AudioSource>();
 }
示例#6
0
    public bool enterScene(GAME_SCENE_TYPE type)
    {
        GameScene pScene = createScene(type);

        // 如果有上一个场景,则先销毁上一个场景,只是暂时保存下上个场景的指针,然后在更新中将场景销毁
        if (mCurScene != null)
        {
            mLastSceneList.Add(mCurScene);
            mCurScene.exit();
            mCurScene = null;
        }
        mCurScene = pScene;
        mCurScene.init();
        return(true);
    }
示例#7
0
文件: GameScene.cs 项目: microxw/MaQ
 public GameScene(GAME_SCENE_TYPE type, string name)
     :
     base(name)
 {
     mType               = type;
     mCurProcedure       = null;
     mDestroyEngineScene = true;
     mLastProcedureType  = PROCEDURE_TYPE.PT_NONE;
     mDestroyEngineScene = false;
     mSceneProcedureList = new Dictionary <PROCEDURE_TYPE, SceneProcedure>();
     mLastProcedureList  = new List <PROCEDURE_TYPE>();
     // 创建场景对应的物体,并挂接到场景管理器下
     mSceneObject = new GameObject(name);
     mSceneObject.transform.parent = mGameSceneManager.getManagerObject().transform;
     mAudioSource = mSceneObject.GetComponent <AudioSource>();
     if (mAudioSource == null)
     {
         mAudioSource = mSceneObject.AddComponent <AudioSource>();
     }
 }
示例#8
0
 //-------------------------------------------------------------------------------------------------------------
 protected static void registeGameScene <T>(GAME_SCENE_TYPE type) where T : GameScene
 {
     mGameSceneManager.registeGameScene(typeof(T), type);
 }
示例#9
0
 public void registeGameScene(Type classType, GAME_SCENE_TYPE type)
 {
     mSceneFactoryManager.addFactory(classType, type);
 }
示例#10
0
    //----------------------------------------------------------------------------------------------
    protected GameScene createScene(GAME_SCENE_TYPE type)
    {
        Type classType = mGameSceneRegisteList[type];

        return(UnityUtility.createInstance <GameScene>(classType, type, classType.ToString()));
    }
示例#11
0
 public void registeGameScene(Type classType, GAME_SCENE_TYPE type)
 {
     mGameSceneRegisteList.Add(type, classType);
 }
示例#12
0
 public MahjongScene(GAME_SCENE_TYPE type, string name)
     :
     base(type, name)
 {
 }
示例#13
0
 public StartScene(GAME_SCENE_TYPE type, string name)
     :
     base(type, name)
 {
     ;
 }
示例#14
0
 //-------------------------------------------------------------------------------------------------------------
 protected void registeGameScene(Type scene, GAME_SCENE_TYPE type)
 {
     mGameSceneManager.registeGameScene(scene, type);
 }
示例#15
0
 public void registeGameScene <T>(GAME_SCENE_TYPE type)
 {
     mGameSceneRegisteList.Add(type, typeof(T));
 }
示例#16
0
 public SceneFactory(GAME_SCENE_TYPE type, Type classType)
 {
     mType      = type;
     mClassType = classType;
 }
示例#17
0
 protected void registerLayout(Type classType, GAME_SCENE_TYPE type)
 {
     mSceneFactoryManager.addFactory(classType, type);
 }
示例#18
0
 public LogoScene(GAME_SCENE_TYPE type, string name)
     :
     base(type, name)
 {
     mDestroyEngineScene = false;
 }
示例#19
0
 public override void init()
 {
     base.init();
     mSceneType = GAME_SCENE_TYPE.GST_MAX;
 }