/// <summary> /// デフォルトデータを読み込む. /// </summary> public void LoadDefaultData() { /* * // TODO:通信実装. * UserData = GetDummyData(); * * // TODO:正しいものに. * List<string> skillSlotIdList = new List<string>(); * UnitData friendUnit = new UnitData(GetKituneArcheTypeDummy(5), 0, 12, 0, UnitKind.PLAYER, skillSlotIdList); * * UserPublicData friendPublicData = new UserPublicData( * "friend", * "ミスターフレンド", * friendUnit, * 100 * ); * BattleInitializer.Inst.SetSortieInfo(UserData.GetPartyData(0), friendPublicData); */ PlayData = new PlayData(); SettingData = new SettingData(); // 各セーブデータがあればロードする PlayData = JsonDataSaver.FileExists(PlayData) ? JsonDataSaver.Load(PlayData) : PlayData; SettingData = JsonDataSaver.FileExists(SettingData) ? JsonDataSaver.Load(SettingData) : SettingData; }
internal static GamePlayDataDetailsViewModel ToGameDetailsViewModel(PlayData playData) { var pdVM = new GamePlayDataDetailsViewModel { ID = playData.ID, PlayerName = playData.Hoarder.Name, Status = playData.Status, Priority = playData.Priority.Name, Rating = playData.Rating == null ? "" : playData.Rating.ToString(), TotalPlaytime = PlaytimeHelper.GetLongPlaytimeString(playData.TotalPlaytime), Notes = playData.Notes }; if (playData.Playthroughs != null && playData.Playthroughs.Count != 0) { foreach (var pt in playData.Playthroughs) { var ptVM = PlaythroughMapper.ToGameDetailsViewModel(pt); pdVM.Playthroughs.Add(ptVM); } } return(pdVM); }
public string LoadAndPlay(PlayData data) { string netlinkurl = TextUtil.ExtractUrlFromBB(data.Message); IResourceFactory factory = GetFactoryFor(netlinkurl); return(LoadAndPlay(factory, data)); }
private string PostProcessStart(IResourceFactory factory, PlayData data) { bool abortPlay; factory.PostProcess(data, out abortPlay); return(abortPlay ? null : Play(data)); }
private void BreakPlayer() { CCAudioEngine.SharedEngine.EffectsVolume = 1.0f; player.Break(); CCAudioEngine.SharedEngine.PlayEffect("SE/explosion"); ScheduleOnce(_ => { CCAudioEngine.SharedEngine.StopBackgroundMusic(); if (_mode == GameMode.Normal) { PlayData data = new PlayData(randomBGM, playerPoint, enemyPopPointX, enemyTypes); data.Score = Score; var newScene_ = new CCScene(GameView); var gameLayer_ = new Loading(new RankingAssetsLoader(data)); newScene_.AddChild(gameLayer_); // ゲーム画面へシーン切り替え this.Director.ReplaceScene(newScene_); return; } var newScene = new CCScene(GameView); var gameLayer = new Loading((new RankingAssetsLoader())); newScene.AddChild(gameLayer); // ゲーム画面へシーン切り替え this.Director.ReplaceScene(newScene); }, 1); }
/// <summary> /// プレイデータの送信リクエスト /// </summary> /// <returns>The play data request.</returns> /// <param name="playdata">Playdata.</param> /// <param name="userdata">Userdata.</param> public static IEnumerator SendPlayDataRequest(PlayData playdata, UserAccountData.UserData userdata) { // リクエストURLを生成 string url_base = Const.WebRequest.BASE_URL + "SendPlayData/"; string url_param = "?id=" + userdata.id + "&score=" + playdata.Score + "&stage=" + playdata.ClearStage; UnityWebRequest request = UnityWebRequest.Get(url_base + url_param); if (WebRequestHeader.HeaderEmpty()) { request.SetRequestHeader(Const.WebRequest.HEADER_NAME_COOKIE, WebRequestHeader.header); } // リクエスト送信 yield return(request.Send()); // 通信エラーチェック if (request.isError) { Debug.Log(request.error); GenericUIManager.Instance.ShowMessageDialog("Error", request.error); } else { if (request.responseCode == 200) { WebRequestHeader.CookieHeaderSetting(request); } } }
public static IRuleStrategy GetRuleStrategy(PlayData playData) { string strategyName = playData.Params.RulesStrategyName; switch (strategyName) { case "Life": { var survivalsNeighborsCounts = playData.Params.LifeSurvivals; var newNeighborsCounts = playData.Params.LifeNewBirth; return(new ParametersRuleStrategy(survivalsNeighborsCounts: survivalsNeighborsCounts, newNeighborsCounts: newNeighborsCounts)); } case "HighLife": return(new ParametersRuleStrategy(survivalsNeighborsCounts: new[] { 2, 3 }, newNeighborsCounts: new[] { 3, 6 })); case "Diamoeba": return(new ParametersRuleStrategy(survivalsNeighborsCounts: new[] { 5, 6, 7, 8 }, newNeighborsCounts: new[] { 3, 5, 6, 7, 8 })); default: throw new ArgumentOutOfRangeException(nameof(strategyName)); } }
private static bool ResponseYoutube(ExecutionInformation info) { string[] command = info.TextMessage.Message.SplitNoEmpty(' '); if (command[0] != "!f") { return(false); } if (command.Length != 2) { return(true); } int entry; if (int.TryParse(command[1], out entry)) { PlayData data = info.Session.UserResource; if (data == null || data.Resource as YoutubeResource == null) { info.Session.Write("An unexpected error with the ytresource occured: null."); return(true); } YoutubeResource ytResource = (YoutubeResource)data.Resource; if (entry < 0 || entry >= ytResource.AvailableTypes.Count) { return(true); } ytResource.Selected = entry; if (ValidateMedia(info.Session, ytResource)) { info.Session.Bot.FactoryManager.Play(data); } } return(true); }
public ActionResult <BaseResult> Play(PlayData data) { var card = new Card(data.color, data.type); var chain = new CheckGamePhase(GamePhase.Playing) .Then(new CheckIfPlayerExists(data.id)) .Then(new CheckIfPlayerTurn(data.id)) .Then(new CheckCustomPredicate(g => g.GetPlayerByUUID(data.id).hand.Contains(card), "You don't have that card")) .Then(new CheckCustomPredicate(g => g.CanCardBePlayed(card), "You can't play that card")) .Then(new CheckCustomPredicate( g => !((card.type == CardType.Wild || card.type == CardType.Draw4) && card.color == CardColor.Black), "You have to choose a color")) .Then(new ConcludeAndExecute( g => { mementoList.Add(new GameMemento(g)); g.PlayerPlaysCard(card); if (card.type == CardType.Skip) { g.mediator.Notify("skip"); } else { g.mediator.Notify("card"); } return(new BaseResult()); } )); var game = Game.GetInstance(); return(chain.ProcessChain(game)); }
/// <summary> /// 各実績を解除 /// </summary> public static void ReleaseAchievement() { // プレイデータのインスタンスを取得 PlayData playData = GameDataManager.Inst.PlayData; // 各実績の解除条件を設定 releaseCondisions[0] = !playData.IsReleasedAchieve[0] && playData.PlayCount > 0; releaseCondisions[1] = !playData.IsReleasedAchieve[1] && playData.TotalRescueCount > 500; releaseCondisions[2] = !playData.IsReleasedAchieve[2] && playData.TotalScore > 5000; releaseCondisions[3] = !playData.IsReleasedAchieve[3] && playData.RabbitComplete(); for (int i = 0; i < PlayData.AllAchievementNum; i++) { // 解除条件を満たしていれば解除する if (releaseCondisions[i]) { GameServiceUtil.ReportProgress(i); // 実績解除状況を更新 playData.IsReleasedAchieve[i] = true; } } // セーブ JsonDataSaver.Save(GameDataManager.Inst.PlayData); }
public void Store(PlayData playData) { if (playData == null) { throw new ArgumentNullException(nameof(playData)); } uint?index = Contains(playData.Resource); if (!index.HasValue) { var ale = CreateLogEntry(playData); if (ale != null) { AddToMemoryIndex(ale); AppendToFile(ale); } else { Log.Write(Log.Level.Error, "AudioLogEntry could not be created!"); } } else { var ale = GetEntryById(index.Value); LogEntryPlay(ale); } }
internal static PlayDataDetailsViewModel ToDetailsViewModel(PlayData playData) { var pdVM = new PlayDataDetailsViewModel { ID = playData.ID, GameID = playData.GameID, GameTitle = playData.Game.Title, PlayerName = playData.Hoarder.Name, Status = playData.Status, Priority = playData.Priority.Name, Rating = playData.Rating == null? "" : playData.Rating.ToString(), OwnershipStatus = playData.OwnershipStatus.Name, TotalPlaytime = PlaytimeHelper.GetLongPlaytimeString(playData.TotalPlaytime), FirstPlayed = playData.FirstPlayed == null? "Unknown" : ((DateTime)playData.FirstPlayed).ToString(EntityConstants.DateFormatString), LastPlayed = playData.LastPlayed == null? "Unknown" : ((DateTime)playData.LastPlayed).ToString(EntityConstants.DateFormatString), Notes = playData.Notes }; if (playData.Playthroughs != null && playData.Playthroughs.Count != 0) { foreach (var pt in playData.Playthroughs) { var ptVM = PlaythroughMapper.ToPlayDataDetailsViewModel(pt); pdVM.Playthroughs.Add(ptVM); } } return(pdVM); }
public void OnClickClearButton() { PlayerPrefs.DeleteAll(); PlayerPrefs.Save(); PlayData.LoadData(); MakeRate(); }
public void Enqueue(PlayData resource) { Random = false; Loop = false; mode = PlaylistMode.Queue; playQueue.Enqueue(resource); }
void LoadData() { try { playData = TimeData.ReadObject <PlayData>(); timeCache = playData.timeData; } catch { playData = new PlayData(); } try { referData = ReferralData.ReadObject <RefData>(); } catch { referData = new RefData(); } try { permData = PermissionData.ReadObject <PermData>(); } catch { permData = new PermData(); } }
public static float Score(Chart chart, PlayData playData) { var score = 0f; var combo = 0; var allPerfect = true; // or excellent var total = chart.notes.Count; for (var i = 0; i < chart.chronologicalIds.Count; i++) { var rank = playData.NoteRankings[i]; if (rank == NoteRanking.Undetermined) { continue; } if (rank == NoteRanking.Bad || rank == NoteRanking.Miss) { combo = 0; } else { combo++; } if (rank != NoteRanking.Perfect && rank != NoteRanking.Excellent) { allPerfect = false; } score += 900000f / total * rank.ScoreWeight() + 100000f / (total * (float)(total + 1) / 2f) * combo; } if (allPerfect && playData.NoteCleared == total) { score = 1000000; } return(score); }
public static PlayData LoadSettingsData() { playDataSerializer.Initialize(); Data = (PlayData)playDataSerializer.LoadData(Data); GameData.PlayData = Data; return(Data); //TODO: Include loading data from firebase }
internal void OnResourceStarted(object sender, PlayData playData) { Log.Write(Log.Level.Debug, "BC Ressource started"); BobStart(); Pause = false; Sending = true; RestoreSubscriptions(playData.Invoker); }
public UserData(int score, int coin, PlayData playData, UserRewardInfo userRewardInfo) { _score = score; _coin = coin; _playData = playData; _userRewardInfo = userRewardInfo; }
void Start() { playData = Scenes.getEndGame(); titleAnimation(); scoreAnimation(); comboAnimation(); qualityAnimation(); }
/// <summary> /// ハイスコア更新 /// </summary> /// <param name="playData">プレイデータのインスタンス</param> void UpdateHighScore(PlayData playData) { if (playData.HighScore < NowBreakNum) { playData.HighScore = NowBreakNum; GameServiceUtil.ReportScore(playData.HighScore, 0); } playData.LastScore = NowBreakNum; }
//결과페이지를 보여줌 private void showPlayData() { PlayData playData = Utils.getPlayData(); PlayDataResultText.text = "Correct: " + playData.correct + " Wrong:"+ playData.wrong + " Point:"+ playData.point; }
public static void CreateSerializer() { Data = new PlayData(); playDataSerializer = new Serializer() { saveFileName = "play_data.save", dataObject = Data }; }
/// <summary> /// トータルスコア更新 /// </summary> /// <param name="playData">プレイデータのインスタンス</param> void UpdateTotalScore(PlayData playData) { playData.TotalScore += NowBreakNum; if (playData.TotalScore > PlayData.TotalScoreCountStopValue) { playData.TotalScore = PlayData.TotalScoreCountStopValue; } GameServiceUtil.ReportScore(playData.TotalScore, 1); }
public void ResetPlay() //플레이 데이터 초기화 { LobbyData tempLobbyData = new LobbyData(); PlayData tempOwnData = new PlayData("King", "War1", "War2", "War3", "War4", "Arc1", "Arc2", "Mag1", "Mag2", "Pri1", "Pri2", 0, 0, 3, false, false, false); PlayData tempEnemData = new PlayData("EKing", "EWar1", "EWar2", "EWar3", "EWar4", "EArc1", "EArc2", "EMag1", "EMag2", "EPri1", "EPri2", 0, 0, 3, false, false, false); lobbyData = tempLobbyData; ownData = tempOwnData; enemData = tempEnemData; }
public void ShowPopupPlay() { gameObject.SetActive(true); PlayData data = new PlayData(); ListData = data.TestData(); CutNum = 0; DataUpdate(); }
private async Task SaveGameData(IGame game) { PlayData data = new PlayData { User1Id = game.Players[0].User.Id, User2Id = game.Players[1].User.Id, GameDate = DateTime.Now, WinnerId = game.WinnerId, }; await _playDataService.SaveGameAsync(data); }
/// <summary> /// Play a sound of the given type using the info in the given PlayData. This will take care of retrieving an /// AudioSource of the given type /// </summary> /// <param name="useType">The type of sound (map to a specific mixer)</param> /// <param name="data">The PlayData that contains all the data of the sound to play (clip, volume, position etc.)</param> public static void PlaySound(Use useType, PlayData data) { var source = GetSource(useType); source.clip = data.Clip; source.gameObject.transform.position = data.Position; source.pitch = Random.Range(data.PitchMin, data.PitchMax); source.volume = data.Volume; source.Play(); }
/// <summary> /// 遊戯データセーブ /// BB RB TR 履歴 /// </summary> /// <param name="o"></param> public static void Save(PlayData o) { try { BinaryFormatter b = new BinaryFormatter(); using (FileStream fs = new FileStream(playDataSaveFileName, FileMode.Create)) { Debug.Log("遊戯データセーブ"); b.Serialize(fs, o); } } catch (Exception e) { Debug.Log(e.ToString()); } }
/// <summary> /// 起動処理 /// </summary> void OnEnable() { // プレイデータのインスタンスを取得 PlayData playData = GameDataManager.Inst.PlayData; // 各レコードの数値をUIに反映 playCountText.text = playData.PlayCount.ToString("N0"); highScoreText.text = playData.HighScore.ToString("N0"); totalScoreText.text = playData.TotalScore.ToString("N0"); rescuedCountText.text = playData.TotalRescueCount.ToString("N0"); punchedCountText.text = playData.TotalPunchCount.ToString("N0"); }
private void Awake() { if (instance == null) { DontDestroyOnLoad(gameObject); instance = this; } else if (instance != this) { Destroy(gameObject); } }
private string LoadAndPlay(IResourceFactory factory, PlayData data) { if (data.Resource == null) { string netlinkurl = TextUtil.ExtractUrlFromBB(data.Message); AudioResource resource; RResultCode result = factory.GetResource(netlinkurl, out resource); if (result != RResultCode.Success) return $"Could not play ({result})"; data.Resource = resource; } return PostProcessStart(factory, data); }
public string RestoreAndPlay(AudioLogEntry logEntry, PlayData data) { var factory = GetFactoryFor(logEntry.AudioType); if (data.Resource == null) { AudioResource resource; RResultCode result = factory.GetResourceById(logEntry.ResourceId, logEntry.ResourceTitle, out resource); if (result != RResultCode.Success) return $"Could not restore ({result})"; data.Resource = resource; } return PostProcessStart(factory, data); }
public string Play(PlayData data) { if (data.Enqueue && audioFramework.IsPlaying) { audioFramework.PlaylistManager.Enqueue(data); } else { var result = audioFramework.StartResource(data); if (result != AudioResultCode.Success) return $"The resource could not be played ({result})."; } return null; }
/// <summary> /// 遊戯データセーブ /// BB RB TR 履歴 /// </summary> /// <param name="o"></param> public static void Save(PlayData o) { // ウェブで落ちるので、削除 return; //try { // BinaryFormatter b = new BinaryFormatter(); // using (FileStream fs = new FileStream(playDataSaveFileName, FileMode.Create)) { // //Debug.Log("遊戯データセーブ"); // b.Serialize(fs, o); // } //} catch (Exception e) { // Debug.Log(e.ToString()); //} }
/// <summary> /// 遊戯データロード /// 失敗時は空データ(3日分)を返す /// </summary> /// <returns></returns> public static PlayData Load() { try { BinaryFormatter b = new BinaryFormatter(); using(FileStream fs = new FileStream(playDataSaveFileName, FileMode.OpenOrCreate)){ //Debug.Log("遊戯データロード"); return (PlayData)b.Deserialize(fs); } } catch (Exception e) { Debug.Log(e.ToString()); PlayData p = new PlayData(); for (int i = 0; i < 3; i++) { p.dailyData.Add(new DailyPlayData()); } return p; } }
/// <summary> /// 指定回数分、遊戯データを空データ(日付は現在値)でプッシュする /// どれだけ多くても一度でプッシュするのは最大3日分まで /// </summary> /// <param name="data"></param> /// <param name="count"></param> public static void PushBlankPlayData(PlayData data, int count) { if (count > 3) count = 3; for (int i = 0; i < count; i++) { // プッシュされたらゲーム数をクリア data.totalGameCount = 0; data.gameCount = 0; DailyPlayData p = new DailyPlayData(); p.timestamp = DateTime.Now; data.dailyData.Add(p); data.dailyData.RemoveAt(0); Debug.Log("遊戯データPUSH:" + data.dailyData[0].timestamp.ToShortDateString() + ":" + data.dailyData[1].timestamp.ToShortDateString() + ":" + data.dailyData[2].timestamp.ToShortDateString()); } }
public void PostProcess(PlayData data, out bool abortPlay) { var twResource = (TwitchResource)data.Resource; // selecting the best stream int autoselectIndex = twResource.AvailableStreams.FindIndex(s => s.QualityType == StreamQuality.audio_only); if (autoselectIndex != -1) { twResource.Selected = autoselectIndex; abortPlay = false; return; } // TODO add response like youtube data.Session.Write("The stream has no audio_only version."); abortPlay = true; }
private string PostProcessStart(IResourceFactory factory, PlayData data) { bool abortPlay; factory.PostProcess(data, out abortPlay); return abortPlay ? null : Play(data); }
public void PostProcess(PlayData data, out bool abortPlay) { abortPlay = false; }
public void PostProcess(PlayData data, out bool abortPlay) { MediaResource mediaResource = (MediaResource)data.Resource; if (mediaResource.InternalResultCode == RResultCode.Success) { abortPlay = false; } else { abortPlay = true; data.Session.Write( $"This uri might be invalid ({mediaResource.InternalResultCode}), do you want to start anyway?"); data.Session.UserResource = data; data.Session.SetResponse(ResponseValidation, null); } }
public void PostProcess(PlayData data, out bool abortPlay) { YoutubeResource ytResource = (YoutubeResource)data.Resource; #if DEBUG StringBuilder dbg = new StringBuilder("YT avail codecs: "); foreach (var yd in ytResource.AvailableTypes) dbg.Append(yd.qualitydesciption).Append(" @ ").Append(yd.codec).Append(", "); Log.Write(Log.Level.Debug, dbg.ToString()); #endif var availList = ytResource.AvailableTypes; int autoselectIndex = availList.FindIndex(t => t.codec == VideoCodec.M4A); if (autoselectIndex == -1) autoselectIndex = availList.FindIndex(t => t.audioOnly); if (autoselectIndex != -1) { ytResource.Selected = autoselectIndex; abortPlay = !ValidateMedia(data.Session, ytResource); return; } StringBuilder strb = new StringBuilder(); strb.AppendLine("\nMultiple formats found please choose one with !f <number>"); int count = 0; foreach (var videoType in ytResource.AvailableTypes) strb.Append("[") .Append(count++) .Append("] ") .Append(videoType.codec.ToString()) .Append(" @ ") .AppendLine(videoType.qualitydesciption); abortPlay = true; data.Session.Write(strb.ToString()); data.Session.UserResource = data; data.Session.SetResponse(ResponseYoutube, null); }
private void lvPlayData_SelectedIndexChanged(object sender, EventArgs e) { if (lvPlayData.SelectedItems.Count == 0) { _lastPlayData = null; } else { var lvi = lvPlayData.SelectedItems[0]; _lastPlayData = (PlayData)lvi.Tag; PlayPos = lvi.Index; } }
/// <summary> /// 遊戯データロード処理 /// </summary> void LoadPlayData() { playData = PlayData.Load(); PlayData.RefreshData(playData); RefreshCommonUIData(); }
public string LoadAndPlay(AudioType audioType, PlayData data) { var factory = GetFactoryFor(audioType); return LoadAndPlay(factory, data); }
public string LoadAndPlay(PlayData data) { string netlinkurl = TextUtil.ExtractUrlFromBB(data.Message); IResourceFactory factory = GetFactoryFor(netlinkurl); return LoadAndPlay(factory, data); }
/// <summary> /// データ更新 /// 最新データの日付と現在日付の日数差分、遊戯データを空データでプッシュする。 /// </summary> /// <param name="data"></param> /// <param name="currentDate"></param> public static void RefreshData(PlayData data) { DateTime now = DateTime.Now; now = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0); DateTime latest = data.dailyData[2].timestamp; // 2番が最新データ latest = new DateTime(latest.Year, latest.Month, latest.Day, 0, 0, 0); int diffDays = (now - latest).Days; //Debug.Log("最新遊戯データ日付差:" + diffDays + // " NOW:" + now.ToShortDateString() + // " LATEST:" + latest.ToShortDateString()); PushBlankPlayData(data, diffDays); }
/// <summary> /// デバッグ用のダミーデータを設定する /// </summary> /// <param name="data"></param> public static void SetDummyData(PlayData data) { data.totalGameCount = UnityEngine.Random.Range(0, 9999); data.gameCount = UnityEngine.Random.Range(0, 9999); data.history = new List<int>(); for (int idx = 0; idx < 10; idx++) { data.history.Add(UnityEngine.Random.Range(0, 9) * 100); } foreach (DailyPlayData day in data.dailyData) { day.BB = UnityEngine.Random.Range(0, 9); day.RB = UnityEngine.Random.Range(0, 9); day.AT = UnityEngine.Random.Range(0, 9); day.timestamp = DateTime.Now; } }
public string RestoreLink(PlayData data) => RestoreLink(data.Resource);
public void LogAudioResource(object sender, PlayData playData) { lock (accessLock) historyFile.Store(playData); }
private void PlayNextPackage() { if (PlayPos < lvPlayData.Items.Count) { lvPlayData.SelectedIndices.Clear(); lvPlayData.SelectedIndices.Add(PlayPos); lvPlayData.SelectedItems[0].EnsureVisible(); //fill status _lastPlayData = (PlayData)lvPlayData.SelectedItems[0].Tag; SendPosition(); if (chkPlayKeep.Checked == false) PlayPos++; } else { Log("播放已完成"); StopPlay(); } }
/// <summary> /// 空データを設定する /// </summary> public static void ClearData(PlayData data) { data.totalGameCount = 0; data.gameCount = 0; data.history = new List<int>(); PushBlankPlayData(data, 3); }