public bool Update() { if (CurScene == null) { return(false); } if (CurScene.Update()) { return(true); } CurScene.Clear(); CurScene = _NextScene; if (_NextScene == null) { return(false); } _NextScene = null; CurScene.Create(); CurScene.Enter(); return(true); }
public void ChangeScene(eScene a_eScene) { m_refScene = null; ResetPopup(); Transition.LoadLevel(a_eScene.ToDesc(), 0.5f, Color.black); }
public void SetScene(CScene a_refScene) { m_refScene = a_refScene; if (m_refScene.m_eScene == eScene.Town) { GameMng.Ins.EnterTown(); } }
public static void Switch <T>() where T : CScene, new() { if (s_cCurrentScene != null) { s_cCurrentScene.OnExit(); } s_cCurrentScene = new T(); s_cCurrentScene.OnEnter(); }
public TempScene Initialize(MScene mScene, string path, CScene controller) { var sO = Create(path); sO.mScene = mScene; sO.path = path; sO.currentSceneController = controller; return(sO); }
private void btnModel_Click(object sender, EventArgs e) { string fileName = @"D:\gisData\xlsx\middleLine.xlsx"; CScene.loadMiddleLineFromDB(fileName); CTEProject.LoadTEProFromDB(); CTEPier.LoadPiersFromDB(); SaveTEProList(); SaveTEPier(); MessageBox.Show("导出成功!"); }
public void Clear() { if (_NextScene != null) { _NextScene = null; } if (CurScene != null) { CurScene.Exit(); } }
public void SetNextForce(CScene Scene_) { _NextScene = null; if (CurScene != null) { CurScene.Clear(); } CurScene = Scene_; CurScene.Create(); CurScene.Enter(); }
public void SetNext(CScene Scene_) { if (CurScene != null) { _NextScene = Scene_; // don't care _NextScene is valid or not CurScene.Exit(); } else { CurScene = Scene_; CurScene.Create(); CurScene.Enter(); } }
// inicializa el modo juego ppdicho (una vez que el jugador selecciono el wav public void InitGame() { // esta en un thread aparte , aviso cuando termina // cargo el WAV sound.Create(wav_files[curr_file]); // genero la escena a partir del WAV ESCENA = new CScene(MediaDir, sound.PCMBuffer, sound._cant_samples); // el resto de la carga ESCENA.player = SHIP = new CShip(MediaDir, ESCENA, "nave\\Swoop+Bike-TgcScene.xml"); SHIP.pos_en_ruta = 10; // termino pongo el status en 2 m_state = 2; timer_intro = 5; // 5 segundos de intro antes de que arranque }
public CShip(string MediaDir, CScene pscene, String fname) { S = pscene; var loader = new TgcSceneLoader(); mesh = loader.loadSceneFromFile(MediaDir + fname).Meshes[0]; mesh.AutoTransform = false; mesh.Technique = "DefaultTechnique"; box = TGCBox.fromExtremes(new TGCVector3(0, 0, 0), new TGCVector3(100, 40, 40), TgcTexture.createTexture(MediaDir + "texturas\\plasma.png")); box.AutoTransform = false; box.Technique = "Fire"; bb = TGCBox.fromExtremes(new TGCVector3(0, 0, 0), new TGCVector3(1, 1, 1), TgcTexture.createTexture(MediaDir + "texturas\\plasma.png")); bb.AutoTransform = false; bb.Technique = "DefaultTechnique"; dr = S.ancho_ruta / 2 - 27; }
public void Update(TgcD3dInput Input, CScene S, float ElapsedTime) { // tiempo total time += ElapsedTime; // computo e integro las fuerza computeForces(Input, ElapsedTime); integrateForces(ElapsedTime); pos_en_ruta = S.que_pos(time, vel_lineal, out pos_t); // colisiones con los sound tracks de la escena colisiona = false; if (pos_en_ruta % S.pt_x_track == 0) { int index = pos_en_ruta / S.pt_x_track; int freq_wav = S.sound_tracks[index]; int freq_ship = que_frecuencia(); if (Math.Abs(freq_ship - freq_wav) < 60) { // colision colisiona = true; score++; } score_total++; } // interpolo segun pos_t posC = TGCVector3.Lerp(S.pt_ruta[pos_en_ruta], S.pt_ruta[pos_en_ruta + 1], pos_t); dir = TGCVector3.Lerp(S.Tangent[pos_en_ruta], S.Tangent[pos_en_ruta + 1], pos_t); normal = TGCVector3.Lerp(S.Normal[pos_en_ruta], S.Normal[pos_en_ruta + 1], pos_t); binormal = TGCVector3.Lerp(S.Binormal[pos_en_ruta], S.Binormal[pos_en_ruta + 1], pos_t); // elevo un poco la nave posC += normal * desfH; pos = posC + binormal * X; // actualizo la posicion de la nave mesh.Transform = CalcularMatriz(pos, car_Scale, -dir, normal); }
public void render(Effect effect, CScene T, CShip S) { var device = D3DDevice.Instance.Device; int pos_en_ruta = S.pos_en_ruta; float dr = T.ancho_ruta; TGCVector3 Normal = T.Normal[pos_en_ruta]; TGCVector3 Binormal = T.Binormal[pos_en_ruta]; TGCVector3 Tangent = T.Tangent[pos_en_ruta]; int cant_tri = 0; int dataIdx = 0; int cant_bandas = 200; float M = 1000000.0f; for (int j = 0; j < cant_bandas; j++) { float ei = fft.coef(2 * j) / M; float y = 40 + ei * 1230; float x0 = 2 * dr * (float)j / (float)cant_bandas - dr - 5; float x1 = 2 * dr * (float)(j + 1) / (float)cant_bandas - dr + 5; TGCVector3 p0, p1, p2, p3; float dt = -20; p0 = S.posC - Binormal * x0 - Normal * 5 + Tangent * dt; p1 = S.posC - Binormal * x1 - Normal * 5 + Tangent * dt; p2 = p0 + Tangent * y; p3 = p1 + Tangent * y; vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p0, Normal, 0, 0); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p1, Normal, 1, 0); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p2, Normal, 0, 1); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p1, Normal, 1, 0); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p2, Normal, 0, 1); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p3, Normal, 1, 1); cant_tri += 2; x0 = 2 * dr * (float)j / (float)cant_bandas - dr; x1 = 2 * dr * (float)(j + 1) / (float)cant_bandas - dr; p0 = S.posC - Binormal * x0 - Normal * 5 + Tangent * dt; p1 = S.posC - Binormal * x1 - Normal * 5 + Tangent * dt; p2 = p0 + Tangent * y; p3 = p1 + Tangent * y; vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p0, Normal, 0, 0); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p1, Normal, 1, 0); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p2, Normal, 0, 1); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p1, Normal, 1, 0); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p2, Normal, 0, 1); vb_data[dataIdx++] = new CustomVertex.PositionNormalTextured(p3, Normal, 1, 1); cant_tri += 2; } vb.SetData(vb_data, 0, LockFlags.None); device.SetStreamSource(0, vb, 0); device.VertexFormat = CustomVertex.PositionNormalTextured.Format; effect.Technique = "GlowBar"; effect.SetValue("cube_color", TGCVector3.Vector3ToFloat4Array(new TGCVector3(1, 0.3f, 0.3f))); device.RenderState.AlphaBlendEnable = true; device.RenderState.ZBufferEnable = false; int numPasses = effect.Begin(0); for (var n = 0; n < numPasses; n++) { effect.BeginPass(n); device.DrawPrimitives(PrimitiveType.TriangleList, 0, cant_tri); effect.EndPass(); } effect.End(); device.RenderState.ZBufferEnable = true; }
public BimDataComponent(CScene controller) : base(controller) { }
public IEnumerator Init(MVersion versions) { CScene scene = SceneManager.CurrentScene; SUser sUser = Global.SUser; List <IEnumerator> list = new List <IEnumerator>(); list.Add(sUser.Download(PromptMessageAsset.Url, versions.prompt_message, (AssetBundle assetbundle) => { Debug.Log("CLogo assetbundle=" + assetbundle); PromptMessageAsset.assetbundle = assetbundle; })); list.Add(sUser.Download(LanguageAsset.WORD_URL, versions.word, (AssetBundle assetbundle) => { LanguageAsset.assetbundle = assetbundle; Language.Reset(LanguageAsset.Data.words); LanguageAsset.Clear(); })); list.Add(sUser.Download(ImageAssetBundleManager.horseUrl, versions.horse_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.horse = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.headUrl, versions.head_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.head = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.clothesUrl, versions.clothes_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.clothes = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(ImageAssetBundleManager.weaponUrl, versions.weapon_img, (AssetBundle assetbundle) => { AvatarSpriteAsset.assetbundle = assetbundle; ImageAssetBundleManager.weapon = AvatarSpriteAsset.Data.meshs; })); list.Add(sUser.Download(WorldAsset.Url, versions.world, (AssetBundle assetbundle) => { WorldAsset.assetbundle = assetbundle; Global.worlds = WorldAsset.Data.worlds; })); list.Add(sUser.Download(ConstantAsset.Url, versions.constant, (AssetBundle assetbundle) => { ConstantAsset.assetbundle = assetbundle; Global.Constant = ConstantAsset.Data.constant; })); list.Add(sUser.Download(NpcAsset.Url, versions.npc, (AssetBundle assetbundle) => { NpcAsset.assetbundle = assetbundle; NpcCacher.Instance.Reset(NpcAsset.Data.npcs); NpcAsset.Clear(); })); list.Add(sUser.Download(NpcEquipmentAsset.Url, versions.npc_equipment, (AssetBundle assetbundle) => { NpcEquipmentAsset.assetbundle = assetbundle; NpcEquipmentCacher.Instance.Reset(NpcEquipmentAsset.Data.npc_equipments); NpcEquipmentAsset.Clear(); })); list.Add(sUser.Download(CharacterStarAsset.Url, versions.characterstar, (AssetBundle assetbundle) => { CharacterStarAsset.assetbundle = assetbundle; CharacterStarCacher.Instance.Reset(CharacterStarAsset.Data.characterStars); CharacterStarAsset.Clear(); })); /*list.Add(sUser.Download(AreaAsset.Url, versions.area, (AssetBundle assetbundle)=>{ * AreaAsset.assetbundle = assetbundle; * AreaCacher.Instance.Reset(AreaAsset.Data.areas); * AreaAsset.Clear(); * }));*/ list.Add(sUser.Download(ItemAsset.Url, versions.item, (AssetBundle assetbundle) => { ItemAsset.assetbundle = assetbundle; ItemCacher.Instance.Reset(ItemAsset.Data.items); ItemAsset.Clear(); })); /*list.Add(sUser.Download(MissionAsset.Url, versions.mission, (AssetBundle assetbundle)=>{ * MissionAsset.assetbundle = assetbundle; * MissionCacher.Instance.Reset(MissionAsset.Data.missions); * MissionAsset.Clear(); * }));*/ list.Add(sUser.Download(SkillAsset.Url, versions.skill, (AssetBundle assetbundle) => { SkillAsset.assetbundle = assetbundle; SkillCacher.Instance.Reset(SkillAsset.Data.skills); SkillAsset.Clear(); })); list.Add(sUser.Download(StrategyAsset.Url, versions.strategy, (AssetBundle assetbundle) => { StrategyAsset.assetbundle = assetbundle; StrategyCacher.Instance.Reset(StrategyAsset.Data.strategys); StrategyAsset.Clear(); })); list.Add(sUser.Download(ExpAsset.Url, versions.exp, (AssetBundle assetbundle) => { ExpAsset.assetbundle = assetbundle; ExpCacher.Instance.Reset(ExpAsset.Data.exps); ExpAsset.Clear(); })); list.Add(sUser.Download(BattlefieldAsset.Url, versions.battlefield, (AssetBundle assetbundle) => { BattlefieldAsset.assetbundle = assetbundle; BattlefieldCacher.Instance.Reset(BattlefieldAsset.Data.battlefields); BattlefieldAsset.Clear(); })); list.Add(sUser.Download(BuildingAsset.Url, versions.building, (AssetBundle assetbundle) => { BuildingAsset.assetbundle = assetbundle; BuildingCacher.Instance.Reset(BuildingAsset.Data.buildings); BuildingAsset.Clear(); })); list.Add(sUser.Download(BaseMapAsset.Url, versions.top_map, (AssetBundle assetbundle) => { BaseMapAsset.assetbundle = assetbundle; BaseMapCacher.Instance.Reset(BaseMapAsset.Data.baseMaps); BaseMapAsset.Clear(); })); list.Add(sUser.Download(CharacterAsset.Url, versions.character, (AssetBundle assetbundle) => { CharacterAsset.assetbundle = assetbundle; CharacterCacher.Instance.Reset(CharacterAsset.Data.characters); CharacterAsset.Clear(); })); list.Add(sUser.Download(TileAsset.Url, versions.tile, (AssetBundle assetbundle) => { TileAsset.assetbundle = assetbundle; TileCacher.Instance.Reset(TileAsset.Data.tiles); TileAsset.Clear(); })); list.Add(sUser.Download(LoginBonusAsset.Url, versions.loginbonus, (AssetBundle assetbundle) => { LoginBonusAsset.assetbundle = assetbundle; LoginBonusCacher.Instance.Reset(LoginBonusAsset.Data.loginbonuses); LoginBonusAsset.Clear(); })); list.Add(sUser.Download(ImageAssetBundleManager.mapUrl, versions.map, (AssetBundle assetbundle) => { ImageAssetBundleManager.map = assetbundle; }, false)); list.Add(sUser.Download(ImageAssetBundleManager.equipmentIconUrl, versions.equipmenticon_icon, (AssetBundle assetbundle) => { ImageAssetBundleManager.equipmentIcon = assetbundle; }, false)); list.Add(sUser.Download(ImageAssetBundleManager.itemIconUrl, versions.item_icon, (AssetBundle assetbundle) => { ImageAssetBundleManager.itemIcon = assetbundle; }, false)); list.Add(sUser.Download(ImageAssetBundleManager.skillIconUrl, versions.skill_icon, (AssetBundle assetbundle) => { ImageAssetBundleManager.skillIcon = assetbundle; }, false)); list.Add(sUser.Download(HorseAsset.Url, versions.horse, (AssetBundle assetbundle) => { HorseAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetHorse(HorseAsset.Data.equipments); HorseAsset.Clear(); })); list.Add(sUser.Download(WeaponAsset.Url, versions.weapon, (AssetBundle assetbundle) => { WeaponAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetWeapon(WeaponAsset.Data.equipments); WeaponAsset.Clear(); })); list.Add(sUser.Download(ClothesAsset.Url, versions.clothes, (AssetBundle assetbundle) => { ClothesAsset.assetbundle = assetbundle; EquipmentCacher.Instance.ResetClothes(ClothesAsset.Data.equipments); ClothesAsset.Clear(); })); list.Add(sUser.Download(StoryProgressAsset.Url, versions.character, (AssetBundle assetbundle) => { StoryProgressAsset.assetbundle = assetbundle; foreach (string key in StoryProgressAsset.Data.keys) { App.Util.LSharp.LSharpVarlable.SetVarlable(key, "0"); } StoryProgressAsset.Clear(); })); if (App.Util.Global.SUser.self != null) { list.Add(sUser.RequestGet()); } float step = 100f / list.Count; for (int i = 0; i < list.Count; i++) { CLoadingDialog.SetNextProgress((i + 1) * step); yield return(scene.StartCoroutine(list[i])); } yield return(0); }
public override void OnInspectorGUI() { CScene scene = (CScene)target; //===========>>>>>>Player GUILayout.Label("BP Setting(Self)"); //search existed bp in this scene List <GameObject> _bplist = scene.GetBPList(BattleRoleType.Self); //draw editor for (int i = 0; i < _bplist.Count; i++) { GUILayout.Label(_bplist[i].name + ":"); EditorGUILayout.BeginHorizontal(); _bplist[i].transform.localPosition = EditorGUILayout.Vector3Field("", _bplist[i].transform.localPosition); if (GUILayout.Button("Remove")) { scene.RemoveBpObj(_bplist[i], BattleRoleType.Self); Repaint(); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.Space(); if (GUILayout.Button("Add")) { scene.AddBPObj(_bplist.Count, BattleRoleType.Self); Repaint(); } //=========>>>>>>>Monster EditorGUILayout.Space(); EditorGUILayout.Space(); GUILayout.Label("BP Setting(Monster)"); List <GameObject> _bplist_monster = scene.GetBPList(BattleRoleType.Monster); for (int i = 0; i < _bplist_monster.Count; i++) { GUILayout.Label(_bplist_monster[i].name + ":"); EditorGUILayout.BeginHorizontal(); _bplist_monster[i].transform.localPosition = EditorGUILayout.Vector3Field("", _bplist_monster[i].transform.localPosition); if (GUILayout.Button("Remove")) { scene.RemoveBpObj(_bplist_monster[i], BattleRoleType.Monster); Repaint(); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.Space(); if (GUILayout.Button("Add")) { scene.AddBPObj(_bplist_monster.Count, BattleRoleType.Monster); Repaint(); } //=========>>>>>>>Boss EditorGUILayout.Space(); EditorGUILayout.Space(); GUILayout.Label("BP Setting(Boss)"); List <GameObject> _bplist_boss = scene.GetBPList(BattleRoleType.Boss); for (int i = 0; i < _bplist_boss.Count; i++) { GUILayout.Label(_bplist_boss[i].name + ":"); EditorGUILayout.BeginHorizontal(); _bplist_boss[i].transform.localPosition = EditorGUILayout.Vector3Field("", _bplist_boss[i].transform.localPosition); if (GUILayout.Button("Remove")) { scene.RemoveBpObj(_bplist_boss[i], BattleRoleType.Boss); Repaint(); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.Space(); if (GUILayout.Button("Add")) { scene.AddBPObj(_bplist_boss.Count, BattleRoleType.Boss); Repaint(); } }
/** * 进入某场景 * \param nSceneID * 场景ID/玩家城市id * \param nResID * 场景的客户端资源ID * * \param nCityLevel * 玩家城市等级,如果小于0,表示是普通场景! */ public bool EnterScene(int nSceneID, int nResID, int nCityLevel) { //LogManager.Log("EnterScene(): int WorldManager"); //必须在进入场景流程中 if (GameProcedure.GetActiveProcedure() != GameProcedure.s_ProcEnter) { LogManager.Log("Must enter scene at ENTER procedure"); return(false); } _DBC_SCENE_DEFINE pSceneDef = null; //如果是玩家城市 bool bUserCity = (nCityLevel >= 0); if (bUserCity) { //查找城市场景 for (int i = 0; i < (int)DBC.COMMON_DBC <_DBC_SCENE_DEFINE> .DataNum; i++) { _DBC_SCENE_DEFINE pTempSceneDef = SceneDBC.Search_Index_EQU(i); //Id和等级相同 if (pTempSceneDef.nSceneResID == nResID && pTempSceneDef.nCityLevel == nCityLevel) { pSceneDef = pTempSceneDef; break; } } } else { //查找场景定义 pSceneDef = SceneDBC.Search_Index_EQU(nResID); } if (pSceneDef == null) { LogManager.LogError("(CWorldManager::EnterScene) Invalid scene ID:" + nResID); return(false); } //首先离开现有的场景 if (ActiveScene != null) { //相同的场景 if (GetActiveSceneID() == nSceneID) { //LogManager.Log("Enter The Same Scene"); return(false); } // 移除寻路轨迹 [9/21/2011 Sun] //ClearAllFreeProjTex(); //删除当前场景 m_pActiveScene.LeaveScene(); m_pActiveScene = null; } m_nActiveSceneID = (short)nSceneID; //创建新的场景 m_pActiveScene = new CScene(pSceneDef, mLoadSceneBehaviour); //加载新的场景, 加载静态物体定义 m_pActiveScene.Initial(); ////进入场景 m_pActiveScene.EnterScene(); m_Station = WORLD_STATION.WS_ENTER; ////产生进入场景的事件 CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_SCENE_TRANSED, ActiveScene.GetSceneDefine().szSceneMap); return(true); }