рдпреВрдирд┐рдЯреА 3 рдбреА рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рд╕рдВрдЪрд╛рд░

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рдФрд░ рдПрдХ рдкреНрд▓реЗрдЬрд░ рд░реЗрдХ рдпрд╛ рд░реЗрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдлрд▓ рд╣реЛрдиреЗ рдореЗрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдПрдХ рдЗрдХрд╛рдИ рдкрд░ рдЧреЗрдорд┐рдВрдЧ рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЕрдкрдиреЗ рдорд╛рдореВрд▓реА рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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


рддреЛ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡реЗрджрдХ рдкрд╛рдП рдЧрдП:
1. рдлреЛрдЯреЙрди
2. рд╕реНрдорд╛рд░реНрдЯрдлреЙрдХреНрд╕
3. рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдХрддрд╛ рдиреЗрдЯрд╡рд░реНрдХ
4. рдПрд▓реЗрдХреНрдЯреНрд░реЛрд╕реЗрд╡рд░
5. рдпреВрд▓рд┐рдВрдХ
6. рдХреНрд░рд┐рд╕реНрдЯрд▓рдмрд╛рдЗрди

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

рдХреБрд▓, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рдлрд╛рдЗрдирд▓рд┐рд╕реНрдЯ рдмрдЪреЗ рд╣реИрдВ:
рдлреЛрдЯреЙрди рдмрдирд╛рдо рд╕реНрдорд╛рд░реНрдЯрдлрд╝реЛрди

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

рдЦреИрд░, рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдбреЗрдореЛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЯреАрдо рдореЗрдВ рддреАрди рдереЗ: I, рдореБрдЦреНрдп рд╕рд░реНрд╡рд░, рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕рдВрдХреАрд░реНрдг рд╕рд░реНрдХрд▓ рдиреЗрдбреНрд░реЛрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпреВрдирд┐рдЯреА 3 рдбреА рдХреЗ рд▓рд┐рдП рд░реВрд╕реА рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рдФрд░ рд╕рд╛рдЗрдЯ unity3d.ru )ред Smartfox рдХреЛ рд╕рд░реНрд╡рд░ рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдиреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдореИрди рдЪрд▓рд╛ рдЧрдпрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдмрдирдиреЗ рдХрд╛ рдирд╛рдЯрдХ рдХрд░рдиреЗ рд▓рдЧрд╛ред
рдкреНрд░реА-рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рдбреЗрдврд╝ рдорд╣реАрдиреЗ рддрдХ, рдпрд╣ рдПрдХ рдбреЗрдореЛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛: рдЬрд┐рд╕рдореЗрдВ
1. рд╕рд╛рдЭрд╛ рдЪреИрдЯ рд░реВрдо рдХреЗ рд╕рд╛рде рдПрдХ рдЧреИрд░реЗрдЬ рд╣реИред
2. рдЖрдк 2 рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдбрд╝рд╛рдИ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
3. рдкреНрд░рддреНрдпреЗрдХ рдЦрд┐рд▓рд╛рдбрд╝реА 4 рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ 1 рдХреА рд╕рд╡рд╛рд░реА рдХрд░рддрд╛ рд╣реИ:
рд╕реНрдХрд╛рдЙрдЯ, рднрд╛рд░реА рдмрдЦреНрддрд░рдмрдВрдж рдХрд╛рд░, рддреЛрдкрдЦрд╛рдиреЗ рдпрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░ред рдпрд╣ рд╕рдм рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдЦреБрд╢ рдХрд░рдиреЗ, рдЧреЛрд▓реА рдЪрд▓рд╛рдиреЗ, рдЧреЛрд▓реА рдорд╛рд░рдиреЗ рдФрд░ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред рдЕрд░реЗ рд╣рд╛рдВ, рдЕрднреА рднреА рд╡рд┐рд╢реНрд╡ рдореЗрдВ рдЯреИрдВрдХ рдХреЗ рд╕рдорд╛рди рджреГрд╢реНрдпрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдереА, рд▓реЗрдХрд┐рди рдЗрддрдиреА рд╢рд╛рдВрдд рдирд╣реАрдВ, рдмрд┐рд▓реНрдХреБрд▓ред

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

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

рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рд╕рдмрд╕реЗ рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдереАред рдПрдХ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдореЗрдВ, рд╕рдм рдХреБрдЫ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ:
1. рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ рд╣реИ

smartFox.AddEventListener(SFSEvent.EXTENSION_RESPONSE, OnExtensionResponse); 


2. рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдзрд┐ рд╣реЛрдЧреА рдЬреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рднреЗрдЬрддреА рд╣реИред рд╕рд░реНрд╡рд░ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрдорд╛рдВрдб рдирд╛рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд SFSObject рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╣реИрд╢ рдЯреЗрдмрд▓ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╡рд╣ рд╕рднреА рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рд╣рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

 public class SFSExtensionsController : MonoBehaviour { public delegate void ExtensionResponceDelegate(string cmd, SFSObject parameters); public static event ExtensionResponceDelegate onExtensionResponce = null; void Start() { smartFox.AddEventListener(SFSEvent.EXTENSION_RESPONSE, OnExtensionResponse); } static void OnExtensionResponse(BaseEvent evt) { string cmd = (string)evt.Params["cmd"]; SFSObject sfsParameters = (SFSObject)evt.Params["params"]; if (onExtensionResponce != null) { onExtensionResponce(cmd, sfsParameters); } } } 


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

рд▓реЗрдХрд┐рди ... рдЕрдкрдиреА рд╕рднреА рдХрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкреНрд░рдгрд╛рд▓реА рдиреЗ рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдФрд░ рдбреЗрдореЛ рдиреЗ рдЗрд╕ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕реНрдерд╛рди рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдЪрд░рдг рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ред рд╣рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдХрд╛рд░реНрдп рдереЗ:

1. рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдЖрджреЗрд╢реЛрдВ рдХреА рдкрд╣рдЪрд╛рди, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ SFSObject рдХреА рд╕рдВрд░рдЪрдирд╛ред
рдЦреЗрд▓ рддрд░реНрдХ рдбреЗрдЯрд╛ рдХреЗ 2. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд░рдорд╛рдВрдХрди / deserializationред
3. рдЦреЗрд▓ рддрд░реНрдХ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧреЛрдВ рд╕реЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ / рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХред

рдЪрд▓реЛ рдЖрдЙрдЯ рдСрдл рдСрд░реНрдбрд░ рд╣реЛ рдЧрдПред

