рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдЧреЗрдо рдХреЛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░рдирд╛, рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред рднрд╛рдЧ 3 (рдЕрдВрддрд┐рдо)

рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рдореИрдВрдиреЗ рдЪрд░реНрдЪрд╛ рдХреА рдХрд┐ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреНрдпреЛрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ
- рднрд╛рдЧ 1

рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рдореБрдЦреНрдп рд╡рд░реНрдЧреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рднрд╛рдЧ
рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ - рднрд╛рдЧ 2

рдФрд░ рддреАрд╕рд░рд╛ рднрд╛рдЧ - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдереЛрдбрд╝реА рдЪрд░реНрдЪрд╛ рд╣реЛрдЧреА, рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╕рдВрд╢реЛрдзрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рдкрд░ рдбреНрд░реЙрдк (рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ)ред рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛, рдореИрдВ рдЙрдмрд╛рдК рдХреЗ рдмрд┐рдирд╛ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

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

рддреЛ vidosik, рдЖрдкрдХреЛ рд╕реНрддрд░ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧреНрд░рдВрдереЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдЧреЗрдордкреНрд▓реЗ рдкрд░ рдирд╣реАрдВ):



рдЫреЛрдЯрд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░


рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореБрдЭреЗ рд╕рдореАрдХреНрд╖рд╛ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдЖрднрд╛рд░реА рд╣реВрдВ, рдЖрд▓реЛрдЪрдирд╛ рдЗрд╕рд╕реЗ рднреА рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕рд╕реЗ рд╕рд╣рдордд рди рд╣реЛрдВред

рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рддреИрдирд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:
  1. рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХрд┐рддрдиреЗ рд╢рд╛рдВрдд рд╣реИрдВ, рдЖрдк рд╕рд┐рд░реНрдл рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЧрд┐рд░рд╡реА рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЬрд┐рд╕рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдЙрд╕реЗ рдмрд╣реБрдд рдЧрд┐рд░рд╡реА рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рдХреЛрдб / рдПрдкреНрд░реЛрдЪ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рднреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЛрдб рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдЦрд░реНрдЪ рди рдХрд░реЗрдВред
  2. рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, OCS / рдЗрд╡реЗрдВрдЯ рдореЙрдбрд▓ / рд╕рдВрд░рдЪрдирд╛ ECS, рдпреВрдирд┐рдЯреА COOP, DI рдлреНрд░реЗрдорд╡рд░реНрдХ, рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрджрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рд╣реИред рдХрдо рд╕реНрдХреНрд░рд┐рдмрд▓, рд╕рднреА рдХрдиреЗрдХреНрд╢рди рдХреЛрдб рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдирд╛ рд╣реИ - рдХреНрдпрд╛ рдЗрд╕реЗ рдЦреЗрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдХрдИ рдорд╛рдзреНрдпрдорд┐рдХ - рдЬреЛ рдЧреЗрдордкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ, рдпрд╣ рдпрд╛ рд╡рд╣ред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЬрд▓реНрджреА рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдХреНрдпреЛрдВ рдкреЗрд╢ рдХрд░реЗрдВ, рддреАрди рдЧреЗрдо рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдмрд╛рдбрд╝ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ? рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 50-100 рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рд╣реИред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрд▓реНрдлрд╛ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд┐рд░ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддрд╛рдХрд┐ рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдЖрдк рдЬрд▓рд╛ рди рдЬрд╛рдПрдВ


рд╕рдВрд╢реЛрдзрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:


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

рд╕рдВрд╢реЛрдзрдХ рд╡рд░реНрдЧ
public class PushSideModificator : MonoBehaviour { [SerializeField] TypeOfForce typeOfForce = TypeOfForce.Push; [SerializeField] private float force; [SerializeField] DropPanelConfig dropPanelConfig; private float boundsOfCollider; private void OnTriggerEnter(Collider other) { boundsOfCollider = other.bounds.extents.x; GlobalEventAggregator.EventAggregator.Invoke(new SpaceForces { TypeOfForce = typeOfForce, Force = force, ColliderBound = boundsOfCollider, CenterOfObject = transform.position, IsAdded = true }); } private void OnTriggerExit(Collider other) { GlobalEventAggregator.EventAggregator.Invoke(new SpaceForces { CenterOfObject = transform.position, IsAdded = false }); } } 


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

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


