рдпреВрдирд┐рдЯреА 3 рдбреА рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рддрд░реАрдХреЗ

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐


рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдФрд╕рдд рдпреВрдирд┐рдЯреА 3 рдбреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдкрд┐рдпреЛрдВ рд╕реЗ рдмрд╣реБрдд рдЬрд▓реНрджреА рднрд░ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╛рддрдЪреАрдд рдХреЛ рд╕рд░рд▓ рд╕реЗ рдЙрдиреНрдирдд рддрдХ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рднреА рд╕реБрдЭрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рджреГрд╖реНрдЯрд┐рдХреЛрдг 1. рдпреВрдирд┐рдЯреА 3 рдбреА рд╕рдВрдкрд╛рджрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рджреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВред рдкрд╣рд▓реА рдХреНрд░реЗрдХ рдЦреЗрд▓ рдореЗрдВ рд╕реНрдХреЛрд░рд┐рдВрдЧ рд╕реНрдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдЧреЗрдо рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реНрдХреЛрд░ рдХрд┐рдП рдЧрдП рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рдо рджреЛрдиреЛрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореИрдиреЗрдЬрд░реЛрдВ рдХреЛ рдмреБрд▓рд╛рдПрдБрдЧреЗ: рд╕реНрдХреЛрд░реНрд╕рдореИрдирдЧрд░ рдФрд░ рд╣реБрдбрдореИрдирдЧрд░ред
рдлрд┐рд░, рд╕реНрдХреНрд░реАрди рдореЗрдиреВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдкреНрд░рдмрдВрдзрдХ, рдХрдорд╛рдИ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рджреГрд╢реНрдп рдХреА рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ (рдкрджрд╛рдиреБрдХреНрд░рдо) рдореЗрдВ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реНрдХреЛрд░реНрд╕рдореИрдиреЗрдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ HUDManager рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред
рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
UIManager рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, ScoresManager рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:

public class HUDManager : MonoBehaviour { public ScoresManager ScoresManager; } 

рд▓реЗрдХрд┐рди рд╕реНрдХреЛрд░реНрд╕рдореИрдиреЗрдЬрд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрднреА рднреА рдХрдХреНрд╖рд╛ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдСрдмреНрдЬреЗрдХреНрдЯ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬрд┐рд╕ рдкрд░ HUDManager рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╕рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╣рдо рдХреЛрдИ рднреА рдорд╛рди рдХреЗ рд╕рд╛рде ScoresManager рдЪрд░ рджреЗрдЦреЗрдВрдЧреЗред

рдЫрд╡рд┐

рдЗрд╕рдХреЗ рдмрд╛рдж, рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд┐рдВрдбреЛ рд╕реЗ, рд╕реНрдХреЛрд░реНрд╕рдореИрдиреЗрдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рд▓реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЦреАрдВрдЪреЗрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рднреА рд▓рд┐рдЦрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдШреЛрд╖рд┐рдд рдЪрд░ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ:

рдЫрд╡рд┐

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ HUDManager рдХреЛрдб рд╕реЗ ScoresManager рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдЗрд╕ рддрд░рд╣ рд╕реЗ:

 public class HUDManager : MonoBehaviour { public ScoresManager ScoresManager; public void Update () { ShowScores(ScoresManager.Scores); } } 

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

рджреГрд╖реНрдЯрд┐рдХреЛрдг 2. рд╕рд┐рдВрдЧрд▓рдЯрди


рд╣рдо рд╕рдВрднрд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╡рд░реНрдЧреАрдХрд░рдг рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЦреЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ: "рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдореИрдиреЗрдЬрд░", рджреВрд╕рд░реА: "рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЧреЗрдо-рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ред"
рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдореИрдиреЗрдЬрд░" рдХрд╛ рдЦреЗрд▓ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЧреЗрдо-рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕" рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг


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

 public class ScoresManager : MonoBehaviour { public static ScoresManager Instance { get; private set; } public int Scores; } 

