public void LoadLevel(string jsonText) { var levelData = JsonUtility.FromJson <LevelData>(jsonText); var placer = new PlaceBubbleAction(); randoms = new List <RandomBubbleDefinition>(levelData.Randoms ?? new RandomBubbleDefinition[0]); GlobalState.EventService.Dispatch(new RandomBubblesChangedEvent()); foreach (var bubble in levelData.Bubbles) { state.BubbleType = bubble.Type; placer.Perform(this, bubble.X, bubble.Y); bubbleFactory.ApplyEditorModifiers(views[BubbleData.GetKey(bubble.X, bubble.Y)], bubble); models[BubbleData.GetKey(bubble.X, bubble.Y)].modifiers = bubble.modifiers; } LevelProperties.FromLevelData(levelData); LevelProperties.StarValues = ScoreUtil.ComputeStarsForLevel(levelData, BubbleFactory); LevelProperties.NotifyListeners(); queue.CopyFrom(levelData.Queue); queue.ShotCount = levelData.ShotCount; queue.NotifyListeners(); Background = levelData.Background; GlobalState.EventService.Dispatch(new LevelModifiedEvent()); GlobalState.EventService.Dispatch(new LevelEditorLoadEvent()); }
private void Start() { _rank.text = Rank.ToString(); _name.text = Name; _score.text = $"{ScoreUtil.FormatScore(Score)}匹"; _avatar.sprite = Avatar; }
private IEnumerator DoScoreComputation() { yield return(null); var data = new MutableLevelData { Background = Background, Bubbles = models.Values, Queue = queue, Randoms = randoms.ToArray(), ShotCount = queue.ShotCount, }; var newValues = ScoreUtil.ComputeStarsForLevel(data, BubbleFactory); for (int index = 0, count = newValues.Length; index < count; index++) { newValues[index] = (int)(newValues[index] * LevelProperties.StarMultiplier); } LevelProperties.StarValues = newValues; LevelProperties.NotifyListeners(); scoreCoroutine = null; }
/// <summary> /// Receiver from event hub to update label score /// </summary> /// <param name="eventData"></param> private void OnScoreUpdate(EventUpdateScore eventData) { _currentScore = eventData.score; _labelScore.text = ScoreUtil.FormatScore(eventData.score); var spawnLabel = GameObject.Instantiate(_labelScoreIncrease, _labelScoreIncrease.transform.parent); spawnLabel.transform.localPosition = _labelScoreIncrease.transform.localPosition; spawnLabel.transform.localScale = Vector3.one; spawnLabel.gameObject.SetActive(true); spawnLabel.alpha = 1f; spawnLabel.text = "+" + ScoreUtil.FormatScore(eventData.increase); var seq = DOTween.Sequence(); seq.Append(spawnLabel.transform.DOLocalMoveY(spawnLabel.transform.position.y, 3.0f)); seq.Join(spawnLabel.DOFade(0, 3.0f)); seq.OnComplete(() => { if (spawnLabel != null && spawnLabel.gameObject != null) { Destroy(spawnLabel.gameObject); } }); }
// Use this for initialization void Start() { test = (Test)GameObject.Find("Main Camera").GetComponent("Test"); scoreUtil = test.scoreUtil; mObject = (GameObject)Instantiate(Strength, transform.position, Quaternion.identity); //mObject.GetComponent<ShowStrength>().Value=Random.Range(20,40); mObject.GetComponent <ShowStrength>().Value = note; }
// Use this for initialization void Start() { titleScreen.SetActive(true); creditScreen.SetActive(false); gameOver.gameObject.SetActive(ScoreUtil.HasScore); scoreBoard.gameObject.SetActive(ScoreUtil.HasScore); if (ScoreUtil.HasScore) { scoreBoard.text = "You survived " + ScoreUtil.GetScore() + "!"; } }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { SingletonFactory.ClearInstances(); ScoreUtil.ResetScore(); SceneManager.LoadScene("Overworld"); } if (Input.GetKeyDown(KeyCode.C)) { titleScreen.SetActive(!titleScreen.activeSelf); creditScreen.SetActive(!titleScreen.activeSelf); } }
private void CheckScore(int localHighscore, int totalScore) { NetworkCaller.Instance.UpdateHighScore(localHighscore, totalScore, () => { var responsePlayerData = NetworkCaller.Instance.PlayerData; _nameText.text = responsePlayerData.Nickname; _scoreText.text = $"{ScoreUtil.FormatScore(responsePlayerData.HighestScore)}匹"; _rankText.text = $"{ScoreUtil.FormatScore(responsePlayerData.Rank)}位"; UpdateTopPlayers(); }, () => { NativeDialogManager.Instance.ShowConnectionErrorDialog( () => { CheckScore(localHighscore, totalScore); }, () => { SceneManager.LoadScene("HomeScene"); }); }); }
public string SaveLevel() { var data = new MutableLevelData { Background = Background, Bubbles = models.Values, Queue = queue, Randoms = randoms.ToArray(), ShotCount = queue.ShotCount, }; LevelProperties.StarValues = ScoreUtil.ComputeStarsForLevel(data, BubbleFactory); LevelProperties.NotifyListeners(); LevelProperties.ToLevelData(data); return(JsonUtility.ToJson(data)); }
public override void Damage(Item?equippedItem, Player player) { base.Damage(equippedItem, player); if (CurHp <= 0) { ScoreUtil.SetScore(); audioSource.clip = SingletonFactory.GetInstance <PrefabUtil>().humanDeathClip; audioSource.Play(); Invoke("LoadTitleScreen", 0.8f); } else { audioSource.clip = SingletonFactory.GetInstance <PrefabUtil>().humanDamageClip; audioSource.Play(); } }
private void Start() { _loadingLayer.SetActive(true); Sound2DManager.Instance.StopBgm(); var localHighscore = PlayerPrefsHelper.GetHighScore(); var serverHighscore = NetworkCaller.Instance.PlayerData.HighestScore; var totalScore = PlayerPrefsHelper.GetTotalScore(); var serverTotalScore = NetworkCaller.Instance.PlayerData.TotalScore; if (localHighscore > serverHighscore || totalScore > serverTotalScore) { CheckScore(localHighscore, totalScore); } else { var playerData = NetworkCaller.Instance.PlayerData; _nameText.text = playerData.Nickname; _scoreText.text = $"{ScoreUtil.FormatScore(playerData.HighestScore)}匹"; _rankText.text = playerData.Rank <= 0 ? "-位" : $"{ScoreUtil.FormatScore(playerData.Rank)}位"; _avatar.sprite = _skinSetting.GetSkinById(playerData.SkinId).skinAvatar; UpdateTopPlayers(); } }
private void Start() { Sound2DManager.Instance.PlayBgm(); _highscoreText.text = ScoreUtil.FormatScore(PlayerPrefsHelper.GetHighScore()); Advertiser.AdvertisementSystem.ShowNormalBanner(); }
private void OnEnable() { _labelScore.text = ScoreUtil.FormatScore(_score); _animation.Play(); }
//JSON数据格式 //{ // Username: string // Description:string // Time:DateTime // LocationStr string(四川_成都_郫县) // Answers:string("010100") // PicNames:string的JArray //} public void ProcessRequest(HttpContext context) { StreamReader reader = new StreamReader(context.Request.InputStream, Encoding.UTF8); string requestStr = reader.ReadToEnd(); JObject jObj = JObject.Parse(requestStr); string username = jObj["Username"].ToString(); string description = jObj["Description"].ToString(); DateTime time = DateTime.Parse(jObj["Time"].ToString()); string locationStr = jObj["LocationStr"].ToString(); string answers = jObj["Answers"].ToString(); JArray picNames = JArray.Parse(jObj["PicNames"].ToString()); //添加到自检记录 RecordModel record = new RecordModel(); record.Answers = answers; record.Description = description; //如果locationStr为null,则返回"000000"(中国),否则解析并保存 if (string.IsNullOrEmpty(locationStr)) { record.Citycode = "000000"; } else { record.Citycode = LocationDAL.GetLocalId(locationStr); } record.Time = time; record.User_id = UserDAL.GetByUsername(username).User_id; long record_id = RecordDAL.Insert(record); //添加自检图片 foreach (string picName in picNames) { PhotoModel photo = new PhotoModel(); photo.Path = picName; photo.Record_id = record_id; PhotoDAL.Insert(photo); } //返回Record_id给移动端 JObject jObjSend = new JObject(); jObjSend.Add("Record_id", record_id); byte[] buf = Encoding.UTF8.GetBytes(jObjSend.ToString()); context.Response.OutputStream.Write(buf, 0, buf.Length); Thread thread = new Thread(() => { List <CVResultModel> results = new List <CVResultModel>(); //检查图片是否分析完成(是否Insert到CVResult中) const int WAIT_TIME = 240; //等待时间(如果240秒某张图片都没有传输成功且分析完成,则放弃) foreach (string picName in picNames) { //轮询 for (int i = 0; i < WAIT_TIME; i++) { if (null != CVResultDAL.GetById(picName)) { results.Add(CVResultDAL.GetById(picName)); break; } Thread.Sleep(1000); } } //计算分数并保存 float score = ScoreUtil.GetScore(results); RecordDAL.UpdateScore(score, record_id); }); thread.Start(); }
public void SetScore(long score) { _labelScore.text = ScoreUtil.FormatScore(score); }
/// <summary> /// 窗口加载时:通过GET请求的"record_id"参数到数据库取得相应的自检信息并显示 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { long record_id; if (long.TryParse(Request.Params["record_id"], out record_id)) { //调用数据库访问类查询该主键对应的自检记录 RecordModel record = RecordDAL.GetById(record_id); PhotoModel[] photos = PhotoDAL.GetAllByRecordId(record_id); //原图片 List <string> srcUrls = new List <string>(); List <string> dstUrls = new List <string>(); foreach (var photo in photos) { srcUrls.Add("~/ImageWebForm.aspx?fileType=src&picName=" + photo.Path); dstUrls.Add("~/ImageWebForm.aspx?fileType=dst&picName=" + photo.Path); } //将图片绑定到控件上 dl_srcImgs.DataSource = srcUrls; dl_srcImgs.DataBind(); dl_dstImgs.DataSource = dstUrls; dl_dstImgs.DataBind(); //取得该自检对应图片的所有处理结果 List <CVResultModel> results = new List <CVResultModel>(); foreach (var photo in photos) { var result = CVResultDAL.GetById(photo.Path); if (result != null) { results.Add(result); } } //分析处理结果 float score = ScoreUtil.GetScore(results); //结论 StringBuilder builder = new StringBuilder(); //builder.AppendFormat("系统分析得分:{0:f2}", score).AppendLine(); var group = Severity.Group(score); switch (group) { case Severity.SeverityEnum.Normal: builder.AppendLine("牙齿正常,请注意保持"); break; case Severity.SeverityEnum.Light: builder.AppendLine("有少量龋齿或程度较轻"); break; case Severity.SeverityEnum.Medium: builder.AppendLine("有一定龋齿或程度中等"); break; case Severity.SeverityEnum.Severe: builder.AppendLine("有大量龋齿或龋坏严重"); break; default: break; } if (group != Severity.SeverityEnum.Normal) { builder.AppendLine("可能为色素沉着,牙石或牙垢,保持口腔清洁或前往正规医院洗牙可以让结果更准确"); } lbl_conclusion.Text = builder.ToString().Replace(Environment.NewLine, "<br>"); //医生意见 DiagnosisModel[] diagnoses = DiagnosisDAL.GetAllByRecordId(record_id); List <string> comments = new List <string>(); foreach (var diagnosis in diagnoses) { string item = string.Format("{0} {1}", diagnosis.Time.ToString(), DoctorDAL.GetById(diagnosis.Doc_id).RealName) + Environment.NewLine + diagnosis.Result; comments.Add(item); } dl_comments.DataSource = comments; dl_comments.DataBind(); } else { //record_id出错 } }