Manager - RequestManager.cs - 经理_请求
public class RequestManager : BaseManager
{
public RequestManager(GameFacade facade) : base(facade) { }
private Dictionary<ActionCode, BaseRequest> requestDict = new Dictionary<ActionCode, BaseRequest>();
//加上请求
public void AddRequest(动作码,请求){}
//移除请求
public void RemoveRequest(动作码){}
//处理回应
public void HandleReponse(动作码, 数据){}
}
public class RequestManager : BaseManager
{
public RequestManager(GameFacade facade) : base(facade) { }
private Dictionary<ActionCode, BaseRequest> requestDict = new Dictionary<ActionCode, BaseRequest>();
//加上请求
public void AddRequest(ActionCode actionCode,BaseRequest request){}
//移除请求
public void RemoveRequest(ActionCode actionCode){}
//处理回应
public void HandleReponse(ActionCode actionCode, string data){}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Common;
public class RequestManager : BaseManager
{
public RequestManager(GameFacade facade) : base(facade) { }
private Dictionary<ActionCode, BaseRequest> requestDict = new Dictionary<ActionCode, BaseRequest>();
//加上请求
public void AddRequest(ActionCode actionCode,BaseRequest request)
{
requestDict.Add(actionCode, request);
}
//移除请求
public void RemoveRequest(ActionCode actionCode)
{
requestDict.Remove(actionCode);
}
//处理回应
public void HandleReponse(ActionCode actionCode, string data)
{
BaseRequest request = requestDict.TryGet<ActionCode, BaseRequest>(actionCode);
if (request == null)
{
Debug.LogWarning("无法得到ActionCode[" + actionCode + "]对应的Request类");return;
}
request.OnResponse(data);
}
}