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>(); }
// 创建txUIObject,并且新建GameObject,分配到txUIObject中 public T createObject <T>(txUIObject parent, string name, bool active = true) where T : txUIObject, new() { GameObject go = UnityUtility.createObject(name); if (parent == null) { parent = mRoot; } go.layer = parent.getObject().layer; T obj = newUIObject <T>(name, parent, mLayout, go); obj.setActive(active); go.transform.localScale = Vector3.one; go.transform.localEulerAngles = Vector3.zero; go.transform.localPosition = Vector3.zero; return(obj); }
public GameCamera createCamera(string name, GameObject parent = null, bool newCamera = false) { GameCamera camera = null; GameObject obj = getGameObject(parent, name); if (obj == null && newCamera) { obj = UnityUtility.createObject(name, parent); } if (obj != null) { camera = new GameCamera(name); camera.init(); camera.setObject(obj); mCameraList.Add(camera.getName(), camera); } return(camera); }
public Character createCharacter(string name, CHARACTER_TYPE type, int id, bool createNode) { if (mCharacterList.ContainsKey(name)) { logError("there is a character named : " + name + "! can not create again!"); return(null); } if (type == CHARACTER_TYPE.CT_MYSELF) { if (mMyself != null) { logError("Myself has exist ! can not create again, name : " + name); return(null); } } Character newCharacter = createCharacter(type, name); // 如果是玩家自己,则记录下来 if (type == CHARACTER_TYPE.CT_MYSELF) { mMyself = newCharacter as CharacterMyself; } if (newCharacter != null) { // 将角色挂接到管理器下 if (createNode) { GameObject charNode = UnityUtility.createObject(newCharacter.getName(), mManagerObject); newCharacter.setObject(charNode); } newCharacter.setID(id); newCharacter.init(); addCharacterToList(newCharacter); UnityUtility.notifyIDUsed(id); } return(newCharacter); }