public override void OnMessage(Message message) { string name = message.Name; object[] body = message.Params; switch (name) { case MessageConst.CMD_TAKEPHOTOS_SHOW_SCORE: TakePhotosGameShowState cur = (TakePhotosGameShowState)body[0]; _model = GetData <TakePhotosGameModel>(); var vo = AddPhotoResult(cur); if (vo == null) { return; } bool isfinished = _model.GetRunningInfo().CheckFinished(); scoreView.SetData(vo, cur, isfinished); scoreView.Show(); break; case MessageConst.CMD_TAKEPHOTOSGAME_SCORE_VIEW_ONCLICK: View.UpdateScore(_model.GetRunningInfo().GetCurScore()); View.ShowCurShowState(); if (_model.GetRunningInfo().GetCurPhotoVo().isFinished) { _model.GetRunningInfo().DoNext(); SendMessage(new Message(MessageConst.MODULE_TAKEPHOTOSGAME_GOTO_COUNTDOWN_PANEL)); } break; } }
private void OnHandleData(TakePhotosGameModel model, RepeatedField <AwardPB> awards) { List <AwardPB> aw = new List <AwardPB>(); RewardUtil.AddReward(awards); aw.AddRange(awards); View.SetData(model.GetRunningInfo(), aw); }
int CalculationsAccForScale() { float acc = 0; float curScale = View.GetScale(); float target = _model.GetRunningInfo().GetCurPhotoVo().scale; float offset = Mathf.Abs(target - curScale); float lmax = target - View.ScaleRange[0]; float tmax = View.ScaleRange[1] - target; float maxOffset = Mathf.Abs(lmax) > Mathf.Abs(tmax) ? lmax : tmax; acc = (maxOffset - offset) / maxOffset; int iacc = (int)(acc * 100); return(iacc); }