Skip to content

Instantly share code, notes, and snippets.

View StarKRE22's full-sized avatar
🎯
Focusing

Igor Gulkin StarKRE22

🎯
Focusing
View GitHub Profile
@StarKRE22
StarKRE22 / Abilities 23.01.25.cs
Last active January 23, 2025 18:17
Реализовать способность "Оглушение"
//Оглушает выбранную цель на 3 секунды
//Время перезарядки: 10 секунд
//Условие: Цель должна быть противником
//При использовании способности списывается один заряд
//Активация Клавиша U + ЛКМ на цель:
public sealed class StunAbilityConfig : AbilityConfig
{
protected override void Install(Ability ability, IPlayerContext context)
{
@StarKRE22
StarKRE22 / Save-Load 16.12.2024.cs
Last active December 16, 2024 17:58
Написать класс сериализатора для "Экипировки"
//Базовый сериализатор нельзя использовать!!!
public interface IGameSerializer
{
void Serialize(Dictionary<string, string> saveState);
void Deserialize(Dictionary<string,string> loadState);
}
public interface IItemCatalog
{
@StarKRE22
StarKRE22 / 0.TDD-Practice.cs
Last active November 4, 2024 19:03
Реализовать мета-механики по методологии Test-Driven Development
Команда №1. Апгрейды
https://docs.google.com/document/d/15BPeyfEFCI7ZocPsVlZiJrWNo1EE9BgAZ8o_0klthYk/edit?usp=sharing
Команда №2. Дерево технологий
https://docs.google.com/document/d/1I_HaUYmeAzwSy3YfoKqojy7lSOIe-v0uLquSdghq2DI/edit?usp=sharing
Команда №3. Квесты
https://docs.google.com/document/d/1euheDLidkAdqgArdJe6OsfKnB23of0fOj5SDT-hMYUk/edit?usp=sharing
Команда №4. Баффы
//Команда №1
[Serializable]
public sealed class PatrolBehaviour : IAIUpdate
{
public void OnUpdate(IBlackboard blackboard, float deltaTime)
{
if (blackboard.TryGetCharacter(out GameObject character) && character != null &&
blackboard.TryGetStoppingDistance(out float stoppingDistance) &&
blackboard.TryGetWaypoints(out Transform[] waypoints) &&
blackboard.TryGetWaypointIndex(out int waypointIndex))
[Serializable]
public sealed class FireBulletBehaviour : IEntityInit, IEntityDispose
{
public void Init(IEntity entity)
{
//TODO:
}
public void Dispose(IEntity entity)
{
/**
/* Максимальное кол-во баллов 20
**/
/// Упражнение №1
/// 1 балл
public class Controller : MonoBehaviour
{
[SerializeField] private GameManager _gameManager;
@StarKRE22
StarKRE22 / SOLID.cs
Last active March 11, 2024 18:39
Выполните задания и наберите максимальное кол-во баллов
/**
/* Максимальное кол-во баллов 20
/* 15 баллов > пиица на каждого в команде
**/
/// Упражнение №1
/// 1 балл
public class Controller : MonoBehaviour
{
//Реализовать включение и выключение маркера обнаружения при переходе в состояние атаки
//Решение оставить под комментарием
//Время 3 минуты
@StarKRE22
StarKRE22 / AtomicMechanicsDynamic.cs
Last active February 3, 2024 18:10
Реализовать динамическое действие прыжка и аспект. Решение выложить в комментариях
//Компонент прыжка
[Serializable]
[Is(ObjectType.Jumpable)]
public sealed class JumpComponent
{
[Get(ObjectAPI.JumpAction)]
public IAtomicAction JumpAction => this.jumpAction;
[Get(ObjectAPI.JumpEnabled)]
public IAtomicExpression<bool> JumpEnabled => this.jumpEnabled;
@StarKRE22
StarKRE22 / AtomicComponentPractice.cs
Created January 20, 2024 13:10
Component Practice
public sealed class Character : MonoBehaviour
{
public AtomicVariable<bool> isAlive = new(true);
public MoveComponent moveComponent;
public AtomicValue<float> jumpForce = new(8);
public AtomicVariable<bool> jumpEnabled = new(true);
public JumpAction jumpAction = new();