Пример #1
0
        public void StartMainCharacterAttackAnimation()
        {
            if (_otherPlayerStartAttackingTimes.Any(HasActionForMainCharacter))
            {
                return;
            }

            var startAttackingTime = new RenderFrameActionTime(_characterRepository.MainCharacter.ID, GetStartingAttackTime());

            _otherPlayerStartAttackingTimes.Add(startAttackingTime);
        }
Пример #2
0
        public void StartMainCharacterWalkAnimation()
        {
            if (_otherPlayerStartWalkingTimes.Any(HasActionForMainCharacter))
            {
                return;
            }

            var startWalkingTime = new RenderFrameActionTime(_characterRepository.MainCharacter.ID, DateTime.Now);

            _otherPlayerStartWalkingTimes.Add(startWalkingTime);
        }
Пример #3
0
        public void StartAttackAnimation(int npcIndex)
        {
            if (_npcStartAttackingTimes.Any(x => x.UniqueID == npcIndex))
            {
                return;
            }

            var startAttackingTimeAndID = new RenderFrameActionTime(npcIndex, DateTime.Now);

            _npcStartAttackingTimes.Add(startAttackingTimeAndID);
        }
Пример #4
0
        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);
        }
Пример #5
0
 private bool HasActionForMainCharacter(RenderFrameActionTime x)
 {
     return(x.UniqueID == _characterRepository.MainCharacter.ID && x.ActionStartTime.HasValue);
 }
Пример #6
0
 private ICharacter GetCurrentCharacterFromRepository(RenderFrameActionTime pair)
 {
     return(pair.UniqueID == _characterRepository.MainCharacter.ID
         ? _characterRepository.MainCharacter
         : _currentMapStateRepository.Characters.SingleOrDefault(x => x.ID == pair.UniqueID));
 }