GameObject рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд░рд╛рдЬреНрдп рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди

GameObject рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд░рд╛рдЬреНрдп рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ

рдЬреИрд╕рд╛ рдХрд┐ рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ, рдПрдХрддрд╛ рдордВрдЪ рдХреЗ рд╕рд╛рде рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЧреЗрдо рдСрдмрдЬреЗрдХреНрдЯ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдШрдЯрдХреЛрдВ (рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдпрд╛ рдХрд╕реНрдЯрдо, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрд╡рдпрд╡ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЛрдиреЛрдмреЗрд╡рд┐рдпрд░ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ ред



рдФрд░ рдЖрдорддреМрд░ рдкрд░, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдпрд╛ рдЕрдХреНрд╕рд░, рдШрдЯрдХреЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдпрд╛рдиреА рдПрдХ рдШрдЯрдХ рдореЗрдВ, рдХрд┐рд╕реА рдЕрдиреНрдп рдШрдЯрдХ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо GetComponent <...> () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:



рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, SomeComponent рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдШрдЯрдХ рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн рдЪрд░ someComponent рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдХрдЯ рдХреЗ рддрд╣рдд рдмрд╣реБрдд рд╕рд╛рд░реА рддрд╕реНрд╡реАрд░реЗрдВ

рдШрдЯрдХреЛрдВ рдХреА "рдордЬрдмреВрдд рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА" рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдирд╛


рд╣рдо рдХреБрдЫ рдШрдЯрдХ рд╣реЛрдиреЗ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред



рдореИрдВрдиреЗ рджреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, FirstComponent рдФрд░ SecondComponent рдХреЛ рдЬреЛрдбрд╝рд╛ , рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:



рдЕрдм рдореИрдВ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реВрдВрдЧрд╛ред





рдЕрдм рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрдВ FirstComponent рдШрдЯрдХ рд╕реЗ State1 рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ SecondComponent рдШрдЯрдХ рдореЗрдВ рдЗрд╕рдХреЗ ChangeState (...) рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдШрдЯрдХ рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ SecondComponent рдШрдЯрдХ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛:



рд╕рд╛рдВрддреНрд╡рдирд╛ рдореЗрдВ рдЧреЗрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╣рдордиреЗ рджреВрд╕рд░реЗ рд╕рдореБрджрд╛рдп рд╕реЗ FisrtComponent рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдФрд░ рдкрд╣рд▓реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рджреА



рдЕрдм, рдареАрдХ рдЙрд╕реА рддрд░рд╣, рд╣рдо рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ FirstComponent рдШрдЯрдХ рд╕реЗ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ SecondComponent рдШрдЯрдХ рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЧреЗрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рднреА рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдХрд┐ рд╣рдо рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ FirstComponent рд╕реЗ SecondComponent рдШрдЯрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



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





рдирдП рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛, рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ рдореМрдЬреВрджрд╛ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдирд┐рдпрдорд┐рдд рд╣реЛрдЧреАред рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, FirstComponent рдШрдЯрдХ рдореЗрдВ рд╕реНрдерд┐рддрд┐ 1 рдХрд╛ рдирд╛рдо рдмрджрд▓рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, State_1 рдкрд░ рдФрд░ рдЖрдкрдХреЛ рдЙрд╕ рдирд╛рдо рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдБ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рдШрдЯрдХреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛ рдЬрдм рдШрдЯрдХ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреНрд╖реЗрддреНрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ "рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐" рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдирд╛


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



рд╕рд╛рдорд╛рдиреНрдп рд░рд╛рдЬреНрдп рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░рд╛рдЬреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ (SharedState) рднреА рдПрдХ рдШрдЯрдХ рд╣реИ рдЬреЛ рдПрдХ рд╕реЗрд╡рд╛ рдШрдЯрдХ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдЧрд╛ рдФрд░ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред

рдореИрдВ рдПрдХ рдирдпрд╛ рдШрдЯрдХ рдмрдирд╛рдКрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдирд╛рдо рджреВрдВрдЧрд╛ SharedState:



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



рдЕрдм рдЗрд╕ рдШрдЯрдХ рдХреЛ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЕрдиреНрдп рдШрдЯрдХ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХреЗрдВ:



рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ FirstComponent рдФрд░ SecondComponent рдШрдЯрдХреЛрдВ рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдпрд╛ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SharedState рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:





рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдШрдЯрдХ рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдЕрдм рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдВрдЬреА "рд╕реНрдерд┐рддрд┐ 1" рдпрд╛ "рдХрд╛рдЙрдВрдЯрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдпрд╣ рдбреЗрдЯрд╛ рдХрд┐рд╕реА рднреА рдШрдЯрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рдХреЛрдИ рддреАрд╕рд░рд╛ рдШрдЯрдХ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ SharedState рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдиреЗ рд╕реЗ рд╡рд╣ рдЗрд╕ рд╕рднреА рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдЧрд╛ред

рдЕрдм, рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛрдиреЛрдВ рдШрдЯрдХреЛрдВ рдореЗрдВ рдЕрджреНрдпрддрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред FisrtComponent рдореЗрдВ :



рдФрд░ рджреВрд╕рд░реЗ рд╕рдореБрджрд╛рдп рдореЗрдВ рдШрдЯрдХ:



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

рдЦреЗрд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдШрдЯрдХреЛрдВ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдореВрд▓реНрдп рдорд┐рд▓рддреЗ рд╣реИрдВ:



рдЕрдм рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдореЗрдВ рдпрд╣ рд╕рдм рдЕрд▓рдЧ-рдЕрд▓рдЧ рди рдХрд░реЗрдВ:



рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЕрдореВрд░реНрдд рдмрдирд╛ рджреВрдВрдЧрд╛ рддрд╛рдХрд┐ рдореИрдВ рдЧрд▓рддреА рд╕реЗ рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рди рдмрдирд╛ рд╕рдХреВрдВ ... рдФрд░ рдпрд╣ рднреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЖрдзрд╛рд░ рдШрдЯрдХ рдХреЛ SharedState рдШрдЯрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



рдЕрдм рдЖрдкрдХреЛ FirstComponent рдФрд░ SecondComponent рдШрдЯрдХреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ SharedStateComponent рд╕реЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░реЗрдВ рдФрд░ рд╕рднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣рдЯрд╛ рджреЗрдВ:





рд▓рдЧрднрдЧред рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣ рд╕реАрдзреЗ рддреМрд░ рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдкреНрд░рдХрд╛рд╢рдХ-рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдкреИрдЯрд░реНрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред

рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рдорд╛рди рдПрдХ рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рд╣реЛрдЧреА рдФрд░ рдЗрд╕реЗ рд╕рд╛рдЭрд╛рдХрд░рдг рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ :



рд╕рд┐рджреНрдзрд╛рдВрдд рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред рдПрдХ рдШрдЯрдХ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдШрдЯрдХ рдкрд░ рдХреБрдЫ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рд╡рд╣ рд╕реАрдзреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдХ рдШрдЯрдирд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рдмрд╕ рдирд╛рдо рд╕реЗ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╡рд╣ рдЗрд╕ рдШрдЯрдирд╛ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдШрдЯрдХ рдореЗрдВ рд╣реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
SharedEvents рдШрдЯрдХ рдмрдирд╛рдПрдБ:



рдФрд░ рд╣рдо рд╕рджрд╕реНрдпрддрд╛ рдФрд░ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВрдЧреЗред



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



рдЕрдм рдЖрдкрдХреЛ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рдХрдВрдкреЛрдиреЗрдВрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:



рдФрд░ SharedStateComponent рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ SharedEvents рд╣реЛ



рд╕рд╛рдорд╛рдиреНрдп рд░рд╛рдЬреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде-рд╕рд╛рде, рд╕рд╛рдорд╛рдиреНрдп рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:





рдЕрдм рд╣рдо рдПрдХ рдИрд╡реЗрдВрдЯ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдИрд╡реЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП FisrtComponent рдФрд░ рдПрдХ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдВрдЧреЗ, рдФрд░ SecondComponent рдХреЛ рднреА рдмрджрд▓реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдЗрд╕ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ:





рдЕрдм рд╣рдордиреЗ FirstComponent рдШрдЯрдХ рдореЗрдВ тАЬwriteomedataтАЭ рдирд╛рдордХ рдХрд┐рд╕реА рднреА рдИрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИ рдФрд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдПрдХ рдШрдЯрдирд╛ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЛ "рд░рд╛рдЗрдЯреЛрдореЗрдбрд╛рдЯрд╛" рдирд╛рдо рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдШрдЯрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЙрд╕ рдирд╛рдо рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

5 рд╕реЗрдХрдВрдб рдореЗрдВ рдЦреЗрд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо FirstComponent рдореЗрдВ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВрдЧреЗ :



рдкрд░рд┐рдгрд╛рдо


рдЕрдм, рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдмрд╕ SharedStateComponent рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ :



рд╡рд┐рд╖рдп рдХреА рдирд┐рд░рдВрддрд░рддрд╛

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


All Articles