рдЯреЙрд╡рд░ рд░рдХреНрд╖рд╛ рдЦреЗрд▓ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдореЗрдВ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ - рдЫреЛрдЯреЗ рджреБрд╢реНрдордиреЛрдВ рдХреА рд░рдХреНрд╖рд╛ рдХреА рдЕрдкрдиреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдмреБрд░реЗ рджреБрд╢реНрдордиреЛрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ! рдЗрд╕ рджреЛ-рднрд╛рдЧ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо
рдПрдХрддрд╛ рдЗрдВрдЬрди рдкрд░ рдПрдХ рдЯреЙрд╡рд░ рд░рдХреНрд╖рд╛ рдЦреЗрд▓ рдмрдирд╛рдПрдВрдЧреЗ!
рдЖрдк рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗ:
- рджреБрд╢реНрдордиреЛрдВ рдХреА рд▓рд╣рд░реЗрдВ рдкреИрджрд╛ рдХрд░реЛ
- рдЙрдиреНрд╣реЗрдВ рдорд╛рд░реНрдЧ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
- рдЯрд╛рд╡рд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЙрдиреНрдирдпрди рдХрд░реЗрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рднреА рд╕рд┐рдЦрд╛рдПрдВ рдХрд┐ рджреБрд╢реНрдордиреЛрдВ рдХреЛ рдЫреЛрдЯреЗ рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рдХреИрд╕реЗ рддреЛрдбрд╝рдирд╛ рд╣реИ
рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рдЧреЗрдо рдХрд╛ рдлреНрд░реЗрдо рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдЧреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ!
рдиреЛрдЯ : рдЖрдкрдХреЛ рдмреБрдирд┐рдпрд╛рджреА рдПрдХрддрд╛ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рдВрдкрддреНрддрд┐ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░реАрдлреИрдмреНрд╕ рдХреНрдпрд╛ рд╣реИрдВ) рдФрд░ рд╕реА # рдХреА рдореВрд▓ рдмрд╛рддреЗрдВред рдпрд╣ рд╕рдм рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдмреНрд░рд╛рдпрди рдореЙрдХрд▓реЗ рджреНрд╡рд╛рд░рд╛ рдпреВрдирд┐рдЯреА рд╕реАрд░реАрдЬрд╝ рдХреЗ рд╕рд╛рде рд╕реАрди рдбрдлреА рдпрд╛ рдж рдмрд┐рдЧрд┐рдирд┐рдВрдЧ рд╕реА # рджреНрд╡рд╛рд░рд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкрд░ рдЬрд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рдореИрдВ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХрддрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИред
рд╣рд╛рдереА рджрд╛рдВрдд рдЯреЙрд╡рд░ рдХреА рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╣рдо рдПрдХ рдЯреЙрд╡рд░ рдбрд┐рдлреЗрдВрд╕ рдЧреЗрдо рдмрдирд╛рдПрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рджреБрд╢реНрдорди (рдЫреЛрдЯреЗ рдХреАрдбрд╝реЗ) рдЖрдкрдХреЗ рдФрд░ рдЖрдкрдХреЗ рдирд╛рдмрд╛рд▓рд┐рдЧреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдХреБрдХреА рдХреЛ рдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ (рдмреЗрд╢рдХ, рдпреЗ рд░рд╛рдХреНрд╖рд╕ рд╣реИрдВ!)ред рдЦрд┐рд▓рд╛рдбрд╝реА рд░рдгрдиреАрддрд┐рдХ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдХреБрдХреА рдХреЛ рдкрд╛рдиреЗ рддрдХ рд╕рднреА рдХреАрдбрд╝реЗ рдорд╛рд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреБрд╢реНрдордиреЛрдВ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдирдИ рд▓рд╣рд░ рдХреЛ рд╣рд░рд╛рдирд╛ рдХрдард┐рди рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЬрдм рдЖрдк рд╕рднреА рд▓рд╣рд░реЛрдВ (рдЬреАрдд!) рд╕реЗ рдмрдЪ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдХреБрдХреАрдЬрд╝ (рд╣рд╛рдирд┐!) рдкрд░ рдкрд╛рдБрдЪ рджреБрд╢реНрдорди рд░реЗрдВрдЧрддреЗ рд╣реИрдВ, рддреЛ рдЦреЗрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рдЦреЗрд▓ рдХрд╛ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИ:
рд░рд╛рдХреНрд╖рд╕, рдПрдХрдЬреБрдЯ! рдХреБрдХреА рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ!рдХрд╛рдо рдкрд░ рд▓рдЧрдирд╛
рдЗрд╕
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЦрд╛рд▓реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдЗрд╕реЗ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ рдФрд░ рдпреВрдирд┐рдЯреА рдореЗрдВ
рдЯреЙрд╡рд░рдбрд┐рдлрд╝реЗрдВрд╕-рдкрд╛рд░реНрдЯ 1-рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВред
рдбреНрд░рд╛рдлреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдФрд░ рд╕рд╛рдЙрдВрдб, рд░реЗрдбреА-рдореЗрдб рдПрдирд┐рдореЗрд╢рди рдФрд░ рдХрдИ рдЙрдкрдпреЛрдЧреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдзреЗ рдЯреЙрд╡рд░ рд░рдХреНрд╖рд╛ рдЦреЗрд▓реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдПрдХрддрд╛ рдореЗрдВ 2D рдПрдирд┐рдореЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕
рдПрдХрддрд╛ 2D рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░реАрдлреИрдм рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдмрд╛рдж рдореЗрдВ рд╡рд░реНрдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдЕрдВрдд рдореЗрдВ, рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рджреГрд╢реНрдп рд╣реИред
рджреГрд╢реНрдпреЛрдВ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд
GameScene рдЦреЛрд▓реЗрдВ рдФрд░ рдЧреЗрдо рдореЛрдб рдХреЛ
4: 3 рдХреЗ рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕рднреА рд▓реЗрдмрд▓ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдВред рдЧреЗрдо рдореЛрдб рдореЗрдВ, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:
рдЧреНрд░рдиреНрдердХрд╛рд░рд┐рддрд╛:- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдореБрдлреНрдд рд╡рд┐рдХреА рд╡реЗрдВрдбрд░рд▓рд┐рдЪ рдкреИрдХ рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВ! рдЙрд╕рдХреА рдЧреНрд░рд╛рдлрд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЕрдиреНрдп рдЧреНрд░рд╛рдлрд┐рдХ рдХрд╛рд░реНрдп рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
- рдмреЗрдирд╕рд╛рдЙрдВрдб рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╢рд╛рдирджрд╛рд░ рд╕рдВрдЧреАрдд, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рднрдпрд╛рдирдХ рд╕рд╛рдЙрдВрдбрдЯреНрд░реИрдХ рд╣реИрдВ!
- рдореИрдВ рдорд╛рдЗрдХрд▓ рдЬреЗрд╕рдкрд░ рдХреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдХреИрдорд░рд╛ рд╢реЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рднреА рдзрдиреНрдпрд╡рд╛рдж рджреЗрддрд╛ рд╣реВрдВ ред
ред
рдЬрдЧрд╣ рдХреЛ рдПрдХ рдХреНрд░реЙрд╕ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХрд╛ рд╕реНрдерд╛рди
рд░рд╛рдХреНрд╖рд╕ рдХреЗрд╡рд▓ рдПрдХ
рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЙрдиреНрд╣реЗрдВ рджреГрд╢реНрдп рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП,
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд░ рд╕реЗ
рдЗрдореЗрдЬреЗрд╕ \ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдУрдкрдиреНрд╕рдкреЙрдЯ рдХреЛ
рджреГрд╢реНрдп рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреАрдВрдЪреЗрдВред рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ
Openspot рдХрд╛ рдЪрдпрди рдХрд░
рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ
Add Component рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░
Box Collider 2D рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рджреГрд╢реНрдп рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдПрдХрддрд╛ рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рдХреЛрд▓рд╛рдЗрдбрд░ рдХреЛ рд╣рд░реА рд░реЗрдЦрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧреАред рд╣рдо рдЗрд╕ рд╕реНрдерд╛рди рдкрд░ рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЛрд▓рд╛рдЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЙрд╕реА рддрд░рд╣ рд╕реЗ
Openspot рдореЗрдВ Audio \ Audio рд╕реНрд░реЛрдд рдШрдЯрдХ рдЬреЛрдбрд╝реЗрдВред рдСрдбрд┐рдпреЛ рд╕реНрд░реЛрдд рдШрдЯрдХ рдХреЗ
AudioClip рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП,
рдСрдбрд┐рдпреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд
рдЯреЙрд╡рд░_рдкреНрд▓реЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
Play On Awake рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред
рд╣рдореЗрдВ 11 рдФрд░ рдмрд┐рдВрджреБ рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрди рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рд▓реЛрднрди рд╣реИ, рдПрдХрддрд╛ рдХреЗ рдкрд╛рд╕ рдПрдХ рдмреЗрд╣рддрд░ рдЙрдкрд╛рдп рд╣реИ:
рдкреНрд░реАрдлреИрдм !
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЕрдВрджрд░
рдкрджрд╛рдиреБрдХреНрд░рдо рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ
Prefabs рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
Openspot рдЦреАрдВрдЪреЗрдВред рдЗрд╕рдХрд╛ рдирд╛рдо рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдиреАрд▓рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реАрдлрд╝реИрдм рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░реАрдлреИрдм рд░рд┐рдХреНрдд рд╣реИ, рд╣рдо рдЬрд┐рддрдиреА рдЪрд╛рд╣реЗрдВ рдЙрддрдиреЗ рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЕрдВрджрд░
Prefabs рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ
Openspot рдХреЛ рдХреЗрд╡рд▓
рджреГрд╢реНрдп рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВред рдЗрд╕реЗ 11 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдПрдВ рдФрд░ рджреГрд╢реНрдп рдореЗрдВ 12 рдСрдкреНрд╕рдирдкреЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред
рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЗрди 12 Openspot рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
- (X: -5.2, Y: 3.5, Z: 0)
- (X: -2.2, Y: 3.5, Z: 0)
- (рдПрдХреНрд╕: 0.8, рд╡рд╛рдИ: 3.5, рдЬреЗрдб: 0)
- (X: 3.8, Y: 3.5, Z: 0)
- (X: -3.8, Y: 0.4, Z: 0)
- (рдПрдХреНрд╕: -0.8, рд╡рд╛рдИ: 0.4, рдЬреЗрдб: 0)
- (X: 2.2, Y: 0.4, Z: 0)
- (X: 5.2, Y: 0.4, Z: 0)
- (X: -5.2, Y: -3.0, Z: 0)
- (X: -2.2, Y: -3.0, Z: 0)
- (рдПрдХреНрд╕: 0.8, рд╡рд╛рдИ: -3.0, рдЬреЗрдб: 0)
- (X: 3.8, Y: -3.0, Z: 0)
рдЬрдм рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рджреГрд╢реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
рд╣рдо рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рд░рдЦрддреЗ рд╣реИрдВ
рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ
рдкреНрд░реАрдлрд╝реИрдм рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ
рдореЙрдиреНрд╕реНрдЯрд░ рдкреНрд░реАрдлрд╝реИрдм рд╣реИред
рд░рд╛рдХреНрд╖рд╕ Prefab рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдлрд┐рд▓рд╣рд╛рд▓, рдЗрд╕рдореЗрдВ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдФрд░ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реВрдЯрд┐рдВрдЧ рдПрдирд┐рдореЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдПрдХ рд░рд╛рдХреНрд╖рд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░реЛрдВ рдХреА рд╢рдХреНрддрд┐ рд╣реЛрддреА рд╣реИред рдкреНрд░реАрдлрд╝реИрдм рдореЗрдВ
рдСрдбрд┐рдпреЛ рд╕реНрд░реЛрдд рдШрдЯрдХ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдПрдХ рд░рд╛рдХреНрд╖рд╕ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЬрд░ рдлрд╛рдпрд░ рдХрд░рдиреЗ рдкрд░ рдзреНрд╡рдирд┐ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдм рд╣рдо рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ
рдореЙрдиреНрд╕рдЯрд░ рдХреЛ
рдУрдкрдиреНрд╕рдкреЙрдЯ рдкрд░
рд╣реЛрд╕реНрдЯ рдХрд░реЗрдЧреА ред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ,
Prefabs рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
Openspot рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ, рдПрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░
рдирдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдо
рд░рдЦреЗрдВ ред
C Sharp рдХреЛ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдиреЗрдВ рдФрд░
Create and Add рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ
Openspot рдХреЗ
рдкреНрд░реАрдлрд╝реИрдм рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреГрд╢реНрдп рдореЗрдВ рд╕рднреА Openspot рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдм рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдЧреАред рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛!
рдЖрдИрдбреАрдИ рдореЗрдВ рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдлрд┐рд░ рджреЛ рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
public GameObject monsterPrefab; private GameObject monster;
рд╣рдо рд░рд╛рдХреНрд╖рд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
monsterPrefab
рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд╕реНрддреБ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВрдЧреЗ, рдФрд░ рдЗрд╕реЗ
monster
рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдЗрд╕реЗ рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди рд╣реЗрд░рдлреЗрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдкреНрд░рддрд┐ рдмрд┐рдВрджреБ рдПрдХ рд░рд╛рдХреНрд╖рд╕
рддрд╛рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд░рд╛рдХреНрд╖рд╕ рдХреЛ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХреЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:
private bool CanPlaceMonster() { return monster == null; }
CanPlaceMonster()
рд╣рдо рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
monster
рдЪрд░ рдЕрднреА рднреА
null
ред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдмрд┐рдВрджреБ рдкрд░ рдХреЛрдИ рд░рд╛рдХреНрд╖рд╕ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрдм рдЦрд┐рд▓рд╛рдбрд╝реА рдЗрд╕ GameObject рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд░рд╛рдХреНрд╖рд╕ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдм рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
рдЬрдм рдЖрдк рдорд╛рдЙрд╕ рдХреЛ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рд╕реНрдХреНрд░реАрди рдХреЛ рдЫреВрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреЛрдб рд░рд╛рдХреНрд╖рд╕ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИред рд╡рд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
- рдЬрдм рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рдлрд┐рдЬрд┐рдХрд▓ рдХреЛрд▓рд╛рдЗрдбрд░ GameObject рдХреЛ рдЯрдЪ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ
OnMouseUp
рдХрд╣рддреА рд╣реИред - рдЬрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рд░рд╛рдХреНрд╖рд╕ рдбрд╛рд▓рддрд╛ рд╣реИ рдпрджрд┐
CanPlaceMonster()
true
ред - рд╣рдо
Instantiate
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд░рд╛рдХреНрд╖рд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдФрд░ рд░реЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рджрд┐рдП рдЧрдП рдкреНрд░реАрдлреИрдм рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо monsterPrefab
рдирдХрд▓ monsterPrefab
, рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдЧреЗрдо рдСрдмрдЬреЗрдХреНрдЯ рд╕реНрдерд┐рддрд┐ рдФрд░ рдХреЛрдИ рд░реЛрдЯреЗрд╢рди рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдо рдХреЛ GameObject
рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ monster
рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред - рдЕрдВрдд рдореЗрдВ, рд╣рдо
PlayOneShot
рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ AudioSource
рдШрдЯрдХ рд╕реЗ рдЬреБрдбрд╝реЗ рдзреНрд╡рдирд┐ рдкреНрд░рднрд╛рд╡ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред
рдЕрдм рд╣рдорд╛рд░реА
PlaceMonster
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рдореЙрдиреНрд╕реНрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрднреА рднреА рдПрдХ
PlaceMonster
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд░рд╛рдЗрдЯ рдкреНрд░реАрдлреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд▓реМрдЯреЗрдВред
рдореЙрдиреНрд╕реНрдЯрд░рдкреНрд░реИрдм рдЪрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ
рдкреНрд░реАрдлрд╝реИрдмреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ
рдУрдкрдиреНрд╕рдкреЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдЪреБрдиреЗрдВред
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ, PlaceMonster (Script) рдШрдЯрдХ рдХреЗ
рдореЙрдиреНрд╕реНрдЯрд░ рдкреНрд░реАрдлрд╝реИрдм рдлрд╝реАрд▓реНрдб рдХреЗ рджрд╛рдИрдВ рдУрд░ рдХреЗ рдШреЗрд░реЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ
рдореЙрдиреНрд╕реНрдЯрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рд╡рд╣ рд╕рдм рд╣реИред рджреГрд╢реНрдп рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдорд╛рдЙрд╕ рдХреЛ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдпрд╛ рд╕реНрдХреНрд░реАрди рдХреЛ рдЫреВрдХрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд░рд╛рдХреНрд╖рд╕ рдмрдирд╛рдПрдВред
рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдЕрдм рд╣рдо рд░рд╛рдХреНрд╖рд╕ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реЗ рдПрдХ рдЕрдЬреАрдм рдЧрдВрджрдЧреА рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд░рд╛рдХреНрд╖рд╕ рдХреЗ рд╕рднреА рдмрдЪреНрдЪреЗ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдм рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗред
рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдПрдВ
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реНрддрд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рд░рд╛рдХреНрд╖рд╕ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рднрдпрд╛рд╡рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдкреНрдпрд╛рд░реА! рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЙрд╕рдХреА рдХреБрдХреАрдЬрд╝ рдЪреБрд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд░рд╛рдХреНрд╖рд╕ рдПрдХ рд╣рддреНрдпрд╛рд░реЗ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛редрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рд╛рдХреНрд╖рд╕ рд╕реНрддрд░реЛрдВ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдкрд░ рд░рд╛рдХреНрд╖рд╕ рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд░рд╛рдХреНрд╖рд╕ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ред
рдЗрд╕ рд▓рд┐рдкрд┐ рдХреЛ рдЬреЛрдбрд╝реЗрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд░ рдореЗрдВ
рдкреНрд░реАрдлреИрдм / рдореЙрдиреНрд╕реНрдЯрд░ рдкреНрд░реАрдлреИрдм рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдПрдХ рдирдпрд╛
C # рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕реЗ
MonsterData рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред IDE рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдиреАрдЪреЗ
рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ
MonsterData
рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВред
[System.Serializable] public class MonsterLevel { public int cost; public GameObject visualization; }
рдЗрд╕рд▓рд┐рдП рд╣рдо
MonsterLevel
рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рдореВрд▓реНрдп (рд╕реЛрдиреЗ рдореЗрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдиреАрдЪреЗ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ) рдФрд░ рд░рд╛рдХреНрд╖рд╕ рдХреЗ рд╕реНрддрд░ рдХрд╛ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо
[System.Serializable]
рд╢реАрд░реНрд╖ рдкрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рд╣рдореЗрдВ рд╕реНрддрд░ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЦреЗрд▓ рдЪрд▓ рд░рд╣рд╛ рд╣реЛред рдпрд╣ рдЦреЗрд▓ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИред
рд░рд╛рдХреНрд╖рд╕ рд╕реНрддрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ
MonsterLevel
рдХреЛ
List<T>
рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред
рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╕рд┐рд░реНрдл
MonsterLevel[]
рдЙрдкрдпреЛрдЧ
MonsterLevel[]
? рд╣рдореЗрдВ рдХрдИ рдмрд╛рд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ
MonsterLevel
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдлрд┐рд░ рднреА рд╣рдореЗрдВ
IndexOf()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ
Lists
рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд┐рдпрд╛ рдХреЛ рд╕реБрджреГрдврд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рдмрд╛рдЗрдХ рдХреЛ рд░реАрдЗрдирд╡реЗрдВрдЯ рдХрд░рдирд╛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИредMonsterData.cs рдХреЗ рд╢реАрд░реНрд╖ рдкрд░
, рдирд┐рд░реНрдорд╛рдг
using
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ:
using System.Collections.Generic;
рдпрд╣ рд╣рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ
List<T>
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред
рдиреЛрдЯ : рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА C # рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рд╡реЗ рдЖрдкрдХреЛ рдЯрд╛рдЗрдк рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдП рдмрд┐рдирд╛ рдЯрд╛рдЗрдк-рд╕реЗрдл рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдХрдВрдЯреЗрдирд░ рд╡рд░реНрдЧреЛрдВ рдЬреИрд╕реЗ рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рд╕реЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдЬреЗрдиреЗрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реА # рдЬреЗрдирд░рд┐рдХ рдкреБрд╕реНрддрдХ рдХрд╛ рдкрд░рд┐рдЪрдп рдкрдврд╝реЗрдВред
рдЕрдм
MonsterLevel
рд╕реВрдЪреА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП
MonsterData
рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
public List<MonsterLevel> levels;
рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
level
рд╕реЗ
List
рдХреЗрд╡рд▓
MonsterLevel
рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдВрдЧреЗред
рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрддрд╛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ
Prefabs / Monster рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдЕрдм
рдореЛрдВрд╕реНрдЯрд░рдбреЗрдЯрд╛ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдШрдЯрдХ рдХреЗ
рд╕реНрддрд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЖрдХрд╛рд░ 3 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП
рд▓рд╛рдЧрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ:
- рддрддреНрд╡ реж : реирежреж
- рддрддреНрд╡ рез : резрезреж
- рддрддреНрд╡ реи : резреиреж
рдЕрдм рд╣рдо рд╡рд┐рдЬрд╝реБрдЕрд▓ рдбрд┐рд╕реНрдкреНрд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдкрдиреЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ
Prefabs / Monster рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред рдмрдЪреНрдЪреЗ
Monster0 рдХреЛ
рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рддрддреНрд╡ 0 рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЦреАрдВрдЪреЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж,
Element 1 рдХреЛ
Monster1 , рдФрд░
Element 2 рд╕реЗ
Monster2 рдкрд░
рд╕реЗрдЯ рдХрд░реЗрдВ ред GIF рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
рдЬрдм рдЖрдк
Prefabs / Monster рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реАрдлрд╝реИрдм рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
IDE рдореЗрдВ
MonsterData.cs рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░
MonsterData рдореЗрдВ рдПрдХ рдФрд░ рдЪрд░ рдЬреЛрдбрд╝реЗрдВред
private MonsterLevel currentLevel;
рдирд┐рдЬреА рдЪрд░
currentLevel
рд╣рдо рд░рд╛рдХреНрд╖рд╕ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред
рдЕрдм
currentLevel
рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрдорд╛рди рдмрдирд╛рдПрдВред
MonsterData
рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЙрджрд╛рд╣рд░рдг рдЪрд░ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВ:
C # рдХреЛрдб рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛, рд╕рд╣реА? рдЖрдЗрдП рдЗрд╕реЗ рдХреНрд░рдо рдореЗрдВ рд▓реЗрдВ:
- рдирд┐рдЬреА рдЪрд░
currentLevel
рдХреА рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░реЗрдВред рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдХреЗ, рд╣рдо рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЪрд░ рдХреА рддрд░рд╣ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ: рдпрд╛ рддреЛ CurrentLevel
(рдХреНрд▓рд╛рд╕ рдХреЗ рдЕрдВрджрд░) рдпрд╛ monster.CurrentLevel
рд░реВрдк рдореЗрдВред CurrentLevel
(рдмрд╛рд╣рд░)ред рд╣рдо рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЧреЗрдЯреНрдЯрд░ рдпрд╛ рд╕реЗрдЯрд░ рд╡рд┐рдзрд┐ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдЧреЗрдЯреНрдЯрд░, рд╕реЗрдЯрд░ рдпрд╛ рджреЛрдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ, рд╣рдо рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓-рд▓рд┐рдЦрдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ / рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдПред - рдЧреЗрдЯреНрдЯрд░ рдореЗрдВ, рд╣рдо
currentLevel
рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред - рд╕реЗрдЯрд░ рдореЗрдВ, рд╣рдо
currentLevel
рдирдпрд╛ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рддрдм рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдорд┐рд▓рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╕рднреА рд╕реНрддрд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдЗрдХрд┐рд▓ currentLevelIndex
рдФрд░ currentLevelIndex
рдЖрдзрд╛рд░ рдкрд░ рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм currentLevel
рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рд╕реНрдкреНрд░рд╛рдЗрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЧреБрдг рдПрдХ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬ рд╣реИрдВ!
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
OnEnable
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝реЗрдВ:
void OnEnable() { CurrentLevel = levels[0]; }
рдпрд╣рд╛рдВ рд╣рдордиреЗ
CurrentLevel
рд╕реЗрдЯ
CurrentLevel
рд╕рдордп рд░рдЦрд╛ рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдкреНрд░рд╛рдЗрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдиреЛрдЯ : OnEnable
рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ OnStart
рдореЗрдВ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо OnEnable
рддрд░реАрдХреЛрдВ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВред
OnEnable
рдмрдирдиреЗ рдкрд░ (рдпрджрд┐ OnEnable
рдХреЛ рд╕рдХреНрд╖рдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдерд╛) OnEnable
рдХреЛ рддреБрд░рдВрдд рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рджреГрд╢реНрдп рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рддрдХ OnStart
рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдореЗрдВ рд░рд╛рдХреНрд╖рд╕ рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ OnEnable
рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд▓реМрдЯреЗрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рд░рдЦреЗрдВ; рдЕрдм рд╡реЗ рд╕рдмрд╕реЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рд╕рд╣реА рд╕реНрдкреНрд░рд╛рдЗрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд░рд╛рдХреНрд╖рд╕ рдЕрдкрдЧреНрд░реЗрдб
IDE рдкрд░ рд▓реМрдЯреЗрдВ рдФрд░
MonsterData
рдореЗрдВ рдирд┐рдореНрди рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:
public MonsterLevel GetNextLevel() { int currentLevelIndex = levels.IndexOf (currentLevel); int maxLevelIndex = levels.Count - 1; if (currentLevelIndex < maxLevelIndex) { return levels[currentLevelIndex+1]; } else { return null; } }
GetNextLevel
рд╣рдореЗрдВ
currentLevel
рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рдЗрдВрдбреЗрдХреНрд╕ рдорд┐рд▓рддрд╛ рд╣реИ; рдпрджрд┐ рд░рд╛рдХреНрд╖рд╕ рдЕрдзрд┐рдХрддрдо рд╕реНрддрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реИ, рддреЛ рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛,
null
рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд░рд╛рдХреНрд╖рд╕ рдЕрдкрдЧреНрд░реЗрдб рд╕рдВрднрд╡ рд╣реИред
рд░рд╛рдХреНрд╖рд╕ рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:
public void IncreaseLevel() { int currentLevelIndex = levels.IndexOf(currentLevel); if (currentLevelIndex < levels.Count - 1) { CurrentLevel = levels[currentLevelIndex + 1]; } }
рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХрддрдо рд╕реНрддрд░ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЬрд╛рдБрдЪ рдХрд░ рдХрд┐ рдпрд╣
levels.Count - 1
рд╕реЗ рдХрдо рд╣реИ
levels.Count - 1
ред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ
CurrentLevel
рдХреЛ рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдкрд░
CurrentLevel
ред
рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ IDE рдореЗрдВ
PlaceMonster.cs рдкрд░
рд▓реМрдЯреЗрдВ ред рдПрдХ рдирдИ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:
private bool CanUpgradeMonster() { if (monster != null) { MonsterData monsterData = monster.GetComponent<MonsterData>(); MonsterLevel nextLevel = monsterData.GetNextLevel(); if (nextLevel != null) { return true; } } return false; }
рдкрд╣рд▓реЗ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рд░рд╛рдХреНрд╖рд╕ рд╣реИ рдЬрд┐рд╕реЗ
null
рд╕рд╛рде
monster
рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рд╕рдЪ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХреЗ
MonsterData
рд╕реЗ рд╡рд░реНрддрдорд╛рди рд░рд╛рдХреНрд╖рд╕ рд╕реНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
рдлрд┐рд░ рд╣рдо
GetNextLevel()
рдХрд┐ рдЕрдЧрд▓рд╛ рд╕реНрддрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреНрдпрд╛
GetNextLevel()
null
рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдПрдХ рд╕реНрддрд░ рдХреА рд╡реГрджреНрдзрд┐ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рд╣рдо
true
рд▓реМрдЯрддреЗ
true
; рдЕрдиреНрдпрдерд╛
false
рд▓реМрдЯрддреЗ рд╣реИрдВред
рд╣рдо рд╕реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ
рдЙрдиреНрдирдпрди рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
else if
рд╢рд╛рдЦрд╛
OnMouseUp
else if
рдЬреЛрдбрд╝реЗрдВ:
if (CanPlaceMonster()) {
рд╣рдо
CanUpgradeMonster()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдЧреНрд░реЗрдб рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рд╣рдо
GetComponent()
рдФрд░
GetComponent()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
MonsterData
рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд░рд╛рдХреНрд╖рд╕ рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдореЙрдиреНрд╕реНрдЯрд░
рдСрдбрд┐рдпреЛ рд╕реЛрд░реНрд╕ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд▓реМрдЯреЗрдВред рдЧреЗрдо рдХреЛ рдЪрд▓рд╛рдПрдВ,
рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдЙрдиреНрдирдд рдХрд░реЗрдВ рдФрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ (рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП)ред
рдкреЗрдЗрдВрдЧ рдЧреЛрд▓реНрдб - рдЧреЗрдо рдореИрдиреЗрдЬрд░
рдЬрдмрдХрд┐ рд╣рдо рддреБрд░рдВрдд рдХрд┐рд╕реА рднреА рд░рд╛рдХреНрд╖рд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдЦреЗрд▓ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛?
рд╕реЛрдиреЗ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреА рд╣реЛрдЧреАред
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрдВрдХрдбрд╝рд╛ рдЙрди рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рднреА рдЪрдпрдирд┐рдд рдЦреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рдХрд┐рддрдирд╛ рд╕реЛрдирд╛ рд╣реИредрдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИред
рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░
Create Empty рдЪреБрдиреЗрдВред рдирдИ
GameManager рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо
рджреЗрдВ ред
GameManagerBehavior рдирд╛рдордХ рдПрдХ рдирдИ
C # рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ
GameManager рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ , рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ IDE рдореЗрдВ рдЦреЛрд▓реЗрдВред рд╣рдо рд▓реЗрдмрд▓ рдореЗрдВ рдкреНрд▓реЗрдпрд░ рдЧреЛрд▓реНрдб рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
using UnityEngine.UI;
рдпрд╣ рд╣рдореЗрдВ
Text
рдЬреИрд╕реЗ рдпреВрдЖрдИ рдХрдХреНрд╖рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рдирд┐рдореНрди рдЪрд░ рдХреЛ рд╡рд░реНрдЧ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
public Text goldLabel;
рдпрд╣ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рд╕реЛрдиреЗ рдХреА рдорд╛рддреНрд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ
Text
рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред
рдЕрдм рдЬрдм
GameManager
рдХреЛ рд▓реЗрдмрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕реЛрдиреЗ рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рд▓реЗрдмрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдореВрд▓реНрдп рдХреЛ рдХреИрд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ? рд╣рдо рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдПрдВрдЧреЗред
GameManagerBehavior
рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
private int gold; public int Gold { get { return gold; } set { gold = value; goldLabel.GetComponent<Text>().text = "GOLD: " + gold; } }
рдХреНрдпрд╛ рд╡рд╣ рдкрд░рд┐рдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ? рдХреЛрдб
CurrentLevel
рд╕рдорд╛рди рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо
Monster
рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рд╣рдо
gold
рдХреА рд╡рд░реНрддрдорд╛рди рдорд╛рддреНрд░рд╛ рдХреЛ рдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдЬреА рдЪрд░
gold
рдмрдирд╛рддреЗ рд╣реИрдВред рддрдм рд╣рдо
Gold
рдкреНрд░реЙрдкрд░реНрдЯреА (рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ, рд╕рд╣реА?) рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЧреЗрдЯреНрдЯрд░ рдФрд░ рд╕реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
рдкрд╛рдиреЗрд╡рд╛рд▓рд╛ рдмрд╕
gold
рдХрд╛ рдореВрд▓реНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕реЗрдЯрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣
goldLabel
рд▓рд┐рдП рдирдП рд╕реЛрдиреЗ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
text
рдХреНрд╖реЗрддреНрд░ рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рдо рдХрд┐рддрдиреЗ рдЙрджрд╛рд░ рд╣реЛрдВрдЧреЗ? рдпрджрд┐ рдЖрдк рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ
1000 рд╕реНрд╡рд░реНрдг, рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП
Start()
рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
Gold = 1000;
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд▓реЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд▓реМрдЯреЗрдВред
рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ, GameManager рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ, рдЧреЛрд▓реНрдб рд▓реЗрдмрд▓ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕рд░реНрдХрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдкрд╛рда рдХрд╛
рдЪрдпрди рдХрд░реЗрдВ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рджреГрд╢реНрдп рдЯреИрдм рдЪреБрдиреЗрдВ рдФрд░
рдЧреЛрд▓реНрдбрд▓реИрдм рдЪреБрдиреЗрдВред
рджреГрд╢реНрдп рдЪрд▓рд╛рдПрдВ рдФрд░ рд▓реЗрдмрд▓
рдЧреЛрд▓реНрдб: 1000 рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ "рд╡реЙрд▓реЗрдЯ" рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
IDE рдореЗрдВ
PlaceMonster.cs рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
private GameManagerBehavior gameManager;
рд╣рдо рджреГрд╢реНрдп
рдореЗрдВ GameManagerBehavior
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ
GameManagerBehavior
рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
gameManager
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ
Start()
:
gameManager = GameObject.Find("GameManager").GetComponent<GameManagerBehavior>();
рд╣рдо
GameObject.Find()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреЗрдо рдореИрдирдЬрд░ рдирд╛рдордХ рдЧреЗрдордСрдмрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрд╕ рдирд╛рдо рд╕реЗ рдорд┐рд▓реА рдкрд╣рд▓реА рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рдЗрд╕рдХреЗ рдШрдЯрдХ
GameManagerBehavior
рдкреНрд░рд╛рдкреНрдд
GameManagerBehavior
рдФрд░ рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред
рдиреЛрдЯ : рдЖрдк рдпреВрдирд┐рдЯреА рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рд╕реЗрдЯ рдХрд░рдХреЗ рдпрд╛ GameManager
рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдЯрд┐рдХ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рдо GameManagerBehavior
рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рдЕрдВрдзреЗрд░рд╛ рдШреЛрдбрд╝рд╛ рд╣реИ: рд╡рд┐рдзрд┐ Find
, рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореЙрдбрд░реЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореЗрд░реЗ рдкреИрд╕реЗ рд▓реЗ рд▓реЛ!
рд╣рдордиреЗ рдЕрднреА рддрдХ рд╕реЛрдиреЗ рдХреЛ рдШрдЯрд╛рдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ
рджреЛ рдмрд╛рд░ OnMouseUp()
, рдкреНрд░рддреНрдпреЗрдХ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрдЧрд╣
// TODO:
:
gameManager.Gold -= monster.GetComponent<MonsterData>().CurrentLevel.cost;
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ, рдХреБрдЫ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ рдФрд░ рдЧреЛрд▓реНрдб рд╡реИрд▓реНрдпреВ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рджреЗрдЦреЗрдВред рдЕрдм рд╣рдо рд╕реЛрдиреЗ рдореЗрдВ рдХрдЯреМрддреА рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЦрд┐рд▓рд╛рдбрд╝реА рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдЙрдирдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдерд╛рди рд╣реИ; рд╡реЗ рд╕рд┐рд░реНрдл рдкреИрд╕реЗ рдЙрдзрд╛рд░ рд▓реЗрддреЗ рд╣реИрдВред
рдЕрдирдВрдд рд╢реНрд░реЗрдп? рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрд╡рд░реНрдг рд╣реЛрдиреЗ рдкрд░ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рджрд╛рдВрд╡ рдкрд░ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПредрд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЛрдиреЗ рдХреА рдЬрд╛рдБрдЪ
IDE рдореЗрдВ
PlaceMonster.cs рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ
CanPlaceMonster()
рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
int cost = monsterPrefab.GetComponent<MonsterData>().levels[0].cost; return monster == null && gameManager.Gold >= cost;
рд╣рдореЗрдВ рдЗрд╕рдХреЗ
MonsterData
рдореЗрдВ
levels
рд╕реЗ рд░рд╛рдХреНрд╖рд╕ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреА рдХреАрдордд
MonsterData
ред рдлрд┐рд░ рд╣рдо
gameManager.Gold
рдХрд┐
monster
null
рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╣
gameManager.Gold
ред рдЗрд╕ рдХреАрдордд рд╕реЗ рдХрдИ
gameManager.Gold
рдЕрдзрд┐рдХ рд╣реИред
рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп: рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ
CanUpgradeMonster()
рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЛрдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЕрдВрджрд░ рд╕рдорд╛рдзрд╛рдирд▓рд╛рдЗрди рдмрджрд▓реЗрдВ:
return true;
рдЗрд╕ рдкрд░:
return gameManager.Gold >= nextLevel.cost;
рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рдЕрдкрдЧреНрд░реЗрдб рдореВрд▓реНрдп рд╕реЗ рдЕрдзрд┐рдХ
рдЧреЛрд▓реНрдб рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдПрдХрддрд╛ рдореЗрдВ рджреГрд╢реНрдп рдХреЛ рдмрдЪрд╛рдПрдВ рдФрд░ рдЪрд▓рд╛рдПрдВред рдЕрдм рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдХреИрд╕реЗ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдЕрд╕реАрдорд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ!
рдЕрдм рд╣рдо рдХреЗрд╡рд▓ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдЯреЙрд╡рд░ рдиреАрддрд┐: рджреБрд╢реНрдорди, рд▓рд╣рд░реЗрдВ рдФрд░ рд░рд╛рд╕реНрддрд╛
рдпрд╣ рд╣рдорд╛рд░реЗ рджреБрд╢реНрдордиреЛрдВ рдХреЛ "рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд" рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдорд╛рд░реНрдЧ рдХреЗ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдкрд░ рджреБрд╢реНрдорди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЕрдЧрд▓реЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдХреБрдХреА рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддреЗред
рдЖрдк рджреБрд╢реНрдордиреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
- рджреБрд╢реНрдорди рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╕рдбрд╝рдХ рд╕реЗрдЯ рдХрд░реЗрдВ
- рджреБрд╢реНрдорди рдХреЛ рд╕рдбрд╝рдХ рдХреЗ рдХрд┐рдирд╛рд░реЗ рд▓реЗ рдЬрд╛рдПрдВ
- рджреБрд╢реНрдорди рдХреЛ рдореЛрдбрд╝реЛ рддрд╛рдХрд┐ рд╡рд╣ рдЖрдЧреЗ рджрд┐рдЦреЗ
Waypoint рд╕реЗ рдПрдХ рд╕рдбрд╝рдХ рдмрдирд╛рдирд╛
рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдЦрд╛рд▓реА рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ
рд▓рд┐рдП Empty рдЪреБрдиреЗрдВред рдЗрд╕реЗ
рд╕рдбрд╝рдХ рдХрд╛ рдирд╛рдо рджреЗрдВ рдФрд░ рдЗрд╕реЗ
(0, 0, 0) рдкрд░ рд░рдЦреЗрдВ ред
рдЕрдм
Hierarchy рдореЗрдВ
рд░реЛрдб рдкрд░ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд░реЛрдб рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдФрд░ рдЦрд╛рд▓реА рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред рдЗрд╕реЗ
Waypoint0 рдирд╛рдо рджреЗрдВ рдФрд░ рдмрд┐рдВрджреБ
(-12, 2, 0) рдкрд░ рд░рдЦреЗрдВ - рдпрд╣рд╛рдВ рд╕реЗ рджреБрд╢реНрдорди рдЕрдкрдиреЗ рдЖрдВрджреЛрд▓рди рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕реА рдкреНрд░рдХрд╛рд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд╛рдореЛрдВ рдФрд░ рдкрджреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рдБрдЪ рдФрд░ рдорд╛рд░реНрдЧ рдмрд┐рдВрджреБ рдмрдирд╛рдПрдБ:
- Waypoint1: (X: 7, Y: 2, Z: 0)
- Waypoint2: (X: 7, Y: -1, Z: 0)
- Waypoint3: (X: -7.3, Y: -1, Z: 0)
- Waypoint4: (X: -7.3, Y: -4.5, Z: 0)
- Waypoint5: (X: 7, Y: -4.5, Z: 0)
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдорд╛рд░реНрдЧ рдХреЗ рдмрд┐рдВрджреБ рдФрд░ рдкрд░рд┐рдгрд╛рдореА рдорд╛рд░реНрдЧ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рд╢рддреНрд░реБ рдмрдирд╛рдирд╛
рдЕрдм рдХреБрдЫ рджреБрд╢реНрдорди рдкреИрджрд╛ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡реЗ рд╕рдбрд╝рдХ рдХреЗ рдХрд┐рдирд╛рд░реЗ-рдХрд┐рдирд╛рд░реЗ рдЪрд▓ рд╕рдХреЗрдВред
Prefabs рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ
рд╢рддреНрд░реБ prefab рд╣реИред рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐
(-20, 0, 0) рд╣реИ , рдЗрд╕рд▓рд┐рдП рдирдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдСрдл-рд╕реНрдХреНрд░реАрди рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдореЙрдиреНрд╕реНрдЯрд░
AudioSource
рдореЗрдВ
AudioSource
рдФрд░
Sprite
рдмрдЪреНрдЪрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрдЯреНрдЯреА рдХреЛ рдЪрд╛рд▓реВ рдХрд┐рдП рдмрд┐рдирд╛ рдШреБрдорд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рджреБрд╢реНрдордиреЛрдВ рдХреЛ рд╕рдбрд╝рдХ рдкрд░ рдШреБрдорд╛рддреЗ рд╣реИрдВ
Prefabs \ Enemy prefab рдореЗрдВ MoveEnemy рдирд╛рдордХ рдПрдХ рдирдпрд╛
C # рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВред рдЖрдИрдбреАрдИ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
[HideInInspector] public GameObject[] waypoints; private int currentWaypoint = 0; private float lastWaypointSwitchTime; public float speed = 1.0f;
[HideIn inspector ]
, рд░реВрдЯ рдкреЙрдЗрдВрдЯреНрд╕ рдХреА рдПрдХ рдХреЙрдкреА рдПрд░реЗ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░
[HideIn inspector ]
рдКрдкрд░
[HideIn inspector ]
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╣рдо рдЧрд▓рддреА рд╕реЗ рдЗрд╕ рдлреАрд▓реНрдб рдХреЛ
рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЕрдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рддрдХ рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред
currentWaypoint
рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рд╕рдордп рдореЗрдВ рджреБрд╢реНрдорди рдХрд╛ рдорд╛рд░реНрдЧ рдХрд╣рд╛рдБ рд╕реЗ рд╣реИ, рдФрд░
lastWaypointSwitchTime
рдЙрд╕ рд╕рдордп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рджреБрд╢реНрдорди рдЧреБрдЬрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рджреБрд╢реНрдорди рдХреА
speed
рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ
Start()
рдЬреЛрдбрд╝реЗрдВ:
lastWaypointSwitchTime = Time.time;
рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде
lastWaypointSwitchTime
рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝
lastWaypointSwitchTime
ред
рджреБрд╢реНрдорди рдХреЛ рдорд╛рд░реНрдЧ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
Update()
рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ
Update()
:
рдЪрд▓реЛ рдЪрд░рдг рджрд░ рдЪрд░рдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ:
- рд░реВрдЯ рдкреЙрдЗрдВрдЯреНрд╕ рдХреА рд╕рд░рдгреА рд╕реЗ рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд░реВрдЯ рд╕реЗрдЧрдореЗрдВрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреА рд╕реНрдерд┐рддрд┐ рдорд┐рд▓рддреА рд╣реИред
- рд╣рдо рд╕реВрддреНрд░ рд╕рдордп = рджреВрд░реА / рдЧрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реА рджреВрд░реА рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдорд╛рд░реНрдЧ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
Vector2.Lerp
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ Vector2.Lerp
, рд╣рдо рд╢реБрд░реВ рдФрд░ рдЕрдВрдд рд╕рдЯреАрдХ рдЦрдВрдб рдХреЗ рдмреАрдЪ рджреБрд╢реНрдорди рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред - рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рджреБрд╢реНрдорди
endPosition
рддрдХ рдкрд╣реБрдВрдЪ endPosition
ред рдпрджрд┐ рд╣рд╛рдБ, рддреЛ рд╣рдо рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВ:
- рджреБрд╢реНрдорди рдЕрднреА рддрдХ рдорд╛рд░реНрдЧ рдХреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП
currentWaypoint
рдХрд╛ рдорд╛рди currentWaypoint
рдФрд░ currentWaypoint
рдХреЛ рдЕрдкрдбреЗрдЯ lastWaypointSwitchTime
ред рдмрд╛рдж рдореЗрдВ рд╣рдо рджреБрд╢реНрдорди рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВрдЧреЗ рддрд╛рдХрд┐ рд╡рд╣ рдЕрдкрдиреЗ рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рджрд┐рдЦреЗред - рджреБрд╢реНрдорди рдорд╛рд░реНрдЧ рдХреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдирд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдзреНрд╡рдирд┐ рдкреНрд░рднрд╛рд╡ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рд╣рдо рдПрдХ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ
health
рдХрдо рдХрд░реЗрдЧрд╛ред
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд▓реМрдЯреЗрдВред
рд╣рдо рджреБрд╢реНрдордиреЛрдВ рдХреЛ рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреЗ рд╣реИрдВ
рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рджреБрд╢реНрдордиреЛрдВ рдХреЛ рдорд╛рд░реНрдЧ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдХреНрд░рдо рдирд╣реАрдВ рдкрддрд╛ рд╣реИред
рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ
рд╕рдбрд╝рдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдирдИ
C # рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕реЗ
SpawnEnemy рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ IDE рдореЗрдВ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрди рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
public GameObject[] waypoints;
рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдХреНрд░рдо рдореЗрдВ рджреГрд╢реНрдп рдореЗрдВ рд╡реЗрдирдкреЙрдЗрдВрдЯ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
waypoints
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд▓реМрдЯреЗрдВред
рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ
рд╕рдбрд╝рдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
рд╡реЗрдкрд╛рдЗрдиреНрд╕ рд╕рд░рдгреА рдХреЗ
рдЖрдХрд╛рд░ рдХреЛ
6 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
рддрддреНрд╡ 0 рдореЗрдВ
Waypoint0 ,
рддрддреНрд╡ 1 рдореЗрдВ
Waypoint1 рдХреЛ рдЪрд┐рдкрдХрд╛рдХрд░, рд╕рдбрд╝рдХ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдЦреЗрддреЛрдВ рдореЗрдВ рдЦреАрдВрдЪреЗрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдорд╛рд░реНрдЧ рдмрд┐рдВрджреБ рд╣реИрдВ - рдЖрдк рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рджреБрд╢реНрдорди рдХрднреА рднреА рдкреАрдЫреЗ рдирд╣реАрдВ рд╣рдЯрддреЗ рд╣реИрдВ, рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдорд┐рдард╛рдИ рдЗрдирд╛рдо рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
IDE рдореЗрдВ
SpawnEnemy рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
public GameObject testEnemyPrefab;
рдпрд╣
рд╢рддреНрд░реБ testEnemyPrefab
рд╕рдВрджрд░реНрдн рдХреЛ
testEnemyPrefab
рдореЗрдВ
testEnemyPrefab
ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп рджреБрд╢реНрдорди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
Start()
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ
Start()
:
Instantiate(testEnemyPrefab).GetComponent<MoveEnemy>().waypoints = waypoints;
рдЗрд╕рд▓рд┐рдП рд╣рдо
testEnemy
рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд
testEnemy
рдХреА рдПрдХ рдирдИ рдкреНрд░рддрд┐
testEnemy
рдФрд░ рдЗрд╕реЗ рдПрдХ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗред
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХрддрд╛ рдкрд░ рд▓реМрдЯреЗрдВред
рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ
рд░реЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
рдЯреЗрд╕реНрдЯ рд╢рддреНрд░реБ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП
рд╢рддреНрд░реБ prefab рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рджреБрд╢реНрдорди рд╕рдбрд╝рдХ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЪрд▓рддрд╛ рд╣реИ (рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП GIF рдореЗрдВ, рдЧрддрд┐ 20 рдЧреБрдирд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ)редрдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рд╡рд╣ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рд╡рд╣ рдХрд╣рд╛рдБ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдордЬрд╝реЗрджрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рдкреЗрд╢реЗрд╡рд░ рдЦреЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рд╣рдо рджреБрд╢реНрдордиреЛрдВ рдХреЛ рдЖрдЧреЗ рджреЗрдЦрдирд╛ рд╕рд┐рдЦрд╛рдПрдВрдЧреЗредрдЖрдЧреЗ рдХрд╣рд╛рдБ рдЬрд╛рдирд╛ рд╣реИ?
рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдЕрдкрдирд╛ рдЯреЙрд╡рд░ рд░рдХреНрд╖рд╛ рдЦреЗрд▓ рдмрдирд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВредрдЦрд┐рд▓рд╛рдбрд╝реА рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд╛рдХреНрд╖рд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рджреБрд╢реНрдорди рд╕рдбрд╝рдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдХреБрдХреА рдХреА рдУрд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рд╕реЛрдирд╛ рд╣реИ рдФрд░ рд╡реЗ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдЙрдиреНрдирдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрддреИрдпрд╛рд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ редрдореЗрдВ рджреВрд╕рд░реЗ рднрд╛рдЧ рд╣рдо рджреБрд╢реНрдордиреЛрдВ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рд▓рд╣рд░реЛрдВ рдмрдирд╛рдиреЗ рдХреЛ рджреЗрдЦреЛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ред рдЬрд▓реНрдж рдорд┐рд▓рддреЗ рд╣реИрдВ!