Esempio n. 1
0
    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;
        }
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
    }