示例#1
0
 public RepairState(RepairOrder repairOrder, int challengeOrderNumber)
 {
     DisplayName      = repairOrder.Jank.Name;
     Screw            = repairOrder.Jank.Screw;
     TotalRepairPower = new RepairPower(0);
     IsChallenge      = repairOrder.OrderNumber == challengeOrderNumber;
 }
示例#2
0
    public void Repair(RepairPower power)
    {
        currentOrderState.Value.AddRepairPower(power);
        UpdateRepairOrderState();

        if (currentOrderState.Value.IsRepaired)
        {
            if (currentRepairOrder.Value.IsFinalOrder)
            {
                allRepairedSubject.OnNext(Unit.Default);
            }

            if (currentOrderState.Value.IsChallenge)
            {
                nextChallengeOrderNumber++;
            }
            _rewardSubject.OnNext(GetRewart(currentRepairOrder.Value));
            var nextRequest = isLooping ? OrderRequestType.Current : OrderRequestType.Next;
            ChangeRepairOrder(nextRequest);
        }
    }
示例#3
0
 public void AddRepairPower(RepairPower power)
 {
     TotalRepairPower = power + TotalRepairPower;
 }