コード例 #1
0
 //
 void SyncEnermyMoveAnimation()
 {
     if (isMove != animation.IsPlaying("walk"))
     {
         EnermyMoveAnimationModel model = new EnermyMoveAnimationModel()
         {
             IsMove = !isMove,
         };
         model.SetTime(DateTime.Now);
         //发送请求到服务器
         EnermyController.Instance.SyncEnermyMoveAnimationRequest(this.GUID, model);
     }
     isMove = animation.IsPlaying("walk");
 }
コード例 #2
0
ファイル: EnermyController.cs プロジェクト: ezjuhnz/RPGGame
    //同步敌人移动动画
    public void SyncEnermyMoveAnimationRequest(string guid, EnermyMoveAnimationModel model)
    {
        Dictionary <byte, object> parameters = new Dictionary <byte, object>();

        parameters.Add((byte)ParameterCode.SubCode, SubCode.SyncEnermyMoveAnimation);
        string json = JsonMapper.ToJson(model);

        parameters.Add((byte)ParameterCode.EnermyMoveAnimationModel, json);
        parameters.Add((byte)ParameterCode.EnermyGuid, guid);
        //其它必要参数:
        parameters.Add((byte)ParameterCode.ChannelID, PhotonEngine.Instance.ChannelId);
        parameters.Add((byte)ParameterCode.RoleId, PhotonEngine.Instance.role.ID);
        parameters.Add((byte)ParameterCode.MasterRoleID, PhotonEngine.Instance.masterid);
        //发送请求
        PhotonEngine.Instance.SendRequest(OperationCode.SyncEnermy, parameters);
    }
コード例 #3
0
ファイル: EnermyController.cs プロジェクト: ezjuhnz/RPGGame
    //
    void SyncEnermyMoveAnimationResponse(Dictionary <byte, object> parameters)
    {
        //根据guid获取 enermyGo,更新之
        string guid = "";
        object o    = null;

        parameters.TryGetValue((byte)ParameterCode.EnermyGuid, out o);
        guid = o.ToString();
        Animation  anim     = null;
        GameObject enermyGo = null;

        EnermyController.Instance.enermyGoDict.TryGetValue(guid, out enermyGo);
        parameters.TryGetValue((byte)ParameterCode.EnermyMoveAnimationModel, out o);
        EnermyMoveAnimationModel model = new EnermyMoveAnimationModel();

        model = JsonMapper.ToObject <EnermyMoveAnimationModel>(o.ToString());
        if (enermyGo != null)
        {
            anim = enermyGo.GetComponent <Animation>();
        }
        if (anim == null)
        {
            return;
        }
        DateTime dt = DateTime.Now;

        if (dt > model.GetTime())
        {
            if (model.IsMove)
            {
                anim.Play("walk");
            }
            else
            {
                anim.Play("idle");
            }
        }
    }