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); } } } }
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); } } }