void Start() { Instance = this; uiScoreTextTween.isDead = true; uiScoreTextTween.doStayAlive = true; uiScoreTextTween.SetTransition(step => { float size = 1.5f + (1f - step) * 1f; uiScoreText.transform.localScale = new Vector3(size, size, size); }); TweenManager.AddTween(uiScoreTextTween, false); uiComboTextTween.isDead = true; uiComboTextTween.doStayAlive = true; uiComboTextTween.SetTransition(step => { float size = 1f + (1f - step) * 0.2f; uiComboText.transform.localScale = new Vector3(size, size, size); }); TweenManager.AddTween(uiComboTextTween, false); uiIncTextTween.isDead = true; uiIncTextTween.doStayAlive = true; uiIncTextTween.SetTransition(step => { // float size = 1.5f + (1f - step) * 0.2f; float size = (1f - step) * 1.5f; uiIncText.transform.localScale = new Vector3(size, size, size); }); TweenManager.AddTween(uiIncTextTween, false); }
public async Task GenerateViaAndTarget_ShouldNot_RecreateViaWhenAccurate() { var proc = new Mock <IProcessHandler>().Object; var character = new Mock <ICharacterStateProvider>().Object; var input = new Mock <IInputHandler>().Object; var planProvider = new TestPlanProvider(); var livePlayer = new LivePlayer(proc, character, input, planProvider); Node firstTarget; Node target; Node via0; Node via1; await livePlayer.LoadAndGenerateRoute(); firstTarget = livePlayer.GenerateViaAndTarget(2.2f, 0.1f); target = livePlayer.GenerateViaAndTarget(2.1f, 0.1f); via0 = livePlayer.ViaRoute.Dequeue(); via1 = livePlayer.ViaRoute.Dequeue(); firstTarget.Should().Be(target); livePlayer.ViaRoute.Should().HaveCount(0); via0.X.Should().Be(2); via0.Y.Should().BeInRange(0, 2); via1.X.Should().Be(2 - via1.Y); via1.Y.Should().BeInRange(0, 2); target.Should().Be(via0); }
public async Task LoadAndGenerateRoute_Should_Work() { var proc = new Mock <IProcessHandler>().Object; var character = new Mock <ICharacterStateProvider>().Object; var input = new Mock <IInputHandler>().Object; var planProvider = new TestPlanProvider(); var livePlayer = new LivePlayer(proc, character, input, planProvider); var nodes = new List <Node>(); var validators = new List <Action <Node> >() { n => { n.X.Should().Be(0.5f); n.Y.Should().Be(0.5f); }, n => { n.X.Should().Be(1.5f); n.Y.Should().Be(1.5f); }, n => { n.X.Should().Be(2.5f); n.Y.Should().Be(0.5f); }, n => { n.X.Should().Be(3.5f); n.Y.Should().Be(1.5f); }, n => { n.X.Should().Be(4.5f); n.Y.Should().Be(2.5f); }, n => { n.X.Should().Be(0.5f); n.Y.Should().Be(2.5f); }, }; await livePlayer.LoadAndGenerateRoute(); livePlayer.Route.Should().HaveSameCount(validators); for (int i = 0; i < livePlayer.Route.Count; ++i) { validators[i](livePlayer.Route[i]); } }
private void InitializeGame() { player = new LivePlayer( MainMenu.ChosenFaction, Hero.DeffaultHero, HeavenUnits.DeffaultHeavenUnits, 1000); //player.Hero.Name = MainMenu.Nickname; }
/// <summary> /// Start Preview in realtime. /// <para><paramref name="playWndHandle"/> - window handle, on fitch will be drawing.</para> /// <para><paramref name="previewSettings"/> - preview settings.</para> /// </summary> public void StartPreview(IntPtr playWndHandle, NvrPreviewSettings previewSettings) { if (livePlayer_.RealPlayHandle != -1) { throw new NvrBadLogicException("Call StopPreview before calling StartPreview"); } if (!NvrUserSession.IsSessionValid()) { throw new NvrBadLogicException("Call StartPreview when NvrUserSession is invalid"); } livePlayer_ = new LivePlayer(playWndHandle, previewSettings); CHCNetSDK.NET_DVR_PREVIEWINFO previewInfo = new CHCNetSDK.NET_DVR_PREVIEWINFO() { lChannel = NvrUserSession.UserSessionState.SelectedChannelNum, dwStreamType = livePlayer_.PreviewSettings.StreamType, dwLinkMode = (uint)livePlayer_.PreviewSettings.LinkMode, bBlocked = livePlayer_.PreviewSettings.IsBlocked, dwDisplayBufNum = livePlayer_.PreviewSettings.DisplayBufNum, byPreviewMode = (byte)livePlayer_.PreviewSettings.PreviewMode }; switch (previewSettings.PreviewHandleMode) { case PreviewHandleType.Direct: livePlayer_.RealDataCallBackFunc = null; previewInfo.hPlayWnd = livePlayer_.PlayWndHandlePtr; break; case PreviewHandleType.CallBack: livePlayer_.RealDataCallBackFunc = new CHCNetSDK.REALDATACALLBACK(realDataCallBack); // Real-time stream callback function previewInfo.hPlayWnd = IntPtr.Zero; break; } livePlayer_.RealPlayHandle = CHCNetSDK.NET_DVR_RealPlay_V40(NvrUserSession.UserSessionState.UserId, ref previewInfo, livePlayer_.RealDataCallBackFunc, IntPtr.Zero); if (livePlayer_.RealPlayHandle == -1) { throw new NvrSdkException(CHCNetSDK.NET_DVR_GetLastError(), "NET_DVR_RealPlay_V40 failed: " + livePlayer_.RealPlayHandle); } if (previewSettings.PreviewHandleMode == PreviewHandleType.Direct) { livePlayer_.DrawCallBackFunc = new CHCNetSDK.DRAWFUN(drawCallBack); if (!CHCNetSDK.NET_DVR_RigisterDrawFun(livePlayer_.RealPlayHandle, livePlayer_.DrawCallBackFunc, 0)) { invokeOnPreviewErrorEvent(PlayCtrl.PlayM4_GetLastError(livePlayer_.RealPlayPort), "NET_DVR_RigisterDrawFun failed"); } } debugInfo("NET_DVR_RealPlay_V40 succ!"); }
private void CreatePlayer() { if (MainMenu.ChosenFaction == Faction.Inferno) { Player = new LivePlayer(MainMenu.ChosenFaction, InfernoUnit.DeffaultUnits, 1000); } else { Player = new LivePlayer(MainMenu.ChosenFaction, HeavenUnit.DeffaultUnits, 1000); } }
private void InitializeGame() { if (MainMenu.ChosenFaction == Faction.Inferno) { player = new LivePlayer(MainMenu.ChosenFaction, InfernoCreatures.DeffaultUnits, 1000); } else { player = new LivePlayer(MainMenu.ChosenFaction, HeavenUnits.DeffaultUnits, 1000); } }
/// <summary> /// Stop Preview. /// </summary> public void StopPreview() { if (livePlayer_.RealPlayHandle == -1) { debugInfo("Preview not started!"); return; } { // Set to null Draw CallBack Function CHCNetSDK.NET_DVR_RigisterDrawFun(livePlayer_.RealPlayHandle, null, 0); } bool isStopRealPlayOk; { // Stop live view isStopRealPlayOk = CHCNetSDK.NET_DVR_StopRealPlay(livePlayer_.RealPlayHandle); if (livePlayer_.RealPlayPort >= 0) { if (!PlayCtrl.PlayM4_Stop(livePlayer_.RealPlayPort)) { invokeOnPreviewErrorEvent(PlayCtrl.PlayM4_GetLastError(livePlayer_.RealPlayPort), "PlayM4_Stop failed"); } if (!PlayCtrl.PlayM4_CloseStream(livePlayer_.RealPlayPort)) { invokeOnPreviewErrorEvent(PlayCtrl.PlayM4_GetLastError(livePlayer_.RealPlayPort), "PlayM4_CloseStream failed"); } if (!PlayCtrl.PlayM4_FreePort(livePlayer_.RealPlayPort)) { invokeOnPreviewErrorEvent(PlayCtrl.PlayM4_GetLastError(livePlayer_.RealPlayPort), "PlayM4_FreePort failed"); } } } livePlayer_ = LivePlayer.Default(); if (isStopRealPlayOk) { debugInfo("NET_DVR_StopRealPlay succ!"); } else { throw new NvrSdkException(CHCNetSDK.NET_DVR_GetLastError(), "NET_DVR_StopRealPlay failed"); } }
public async Task GenerateViaAndTarget_Should_NotCreateViaForTargetInSameTri() { var proc = new Mock <IProcessHandler>().Object; var character = new Mock <ICharacterStateProvider>().Object; var input = new Mock <IInputHandler>().Object; var planProvider = new TestPlanProvider(); var livePlayer = new LivePlayer(proc, character, input, planProvider); Node target; await livePlayer.LoadAndGenerateRoute(); target = livePlayer.GenerateViaAndTarget(0.1f, 0.1f); livePlayer.ViaRoute.Should().HaveCount(0); target.Should().Be(livePlayer.Route[0]); }
public async Task GenerateViaAndTarget_Should_DeleteViaWhenInaccurate() { var proc = new Mock <IProcessHandler>().Object; var character = new Mock <ICharacterStateProvider>().Object; var input = new Mock <IInputHandler>().Object; var planProvider = new TestPlanProvider(); var livePlayer = new LivePlayer(proc, character, input, planProvider); Node badTarget; Node target; await livePlayer.LoadAndGenerateRoute(); badTarget = livePlayer.GenerateViaAndTarget(0.1f, 2.1f); target = livePlayer.GenerateViaAndTarget(0.1f, 0.1f); badTarget.X.Should().BeInRange(0, 2); badTarget.Y.Should().Be(2); livePlayer.ViaRoute.Should().HaveCount(0); target.Should().Be(livePlayer.Route[0]); }
public NvrLivePlayer(NvrUserSession userSession, bool isDebugEnabled) { NvrUserSession = userSession; isDebugEnabled_ = isDebugEnabled; livePlayer_ = LivePlayer.Default(); }
private static LiveEvent ParseLeagueOfLegends(Link link) { var json = JObject.Parse(_client.GetStringAsync(link.Uri).Result); LiveEvent ev = new LiveEvent(); ev.Sport = SportEnum.LeagueOfLegends; ev.GameTime = int.Parse(json["game_time"].ToString()); ev.MapNumber = link.MapNumber; ev.LeagueName = link.LeagueName; ev.BestOf = link.BestOf; switch (json["first_tower"].ToString()) { case "red": ev.FirstTower = 2; break; case "blue": ev.FirstTower = 1; break; } switch (json["first_blood"].ToString()) { case "red": ev.FirstBlood = 2; break; case "blue": ev.FirstBlood = 1; break; } LiveTeam homeTeam = new LiveTeam(); homeTeam.WinsInSeries = link.ScoreHome; homeTeam.Players = new List <LivePlayer>(); homeTeam.TeamName = json["blue_team"]["name"].ToString(); homeTeam.Gold = int.Parse(json["blue"]["gold"].ToString()); homeTeam.Kills = int.Parse(json["blue"]["score"].ToString()); LiveTeam awayTeam = new LiveTeam(); awayTeam.WinsInSeries = link.ScoreAway; awayTeam.Players = new List <LivePlayer>(); awayTeam.TeamName = json["red_team"]["name"].ToString(); awayTeam.Gold = int.Parse(json["red"]["gold"].ToString()); awayTeam.Kills = int.Parse(json["red"]["score"].ToString()); foreach (var player in json["blue"]["players"]) { LivePlayer pl = new LivePlayer(); pl.Nickname = player["name"].ToString(); pl.ChampionName = player["hero"]["name"].ToString(); pl.ChampionImageUrl = player["hero"]["image_url"].ToString(); if (player["color"].ToString() == "blue") { homeTeam.Players.Add(pl); } } foreach (var player in json["red"]["players"]) { LivePlayer pl = new LivePlayer(); pl.Nickname = player["name"].ToString(); pl.ChampionName = player["hero"]["name"].ToString(); pl.ChampionImageUrl = player["hero"]["image_url"].ToString(); if (player["color"].ToString() == "red") { awayTeam.Players.Add(pl); } } if (link.HomeTeamName.ToLowerInvariant() == awayTeam.TeamName.ToLowerInvariant()) //hack for reversed team names { ev.HomeTeam = awayTeam; ev.AwayTeam = homeTeam; ev.HomeTeam.WinsInSeries = link.ScoreHome; ev.AwayTeam.WinsInSeries = link.ScoreAway; return(ev); } ev.HomeTeam = homeTeam; ev.AwayTeam = awayTeam; return(ev); }