В этой статье мы с вами создадим внутриигровой Радар
 
	 
 
	 
	 
 
	Внутриигровой радар в этой игре работает по следующему принципу:
 
		Отображать союзников
		
				время отображения          ==  время жизни союзника.
			
			
				отображение                       ==  всегда
			
			
				дальность отображения  ==  зона видимости радара
			
		
	
		Отображать противников
		
				отображение                       == иногда
			
			
				время отображения
				
						при визуальном столкновении
						
								столкнулись вы                                          == время отображения 5с
							
							
								столкнулись союзники                             == время отображения 3с
							
						
					
						при вооруженном столкновении
						
								столкнулись вы или любой союзник   == время отображения 10с
							
						
					
						столкновения не было, противник стрелял   == время отображения  3с
					
				
			
				дальность отображения                                                  == зона видимости радара
			
		
	 
 
	Наша задача в том, чтобы противники всегда отображались на радаре, не зависимо от того, были столкновения / стрельба или нет.
 
	В этом нет ничего сложного.Нам просто нужно получить необходимые смещения,  указатели, получить итератор сущностей,  перебирать их в цикле и отображать на радар, указав время отображения.
 
	 
 
	 
 
	Класс IGameFramework выглядит теперь вот так:
 
	 
 
	 
 
	 Класс IGameRules:
 
	 
 
	 
 
	Класс IActorsystem:
 
	 
 
	 
 
	Класс IEntity:
 
	 
 
	 
 
	Класс IEntityIterator:
 
	 
 
	 
 
	 
 
	И самое простое во всём этом:
 
	 
 
	 
 
	 
 
	Если вам что-то не понятно, не стесняйтесь задавать свои вопросы в ЛС Discord или ниже в комментариях.