Пример #1
0
    public int GetReward(Reward.RewardType rewardType, IRewardArgs rewardArgs)
    {
        switch (rewardType)
        {
        case Reward.RewardType.DeliveryReward:
            return(new DeliveryReward(typeof(DeliveryRewardArgs)).GetReward(rewardArgs));

        case Reward.RewardType.LandingReward:
            return(new LandingReward(typeof(LandingRewardArgs)).GetReward(rewardArgs));

        case Reward.RewardType.FuelReward:
            return(new FuelReward(typeof(FuelRewardArgs)).GetReward(rewardArgs));

        default:
            throw new System.NotImplementedException();
        }
    }
Пример #2
0
 public virtual int GetReward(IRewardArgs args)
 {
     if (args.GetType() != argsType)
     {
         Debug.LogError("Wrong Datatype in getting rewards!");
         return(0);
     }
     else
     {
         Args = args;
         if (args == null)
         {
             throw new ArgumentException();
         }
         Value = CalculateReward();
         OnRewardGranted(this);
         return(Value);
     }
 }
Пример #3
0
    private void AddScore(Reward.RewardType type, IRewardArgs entityRewardData)
    {
        var score = GameController.Instance.Rewards.GetReward(type, entityRewardData);

        Stats.AddScore(score);
    }