public bool ShowCaptionUpWnd() { CombatScene combat = SceneM.GetCurIScene() as CombatScene; if (combat != null) { UserInfo old = combat.m_oldUserInfo; if (old.Level < UserDC.GetLevel()) { CaptionUpgradeWnd cuw = WndManager.GetDialog <CaptionUpgradeWnd>(); int oldMaxPhysical = UserM.GetMaxPhysical(old.Level); int newMaxPhysical = UserM.GetMaxPhysical(UserDC.GetLevel()); int oldMaxherolevel = UserM.GetUserMaxHeroLevel(old.Level); int newMaxherolevel = UserM.GetUserMaxHeroLevel(UserDC.GetLevel()); cuw.SetData(old.Level, UserDC.GetLevel(), StageDC.GetStageResult().win ? old.Physical - StageDC.GetCounterPartInfo().win_physical : old.Physical - StageDC.GetCounterPartInfo().lose_physical, UserDC.GetPhysical(), oldMaxPhysical, newMaxPhysical, oldMaxherolevel, newMaxherolevel); cuw.MyHead.BtnBg.OnClickEventHandler += BackMainScence; cuw.MyHead.BtnClose.OnClickEventHandler += BackMainScence; return(true); } } return(false); }
public GameState(IntPtr nativePtr) : base(nativePtr) { _scene = new CombatScene(0, this); _scene.AddSystem <CharacterCameraSystem>(); var playerCtrlSystem = _scene.AddSystem <PlayerControllerSystem>(); // ControllerSystem ctrlSystem =_scene.AddSystem<ControllerSystem>(); _entityBase = _scene.CreateEntity(); _cameraRender = (CameraRenderable)_entityBase.Assign_Component(new CameraRenderable()); _camera = (CameraFree)_entityBase.Assign_Component(new CameraFree(_entityBase, _cameraRender)); _controller = (Controller)_entityBase.Assign_Component(new Controller(_entityBase)); _player = (PlayerComponent)_entityBase.Assign_Component(new PlayerComponent(_entityBase)); _entityBase.Assign_Component(new NetIdComponent(_entityBase)); _player.PlayerSetActionMap(_controller); _screen = _entityBase.Assign_ScreenComponent(_cameraRender); playerCtrlSystem.SetBasicInputEvents(_controller); // CtrlSetBasicInputEvents(_controller.CPointer, "E:\\Projekte\\coop\\XEngine\\data\\Test\\XETController\\Controller.cfg"); _screen.AddUIState(_entityBase); _NetObserver = new NetObserver(this); }
GameScene GetGameScene(GameSceneType type) { GameScene gameScene; if (!m_GameScenes.TryGetValue(type, out gameScene)) { switch (type) { case GameSceneType.Combat: gameScene = new CombatScene(); break; case GameSceneType.Title: gameScene = new TitleScene(); break; case GameSceneType.PreCombat: gameScene = new PreCombatScene(); break; case GameSceneType.Practice: gameScene = new PracticeScene(); break; default: gameScene = new ExitGameScene(); break; } gameScene.onEnterComplete += OnEnterComplete; gameScene.onExitComplete += OnExitComplete; m_GameScenes.Add(type, gameScene); } return(gameScene); }
// 登记所有的场景处理器 private static void RegisterScene() { SceneM.RegisterScene(CombatScene.GetSceneName(), new CombatScene()); SceneM.RegisterScene(MainTownScene.GetSceneName(), new MainTownScene()); SceneM.RegisterScene(ViewStageScene.GetSceneName(), new ViewStageScene()); SceneM.RegisterScene(TreasureScene.GetSceneName(), new TreasureScene()); SceneM.RegisterLoadingAnim(CombatScene.GetSceneName(), new LoadingMainTown()); SceneM.RegisterLoadingAnim(MainTownScene.GetSceneName(), new LoadingMainTown()); SceneM.RegisterLoadingAnim(ViewStageScene.GetSceneName(), new LoadingMainTown()); SceneM.RegisterLoadingAnim(TreasureScene.GetSceneName(), new LoadingMainTown()); }
/// <summary> /// 0702 获取所有已造建筑回应 /// </summary> /// <param name="Info"></param> void CanCombat(int nErrorCode) { DataCenter.AntiRegisterHooks((int)gate.Command.CMD.CMD_702, CanCombat); if (nErrorCode == 0) { NGUIUtil.DebugLog("2:收到702 获取所有建筑请求 回应" + Time.time, "yellow"); SceneM.Load(CombatScene.GetSceneName(), false, null, false); } else { Debug.Log("获取数据失败:" + nErrorCode.ToString()); } }
public void Startup(IFileStorage storage) { GameEngine = new GameEngine(storage); Log = Dependencies.Get <ILogger> (); var combatScene = new CombatScene(this); combatScene.Load(CurrentState.CurrentMap); CurrentScene = combatScene; GameWindow.StartAnimationTimer(); }
public void Startup(IFileStorage storage) { Client = new GameClient(); var combatScene = new CombatScene(this); Client.Delegate = combatScene; combatScene.Load(CurrentState.CurrentMap); CurrentScene = combatScene; GameWindow.StartAnimationTimer(); }
void ClickCombat(UIButton sender) { CounterPartInfo Info = StageDC.GetCounterPartInfo(); if (Info == null) { return; } if (m_type != StageType.Normal) { int Times = StageDC.GetPassStageTimes(m_type, m_stageid); if (Times >= Info.times) { NGUIUtil.ShowTipWndByKey("88800031", 2); return; } } if (StageDC.GetPveMode() == PVEMode.Defense) { SoundPlay.PlayBackGroundSound("bgm_battle_loop", true, false); ShipCanvasInfo Canvas = new ShipCanvasInfo(); List <SoldierInfo> lSoldier = new List <SoldierInfo>(); List <ShipPutInfo> lBuild = new List <ShipPutInfo>(); ShipPlanDC.SetCurShipPlan(PlanType.Default); ShipPlan Plan = ShipPlanDC.GetCurShipPlan(); Plan.GetShipCansInfoPlan(ref Canvas, ref lSoldier, ref lBuild); CmCarbon.SetDefenseMap(Canvas); CmCarbon.SetDefenseBuild(lBuild); CmCarbon.SetDefenseSoldier(lSoldier); CmCarbon.SetDefenseFloor(UserDC.GetDeckLevel()); CmCarbon.SetDefenseUserInfo(Info, null); List <int> l = new List <int>(); foreach (SoldierInfo s in lSoldier) { l.Add(s.ID); } sender.enabled = false; //DataCenter.RegisterHooks((int)gate.Command.CMD.CMD_702, CanCombat); //StageDC.SendStageAttackRequest(m_stageid, l, 0); SceneM.Load(CombatScene.GetSceneName(), false, false); } else { sender.enabled = false; //SoldierDC.Send_SoldierBattleListRequest(0); //DataCenter.RegisterHooks((int)gate.Command.CMD.CMD_214, LoadStage); SceneM.Load(CombatScene.GetSceneName(), false, false); } }
static void TestCombatSystem() { List <Player> players = new List <Player>(); players.Add(new Player("Player 1")); players.Add(new Player("Player 2")); players.Add(new Player("Player 3")); List <Player> enemies = new List <Player>(); enemies.Add(new Player("Enemy 1")); enemies.Add(new Player("Enemy 2")); players[1].CurrentStats.AddCharacterStatValue(RpgGamePcl.BaseEnums.ActorStatsEnum.HitPoints, 900000); CombatFormulas cf = new CombatFormulas(); CombatScene cs = new CombatScene(players, enemies, cf); cs.ActScene(); Console.WriteLine("winner : " + cs.WinnerSide.ToString() + " in " + cs.TurnCount + " turns"); Console.WriteLine("Press any key to end."); Console.ReadKey(); }
//private AsyncOperation async; /// <summary> /// 资源载入入口 /// </summary> public override IEnumerator Load() { async = Application.LoadLevelAsync(CombatScene.GetSceneName()); return(null); //yield return async; }
void LoadStage(int nErrorCode) { SceneM.Load(CombatScene.GetSceneName(), false, false); DataCenter.AntiRegisterHooks((int)gate.Command.CMD.CMD_214, LoadStage); }
// 异步载入场景 private static IEnumerator NonsyncLoad(string sceneName, ILoading loading) { App.log.Trace("SceneM.cs", "开始异步载入场景{0}", sceneName); // 取得载入器 IScene scene = sceneLoadControl[sceneName]; s_preScene = s_CurIScene; s_loadingIScene = scene; // 1 播放开始载入的动画,并等待其播放完毕 if (loading != null) { App.log.Trace("SceneM.cs", "播放载入开始动画"); loading.FadeIn(); while (loading.IsFadingIn()) { yield return(null); } } // 欲载入的处理 scene.PrepareLoad(); // 2 产生事件并清理旧的场景 if (eventUnload != null) { eventUnload(s_preScene); } if (s_preScene != null) { s_preScene.Clear(); } // 3 载入新的场景 scene.Load(); if (sceneLoadingAnim.ContainsKey(sceneName)) { sceneLoadingAnim[sceneName].SetAsyncLoading(scene.AsyncLoading); } if (sceneLoadControl.ContainsKey(CombatScene.GetSceneName())) { IScene sceneCombat = sceneLoadControl[CombatScene.GetSceneName()]; // 清理内存资源 if (scene != sceneCombat && s_preScene != sceneCombat) { Resources.UnloadUnusedAssets(); System.GC.Collect(); } } // 1 播放开始载入的动画,并等待其播放完毕 if (loading != null) { App.log.Trace("SceneM.cs", "播放载入开始动画"); loading.Load(); while (loading.IsLoading()) { yield return(null); } } yield return(new WaitForMSeconds(100f)); // 等待载入完成 while (!scene.IsEnd()) { yield return(null); } // 场景载入完成(一定要在load完毕后才能替换,此时的环境才能称得上载入完成) s_CurIScene = scene; bLoading = false; // 6 发出载入完毕的事件 if (eventLoaded != null) { eventLoaded(scene); } //载入完成。 scene.BuildScene(); scene.Start(); // 4 播放载入完成的动画,并等待其播放完毕 if (loading != null) { App.log.Trace("SceneM.cs", "播放载入完成动画"); loading.FadeOut(); while (loading.IsFadingOut()) { yield return(null); } loading.TryDestroy(); } // 载入完成 App.log.Trace("SceneM.cs", "异步载入场景{0}完成", sceneName); }