рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЙрди рддрдХрдиреАрдХреЛрдВ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╣рдо рдПрдХ рдирдП рдореЛрдмрд╛рдЗрд▓ рдлрд╛рд╕реНрдЯ рдкреБрд╕реНрддрдХ рд╢реВрдЯрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рдереА рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рддрд╣реА рд▓реЗрдЦ рднреА рдерд╛ - рдЖрдЬ рдореИрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреЗ рдИрд╕реАрдПрд╕ рдврд╛рдВрдЪреЗ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдФрд░ рдореМрдЬреВрджрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЕрдВрдд рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдмреЛрдирд╕ рд╣реЛрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдИрд╕реАрдПрд╕ рдХреНрдпрд╛ рд╣реИ
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдПрдВрдЯрд┐рдЯреА рдШрдЯрдХ рдкреНрд░рдгрд╛рд▓реА рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдИрд╕реАрдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдмреЗрд░рд╛ рдкрд░ рд▓реЗрдЦ рд╣реИрдВ (рдореВрд▓ рд░реВрдк рд╕реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓реЗрдЦреЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж - рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореЗрд░реА рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдореАрдХреНрд╖рд╛ рджреЗрдЦреЗрдВ, рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ)ред рдФрд░ рдЖрдЬ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╣рдо рдИрд╕реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ - рдЕрдкрдиреЗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ
рдкреНрд▓реЗрдпрд░ рдХреЗ рд╕рд╛рд░, рдЙрд╕рдХреЗ рдШрдЯрдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рдбреЗрдЯрд╛, рдФрд░ рдЙрди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдФрд░ рдЙрд╕рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЖрд░реЗрдЦ рдореЗрдВ рдореБрдЦреНрдп рд╡рд╕реНрддреБ рдЦрд┐рд▓рд╛рдбрд╝реА рд╣реИ:
- рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рдЖрдВрджреЛрд▓рди рдШрдЯрдХреЛрдВ, MoveSystem ;
- рдХреБрдЫ рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╣реИ рдФрд░ рдорд░ рд╕рдХрддреЗ рд╣реИрдВ - рдШрдЯрдХ рд╕реНрд╡рд╛рд╕реНрдереНрдп , рдиреБрдХрд╕рд╛рди , рдиреБрдХрд╕рд╛рди рдкреНрд░рдгрд╛рд▓реА ;
- рдорд░рдиреЗ рдХреЗ рдмрд╛рдж рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдкреЙрдЗрдВрдЯ рдкрд░ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ - рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдШрдЯрдХ, рд░реЗрд╕реНрдкреЙрдирд╕рд┐рд╕реНрдЯрдо ;
- рдЕрдЬреЗрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдШрдЯрдХ рдЕрдЬреЗрдп ред
рд╣рдо рдПрдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдШрдЯрдХреЛрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╡рд┐рдзрд┐ рд╣реИ, рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдкрд░ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ:
public interface IComponent {
рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реНрдЯрдм рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЪрд▓реЛ
рд╕реНрд╡рд╛рд╕реНрдереНрдп ,
рдиреБрдХрд╕рд╛рди рдФрд░
рдЕрдЬреЗрдп рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдмрд╛рдХреА рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╛рди рд╣реЛрдЧрд╛)ред
[Component] public class Health { [Max(1000)]
рдШрдЯрдХ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ред рдЗрд╕реА рд╕рдордп,
рдЕрдЬреЗрдп рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрд░реНрдХ рдореЗрдВ рдЕрдЬреЗрдпрддрд╛ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрджрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕рд╛рд░ рдореЗрдВ рдпрд╣ рдШрдЯрдХ рд╣реИ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЕрдм рдЕрдЬреЗрдп рд╣реИред
рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреНрдд рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП
рдШрдЯрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Max рдФрд░
DontSend рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрдм рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдВрдЪрд░рд┐рдд рдпрд╛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рд╣реЗрдЬреЗ рдЧрдП рджреБрдирд┐рдпрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдФрд░ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рд░реНрд╡рд░
рдЕрдорд╛рдЙрдВрдЯ рдлрд╝реАрд▓реНрдб рдХреЛ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рднреЗрдЬ рджреЗрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред рдФрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЗ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП
Hp рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХрдИ рдмрд┐рдЯреНрд╕ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ
рдЗрдХрд╛рдИ рдкреНрд░реАрдлрд╝реИрдм рдХреНрд▓рд╛рд╕ рднреА рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рдХрд┐рд╕реА рднреА рдЗрдХрд╛рдИ рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдЬрдирд░реЗрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд░реНрдЧ рдмрдирд╛ рджреЗрдЧрд╛:
public class Entity { public Health Health; public Damage Damage; public Invincible Invincible;
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░рд╛ рдЬрдирд░реЗрдЯрд░
рд╕реНрд╡рд╛рд╕реНрдереНрдп ,
рдиреБрдХрд╕рд╛рди рдФрд░
рдЕрдЬреЗрдп рдШрдЯрдХ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдХреЛрдб рдмрдирд╛рдПрдЧрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреЗрдо рдЧреЗрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
public sealed class Health : IComponent { public int Hp; public void Reset() { Hp = default(int); }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдмрдиреЗ рд░рд╣реЗ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рд░реАрд╕реЗрдЯ ред рдкреВрд▓ рдореЗрдВ рдШрдЯрдХреЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ - рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рджреВрдВрдЧрд╛ред
рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рднреА рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдШрдЯрдХреЛрдВ рдФрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╢рд╛рдорд┐рд▓ рд╣реИ:
public sealed class GameState {
рдФрд░ рдЕрдВрдд рдореЗрдВ,
рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдХреЛрдб:
public sealed class Entity { public uint Id;
рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рд┐рд░реНрдл рдПрдХ рдШрдЯрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред
GameState рджреБрдирд┐рдпрд╛ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рдХреЗрд╡рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдШрдЯрдХ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдиреНрдп рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд▓рд┐рдВрдХ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдиреБрдХрд╕рд╛рди рдШрдЯрдХ рдореЗрдВ
рдкреАрдбрд╝рд┐рдд рдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдкреАрдбрд╝рд┐рдд рдЗрдХрд╛рдИ рдХрд╛ рд╕рдВрджрд░реНрдн рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЗрд╕рд╕реЗ рдЙрддреНрдкрдиреНрди рдХреЛрдб рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдореЗрдВ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рд╣рд░ рдмрд╛рд░ рд╕рд╣рд╛рдпрдХ рддрд░реАрдХреЗ рди рд▓рд┐рдЦреЗрдВред рд╣рдо рдХреЗрд╡рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЬрдирд░реЗрдЯрд░ рд╕рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
- рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдмрдирд╛рдирд╛ / рд╣рдЯрд╛рдирд╛;
- рдХрд┐рд╕реА рдШрдЯрдХ рдХреЛ рдЬреЛрдбрд╝реЗрдВ / рдирд┐рдХрд╛рд▓реЗрдВ / рдХреЙрдкреА рдХрд░реЗрдВ, рдпрджрд┐ рдореМрдЬреВрдж рд╣реИ рддреЛ рдЙрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВ;
- рджреБрдирд┐рдпрд╛ рдХреЗ рджреЛ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ;
- рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ;
- рдбреЗрд▓реНрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди;
- рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐, рд╕рдВрд╕реНрдерд╛рдУрдВ, рдШрдЯрдХреЛрдВ (рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ) рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдпрд╛ рдпреВрдирд┐рдЯреА рд╡рд┐рдВрдбреЛ рдХрд╛ рдХреЛрдб;
- рдФрд░ рдЕрдиреНрдп
рд╕рд┐рд╕реНрдЯрдо рдХреЛрдб рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рд╡реЗ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдиреБрдХрд╕рд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ:
public sealed class DamageSystem : ISystem { void ISystem.Execute(GameState gs) { foreach (var damage in gs.Damages) { var invincible = damage.Victim.Invincible; if (invincible != null) continue; var health = damage.Victim.Health; if (health == null) continue; health.Hp -= damage.Amount; } } }
рд╕рд┐рд╕реНрдЯрдо рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рднреА
рдиреБрдХрд╕рд╛рди рдШрдЯрдХреЛрдВ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдЦрд┐рд▓рд╛рдбрд╝реА (
рд╡рд┐рдХреНрдЯреНрд░реА ) рдкрд░ рдПрдХ
рдЕрдЬреЗрдп рдШрдЯрдХ рд╣реИред рдпрджрд┐ рд╡рд╣ рд╣реИ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЕрдЬреЗрдп рд╣реИ, рдХреНрд╖рддрд┐ рдЕрд░реНрдЬрд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рдкреАрдбрд╝рд┐рдд рдХреЗ
рд╕реНрд╡рд╛рд╕реНрдереНрдп рдШрдЯрдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВред
рд╕рд┐рд╕реНрдЯрдо рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдХреНрд▓рд╛рд╕ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдмрд╛рд╣рд░ рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рджреБрдирд┐рдпрд╛ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ред
- рд╕рд┐рд╕реНрдЯрдо рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдЖрдорддреМрд░ рдкрд░ рдШрдЯрдХ рдХреЗ рдкреНрд░рдХрд╛рд░ ( рдбреИрдореЗрдЬ тЖТ рдбреИрдореЗрдЬрд╕рд┐рд╕реНрдЯрдо ) рдпрд╛ рдЙрд╕ рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡реЗ рдХрд░рддреЗ рд╣реИрдВ ( рд░рд┐рд╕реНрдкрд╛рдВрд╕ рд╕рд┐рд╕реНрдЯрдо )ред
- рд╕рд┐рд╕реНрдЯрдо рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рд╣рдо рдЖрдЧреЗ рдЬрд╛рддреЗ рд╣реИрдВ, DamageSystem рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж , рдПрдХ рдФрд░ RemoveDamageSystem рд╕рднреА рдиреБрдХрд╕рд╛рди рдШрдЯрдХреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ред рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдореЗрдВ, рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рд╢реВрдЯрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдФрд░ ApplyDamageSystem рдлрд┐рд░ рд╕реЗ рдирдП рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рдиреБрдХрд╕рд╛рди рдШрдЯрдХ рдХреЛ рд▓рдЯрдХрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ PlayerDeathSystem рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп ( Health.Hp ) рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдФрд░, рдпрджрд┐ рдпрд╣ 0 рд╕реЗ рдХрдо рдпрд╛ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдпрд╣ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдбреЗрдб рдлреНрд▓реИрдЧ рдШрдЯрдХ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рдХреБрд▓, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд░реНрдЧреЛрдВ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рд░рд┐рд╢реНрддреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

ECS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рддрдереНрдп
ECS рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдЦреЗрд▓ рдХреА рджреБрдирд┐рдпрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рдЦреБрдж рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЪрд▓реЛ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
- рд░рдЪрдирд╛ рдмрдирд╛рдо рдПрдХрд╛рдзрд┐рдХ рд╡рд┐рд░рд╛рд╕рддред рдПрдХрд╛рдзрд┐рдХ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдИрд╕реАрдПрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдШрдЯрдХ рдЬреЛрдбрд╝рд╛ / рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ / рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИред
- рддрд░реНрдХ рдФрд░ рдбреЗрдЯрд╛ рдХрд╛ рдкреГрдердХреНрдХрд░рдгред рдбреЗрдЯрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рддрд░реНрдХ (рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рдгрд╛рд▓реА, рд╣рдЯрд╛рдиреЗ / рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ) рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдпрд╛рдиреА рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдордп рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдореВрд╣ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╛рдХреА рд╕рдм рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдФрд░ рдЗрд╕рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
- рдЦреЗрд▓ рдЪрдХреНрд░ рд╕рд░рд▓ рд╣реИред рдПрдХ рдЕрджреНрдпрддрди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдкреВрд░реЗ рдЪрдХреНрд░ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ "рдкреНрд░рд╡рд╛рд╣" рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрдВрдЬрди рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ (рдПрдХрддрд╛ рдореЗрдВ рд▓рд╛рдЦреЛрдВ рдЕрдкрдбреЗрдЯ рдХреЙрд▓ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ)ред
- рдПрдХ рдЗрдХрд╛рдИ рдХреЛ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдХрдХреНрд╖рд╛рдПрдВ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВ (рдФрд░ рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред
- рд╕реНрдореГрддрд┐ рдХрд╛ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ ред рдпрд╣ рдИрд╕реАрдПрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдЖрдк рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдорд╛рди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдореЗрдореЛрд░реА рд╕рд╛рдЗрдб (рд╕рд╛рдЗрдб рд▓реЛрдХрд▓рд┐рдЯреА ) рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЬрдм рдбреЗрдЯрд╛ рдХреЛ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдм рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рддрд░реНрдХ рдХреЛрдб рдХреА рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рдкреНрд░рдгрд╛рд▓реА рд╣реИред
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦреЗрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ ред рдХреНрдпреЛрдВрдХрд┐ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╣реИ, рд╣рдордиреЗ рдПрдХ рдЙрдкрдХрд░рдг рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рджреБрдирд┐рдпрд╛ рдХреЗ рдкреВрд░реЗ рд░рд╛рдЬреНрдп рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдореИрдЪ рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ (рд╕рд╛рде рд╣реА 3 рдбреА рдореЗрдВ рдореИрдЪ рдХрд╛ рджреГрд╢реНрдп)ред рдХрд┐рд╕реА рднреА рдЗрдХрд╛рдИ рдХреЗ рдХрд┐рд╕реА рднреА рдШрдЯрдХ рдХреЛ рджреЗрдЦрд╛, рд╕рдВрд╢реЛрдзрд┐рдд, рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдПрдХрддрд╛ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдПрдХ рд╣реА рдмрд╛рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдФрд░ рдЕрдм рд╡рд┐рдкрдХреНрд╖:
- рдЖрдкрдХреЛ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛, рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ ред рд╕рдВрд╕реНрдерд╛рдУрдВ, рдШрдЯрдХреЛрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реЛрдЪреЗрдВред рдИрд╕реАрдПрд╕ рдореЗрдВ рдХрдИ рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ (рдЕрдВрдд рдореЗрдВ рд╕рдореАрдХреНрд╖рд╛ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд░рд╛рдЬреНрдп рдкреИрдЯрд░реНрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЗрдЦреЗрдВ)ред
- рдЕрдзрд┐рдХ рдХреЛрдб ред рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрджред рдПрдХ рддрд░рдл, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╣рдо рддрд░реНрдХ рдХреЛ рдЫреЛрдЯреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рддреЛрдбрд╝рддреЗ рд╣реИрдВ, рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЕрдзрд┐рдХ рд╡рд░реНрдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рдирд╣реАрдВ рд╣реИред
- рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдкреВрд░реЗ рдЧреЗрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ ред рдЖрдорддреМрд░ рдкрд░, рд╕рд┐рд╕реНрдЯрдо рдПрдХ рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдХреНрд░рдо рд╕реВрдЪреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ DamageSystem рдХреНрд╖рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ RemoveDamageSystem рдХреНрд╖рддрд┐ рдШрдЯрдХ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЧрд▓рддреА рд╕реЗ рдСрд░реНрдбрд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдУрдУрдкреА рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИ, рдпрджрд┐ рдЖрдк рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдИрд╕реАрдПрд╕ рдореЗрдВ рдЧрд▓рддреА рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рддрд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд▓рд┐рдП рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдЖрджреЗрд╢ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рддрд░реНрдХ рдХреЗ рдбреЗрдЯрд╛ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред рдПрдХрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдорд╡реАрдкреА рд╣реИ:
- рдореЙрдбрд▓ - рдИрд╕реАрдПрд╕ рд╕реЗ рдЧреЗрдорд╕реНрдЯреЗрдЯ;
- рджреЗрдЦреЗрдВ - рд╣рдорд╛рд░реЗ рд╕рд╛рде рдпреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╛рдирдХ рдореЛрдиреЛрдмреАрд╣реЗрдпрд░ рдпреВрдирд┐рдЯреА рдХрдХреНрд╖рд╛рдПрдВ ( рд░реЗрдВрдбрд░рд░ , рдЯреЗрдХреНрд╕реНрдЯ , рдЖрджрд┐) рдФрд░ рдкреНрд░реАрдлреИрдмреНрд╕ рд╣реИрдВ;
- рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рд╕рдВрд╕реНрдерд╛рдУрдВ, рдШрдЯрдХреЛрдВ рдЖрджрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ / рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрдорд╕реНрдЯреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░реАрдлрд╝реИрдмреНрд╕ рд╕реЗ рдПрдХрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐:- ECS рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдЗрд▓рд╛рдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ ред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рд╣реИ, рдПрдХ рдкреИрдЯрд░реНрди, рдЦреЗрд▓ рдХреА рджреБрдирд┐рдпрд╛ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ - рдЬреЛ рднреА рдЖрдкрдХреЛ рдкрд╕рдВрдж рд╣реИ рдЙрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред рдбреЗрдЯрд╛ рд╕реНрдерд╛рдиреАрдпрддрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЕрдиреБрдХреВрд▓рди рд╣реИред
- рдПрдХрддрд╛ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ ECS рдирд╣реАрдВ рд╣реИ! рдЕрдХреНрд╕рд░ рдЖрдк рдЯреАрдо рдХреЗ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ - рдЖрдк рдИрд╕реАрдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ? рдпрджрд┐ рдЖрдкрдиреЗ рд╕реБрдирд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдмрддрд╛рдПрдВ, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрддреНрддрд░ рджрд┐рдпрд╛: "рдЖрд╣, рддреЛ рдпрд╣ рдПрдХрддрд╛ рдореЗрдВ рдкрд╕рдВрдж рд╣реИ, рддреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ!"ред рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдпрд╣ рдпреВрдирд┐рдЯреА рдЗрдВрдЬрди рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реИред рд╡рд╣рд╛рдВ, рдбреЗрдЯрд╛ рдФрд░ рд▓реЙрдЬрд┐рдХ рдХреЛ рдореЛрдиреЛрдмреЗрд╣рд╡рд┐рдпрд░ рдШрдЯрдХ рдореЗрдВ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЧреЗрдордСрдмрдЬреЗрдХреНрдЯ (рдпрджрд┐ рдИрд╕реАрдПрд╕ рдореЗрдВ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ) рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд╣реИ - рдПрдХ рдирд╛рдо, рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдПрдХ рдЬрдЧрд╣, рдЖрджрд┐ред рдПрдХрддрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрдВрдЬрди рдореЗрдВ рдИрд╕реАрдПрд╕ рдХреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЕрдм рддрдХ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рдХрд╛рдо рдкрд░ рд░рдЦрд╛ - рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдИрд╕реАрдПрд╕ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдЪрдпрди рдорд╛рдирджрдВрдб
рдЬрдм рд╣рдордиреЗ рдИрд╕реАрдПрд╕ рдкрд░ рдПрдХ рдЦреЗрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддреЛ рд╣рдордиреЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХреА рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрд╛ред рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛, рдЗрд╕ рд╕рдордп, рдХреБрдЫ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдорд╛рдирд╛:
- Entitas
- рдЖрд░реНрдЯреЗрдорд┐рд╕ рд╕реА #
- Ash.NET
- рдЬрд┐рд╕ рд╕рдордп рд╣рдордиреЗ рдЗрд╕рдХреА рдХрд▓реНрдкрдирд╛ рдХреА рдереА, рдИрд╕реАрдПрд╕ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред рдпрд╛рдиреА рд╣рдорд╛рд░реА рдзрд╛рд░рдгрд╛рдПрдБ рдФрд░ рдЗрдЪреНрдЫрд╛рдПрдБ, рд╣рдо рдЦреБрдж рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдордиреЗ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрдХрд▓рд┐рдд рдХреА рд╣реИ, рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рднреА рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ (рдЗрд╕реЗ
рдИрд╕реАрдПрд╕ (рдЕрдм) рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ):
рд▓рд╛рд▓ рд░рдВрдЧ - рд╕рдорд╛рдзрд╛рди рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдирд╛рд░рдВрдЧреА - рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд╣рд░рд╛ - рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИредрд╣рдорд╛рд░реЗ рд▓рд┐рдП, ECS рдореЗрдВ рдШрдЯрдХреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдФрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рд╛рджреГрд╢реНрдп рдПрдХ sql рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдЬреИрд╕реЗ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ (рдЯреЗрдмрд▓), рдЬреНрд╡рд╛рдЗрди (рдЬреНрд╡рд╛рдЗрди рдСрдкрд░реЗрд╢рди), рдЗрдВрдбреЗрдХреНрд╕ (рд╕реВрдЪрдХрд╛рдВрдХ), рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд╣рдо рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХрд┐рд╕ рд╣рдж рддрдХ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдврд╛рдВрдЪреЗ рдЙрдирдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдВрдЧреЗ:
- рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕реЗрдЯ (рдЗрддрд┐рд╣рд╛рд╕, рд╡рд░реНрддрдорд╛рди, рджреГрд╢реНрдп, рд╕реНрдереИрддрд┐рдХ) - рд╡рд┐рд╢реНрд╡ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐, рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рдЗрддрд┐рд╣рд╛рд╕, рдЖрджрд┐)ред рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рднреА рдирд┐рд░реНрдгрдпреЛрдВ рдиреЗ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ ред
- рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдВрдЯреНрд░реА рдЖрдИрдбреА - рдЗрд╕рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛-рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЗрдХрд╛рдИ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рдпрд╣ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рдг рдФрд░ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдВрдЯрд┐рдЯрд╛рд╕ рдореЗрдВ, рдПрдХ рдЗрдХрд╛рдИ рдХреЛ рдПрдХ рдкреВрд░реНрдг рдСрдмреНрдЬреЗрдХреНрдЯ (рдЬреИрд╕реЗ рдЧреЗрдордСрдмрдЬреЗрдХреНрдЯ рдЗрди рдпреВрдирд┐рдЯреА) рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЖрдИрдбреА рдУ (рдПрди + рдПрдо) рд╕реЗ рдЬреБрдбрд╝реЗрдВ - рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рддреЗрдЬреА рд╕реЗ рдирдореВрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдкрдХреЛ рдиреБрдХрд╕рд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕рдВрд╕реНрдерд╛рдУрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдПрди рдЯреБрдХрдбрд╝реЗ) рдФрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп (рдПрдо рдЯреБрдХрдбрд╝реЗ) рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрд░реНрдЯреЗрдорд┐рд╕ рдореЗрдВ рдкреВрд░рд╛ рд╕рдорд░реНрдерди рдерд╛; Entitas рдФрд░ Ash.NET рдореЗрдВ рдпрд╣ O (N,) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди O (N + M) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИред рдореБрдЭреЗ рдЕрдм рдореВрд▓реНрдпрд╛рдВрдХрди рдпрд╛рдж рдирд╣реАрдВ рд╣реИред
- рдЖрдИрдбреА рд╕рдВрджрд░реНрдн рдУ (рдПрди + рдПрдо) рд╕реЗ рдЬреБрдбрд╝реЗрдВ - рдХреЗрд╡рд▓ рдКрдкрд░ рдЬрдм рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рдПрдХ рдШрдЯрдХ рдХрд╛ рджреВрд╕рд░реЗ рд╕реЗ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдПрдХ рдЕрдиреНрдп рдШрдЯрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рд╣рд╛рдпрдХ рдЗрдХрд╛рдИ рдкрд░ рдиреБрдХрд╕рд╛рди рдШрдЯрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдЗрдХрд╛рдИ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рдЖрдкрдХреЛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдШрдЯрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
- рдХреЛрдИ рдХреНрд╡реЗрд░реА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ - рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдШрдЯрдХреЛрдВ рдФрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдирд╣реАрдВред рдПрдВрдЯрд┐рдЯрд╛рд╕ рдореЗрдВ, рдпрд╣ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рд╣реАрди рдерд╛ред
- рдкреВрд▓ рдЯреЗрдмрд▓ - рдкреВрд▓ рдореЗрдВ рд╡рд┐рд╢реНрд╡ рдбреЗрдЯрд╛ рдХрд╛ рднрдВрдбрд╛рд░рдг, рдореЗрдореЛрд░реА рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЖрд╡рдВрдЯрди рдХреЗрд╡рд▓ рддрднреА рдЬрдм рдкреВрд▓ рдЦрд╛рд▓реА рд╣реЛред Entitas рдФрд░ Artemis рдореЗрдВ "рдХреБрдЫ" рд╕рдорд░реНрдерди рдерд╛, Ash.NET рдореЗрдВ рдкреВрд░реНрдг рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ред
- рдЖрдИрдбреА (рдРрдб, рдбреЗрд▓) рджреНрд╡рд╛рд░рд╛ рддреБрд▓рдирд╛ - рдЖрдИрдбреА рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕реНрдерд╛рдУрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг / рд╡рд┐рдирд╛рд╢ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдердиред рдкреНрд░рджрд░реНрд╢рди рд╕реНрддрд░ (рджреГрд╢реНрдп) рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ / рдЫрд┐рдкрд╛рдиреЗ, рдПрдирд┐рдореЗрд╢рди, рдкреНрд░рднрд╛рд╡ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
- ╬Ф рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди (рдорд╛рддреНрд░рд╛ рдХрд╛ рдард╣рд░рд╛рд╡) - рджреБрдирд┐рдпрд╛ рдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрд▓реНрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдЖрдЙрдЯ рдСрдл рдж рдмреЙрдХреНрд╕ рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдерд╛ред
- рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рджреБрдирд┐рдпрд╛ рдХреЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рдкреНрд░рдХреНрд╖реЗрдк рддрдВрддреНрд░ рд╣реИред рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
- рдкреБрди: рдЙрдкрдпреЛрдЧ рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ - рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдХреЗрд╡рд▓ рдПрдВрдЯреЗрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ ред
- рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕реНрдкрд╖реНрдЯ рдХреНрд░рдо - рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдХреЙрд▓ рдСрд░реНрдбрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рд╕рднреА рдлреИрд╕рд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред
- рд╕рдВрдкрд╛рджрдХ (рдПрдХрддрд╛ / рд╕рд░реНрд╡рд░) - рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред Entitas рдиреЗ рдЗрдХрд╛рдЗрдпреЛрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХрддрд╛ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рджреЗрдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред
- рдлрд╛рд╕реНрдЯ рдХреЙрдкреА / рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ - рд╕рд╕реНрддреЗ рдбреЗрдЯрд╛ рдХреЛ рдХреЙрдкреА / рд░рд┐рдкреНрд▓реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
- рдореВрд▓реНрдп рдкреНрд░рдХрд╛рд░ (рд╕рдВрд░рдЪрдирд╛) рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдХ - рдореВрд▓реНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдХред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдореИрдВ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдПрдХ рднреА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛; рдШрдЯрдХ рд╡рд░реНрдЧ рд╣рд░ рдЬрдЧрд╣ рдереЗред
рд╡реИрдХрд▓реНрдкрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ (
рдЙрд╕ рд╕рдордп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ ):
- рд╕реВрдЪрдХрд╛рдВрдХ - рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдЕрдиреБрдХреНрд░рдордгред
- рдорд┐рд╢реНрд░рд┐рдд рдХреБрдВрдЬреА - рдбреЗрдЯрд╛ рддрдХ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рдХреБрдВрдЬреА (рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ)ред
- рдЕрдЦрдВрдбрддрд╛ рдХреА рдЬрд╛рдБрдЪ - рджреБрдирд┐рдпрд╛ рдХреЗ рдПрдХ рд░рд╛рдЬреНрдп рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
- рд╕рд╛рдордЧреНрд░реА-рдЬрд╛рдЧрд░реВрдХ рд╕рдВрдкреАрдбрд╝рди рдбреЗрдЯрд╛ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдпрд╛ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред
- рдкреНрд░рдХрд╛рд░ / рд╕рд┐рд╕реНрдЯрдо рд╕реАрдорд╛ - рдШрдЯрдХреЛрдВ рдпрд╛ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзред рдЙрд╕ рд╕рдордп рдЖрд░реНрдЯреЗрдорд┐рд╕ рдореЗрдВ 32 рдпрд╛ 64 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛ ред
рдЬреИрд╕рд╛ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдкрдиреЗ рджрдо рдкрд░ рд╣рдо рд╡реИрдХрд▓реНрдкрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдлрд┐рд▓рд╣рд╛рд▓ рд╣рдордиреЗ рдРрд╕рд╛
рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ:
- рдЖрдИрдбреА рдУ (рдПрди + рдПрдо) рд╕реЗ рдЬреБрдбрд╝реЗрдВ рдФрд░ рдЖрдИрдбреА рд╕рдВрджрд░реНрдн рдУ (рдПрди + рдПрдо) рд╕реЗ рдЬреБрдбрд╝реЗрдВ - рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрдпрди рдЕрднреА рднреА рдУ (рдПрдиies) рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рддрд╛ рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд▓реВрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЗрд╕реНрдЯреЗрдб)ред рджреВрд╕рд░реА рдУрд░, рдПрдХ рдореИрдЪ рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рд╕рд╛рд░реА рд╕рдВрд╕реНрдерд╛рдПрдБ рдФрд░ рдШрдЯрдХ рдирд╣реАрдВ рд╣реИрдВред
- рдЖрдИрдбреА (рдРрдб, рдбреЗрд▓) рджреНрд╡рд╛рд░рд╛ рддреБрд▓рдирд╛ рдХрд░реЗрдВ - рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реНрддрд░ рдкрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рдПрдорд╡реАрдкреА рдореЗрдВ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
- рдлрд╛рд╕реНрдЯ рдХреЙрдкреА / рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдШрдЯрдХ рдХреЛ рдорд╛рди рдкреНрд░рдХрд╛рд░ (рд╕рдВрд░рдЪрдирд╛) рдХреЗ рд░реВрдк рдореЗрдВ - рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЙрддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдкрд░ рдмрд╕ рдЧрдпрд╛ - рд╣рдордиреЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рдХрд╛рд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреАред рд╡реИрд╕реЗ, рдПрдВрдЯрд┐рдЯрд╛рд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЕрдВрдд рдореЗрдВ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ ред
рдЙрд╕реА рд╕рдордп, рдлрд┐рд░ рднреА рд╣рдореЗрдВ рдЙрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдЬреЛ рд╢реБрд░реВ рдореЗрдВ рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдереАрдВ:
- рд╕рд╛рдордЧреНрд░реА-рдЬрд╛рдЧрд░реВрдХ рд╕рдВрдкреАрдбрд╝рди - рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣рдо рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░реЗрд╖рд┐рдд рдкреИрдХреЗрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрд╛рдлреА рдХрдо (рджрд╕рд┐рдпреЛрдВ рдЧреБрдирд╛) рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдореЛрдмрд╛рдЗрд▓ рдбреЗрдЯрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП, рдПрдордЯреАрдпреВ рдореЗрдВ рдкреИрдХреЗрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдлрд┐рдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдореЗрдВ "рдЯреВрдЯ рди рдЬрд╛рдП" рдЬреЛ рдХрд┐ рдЦреЛ рдЬрд╛рдП, рдПрдХ рдЕрд▓рдЧ рдХреНрд░рдо рдореЗрдВ рдЬрд╛рдП, рдФрд░ рдлрд┐рд░ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреЛрдЯреЙрди рдореЗрдВ, рдпрджрд┐ рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ MTU рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдбреЗрдЯрд╛ рдХреЛ рдкреИрдХреЗрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп (рдЧрд╛рд░рдВрдЯреАрдХреГрдд рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд╕рд╛рде) рднреЗрдЬрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдЙрдиреНрд╣реЗрдВ рдКрдкрд░ рд╕реЗ "рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп" рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬреЗрдВред рдкрд╣рд▓реЗ рд╣рд╛рде рд╕реЗ рджрд░реНрдж рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред
рдИрд╕реАрдПрд╕ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡рд┐рдХрд╛рд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
- рд╣рдо рдИрд╕реАрдПрд╕ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ ред рд╕рдВрд╕рд╛рдзрдиреЛрдВ, рд╡рд┐рдЪрд╛рд░реЛрдВ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рдЪреВрдВрдХрд┐ ECS рд▓реЙрдЬрд┐рдХ рдХреЛрдб рдПрдХ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдПрдХрддрд╛ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдиреНрдп рд╕реНрддрд░реЛрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рд╣рдо рдШрдЯрдХреЛрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ ред рдЖрдорддреМрд░ рдкрд░, рдкреНрд░рддреНрдпреЗрдХ рдирдП рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рд╣рдо рдирдП рдШрдЯрдХреЛрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреБрд░рд╛рдиреЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдШрдЯрдХреЛрдВ рдореЗрдВ рдирдпрд╛ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ "рдлреБрд▓рд╛рддреЗ" рд╣реИрдВред
- рд╣рдорд╛рд░реЗ рдИрд╕реАрдПрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЖрдк рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рдЗрдХрд╛рдИ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдХрд┐рд╕реА рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдПрдХ рдЯрд┐рдХ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдИ рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ) рдореЗрдВ рдХрдИ рдмрд╛рд░ рдорд╛рд░рд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдиреБрдХрд╕рд╛рди рдШрдЯрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
- рдХрднреА-рдХрднреА, рдкреНрд░рд╕реНрддреБрддрд┐ рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЧреЗрдорд╕реНрдЯреЗрдЯ рдореЗрдВ рд╣реИ ред рдлрд┐рд░ рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рдШрдЯрдХреЛрдВ рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рддрд░реНрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реЙрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рддрддреНрдХрд╛рд▓ рд╣реИ, рдПрдХ рдЯрд┐рдХ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдиреЗрддреНрд░рд╣реАрди, рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд▓рдВрдмрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╢реЙрдЯ рдХреЛ "рд╢реЙрдЯ рд▓рд╛рдЗрдлрдЯрд╛рдЗрдо" рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╣рдо рд╡рд┐рд╢реЗрд╖ рдШрдЯрдХ рдмрдирд╛рдХрд░ рдШрдЯрдирд╛рдУрдВ / рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХрд┐рд╕реА рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рд╣рдо рдмрд┐рдирд╛ рдбреЗрдб рдбреЗрдЯрд╛ рдХреЗ рдЙрд╕рдХреЗ рдКрдкрд░ рдПрдХ рдШрдЯрдХ рд▓рдЯрдХрд╛ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдФрд░ рджреГрд╢реНрдп рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдирд╛ рд╣реИ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЧрдИ рд╣реИред рдпрд╛ рдЕрдЧрд░ рд╣рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрд┐рдВрджреБ рдкрд░ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЦреЗрд▓ рдЪрдХреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рд╕рд┐рд╕реНрдЯрдо рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рд╕рд╛рд░ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд╣рд▓реА рдЗрдХрд╛рдИ рджреВрд╕рд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реИред
- рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢реЗрд╖ "рд╕рд┐рдВрдЧрд▓рдЯрди" рдШрдЯрдХ / рд╕рдВрд╕реНрдерд╛рдПрдВ рд╣реИрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ID = 1 рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдХрд╛рдИ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдШрдЯрдХ рд╣реИрдВрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдЧреЗрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред
рдмреЛрдирд╕
тАФ ECS тАФ . , , , :
- Unity, ECS -- тАФ ECS . mopsicus , ECS, . : Unity ECS , . . ┬л┬╗ ECS Unity. ECS-, : LeoECS , BrokenBricksECS , Svelto.ECS .
- Unity3D ECS Job System тАФ , ECS Unity. fstleo , Unity ECS, , - , JobSystem.
- Entity System Framework ? тАФ Ash- ActionScript. , , OOP- ECS-.
- Ash Entity System тАФ , FSM State ECS тАФ , .
- Entity-Component-System тАФ тАФ ECS C++.