рдпрд╣ рдпреВрдирд┐рдЯреА 3 рдбреА рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдЪреВрдБрдХрд┐ рд╕реНрдХреЛрд░реНрд╕рдореИрдиреЗрдЬрд░ рдореЛрдиреЛрдмреАрд╣реЗрдпрд░ рдХрд╛ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╣реИ, рдпрд╣ рджреГрд╢реНрдп рдореЗрдВ рд╕рднреА рд╕рдХреНрд░рд┐рдп рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЖрд░рдВрдн рдХреЗ рджреМрд░рд╛рди, рдЕрд╡реЗрдХ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рд╣рдо рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд▓рд┐рдП рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛрдб рдбрд╛рд▓рддреЗ рд╣реИрдВ:

 public class ScoresManager : MonoBehaviour { public static ScoresManager Instance { get; private set; } public int Scores; public void Awake() { Instance = this; } } 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╕реЗ ScoresManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 public class HUDManager : MonoBehaviour { public void Update () { ShowScores(ScoresManager.Instance.Scores); } } 

рдЕрдм HUDManager рдХреЛ ScoresManager рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ Unity3D рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рднреА "рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдмрдВрдзрдХ" рд╕реНрдереИрддрд┐рдХ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрдж рдХреЛ рдПрдХреНрд╕реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрд╡рдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдХрд░реНрд╖рдг рдЖрддреЗ рд╣реИрдВ


- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рдпреВрдирд┐рдЯреА 3 рдбреА рд╕рдВрдкрд╛рджрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
- рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдб рдХреЛ рд░рд┐рдлрд▓реЗрдХреНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдХреБрдЫ рдЧрд┐рд░рддрд╛ рд╣реИ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдкрдХреЛ рдмрддрд╛ рджреЗрдЧрд╛ред
- рдЕрдиреНрдп "рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдмрдВрдзрдХреЛрдВ" рдХреЛ рдЕрдм рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реАрдлреИрдмреНрд╕ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдкрдХреНрд╖


- рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗрд╡рд▓ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдмрдВрдзрдХреЛрдВ" рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред
- рдордЬрдмреВрдд рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреАред
рдЕрдВрддрд┐рдо "рдорд╛рдЗрдирд╕" рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд░рд╣рддрд╛ рд╣реИред
рдЖрдЗрдП рд╣рдо рдПрдХ рдРрд╕рд╛ рдЦреЗрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдкрд╛рддреНрд░ (рдЗрдХрд╛рдИ) рд╣реЛрдВ рдФрд░ рдпреЗ рдкрд╛рддреНрд░ рдорд░ (рдорд░) рд╕рдХрддреЗ рд╣реИрдВред
рдХрд╣реАрдВ рдПрдХ рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░рд╛ рдЪрд░рд┐рддреНрд░ рдорд░ рдЪреБрдХрд╛ рд╣реИ:

 public class Unit : MonoBehaviour { public int LifePoints; public void TakeDamage(int damage) { LifePoints -= damage; if (LifePoints <= 0) Die(); } } 

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

 private void Die() { DeleteFromScene(); ScoresManager.Instance.OnUnitDied(this); LevelConditionManager.Instance.OnUnitDied(this); UnitsPanel.Instance.RemoveUnit(this); SoundsManager.Instance.PlayUnitDieSound(); EffectsManager.Instance.PlaySmallExplosion(); AchivementsManager.Instance.OnUnitDied(this); AnaliticsManager.Instance.SendUnitDiedEvent(this); } 

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЙрдирдХреА рдореГрддреНрдпреБ рдХреЗ рдмрд╛рдж рдХреЗ рдЪрд░рд┐рддреНрд░ рдХреЛ рдЙрди рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕ рджреБрдЦ рдХреА рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реЗ рдЙрд╕рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдПрдХ рдЫреЛрдЯреА рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬреНрдЮрд╛рди рд╣реИ?
рдЪреВрдВрдХрд┐ рдЦреЗрд▓, рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдмрд╣реБрдд рд╣реА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдврд╛рдВрдЪрд╛ рд╣реИ, рддреЛ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдПрдВ рддреАрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рд░рдЦрддреА рд╣реИрдВ, рдпрд╣рд╛рдВ рдЗрдХрд╛рдИ рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрдпреЛрдЬрдиреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг (рдмрд┐рдирд╛ рдорддрд▓рдм рдХреЗ):
- рд╕реНрддрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд, рд╕реНрдХреЛрд░ рдХрд┐рдП рдЧрдП рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, 1000 рдЕрдВрдХ рдмрдирд╛рдП - рд╕реНрддрд░ рд╕реЗ рдЧреБрдЬрд░ рдЧрдпрд╛ (LevelConditionManager ScoresManager рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ)ред
- рдЬрдм рд╣рдо 500 рдЕрдВрдХ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрддрд░ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд░рдг рддрдХ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдПрдХ рдордЬреЗрджрд╛рд░ рдореЗрд▓реЛрдбреА рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рдЗрдлрд╝реЗрдХреНрдЯ рдЦреЗрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (ScoresManager рдЗрдлрд╝реЗрдХреНрдЯреНрд╕рдореИрди рдФрд░ рд╕рд╛рдЙрдВрдбреНрд╕рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ)ред
- рдЬрдм рдЪрд░рд┐рддреНрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЪрд░рд┐рддреНрд░ рдХреЗ рдкреИрдирд▓ рдореЗрдВ рдЪрд░рд┐рддреНрд░ рдХреЗ рдЪрд┐рддреНрд░ рдкрд░ рдЙрдкрдЪрд╛рд░ рдкреНрд░рднрд╛рд╡ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (UnitPanel рдкреНрд░рднрд╛рд╡ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ)ред
- рдФрд░ рдЗрддрдиреЗ рдкрд░ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рдПрдХ рддрд╕реНрд╡реАрд░ рдкрд░ рдЖрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╣рд░ рдХреЛрдИ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЬрд╛рдирддрд╛ рд╣реИ:

