Библиотека по юнити UnityCharasterCore
Документация будет расширяться дальше. Сейчас — аккуратный старт и прямой путь к GitHub.
Документация
UnityCharacterCore
UnityCharacterCore — базовая библиотека для модульной разработки в Unity 6+.
Предоставляет набор интерфейсов для создания гибких систем: урон, хп игрока, хп врага, типы врагов, имя, уровни и ранги. Архитектура легко расширяется и масштабируется.
🚀 Установка
Скопируйте папку UnityCharacterCore в директорию Assets вашего Unity‑проекта.
💡 Философия
Библиотека построена на принципах чистого кода и модульности. Используется современный C# (8.0+), доступный в Unity 6.
🛠 Примеры структур и использования
1. Система урона — IDamagePlayer
using UnityEngine;
namespace UnityCharacterCore.DamagePlayer
{
public interface IDamagePlayer
{
float damagePlayer { get; }
void DamagePlayer();
}
}
Пример реализации:
using UnityEngine;
using UnityCharacterCore.DamagePlayer;
public class EnemyHealth : MonoBehaviour, IDamagePlayer
{
public float damagePlayer => 10f;
public void DamagePlayer()
{
Debug.Log($"Получен урон: {damagePlayer}");
}
void Start()
{
IDamagePlayer entity = this;
entity.DamagePlayer();
}
}
2. Типы сущностей — EnemyType
using UnityEngine;
namespace UnityCharacterCore.Enemy
{
public enum EnemyType
{
Normal,
Elite,
Boss
}
}
3. Характеристики врагов — IEnemyCharasters
using UnityEngine;
namespace UnityCharacterCore.EnemyCharasters
{
public interface IEnemyCharasters
{
string NameEnemy { get; }
float HealthEnemy { get; }
float damageEnemy { get; }
void InfoEnemyHealth();
void DamageEnemy();
}
}
4. Здоровье игрока — IHealthPlayer
using UnityEngine;
namespace UnityCharacterCore.HealthPlayer
{
public interface IHealthPlayer
{
float HealthPlayer { get; }
void InfoHealthPlayer();
}
}
5. Система уровней — ILevel
using UnityEngine;
namespace UnityCharacterCore.Level
{
public interface ILevel
{
int level { get; }
int maxLevel { get; }
int minLevel { get; }
int Exp { get; }
int MaxExp { get; }
int MinExp { get; }
void OnLevelChange();
void OnLevelInfo();
void GetExp();
void GetMaxExp();
}
}
6. Система имён — INameable
using UnityEngine;
namespace UnityCharacterCore.Name
{
public interface INameable
{
string NamePlayer { get; }
void NamePlayerInfo();
}
}
7. Система рангов — IRank
using UnityEngine;
namespace UnityCharacterCore.Rank
{
public interface IRank
{
int rank { get; }
int maxRank { get; }
int minRank { get; }
int Exp { get; }
int maxExp { get; }
int minExp { get; }
void GetCurrentRank();
void GetMaxRank();
void GetCurrentExp();
void GetExpToNextRank();
}
}
📌 Пример полной реализации (Level + Name)
using UnityEngine;
using UnityCharacterCore.Level;
using UnityCharacterCore.Name;
public class NewMonoBehaviourScript : MonoBehaviour, ILevel, INameable
{
[SerializeField] private int lvl = 0;
[SerializeField] private int maxLvl = 60;
[SerializeField] private int minLvl = 1;
[SerializeField] private string namePlayer = "SenejuDev";
[SerializeField] private int exp = 0;
[SerializeField] private int maxExp = 1000;
[SerializeField] private int minExp = 0;
public int level => lvl;
public int maxLevel => maxLvl;
public int minLevel => minLvl;
public int Exp => exp;
public int MaxExp => maxExp;
public int MinExp => minExp;
public string NamePlayer => namePlayer;
}
Загрузки
Загрузки доступны через GitHub. Там всегда лежат актуальные версии и релизы.