コード例 #1
0
 private void InitializeSendReward(GameConnection gs, string account, string playerName, List <PayReward> rewards)
 {
     foreach (PayReward reward in rewards)
     {
         PayRewardTemplate payRewardTemplate = _payRewards[reward.RewardId];
         foreach (PayRewardGroup item in payRewardTemplate.rewardGroup)
         {
             if (item.price <= reward.PayNum && item.price > reward.ReadNum)
             {
                 PayRewardController.GetInstance().SendRequest(gs, account, playerName, reward, item, payRewardTemplate.pay_name);
             }
         }
     }
 }
コード例 #2
0
        public static PayRewardController GetInstance()
        {
            object obj = _lock;

            ObjectFlowControl.CheckForSyncLockOnValueType(obj);
            bool lockTaken = false;

            try
            {
                Monitor.Enter(obj, ref lockTaken);
                if (Information.IsNothing(instance))
                {
                    instance = new PayRewardController();
                }
                return(instance);
            }
            finally
            {
                if (lockTaken)
                {
                    Monitor.Exit(obj);
                }
            }
        }