Browse Source

fix: 🐛 help Client get CD

tags/0.1.0
shangfengh 2 years ago
parent
commit
ade0bd1369
4 changed files with 33 additions and 3 deletions
  1. +1
    -1
      logic/GameClass/GameObj/Character/Character.Skill.cs
  2. +1
    -1
      logic/GameClass/GameObj/Map/Door.cs
  3. +29
    -0
      logic/Gaming/Game.cs
  4. +2
    -1
      logic/Server/GameServer.cs

+ 1
- 1
logic/GameClass/GameObj/Character/Character.Skill.cs View File

@@ -102,8 +102,8 @@ namespace GameClass.GameObj

foreach (var activeSkill in this.Occupation.ListOfIActiveSkill)
{
this.TimeUntilActiveSkillAvailable.Add(activeSkill, 0);
this.IActiveSkillDictionary.Add(activeSkill, SkillFactory.FindIActiveSkill(activeSkill));
this.TimeUntilActiveSkillAvailable.Add(activeSkill, IActiveSkillDictionary[activeSkill].SkillCD);
}

// UsePassiveSkill(); //创建player时开始被动技能,这一过程也可以放到gamestart时进行


+ 1
- 1
logic/GameClass/GameObj/Map/Door.cs View File

@@ -17,7 +17,7 @@ namespace GameClass.GameObj
public override bool IsRigid => !isOpen;
public override ShapeType Shape => ShapeType.Square;

private bool isOpen = false;
private bool isOpen = true;
public bool IsOpen
{
get => isOpen;


+ 29
- 0
logic/Gaming/Game.cs View File

@@ -269,6 +269,35 @@ namespace Gaming
else
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()
{


+ 2
- 1
logic/Server/GameServer.cs View File

@@ -56,8 +56,9 @@ namespace Server
{
if (flag == true)
{
ReportGame(GameState.GameStart);
game.AllPlayerUsePassiveSkill();
ReportGame(GameState.GameStart);
game.AllActiveSkillDisabledTemporarily();
flag = false;
}
else ReportGame(GameState.GameRunning);


Loading…
Cancel
Save