You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

91 lines
3.2 KiB

using System;
using System.Collections.Generic;
namespace ET
{
public static class GatherHelper
{
public static async ETTask<int> GatherResource(Unit unit, long resPointId, int resConfigId, List<long> peopleIdList)
{
try
{
C2M_GatherResource msg = new C2M_GatherResource(){ResPointId = resPointId, ResConfigId = resConfigId, PeopleIdList = peopleIdList};
M2C_GatherResource resp = await unit.ZoneScene().GetComponent<SessionComponent>().Session.Call(msg) as M2C_GatherResource;
if (resp.Error != ErrorCode.ERR_Success)
{
Log.Error(resp.Error.ToString());
return resp.Error;
}
GatherOperate.GatherResource(unit, resPointId,resConfigId, peopleIdList,resp.GatherId);
// GatherComponent gatherComponent = unit.GetOrAddComponent<GatherComponent>();
// Gather gather = gatherComponent.AddChildWithId<Gather>(resp.GatherId);
// gather.ResourceId = resourceId;
// gather.ReadyPeopleIdList = peopleIdList;
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
await ETTask.CompletedTask;
return ErrorCode.ERR_Success;
}
public static async ETTask<int> StartGather(Unit unit, long gatherId, long peopleId)
{
try
{
C2M_StartGatherResource msg = new C2M_StartGatherResource() { GatherId = gatherId, PeopleId = peopleId };
M2C_StartGatherResource resp = await unit.ZoneScene().GetComponent<SessionComponent>().Session.Call(msg) as M2C_StartGatherResource;
if (resp.Error != ErrorCode.ERR_Success)
{
Log.Error(resp.Error.ToString());
return resp.Error;
}
GatherOperate.StartGather(unit, gatherId, peopleId);
// gather.ReadyPeopleIdList.Remove(peopleId);
// gather.PeopleIdList.Add(peopleId);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
await ETTask.CompletedTask;
return ErrorCode.ERR_Success;
}
public static async ETTask<int> StopGather(Unit unit, long gatherId, long peopleId)
{
try
{
C2M_StopGather msg = new C2M_StopGather() { GatherId = gatherId, PeopleId = peopleId };
M2C_StopGather resp = await unit.ZoneScene().GetComponent<SessionComponent>().Session.Call(msg) as M2C_StopGather;
if (resp.Error != ErrorCode.ERR_Success)
{
Log.Error(resp.Error.ToString());
return resp.Error;
}
// GatherOperate.StopGather(unit, gatherId, peopleId);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
await ETTask.CompletedTask;
return ErrorCode.ERR_Success;
}
}
}