| @@ -102,8 +102,8 @@ namespace GameClass.GameObj | |||||
| foreach (var activeSkill in this.Occupation.ListOfIActiveSkill) | foreach (var activeSkill in this.Occupation.ListOfIActiveSkill) | ||||
| { | { | ||||
| this.TimeUntilActiveSkillAvailable.Add(activeSkill, 0); | |||||
| this.IActiveSkillDictionary.Add(activeSkill, SkillFactory.FindIActiveSkill(activeSkill)); | this.IActiveSkillDictionary.Add(activeSkill, SkillFactory.FindIActiveSkill(activeSkill)); | ||||
| this.TimeUntilActiveSkillAvailable.Add(activeSkill, IActiveSkillDictionary[activeSkill].SkillCD); | |||||
| } | } | ||||
| // UsePassiveSkill(); //创建player时开始被动技能,这一过程也可以放到gamestart时进行 | // UsePassiveSkill(); //创建player时开始被动技能,这一过程也可以放到gamestart时进行 | ||||
| @@ -17,7 +17,7 @@ namespace GameClass.GameObj | |||||
| public override bool IsRigid => !isOpen; | public override bool IsRigid => !isOpen; | ||||
| public override ShapeType Shape => ShapeType.Square; | public override ShapeType Shape => ShapeType.Square; | ||||
| private bool isOpen = false; | |||||
| private bool isOpen = true; | |||||
| public bool IsOpen | public bool IsOpen | ||||
| { | { | ||||
| get => isOpen; | get => isOpen; | ||||
| @@ -269,6 +269,35 @@ namespace Gaming | |||||
| else | else | ||||
| return false; | return false; | ||||
| } | } | ||||
| public void AllActiveSkillDisabledTemporarily() | |||||
| { | |||||
| if (!gameMap.Timer.IsGaming) | |||||
| return; | |||||
| /* new Thread | |||||
| ( | |||||
| () => | |||||
| { | |||||
| Thread.Sleep(10);*/ | |||||
| gameMap.GameObjLockDict[GameObjType.Character].EnterWriteLock(); | |||||
| try | |||||
| { | |||||
| foreach (Character player in gameMap.GameObjDict[GameObjType.Character]) | |||||
| { | |||||
| foreach (var activeSkill in player.Occupation.ListOfIActiveSkill) | |||||
| { | |||||
| player.SetTimeUntilActiveSkillAvailable(activeSkill, 0); | |||||
| } | |||||
| } | |||||
| } | |||||
| finally | |||||
| { | |||||
| gameMap.GameObjLockDict[GameObjType.Character].ExitWriteLock(); | |||||
| } | |||||
| /* } | |||||
| ) | |||||
| { IsBackground = true }.Start(); | |||||
| */ | |||||
| } | |||||
| public void AllPlayerUsePassiveSkill() | public void AllPlayerUsePassiveSkill() | ||||
| { | { | ||||
| @@ -56,8 +56,9 @@ namespace Server | |||||
| { | { | ||||
| if (flag == true) | if (flag == true) | ||||
| { | { | ||||
| ReportGame(GameState.GameStart); | |||||
| game.AllPlayerUsePassiveSkill(); | game.AllPlayerUsePassiveSkill(); | ||||
| ReportGame(GameState.GameStart); | |||||
| game.AllActiveSkillDisabledTemporarily(); | |||||
| flag = false; | flag = false; | ||||
| } | } | ||||
| else ReportGame(GameState.GameRunning); | else ReportGame(GameState.GameRunning); | ||||