초기커밋
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
|
||||
namespace GameServer
|
||||
{
|
||||
public class UserSocialActionExecutorAction : SocialActionLoadAction
|
||||
{
|
||||
private Int32 m_playing_social_action_meta_id = 0;
|
||||
private DateTime m_playing_social_action_start_time = default;
|
||||
|
||||
public UserSocialActionExecutorAction(Player owner)
|
||||
: base(owner)
|
||||
{
|
||||
|
||||
}
|
||||
public (Result, ClientToGameRes.Types.UseSocialActionRes) tryUseSocialAction(int socialActionMetaId)
|
||||
{
|
||||
var result = new Result();
|
||||
var err_msg = string.Empty;
|
||||
|
||||
var owner = getOwner();
|
||||
NullReferenceCheckHelper.throwIfNull(owner, () => $"owner is null !!!");
|
||||
|
||||
var res = new ClientToGameRes.Types.UseSocialActionRes();
|
||||
|
||||
if (!tryGetSocialAction(socialActionMetaId, out var social_action))
|
||||
{
|
||||
err_msg = $"Failed to tryGetSocialAction() !!! : socialActionMetaId:{socialActionMetaId} : {this.getTypeName()} - {owner.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.SocialActionNotFound, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return (result, res);
|
||||
}
|
||||
|
||||
var social_action_action = social_action.getEntityAction<SocialActionAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(social_action_action, () => $"social_action_action is null !!! - {owner.toBasicString()}");
|
||||
|
||||
if (!social_action_action.isSocialActionOnSlot())
|
||||
{
|
||||
err_msg = $"SocialAction is not on slot !!! : {social_action.toBasicString()} : {this.getTypeName()} - {owner.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.SocialActionNotOnSlot, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return (result, res);
|
||||
}
|
||||
|
||||
m_playing_social_action_meta_id = socialActionMetaId;
|
||||
m_playing_social_action_start_time = DateTime.UtcNow;
|
||||
|
||||
res.SocialActionId = m_playing_social_action_meta_id;
|
||||
|
||||
return (result, res);
|
||||
}
|
||||
|
||||
public void stopSocialAction()
|
||||
{
|
||||
m_playing_social_action_meta_id = 0;
|
||||
m_playing_social_action_start_time = default;
|
||||
}
|
||||
|
||||
public int getPlayingSocialActionMetaId() => m_playing_social_action_meta_id;
|
||||
public DateTime getPlayingSocialActionStartTime() => m_playing_social_action_start_time;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user