コード例 #1
0
    public void JoinRopeWarContest(string characterId, string ropeWarId, RopeWarSide side)
    {
        ValidateCharacterIsHere(characterId);
        ValidateCharacterIsNotInAnyActivity(characterId);

        var ropeWar = GetRopeWarById(ropeWarId);

        ropeWar.Join(characterId, side);
    }
コード例 #2
0
    public string ProposeRopeWarContest(string characterId, string name, long bet, RopeWarSide side)
    {
        ValidateCharacterIsHere(characterId);
        ValidateCharacterIsNotInAnyActivity(characterId);

        var activityId = Guid.NewGuid().ToString();

        var ropeWar = new RopeWarActivity(activityId, name, characterId, bet);

        _activities.Add(ropeWar);

        ropeWar.Join(characterId, side);
        return(activityId);
    }
コード例 #3
0
    public void Join(string characterId, RopeWarSide side)
    {
        if (side == RopeWarSide.Left)
        {
            JoinToLeftSide(characterId);
            return;
        }

        if (side == RopeWarSide.Right)
        {
            JoinToRightSide(characterId);
            return;
        }

        throw new InvalidOperationException("Unknown side.");
    }