public void StartMainCharacterAttackAnimation() { if (_otherPlayerStartAttackingTimes.Any(HasActionForMainCharacter)) { return; } var startAttackingTime = new RenderFrameActionTime(_characterRepository.MainCharacter.ID, GetStartingAttackTime()); _otherPlayerStartAttackingTimes.Add(startAttackingTime); }
public void StartMainCharacterWalkAnimation() { if (_otherPlayerStartWalkingTimes.Any(HasActionForMainCharacter)) { return; } var startWalkingTime = new RenderFrameActionTime(_characterRepository.MainCharacter.ID, DateTime.Now); _otherPlayerStartWalkingTimes.Add(startWalkingTime); }
public void StartAttackAnimation(int npcIndex) { if (_npcStartAttackingTimes.Any(x => x.UniqueID == npcIndex)) { return; } var startAttackingTimeAndID = new RenderFrameActionTime(npcIndex, DateTime.Now); _npcStartAttackingTimes.Add(startAttackingTimeAndID); }
public void StartOtherCharacterAttackAnimation(int characterID) { if (_otherPlayerStartWalkingTimes.Any(x => x.UniqueID == characterID)) { return; } var existingStartTime = _otherPlayerStartAttackingTimes.SingleOrDefault(x => x.UniqueID == characterID); if (existingStartTime != null) { ResetCharacterAnimationFrames(characterID); _otherPlayerStartAttackingTimes.Remove(existingStartTime); } var startAttackingTimeAndID = new RenderFrameActionTime(characterID, GetStartingAttackTime()); _otherPlayerStartAttackingTimes.Add(startAttackingTimeAndID); }
private bool HasActionForMainCharacter(RenderFrameActionTime x) { return(x.UniqueID == _characterRepository.MainCharacter.ID && x.ActionStartTime.HasValue); }
private ICharacter GetCurrentCharacterFromRepository(RenderFrameActionTime pair) { return(pair.UniqueID == _characterRepository.MainCharacter.ID ? _characterRepository.MainCharacter : _currentMapStateRepository.Characters.SingleOrDefault(x => x.ID == pair.UniqueID)); }