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); }
public SceneFactory addFactory(Type classType, GAME_SCENE_TYPE type) { SceneFactory factory = SceneFactory.createFactory(type, classType); mFactoryList.Add(factory.getType(), factory); return(factory); }
public SceneFactory getFactory(GAME_SCENE_TYPE type) { if (mFactoryList.ContainsKey(type)) { return(mFactoryList[type]); } return(null); }
//---------------------------------------------------------------------------------------------- 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); }
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>(); }
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); }
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>(); } }
//------------------------------------------------------------------------------------------------------------- protected static void registeGameScene <T>(GAME_SCENE_TYPE type) where T : GameScene { mGameSceneManager.registeGameScene(typeof(T), type); }
public void registeGameScene(Type classType, GAME_SCENE_TYPE type) { mSceneFactoryManager.addFactory(classType, type); }
//---------------------------------------------------------------------------------------------- protected GameScene createScene(GAME_SCENE_TYPE type) { Type classType = mGameSceneRegisteList[type]; return(UnityUtility.createInstance <GameScene>(classType, type, classType.ToString())); }
public void registeGameScene(Type classType, GAME_SCENE_TYPE type) { mGameSceneRegisteList.Add(type, classType); }
public MahjongScene(GAME_SCENE_TYPE type, string name) : base(type, name) { }
public StartScene(GAME_SCENE_TYPE type, string name) : base(type, name) { ; }
//------------------------------------------------------------------------------------------------------------- protected void registeGameScene(Type scene, GAME_SCENE_TYPE type) { mGameSceneManager.registeGameScene(scene, type); }
public void registeGameScene <T>(GAME_SCENE_TYPE type) { mGameSceneRegisteList.Add(type, typeof(T)); }
public SceneFactory(GAME_SCENE_TYPE type, Type classType) { mType = type; mClassType = classType; }
protected void registerLayout(Type classType, GAME_SCENE_TYPE type) { mSceneFactoryManager.addFactory(classType, type); }
public LogoScene(GAME_SCENE_TYPE type, string name) : base(type, name) { mDestroyEngineScene = false; }
public override void init() { base.init(); mSceneType = GAME_SCENE_TYPE.GST_MAX; }