рдЫрд╡рд┐

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

рджреГрд╖реНрдЯрд┐рдХреЛрдг 3. рд╡рд░реНрд▓реНрдб рдПрдерд░ (рдЗрд╡реЗрдВрдЯ рдПрдЧреНрд░реАрдЧреЗрдЯрд░)


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

 public class UnitDiedEvent { private readonly List<Action<Unit>> _callbacks = new List<Action<Unit>>(); public void Subscribe(Action<Unit> callback) { _callbacks.Add(callback); } public void Publish(Unit unit) { foreach (Action<Unit> callback in _callbacks) callback(unit); } } 

рдЗрд╕ рдИрд╡реЗрдВрдЯ рдХреЛ "EventAggregator" рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

 public class EventAggregator { public static UnitDiedEvent UnitDied; } 

рдЕрдм, рдкрд┐рдЫрд▓реЗ рдЖрда-рд▓рд╛рдЗрди рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдбрд╛рдИ рдлрд╝рдВрдХреНрд╢рди рдПрдХрд▓-рд░реЗрдЦрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрдХрд╛рдИ рд╕рднреА рдЗрдЪреНрдЫреБрдХ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд░ рдЪреБрдХреА рд╣реИ рдФрд░ рдЗрди рджрд┐рд▓рдЪрд╕реНрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдо рдШрдЯрдирд╛ рдХреЗ рддрдереНрдп рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 private void Die() { EventAggregator.UnitDied.Publish(this); } 

рдФрд░ рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рдШрдЯрдХ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреЛрд░ рдХрд┐рдП рдЧрдП рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдкреНрд░рдмрдВрдзрдХ):

 public class ScoresManager : MonoBehaviour { public int Scores; public void Awake() { EventAggregator.UnitDied.Subscribe(OnUnitDied); } private void OnUnitDied(Unit unit) { Scores += CalculateScores(unit); } } 

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

рдЫрд╡рд┐

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

рдЯрд┐рдкреНрдкрдгреА


рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдХреЛрдб рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рдереЛрдбрд╝рд╛ рдЕрд╕рдВрддреБрд╖реНрдЯ рд╣реВрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрд▓рдмреНрдзрд┐ рдкреНрд░рдгрд╛рд▓реА рдЙрди рдШрдЯрдирд╛рдУрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рдЦреЗрд▓ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реБрдИ рдереАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рдереАред рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЦреЗрд▓ рдореЗрдВ рдХреМрди рд╕реА рдирдИ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ рдФрд░ рдХреМрди рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдЖрджрд░реНрд╢ рдЦреЗрд▓ рдореЗрдВ, рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдШрдЯрдирд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдИрдерд░ рдЙрдирдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрд░ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдХрд░реНрд╖рдг рдЖрддреЗ рд╣реИрдВ


- рдШрдЯрдХ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдШрдЯрдирд╛ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред
- рдШрдЯрдХ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдЙрди рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реВрдВ рдЬрд┐рдирдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдЖрдк рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд┐рдкрдХреНрд╖


- рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдирдИ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░рдорд╛рдгреБрддрд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрдиред

рдЕрдВрддрд┐рдо рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ


рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореЗрдердб рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрдердб рдореЗрдердб рдореЗрдВ рддреАрди рд╕реНрдЯреЗрдк рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЕрдВрджрд░ рддреАрди рдЕрдиреНрдп рдореЗрдердб рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЗрди рд╕реНрдЯреЗрдкреНрд╕ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдореЗрдердбрдП 1, рдореЗрдердбреЗрдЬ 2 рдФрд░ рдореЗрдердб 3)ред рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдореЗ MethodA2, рдПрдХ рдШрдЯрдирд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреА рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рдирд┐рдореНрди рд╣реЛрддрд╛ рд╣реИ: рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ, рд╡рд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕ рддрд░реНрдХ рдореЗрдВ, рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдХрд╛рд╢рди рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдирдИ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдХрд╛рд╢рди рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдкреЗрдбрд╝ рдмрд╣реБрдд рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рд▓рдВрдмреА рд╢реНрд░реГрдВрдЦрд▓рд╛рдПрдВ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕рдорд╕реНрдпрд╛ рдпрд╣рд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ "рдСрдмреНрдЬреЗрдХреНрдЯ" рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреА рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдердбрдм рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреА рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдореЗрдереЛрдб рд╡рд┐рдзрд┐ рдиреЗ рдЕрднреА рддрдХ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ рдмрд╛рдзрд┐рдд рдерд╛, рдФрд░ рдЕрдм рдЗрд╕рдореЗрдВ рдПрдХ рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реИ (рдЪрд░рдг 1 рдФрд░ 2 рдореЗрдВ рд╣рдордиреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд░рдг 3 рд╕реЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рд╡рд░реНрддрди рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ "MethodB" рдХреЛ рдПрдХ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддреА рд╣реИрдВ, рдЗрд╕реЗ рдкрдХрдбрд╝рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд╡реЗ рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрдм рддрд░реНрдХ рдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдирд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдмрдЪрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдирд┐рд░реНрдгрдп


рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдердЧрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЙрди рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ рдЬреЛ рдШрдЯрд┐рдд рд╣реБрдИ рд╣реИрдВред рдЬрдм рдХреЛрдИ рдШрдЯрдирд╛ рдШрдЯреА рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдЙрд╕реЗ рддреБрд░рдВрдд рдЕрдВрдЬрд╛рдо рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдШрд░ рдкрд░ рд╣реА рдЙрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред рдФрд░ рдЦреЗрд▓ рдореЗрдВ рдХреБрдЫ рдШрдЯрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдореЛрдбрд╝ рдХреЗ рд╕рдордп (рдЕрдкрдбреЗрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП), рд╣рдо рдЙрди рдШрдЯрдирд╛рдУрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╣реЛрдиреЗ рдкрд░ рд╣реБрдИ рд╣реИрдВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, MethodA рдкрджреНрдзрддрд┐ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдЗрд╕рдХреА рд░реБрдХрд╛рд╡рдЯ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕рднреА рдЗрдЪреНрдЫреБрдХ рдкрдХреНрд╖ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдШрдЯрдирд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдФрд░ рдХреЗрд╡рд▓ рдХрддрд╛рд░ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗ рднрдВрдбрд╛рд░рдг рд╕реЗ рдШрдЯрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╕рдВрдкреВрд░реНрдг рдореЗрдердб рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ ObjectA рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡реИрдз рд╕реНрдерд┐рддрд┐ рд╣реЛрдЧреАред

рдирд┐рд╖реНрдХрд░реНрд╖


рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдЧреЗрдо рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдХрдИ рддрдВрддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рддрдВрддреНрд░реЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдореИрдВрдиреЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдП рд╣реИрдВ, рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдФрд░ рдЬреЛ рдХрд┐ рдореИрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реЗрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдХрд╛рд╕рд╡рд╛рджреА рдорд╛рд░реНрдЧ рд╕реЗ рдЖрдпрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕реЗ рднреА рдкрд╕рдВрдж рдХрд░реЗрдЧрд╛ рдФрд░ рдореЗрд░рд╛ рд▓реЗрдЦ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/In212055/


All Articles