рдЧреЗрдордкреНрд▓реЗ рдмреЗрд╕рд┐рд╕


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



рдкреИрдирд▓ рдХреНрд▓рд╛рд╕
  [RequireComponent (typeof(CanvasGroup))] public class DragAndDropModifiersPanel : MonoBehaviour { [SerializeField] private DropModifiersIcon iconPrfb; [SerializeField] private DropPanelConfig config; private CanvasGroup canvasGroup; private void Awake() { GlobalEventAggregator.EventAggregator.AddListener<ButtonStartPressed>(this, RocketStarted); canvasGroup = GetComponent<CanvasGroup>(); } private void RocketStarted(ButtonStartPressed obj) { canvasGroup.DOFade(0, 1); (canvasGroup.transform as RectTransform).DOAnchorPosX(100, 1); } private void Start() { for (var x = 0; x< 3; x++) { var mod = config.GetModifierByType(TypeOfForce.Push); var go = Instantiate(iconPrfb, transform); go.Init(mod); } for (var x = 0; x< 1; x++) { var mod = config.GetModifierByType(TypeOfForce.AddSpeed); var go = Instantiate(iconPrfb, transform); go.Init(mod); } } } 



рд╡рд┐рд░реЛрдзреА рд╕рд╡рд╛рд▓:
 for (var x = 0; x< 3; x++) for (var x = 0; x< 1; x++) 


3 рдФрд░ 1 - рддрдерд╛рдХрдерд┐рдд рдЬрд╛рджреВ рд╕рдВрдЦреНрдпрд╛рдПрдВ рдЬреЛ рдХреЗрд╡рд▓ рд╕рд┐рд░ рд╕реЗ рд▓реА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдХреЛрдб рдореЗрдВ рдбрд╛рд▓реА рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕рд╕реЗ рдмрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╡реЗ рдпрд╣рд╛рдВ рдХреНрдпреЛрдВ рд╣реИрдВ? рд╕рд┐рджреНрдзрд╛рдВрдд рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╣реА рдкреИрдирд▓ рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрднреА рддрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

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

рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд░реНрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд░реНрдЧ
  [CreateAssetMenu(fileName = "DropModifiersPanel", menuName = "Configs/DropModifier", order = 2)] public class DropPanelConfig : ScriptableObject { [SerializeField] private ModifierBluePrintSimple[] modifierBluePrintSimples; public DropModifier GetModifierByType(TypeOfForce typeOfModifiers) { return modifierBluePrintSimples.FirstOrDefault(x => x.GetValue.TypeOfModifier == typeOfModifiers).GetValue; } } [System.Serializable] public class DropModifier { public TypeOfForce TypeOfModifier; public Sprite Icon; public GameObject Modifier; public Material Material; } 



рдЙрд╕рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╢реЛрдзрдХ рдбреЗрдЯрд╛ рд╡рд░реНрдЧ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
  public class DropModifier { public TypeOfForce TypeOfModifier; public Sprite Icon; public GameObject Modifier; public Material Material; } 


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

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдпрд╣ рдбреЗрдЯрд╛, рдЕрдВрддрд░рдВрдЧ рджреГрд╢реНрдп рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛ рд╕реЗ рд╕рдВрднрд╡ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдорд┐рд▓рддреА рд╣реИрдВред

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

рдФрд░ рдЕрдЧрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рддреНрд╡рд░рдХ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП рдХрдИ рдбреЗрдЯрд╛ рд╣реИрдВ?
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ, рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдбреЗрдЯрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рди рд╣реЛ; рдХрд╛рд░реНрдпрд╢реАрд▓ рдбреНрд░рд╛рдлреНрдЯ рдкрд░, рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдбреЗрдЯрд╛ рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЖрдЗрдХрди рд╕реЗ рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рддрдХ