рджреЛ рдмрд┐рдВрджреБ: рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд░рдорд╛рдВрдХрди / deserializationред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддреБрдЪреНрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо, SFSObject рдФрд░ рд╡рд╣рд╛рдБ рдЦреБрд╢реА рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реА рдЦреБрд╢реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреВрд░ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЦрд┐рд▓реМрдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рддреЗ рдбреЗрдЯрд╛ рдХреА рдПрдХ рдмрдбрд╝реА рдзрд╛рд░рд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдорд╢реАрди рдХреА рд╕реНрдерд┐рддрд┐, рдЧрддрд┐, рдмреБрд░реНрдЬ рд░реЛрдЯреЗрд╢рди рдЖрджрд┐ред рдЖрджрд┐ рдЗрд╕ рдбреЗрдЯрд╛ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмреАрдЪ рдкреНрд░рддреНрдпреЗрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрдИ рдмрд╛рд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрдорд░реЗ рдХреЗ рд▓рд┐рдП 32 рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрди рдХрдорд░реЛрдВ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо 50 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддрд╛рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджрд┐рд╡рд╛рд▓рд┐рдпрд╛ рди рд╣реЛ, рдЗрд╕рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рд╕рд┐рд░ рдкрд░ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдЪрд╛рд░ рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдПред SFSObject рдореЗрдВ рдЧреЗрдо рдбреЗрдЯрд╛ рдХреЛ рдкреИрдХ / рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдб рддреБрдЪреНрдЫ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рднреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдХреБрд▓ рдореЗрдВ, рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦреА рдЧрдИ рдереА рдЬреЛ рдЗрдирдкреБрдЯ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ iksm рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреА рд╣реИ, рдПрдХ рдПрдХрддрд╛ рдХреЗ рд▓рд┐рдП C # рдореЗрдВ, рдФрд░ Smartfox рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдореЗрдВ рджреВрд╕рд░рд╛ред рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рджреЛ рддрд░реАрдХреЗ SFSObject ToSFSObject() рдФрд░ void FromSFSObject(SFSObject sfsObject) рд╕рд╛рде рдХрдХреНрд╖рд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рд╡рд░реНрдЧ рд╕реА # рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди

 public class StartMultipleArtilleryShootProxy : ISFSSerializable { public int userId { get; set; } public long barrelId { get; set; } public long projectile { get; set; } public Vec3fProxy position { get; set; } public List<Vec3fProxy> direction { get; set; } public float startSpeed { get; set; } //---------------------------------------------------------------- public StartMultipleArtilleryShootProxy() {} public StartMultipleArtilleryShootProxy(ISFSObject obj) { FromSFSObject(obj); } public StartMultipleArtilleryShootProxy(int userId, long barrelId, long projectile, Vec3fProxy position, List<Vec3fProxy> direction, float startSpeed) { this.userId = userId; this.barrelId = barrelId; this.projectile = projectile; this.position = position; this.direction = direction; this.startSpeed = startSpeed; } //---------------------------------------------------------------- public void FromSFSObject(ISFSObject obj) { this.userId = obj.GetInt("ui"); this.barrelId = obj.GetLong("bi"); this.projectile = obj.GetLong("pr"); this.position = new Vec3fProxy(obj.GetByteArray("p").Bytes); this.direction = new List<Vec3fProxy>(); ISFSArray direction_array = obj.GetSFSArray("d"); for (int i = 0; i < direction_array.Size(); i++) this.direction.Add( new Vec3fProxy(direction_array.GetByteArray(i).Bytes)); this.startSpeed = obj.GetFloat("s"); } //---------------------------------------------------------------- public SFSObject ToSFSObject() { SFSObject obj = new SFSObject(); obj.PutInt("ui", userId); obj.PutLong("bi", barrelId); obj.PutLong("pr", projectile); obj.PutByteArray("p", new ByteArray(position.ToBytes())); if (this.direction == null) Debug.LogError("direction == null in ToSFSObject()"); ISFSArray direction_array = new SFSArray(); for (int i = 0; i < this.direction.Count; i++) direction_array.AddByteArray(new ByteArray(direction[i].ToBytes())); obj.PutSFSArray("d", direction_array); obj.PutFloat("s", startSpeed); return obj; } } 


Iksml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб:

 <StartMultipleArtilleryShootProxy userId-ui="int" barrelId-bi="long" projectile-pr="long" position-p="Vec3fProxy" direction-d="Vec3fProxy array" startSpeed-s="float"/> 


рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп, рд╣рдо xml рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рд╡рд╣ рдХреЛрдб рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ SFSObject рдХреЛ рдЬрд▓реНрджреА рд╕реЗ SFSObject / SFSObject рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрд╛рдд рд╣реИ!

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

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

 SFSProtocol.Protocol.BATTLE.HitRivalRequest.onGetResponce += OnGetHitRivalResponce; 


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

 void OnGetHitRivalResponce(HitResultProxy hitResultProxy) { //    } 


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

 cmdWasCatched = false; if (onExtensionResponce != null) { onExtensionResponce(cmd, sfsParameters); } if (!cmdWasCatched) { Debug.LogError(string.Format("SFSExtensionsController.OnExtensionResponse cmd={0} was not catched!", cmd)); } 


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

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

 public class SFSRequest<TReqData, TRespData> : DataTransporter where TReqData : ISFSSerializable, new() where TRespData : ISFSSerializable, new() { тАж.......... protected override void Execute(Sfs2X.Entities.Data.SFSObject sfsParameters) { responceData = new TRespData(); responceData.FromSFSObject(sfsParameters); OnGetResponce(); } } 


рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рд╣реИ: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, new TRespData() рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдирддреАрдЬрддрди, рдЬреЛ рд╡реЗ рд╕рд╛рде рд▓рдбрд╝ рд░рд╣реЗ рдереЗ, рд╡реЗ рдЙрд╕рдореЗрдВ рднрд╛рдЧ рдЧрдП: рд░рд┐рдлреНрд▓реЗрдХреНрд╕рд┐рдпрди рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рдбрд╝рд╛рдИ рдореЗрдВ 8 рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдордВрджреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреАрдо рдХреЗ рд╡рд░реНрдЧ рдореЗрдВ 2 рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗ рдЧрдП, рдЬреЛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - TRespData рдФрд░ TReqData рдмрдирд╛рдПрдВред рддреЛ, рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рд╣реИрдВрдбрд▓рд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреЗ рд▓рдЧрд╛:

 protected override void Execute(Sfs2X.Entities.Data.SFSObject sfsParameters) { responceData = respDataConstructor(); responceData.FromSFSObject(sfsParameters); onGetResponce(); } 


рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд╡рд░реНрдЧ рд╣реИ:

 public class MultipleArtilleryShootStartRequest : SFSRequest<StartMultipleArtilleryShootProxy, StartMultipleArtilleryShootProxy> { public MultipleArtilleryShootStartRequest(string sendCommand, string receiveCommand, Func<StartMultipleArtilleryShootProxy> reqDataConstructor, Func<StartMultipleArtilleryShootProxy> respDataConstructor) : base(sendCommand, receiveCommand, reqDataConstructor, respDataConstructor) { } } 


рд╡реИрд╕реЗ, рд╣реИрдмрд░ рдХреЗ рдПрдХ рд▓реЗрдЦ рдиреЗ рдЗрд╕ рдЬрдВрдм рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХреА, рдЬрд┐рд╕ рд▓рд┐рдВрдХ рд╕реЗ рдореИрдВ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рд╛рд░ рдЧрдпрд╛ред

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

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


All Articles