diff --git a/logic/GameClass/GameObj/Map/Map.cs b/logic/GameClass/GameObj/Map/Map.cs index 93f39da..775681a 100644 --- a/logic/GameClass/GameObj/Map/Map.cs +++ b/logic/GameClass/GameObj/Map/Map.cs @@ -21,7 +21,7 @@ namespace GameClass.GameObj uint value = Interlocked.Increment(ref numOfRepairedGenerators); if (value == GameData.numOfGeneratorRequiredForEmergencyExit) { - GameObjLockDict[GameObjType.EmergencyExit].EnterWriteLock(); + GameObjLockDict[GameObjType.EmergencyExit].EnterReadLock(); try { Random r = new Random(Environment.TickCount); @@ -31,13 +31,13 @@ namespace GameClass.GameObj } finally { - GameObjLockDict[GameObjType.EmergencyExit].ExitWriteLock(); + GameObjLockDict[GameObjType.EmergencyExit].ExitReadLock(); } } else if (value == GameData.numOfGeneratorRequiredForRepair) { - GameObjLockDict[GameObjType.Doorway].EnterWriteLock(); + GameObjLockDict[GameObjType.Doorway].EnterReadLock(); try { foreach (Doorway doorway in GameObjDict[GameObjType.Doorway]) @@ -45,7 +45,7 @@ namespace GameClass.GameObj } finally { - GameObjLockDict[GameObjType.Doorway].ExitWriteLock(); + GameObjLockDict[GameObjType.Doorway].ExitReadLock(); } } } diff --git a/logic/Gaming/Game.cs b/logic/Gaming/Game.cs index 0fe1706..04af9bd 100644 --- a/logic/Gaming/Game.cs +++ b/logic/Gaming/Game.cs @@ -281,7 +281,7 @@ namespace Gaming { if (!gameMap.Timer.IsGaming) return; - gameMap.GameObjLockDict[GameObjType.Character].EnterWriteLock(); + gameMap.GameObjLockDict[GameObjType.Character].EnterReadLock(); try { foreach (Character player in gameMap.GameObjDict[GameObjType.Character]) @@ -291,7 +291,7 @@ namespace Gaming } finally { - gameMap.GameObjLockDict[GameObjType.Character].ExitWriteLock(); + gameMap.GameObjLockDict[GameObjType.Character].ExitReadLock(); } } diff --git a/logic/Gaming/PropManager.cs b/logic/Gaming/PropManager.cs index 67e29f2..5127f64 100644 --- a/logic/Gaming/PropManager.cs +++ b/logic/Gaming/PropManager.cs @@ -142,7 +142,7 @@ namespace Gaming int len = availableCellForGenerateProp.Count; Random r = new Random(Environment.TickCount); - gameMap.GameObjLockDict[GameObjType.Chest].EnterWriteLock(); + gameMap.GameObjLockDict[GameObjType.Chest].EnterReadLock(); try { int cou = 0; @@ -181,7 +181,7 @@ namespace Gaming } finally { - gameMap.GameObjLockDict[GameObjType.Chest].ExitWriteLock(); + gameMap.GameObjLockDict[GameObjType.Chest].ExitReadLock(); } /* new Thread