рд╕рдВрд╢реЛрдзрдХ рдЪрд┐рд╣реНрди рд╡рд░реНрдЧ
 public class DropModifiersIcon : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler { [SerializeField] private Image icon; [Header("       ")] [SerializeField] private RectTransform canvas; private CanvasGroup canvasGroup; private DropModifier currentModifier; private Vector3 startPoint; private Vector3 outV3; private GameObject currentDraggedObj; private void Start() { canvasGroup = GetComponent<CanvasGroup>(); startPoint = transform.position; canvas = GetComponentInParent<Canvas>().transform as RectTransform; } public void Init(DropModifier dropModifier) { icon.sprite = dropModifier.Icon; currentModifier = dropModifier; } public void OnBeginDrag(PointerEventData eventData) { BlockRaycast(false); currentDraggedObj = Instantiate(currentModifier.Modifier, WorldSpaceCoord(), Quaternion.identity); GlobalEventAggregator.EventAggregator.Invoke(new ImOnDragEvent { IsDragging = true }); } private void BlockRaycast(bool state) { canvasGroup.blocksRaycasts = state; } public void OnDrag(PointerEventData eventData) { Vector2 outV2; RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas, Input.mousePosition, null, out outV2); transform.position = canvas.transform.TransformPoint(outV2); if (currentDraggedObj != null) currentDraggedObj.transform.position = WorldSpaceCoord(); } private Vector3 WorldSpaceCoord() { RectTransformUtility.ScreenPointToWorldPointInRectangle(canvas, Input.mousePosition, Camera.main, out outV3); return outV3; } public void OnEndDrag(PointerEventData eventData) { GlobalEventAggregator.EventAggregator.Invoke(new ImOnDragEvent { IsDragging = false }); if (eventData.pointerCurrentRaycast.gameObject != null && eventData.pointerCurrentRaycast.gameObject.layer == 5) { Destroy(currentDraggedObj); transform.SetAsLastSibling(); canvasGroup.blocksRaycasts = true; } else Destroy(gameObject); } } public struct ImOnDragEvent { public bool IsDragging; } 



рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
рд╣рдо рдкреИрдирд▓ рд╕реЗ рдЖрдЗрдХрди рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рддрд╣рдд рд╣рдо рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдПрдХ рдЧреЗрдо рдмреНрд▓реЙрдЧ рдмрдирд╛рддреЗ рд╣реИрдВред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рдХреНрд▓рд┐рдХ / рд╡реНрд╣реАрд▓ рдмреЗрд╕ рд╕реЗ рд╕рдордиреНрд╡рдп рдХреЛ рдЧреЗрдо рд╕реНрдкреЗрд╕ рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдпреВрдЖрдИ рдореЗрдВ рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдЧреЗрдо рд╕реНрдкреЗрд╕ рдореЗрдВ рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдПрдХ рд╕рд╛рде рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЖрдкрдХреЛ RectTransformUtility рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдпрд╣ рдПрдХ рдорд╣рд╛рди рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдПрдХ рд╕рдВрд╢реЛрдзрдХ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдкреИрдирд▓ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд╛рддреЗ рд╣реИрдВ,
  if (eventData.pointerCurrentRaycast.gameObject != null && eventData.pointerCurrentRaycast.gameObject.layer == 5) 

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

рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдкреИрдирд▓ рдХреЗ рдКрдкрд░ рдЖрдЗрдХрди рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкреИрдирд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдпрджрд┐ рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рдХреЗ рдКрдкрд░ рд╕рдВрд╢реЛрдзрдХ рдореИрджрд╛рди рдкрд░ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдЖрдЗрдХрди рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

1 рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛрдб рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд▓рд╕ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкрд░ рдереЛрдбрд╝рд╛ рдЙрдкрджреНрд░рд╡ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЧреЗрдордкреНрд▓реЗ рдХреЛ рдХрд▓рд╛ рдФрд░ рдЧреЗрдо рдбрд┐рдЬрд╝рд╛рдЗрди рдЪрд┐рдкреНрд╕ рдкрд░ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЯрди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЙрдкрдпреБрдХреНрдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рдорд┐рд╢рди рдкреВрд░рд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ


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

рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкред

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


All Articles