
рдпрджрд┐ рдЖрдк рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдЖрдХрд╕реНрдорд┐рдХ рдирд╣реАрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирд┐рд░реНрджрдпреА, рдХрдареЛрд░ рдмреИрдЧреЗрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рд╣реЗрдЬреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдпрд╣ рдПрдХрддрд╛ рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдпрд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ - рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рдкреНрд▓реЗрдпрд░рдкреНрд░реИрдлрд╝ рдХреНрд▓рд╛рд╕ рд╣реИ, рдЖрдк рдПрдХреНрд╕рдПрдордПрд▓ рдпрд╛ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реАрд░рд┐рдпрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, * SQL * рдореЗрдВ рд╕реЗрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЕрдВрдд рдореЗрдВ рдЕрдкрдирд╛ рдкрд╛рд░реНрд╕рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлреЙрд░реНрдореЗрдЯ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдЙрд╕реА рд╕рдордп рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рд▓реЛрдб-рд╕реЗрд╡ рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдардХ рдЬреЛ рдЗрд╕ рдЗрдВрдЬрди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдХреМрд╢рд▓ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдЖрдк PlayerPrefs, рдЙрд╕рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ GUI, рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдкрд░ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╣рдо рдЗрд╕ рд╕рдм рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред
рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдиреЛрдЯ рдмрд╣реБрдд рд░реЛрдорд╛рдВрдЪрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рддрд╣рдд рдореЛрдмрд╛рдЗрд▓ / рдЯреИрдмрд▓реЗрдЯ / рдСрдирд▓рд╛рдЗрди рдЙрдореНрд░ - рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдмрд┐рдВрджреБ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ)ред
- рд╡реИрд╕реЗ, рд╣рдмреЗрд░реЗ рдкрд░ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдкрд╣рд▓реЗ рдПрдХ рд▓реЗрдЦ рдЖрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рд▓реЗрдЦрдХ рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдордЯрдорд╛рдЦ рдХреЗ рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдпреВрдирд┐рдЯреА 3 рдбреА рдкрд╛рд╕ рд╣реИред рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп, рдЗрдВрдЬрди рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдмреВрддред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рд╕реЗ рднреА рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ =)
рдПрдХ рдФрд░ рдЫреЛрдЯрд╛ рдЕрд╕реНрд╡реАрдХрд░рдг - рдореИрдВ рдХрд╡рд░ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╡рд┐рд╖рдп рдореЗрдВ рдПрдХ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЕрдзрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ, рдЖрд╕рд╛рди, рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рд╕реБрдзрд╛рд░ рдФрд░ рдкрд░рд┐рд╡рд░реНрдзрди рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИрдВред
1. PlayerPrefs
рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рд░реНрдорд┐рдд рд╡рд░реНрдЧред рдЗрдВрдЯ, рдлреНрд▓реЛрдЯ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╣реА рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА "
рдореИрдВ рдЦрд┐рд▓рд╛рдбрд╝реАрдкреНрд░реЗрдлрд╝реН рд╕ рдХреЛ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдБ " рдЬреИрд╕реЗ рдордВрдЪреЛрдВ рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдерд╛, рдпрд╛ "рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ PlayerPrefs рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ", рддреЛ рдЪрд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред
1.1 рдПрдХ рджреГрд╢реНрдп рдХреЗ рднреАрддрд░ рдЖрджрд┐рдо рдЙрдкрдпреЛрдЧ: рд╣реЙрдЯрдХреА рдкрд░ рдХреНрд╡рд┐рдХрд╕реЗрд╡ рдФрд░ рдХреНрд╡рд┐рдХреЙрдбреИрдбред
рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рджреГрд╢реНрдп рдФрд░ рдПрдХ рдЪрд░рд┐рддреНрд░ рд╣реИред SaveLoad.cs рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд░реНрдг рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рд░рдЦреЗрдВрдЧреЗ - рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ред
using UnityEngine; using System.Collections; public class SaveLoad : MonoBehaviour { public Transform CurrentPlayerPosition; void Update () { if(Input.GetKeyDown(KeyCode.R)) savePosition(); if(Input.GetKeyDown(KeyCode.L)) if (PlayerPrefs.HasKey("PosX"))
рдмреЗрд╢рдХ, рдпрд╣рд╛рдВ рдкреНрд▓реЗрдпрд░рдкреНрд░реИрдлрд╝реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рджреВрд░ рдХреА рдмрд╛рдд рд╣реИ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд╛рдзрд╛рд░рдг рдЪрд░ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ, рдпрд╣ рд╣рдореЗрдВ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдЧреЗрдо рдХреЛ рд╕реЗрд╡ рд▓реЛрдХреЗрд╢рди рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдХрдХреНрд╖рд╛ рдХрд╛ рдкреВрд░рд╛ рдореБрдЦреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ: рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рддреАрди рдЧреЗрдЯ / рд╕реЗрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП, рдХреБрдВрдЬреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ, рд╕рдорд╛рд╢реЛрдзрдиред рдпрд╣ рднреА рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ ScriptReference рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ:
PlayerPrefs
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рдЕрднреА рднреА рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд░рд╣рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, PlayerPrefs.Saveред рд╡рд┐рд╡рд░рдг рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдХрд╛рдИ рдкреНрд▓реЗрдпрд░рдкреНрд░рд┐рдлрд╝ рдХреЛ рдбрд┐рд╕реНрдХ рдХреЛ рдХреЗрд╡рд▓ рддрдм рд▓рд┐рдЦрддреА рд╣реИ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдВрдж рд╣реЛрддрд╛ рд╣реИ - рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╡рд░реНрдЧ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рддреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рдЙрдиреНрд╣реЗрдВ рдмрдЪрд╛рдиреЗ рдкрд░ред рддрджрдиреБрд╕рд╛рд░, рд╕рд╣реЗрдЬреЗрдВ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдХреНрд░реИрд╢ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрд╡рдзрд┐рдХ рдмрдЪрдд рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╢рд╛рдпрдж рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Win PlayerPrefs рдХреЗ рддрд╣рдд рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рддреБрд░рдВрдд рдкрдврд╝рд╛ рдФрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

рдЕрдВрдд рдореЗрдВ рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЙрдирдХрд╛
DJBX33X рд╣реИрд╢ (XOR рдХреЗ рд╕рд╛рде рдмрд░реНрдирд╢реЗрдЯрд┐рди рд╣реИрд╢)ред
UnityGraphicsQuality рд╣рдореЗрд╢рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдВрдж рд╣реЛрддрд╛ рд╣реИред рдпрд╣ Edit -> рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЧреБрдгрд╡рддреНрддрд╛ рд╕реЗ рдЧреБрдгрд╡рддреНрддрд╛ рд╕реНрддрд░ рд╣реИ, рдпрд╣
QualitySettings.SetQualityLevel
рднреА рд╣реИред
рдЬрдм рдЖрд╡реЗрджрди рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЧрдП рдореВрд▓реНрдп рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдФрд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИред рдпрд╛рдиреА рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд▓реЗрдпрд░рдкреНрд░реИрдлрд╝реНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рдПрдирд╛рд▓реЙрдЧ рдХреА рддрд░рд╣ рдХреБрдЫ рд╣реИ, рдФрд░ рдбрд┐рд╕реНрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
2. рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди
рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд░рдордмрджреНрдзрддрд╛, рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рд╣реИ рдмрд╛рдЗрдирд░реА рдХреЛрдбред рдпрд╣
рд╣реЛрддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣реАрдд / рдкреНрд░реЗрд╖рд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рд╣реИред рдФрд░ рдХреНрд░рдорд╢рдГ рдбреАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рд╕рдВрдЧреНрд░рд╣реАрдд / рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╕реЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдмрд╣рд╛рд▓реА рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЛрдиреЛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХреНрд░рдорд╛рдВрдХрди рдФрд░
рдПрдХреНрд╕рдПрдордПрд▓ (System.Xml.Serialization) рджреЛрдиреЛрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд┐рдВрджреБ рд╣реИ: рдЕрдзрд┐рдХрд╛рдВрд╢ рдпреВрдирд┐рдЯреА рд╡рд░реНрдЧ рд╕реАрдзреЗ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИрдВред рдЖрдк рдХреЗрд╡рд▓ GameObject, рдпрд╛ рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдХрд┐ MonoBehavoir рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЖрдкрдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдВрддрд░рд┐рдХ рдХреНрд░рдорд┐рдХ рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди XmlSerializer рдХрдо рд╕реЗ рдХрдо рд╡реЗрдХреНрдЯрд░ 3 рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдЗрдирд░реАрд╕реЗрд░рд▓рд╛рдЗрдЬрд╝рд░, afaik, рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреИрд╕реЗред
реи.рез рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╕рд╛рд░
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк
рдЕрдкрдирд╛ рдкреЛрд░реНрдЯрд▓ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдирд╛рдпрдХ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдерд╛рдиреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рд╡рд╣ рдмрд╛рдж рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдкрд░ рд▓реМрдЯ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣ рд╕рднреА рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ: рдХреБрдЫ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреБрдЫ рдХреЛ рддреЛрдбрд╝ рджреЗрдВ, рдХреБрдЫ рдХреЛ рдмрд┐рдЦреЗрд░ рджреЗрдВред рдореИрдВ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕реНрдерд╛рди рдкрд░ рд╡рд╛рдкрд╕ рдЖрдирд╛ рдЕрд╕рдВрднрд╡ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИ, рдФрд░ рд░реИрдо рдореЗрдВ рд╕рднреА рдХрдорд░реЛрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдШрд╕реАрдЯрдиреЗ рдХрд╛ рдмрд╣реБрдд рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд╣рдо рд╕реНрдерд╛рди рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЗрд╕реЗ рдЫреЛрдбрд╝рдХрд░ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджрд░рд╡рд╛рдЬреЗ рдкрд░ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рджреНрд╡рд╛рд░рд╛ред рдФрд░ рд╕реНрдерд╛рди рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдпрд╛ рддреЛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рдпрд╛, рдпрджрд┐ рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
2.2 рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдорд┐рдХ рдХрдХреНрд╖рд╛рдПрдВ
XmlSerializer рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдбреЗрдЯрд╛ рдореЗрдВ рдЕрдиреНрдп рдХреНрд░рдорд┐рдХ рдХрдХреНрд╖рд╛рдПрдВ, рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рддрддреНрд╡ [.Generic] рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕рднреА рд╕реАрд░рд┐рдпрд▓ рдпреЛрдЧреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд╣реБрдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдпреВрдирд┐рдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ (рдЬреИрд╕реЗ рд╡реЗрдХреНрдЯрд░ 3, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рддреАрди рдЗрдВрдЯ рдлреАрд▓реНрдб рд╣реИрдВ) рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЗрд╕ рдлреЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд╛рд▓реЗ, рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд░реЗ рдореЗрдВ рд╣рдореЗрдВ рдЧреЗрдордСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдХреБрдЫ рдордирдорд╛рдиреЗ рд╕реЗрдЯ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рд╕реАрдзреЗ рдпрд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдорд╛рдирдХ рдЖрд╕реНрддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдирдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдБ:
using UnityEngine; using System.Collections.Generic; using System.Xml.Serialization; using System; [XmlRoot("RoomState")] [XmlInclude(typeof(PositData))] public class RoomState {
рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ
XML рдХреНрд░рдорд╛рдВрдХрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВред рдпрд╣рд╛рдВ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддреНрдкрдиреНрди * .xml рдореЗрдВ рдХреЗрд╡рд▓ рдЯреИрдЧ рдирд╛рдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, рдЙрдирдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд░рд╣рдиреЗ рджреЗрдВ :) рдЕрдЧрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдЕрдЪрд╛рдирдХ рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕рдПрдордПрд▓-рдХреЛрдб рдХреИрд╕реЗ рджрд┐рдЦреЗрдЧрд╛, рддреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
рд╡реНрдпрд╛рдкрдХ рд╣реИрдВ ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд╣рд╛рдБ рд╣рдо рд╕реВрдЪреА рд╕реЗ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
[XmlType("PositionData")] [XmlInclude(typeof(Lamp))] public class PositData { protected GameObject _inst;
рддреЛ рдХреНрд░рдордмрджреНрдз рдХрдХреНрд╖рд╛рдПрдВ рддреИрдпрд╛рд░ рд╣реИрдВред рдЕрдм рд╣рдо рдмрдирд╛рдП рдЧрдП RoomState рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд░рдорд╛рдВрдХрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВрдЧреЗред
2.3 рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдХреНрд░рдорд╛рдВрдХрди
рд╕реНрдЯреИрдВрдбрд░реНрдб рдПрд╕реЗрдЯреНрд╕ рдореЗрдВ рднреА рд╣рдо рдХреБрдЫ рд╕реНрдЯреИрдЯрд┐рдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд░реЗрдВрдЧреЗ:
using System.Xml.Serialization; using System; using System.IO; public class Serializator { static public void SaveXml(RoomState state, string datapath){ Type[] extraTypes= { typeof(PositData), typeof(Lamp)}; XmlSerializer serializer = new XmlSerializer(typeof(RoomState), extraTypes); FileStream fs = new FileStream(datapath, FileMode.Create); serializer.Serialize(fs, state); fs.Close(); } static public RoomState DeXml(string datapath){ Type[] extraTypes= { typeof(PositData), typeof(Lamp)}; XmlSerializer serializer = new XmlSerializer(typeof(RoomState), extraTypes); FileStream fs = new FileStream(datapath, FileMode.Open); RoomState state = (RoomState)serializer.Deserialize(fs); fs.Close(); return state; } }
рдпрд╣рд╛рдБ рд╣рдо рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рдЯрд╛рдЗрдк, рдЯрд╛рдЗрдк [] рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ XmlSerializer рдмрдирд╛рддреЗ рд╣реИрдВ
)рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд╖рд┐рдд рд╕рд╣реЗрдЬреЗ рдЧрдП рдкрддреЗ рдкрд░ FileStream рдЦреЛрд▓реЗрдВред
рдХреЗ рдЙрдкрдпреЛрдЧ
рддреЛ, рд╕рднреА рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг рддреИрдпрд╛рд░ рд╣реИрдВ, рдЖрдк рдХрдорд░реЗ рдореЗрдВ рд╣реА рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдХрдорд░реЗ рдХреА рд╡рд╕реНрддреБ рдкрд░ рд▓рдЯрдХрддреЗ рд╣реИрдВ:
public class RoomGen : MonoBehaviour { private RoomState state;
рдЕрдВрдд рдореЗрдВ, RoomGen.Dump () рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрди рджрд░рд╡рд╛рдЬреЛрдВ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рджреНрд╡рд╛рд░рд╛ рдЬреЛ рдПрдХ рдХрдорд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдмрд╛рд▓ рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ (рдПрдХ рд░реВрдордЧреИрди рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ):
using UnityEngine; using System.Collections; public string nextRoom; public class Door : MonoBehaviour { void OnTriggerEnter(Collider hit) { if (hit.gameObject.tag == "Player") { SendMessageUpwards("Dump"); Application.LoadLevel(nextRoom); } } }
рд╡рд╣ рд╕рдм рд╣реИред рдпрд╣рд╛рдВ, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд╛рддрдЪреАрдд рдФрд░ рдЙрдирдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдмрд╕ рд╣реЙрдЯрдХреА рджреНрд╡рд╛рд░рд╛ рд░рд╛рдЬреНрдп-рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрдВрдк рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╛рдкрд╕реА рдкрд░, рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд┐ рдЖрд╡реЗрджрди рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
XML рдХреА рдПрдХ рдмрдбрд╝реА рдЦрд╛рдореА рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдЖрд╕рд╛рдиреА рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рд▓реЛрдЧ рдмрд┐рдЦрд░реЗ рд╣реБрдП рдХреБрд░реНрд╕рд┐рдпреЛрдВ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╛рдВрдХрди рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЪрд╛рддреЗ рд╣реБрдП, рдмрдЪрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд╣рд╛рдВ, рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХреНрд░рдорд╛рдВрдХрди рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреЗрд╣рддрд░ рд╣реИред
3. рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╣реЗрдЬреЗрдВ / рд▓реЛрдб рдХрд░реЗрдВ
рдпрд╣ рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрдпрди / рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЖрдВрддрд░рд┐рдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмрдЪрдд рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдЧреЗрдо рдХреЛ рдЧрдВрднреАрд░ рд╕рд╣реЗрдЬреЗрдВ / рд▓реЛрдб рдореЗрдиреВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЕрдм рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдкрд╡рд┐рддреНрд░ рдХреЗ рд▓рд┐рдП рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдореИрдВ рдирдП рд╕рд╛рд▓ рдХреА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЬрдм рдореИрдВ рдЕрдкрдиреА рдмрд╣рди рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рджреЛ рд░рд╛рддреЛрдВ рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдЕрдореЗрд░рд┐рдХреА рдореИрдХрдЧреА рдХреЗ рдРрд▓рд┐рд╕ рдХреЛ рдЦрддреНрдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд▓рдЧрднрдЧ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реЗрд╡ / рд▓реЛрдб рдХрд░реЗрдВрдЧреЗред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рдеред рдЙрд╕реА рд╕рдордп рдЬреАрдпреВрдЖрдИ, рдмрдирд╛рд╡рдЯ рдФрд░ рдЕрдиреНрдп
рд░реЛрдорд╛рдВрдЪрдХ рдЪреАрдЬреЛрдВ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред
3.1 рдореБрдЦреНрдп рдореЗрдиреВ
рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдмрдЪрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рдореЗрдиреВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕реЗ рдордВрдЪ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдПрдирдЬреАрдпреВрдЖрдИ
рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдирд┐рдпрдорд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ
рдЬреАрдпреВрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
- рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╕рдВрджрд░реНрдн
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдЖрддреЗ рд╣реИрдВ:
OnGUI()
- GUI рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдиреЛрдмреАрд╣реИрд░реМрд░ рдлрд╝рдВрдХреНрд╢рдиред рдЕрдкрдбреЗрдЯ () рдЬреИрд╕реЗ рдХреБрдЫ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреАрдпреВрдЖрдИ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд╣рд░ рдлреНрд░реЗрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
GUI.Button
static bool Button(Rect position, String text); static bool Button(Rect position, Textureimage );
рдмрдЯрди рд╕рдорд╛рд░реЛрд╣ред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдпрдд рдХреЗ рднреАрддрд░ рдЗрд╕реЗ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдПрдХ рдХреНрд▓рд┐рдХ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддрд╛ рд╣реИ, рд╕рдЪ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред
GUI.BeginGroup
, GUI.EndGroup
static void BeginGroup (Rect position); static void EndGroup ();
рдХрд┐рд╕реА gooey рдХреЗ рддрддреНрд╡реЛрдВ рдХрд╛ рд╕рдореВрд╣рди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрди рд╕реАрдорд╛рдУрдВ рдХреЛ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдХреНрд░реАрди рдХреА рд╕реАрдорд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рдЖрдпрдд)ред
- рджрд┐рд▓
рдЖрдЗрдП рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рджреГрд╢реНрдп рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕ рдкрд░ рдПрдХ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдореЗрдиреВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореЗрдиреВ рджреГрд╢реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛рддреНрд░рд╛ рдХрд░реЗрдЧрд╛ (рдЬрдм рдПрдХ рдФрд░ рджреГрд╢реНрдп рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ (рдореЗрдиреВ рдмрдЯрди рдХреА рддрд░рд╣), рдЬрдм рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЧреЗрдо рд╕реНрдХреНрд░реАрди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдбреНрд░рд╛ рдХрд░реЗрдВред
- рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
public class MenuScript : MonoBehaviour { public Texture2D backgroundTexture;
рдЦреЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдореБрдЦреНрдп рдореЗрдиреВ3.2 рд╣рдо рд▓реЛрдбрд┐рдВрдЧ / рд╕реЗрд╡рд┐рдВрдЧ рдХрд╛ рдореЗрдиреВ рдмрдирд╛рддреЗ рд╣реИрдВ
DrawSaveLoadMenu () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм menutype> 0, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдЪреВрдХ рдХреЛ рдареАрдХ рдХрд░реЛред рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдмрд╕ рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдореЗрдиреВ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЛрдб / рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреИрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред
- рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╕рдВрджрд░реНрдн
GUI.SelectionGrid
- рдмрдЯрди рдХрд╛ рдПрдХ рдЧреНрд░рд┐рдб рдЦреАрдВрдЪрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рдПрдХрд▓ GUI.SelectionGrid
ред рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣рдореЗрд╢рд╛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЪрдпрдирд┐рдд рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
static int SelectionGrid (Rect position , int defaultSelected, Texture[] images, int elsInRow); static int SelectionGrid (Rect position , int defaultSelected, string[] texts, int elsInRow);
рдорд╛рддреНрд░рд╛ - рд╕рдВрдЪрд░рд┐рдд рд╕рд░рдгреА рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреБрдЫ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛:
public int selGridInt = 0;
- рджрд┐рд▓
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП - рд╣рдореЗрдВ рдПрдХ рдмрд╛рд░ рдЪреБрдирдиреЗ рдФрд░ рддреБрд░рдВрдд рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди SelectionGrid рдЪреБрдкрдЪрд╛рдк рдПрдХ рдЧрдВрджреЗ рд╣реИрдХ рдЦрд╛рддреА рд╣реИ - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░рдгреА рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХред рдпрд╛рдиреА рд╣рдо рд╣рдореЗрд╢рд╛ рдкрд╛рд╕ рд╣реЛрдВрдЧреЗ, рдХрд╣рддреЗ рд╣реИрдВ -1 рдФрд░ рдлрд┐рд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд▓рд┐рдХ рдИрд╡реЗрдВрдЯ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
public const int slotsAmount = 10;
SelectionGrid рдкрд░ рд▓реЛрдб рдореЗрдиреВ - рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╣реЗрдЬреЗрдВ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИрдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдореБрдЦреНрдп рдмрд╛рдд рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдмреВрдЯ рдореЗрдиреВ рдореЗрдВ, рдиреЙрди-рд╕реЗрд╡рд┐рдВрдЧ рд╕реНрд▓реЙрдЯ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдХреНрд░рд┐рдп рд░рд╣рддреЗ рд╣реИрдВ - рд╡реЗ рдХреЗрд╡рд▓ рдмрдирд╛рд╡рдЯ рдХреА рдХрдореА рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╣реЛрд╡рд░ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдмреЛрдирд╕ рд╣реИрдВрдбрд▓ рдХреЗ рд╕рд╛рде рдЧреНрд░рд┐рдб рд╣реИ, рдирд┐рд╖реНрдХреНрд░рд┐рдп рдмрдЯрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп рд╣рдо рд╕рдХреНрд░рд┐рдп рдмрдЯрди рдХреЗ рд▓рд┐рдП рдмреЙрдХреНрд╕ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЙрд╕реА рд╕рдордп, рд╣рдо рд░рдмрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рд╕реНрд▓реЙрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рд╕реНрд▓реЙрдЯреНрд╕ рдХрд╛ рдЖрдХрд╛рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдпрд╣рд╛рдВ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪреМрдХреЛрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдордирдорд╛рдирд╛ рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ :) рдареАрдХ рд╣реИ, рдЙрд╕реА рд╕рдордп,
GUILayout рд╕реЗ рдиреНрдпреВрдирддрдо / рдЕрдзрд┐рдХрддрдо рдЪреМрдбрд╝рд╛рдИ / рдКрдВрдЪрд╛рдИ рдФрд░ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред
public const int slotsAmount = 10; public const int hN = 5; public const int margin = 20; static private int vN = (int)Mathf.Ceil((float)slotsAmount/hN); private Texture2D[] saveTexture = new Texture2D[slotsAmount]; private int slotSize = ((Screen.width*vN)/(Screen.height*hN) >= 1) ? Screen.height/(vN + 2) : Screen.width/(hN + 2); private void drawSaveLoadMenu(){ GUI.BeginGroup (new Rect ( Screen.width / 2 - (slotSize*hN - margin) / 2, Screen.height / 2 - (slotSize*vN - margin) / 2, slotSize*hN - margin, slotSize*vN + 40)); for (int j = 0; j < vN; j++) for (int i = 0, curr = j*hN; (curr = j*hN + i) < slotsAmount; i++){ if (menutype == 2 && saveTexture[curr] == null) GUI.Box(new Rect(slotSize*i, slotSize*j, slotSize - margin, slotSize - margin), ""); else if(GUI.Button(new Rect(slotSize*i, slotSize*j, slotSize - margin, slotSize - margin), saveTexture[curr])){ if (menutype == 1) savestuff(curr); else if (menutype == 2) loadstuff (curr); } } if(GUI.Button(new Rect(slotSize*hN/2 - 100, slotSize*vN , 200, 30) , "Back")) menutype = 0; GUI.EndGroup(); }
рдмрдЯрди рдФрд░ рдмреЙрдХреНрд╕ рдкрд░ рд▓реЛрдб рдореЗрдиреВ - рдЕрдм рдЦрд╛рд▓реА рд╕реНрд▓реЙрдЯ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВ3.3 рдмрдирд╛рд╡рдЯ, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ
рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╕реЗ рд╣рдо рдЕрдкрдирд╛ рдореЗрдиреВ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рддрдм рддрдХ рд╣рдо рдЯреЗрдХреНрд╕рдЪрд░ рдХреА рдПрдХ рд╕рд░рдгреА рд░рдЦреЗрдВрдЧреЗред рдЗрд╕рдореЗрдВ рдереЛрдбрд╝реА рдореЗрдореЛрд░реА рд▓рдЧрддреА рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рддреБрд░рдВрдд рдПрдХреНрд╕реЗрд╕ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣рд╛рдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ - рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ onGUI () рдореЗрдВ рди рдзрдХреЗрд▓реЗрдВред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдЕрдкрдирд╛ рдореЗрдиреВ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдо рдПрдХ рд╕рд░рдгреА рднреА рдмрдирд╛рддреЗ рд╣реИрдВ:
private Texture2D[] saveTexture = new Texture2D[slotsAmount];
рд╣рдо рди рдХреЗрд╡рд▓ рдмрдЪрдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрдЪрд╛рдПрдВрдЧреЗ, рдмрд▓реНрдХрд┐
рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдирдХрд╛рд░реА
рджреЗрдВрдЧреЗ , рдпрд╛ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд╕реНрд▓реЙрдЯ рдореЗрдВ рдмрдЪрдд рд╣реЛрддреА рд╣реИред рд╕реНрдЯреЛрд░ рдХреИрд╕реЗ рдХрд░реЗрдВ - рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд▓реЙрдЯ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ 0/1 рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, 0/1 рд╕реЗ рдПрдХ рд▓рд╛рдЗрди рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдмрджрд╕реВрд░рдд рдХрд░ рджреЗрдВрдЧреЗ :) рдФрд░ рдЗрдВрдЯ рдореЗрдВ рдмрд┐рдЯ рд╡реЗрдХреНрдЯрд░ рд▓реЗрддреЗ рд╣реИрдВред рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдФрд░ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдмрд╛рдж рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдЬрдмрдХрд┐ рд╣рдо рд╕рд┐рд░реНрдл рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ ():
int gS = PlayerPrefs.GetInt("gamesSaved"); for (int i = 0; i < slotsAmount && gS > 0; i++, gS/=2) if (gS%2 != 0){ saveTexture[i] = new Texture2D(Screen.width/4, Screen.height/4);
рдЦреИрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдХреИрд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛рдП?
Application.CaptureScreenshot
рд╡рд┐рдХрд▓реНрдк
Application.CaptureScreenshot
, рд▓реЗрдХрд┐рди рдЕрднреА рджреЛ рддрд░рдХреАрдмреЗрдВ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡реЗ рдкреВрд░реНрдг рдЖрдХрд╛рд░ рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдердВрдмрдиреЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣ рддреБрд░рдВрдд рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред рджреВрд╕рд░реА рдмрд╛рдд, рд╣рдо рдПрдХ рдЧреНрд░рдиреНрде рдХреА рдПрдХ рд╕рд╛рд░рдгреА рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕реЗ рдбрд┐рд╕реНрдХ рд╕реЗ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛? рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдмрд╛рдж рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Coroutine рдореЗрдВ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ:
IEnumerator readScreen(int i){ yield return new WaitForEndOfFrame();
рдПрдХ рдЕрдкреНрд░рд┐рдп рдЕрдирд╕реБрд▓рдЭреЗ рдХреНрд╖рдг - рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рд╕реЗ рдмрдирд╛рд╡рдЯ рдФрд░ рдбрд┐рд╕реНрдХ рд╕реЗ рд▓реЛрдб рдХреА рдЧрдИ рдмрдирд╛рд╡рдЯ рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред
рдкрд┐рдЫрд▓реЗ рд╕рддреНрд░ рд╕реЗ рдбрд┐рд╕реНрдХ рдХреЗ рджрд╛рдИрдВ рдУрд░ рджреЛ, рдиреАрдЪреЗ рдбрд┐рд╕реНрдХ рдкрд░ рджреЛ:

3.4 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдмрдЪрд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ
рддреЛ, рдпрд╣ рднреВрд╕реА рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИред рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ GUI рдХреЗ рд╕рд╛рде рдиреНрдпреВрдирддрдо рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдПрдХ рд╕рд░рд▓ рдореЗрди рдореЗрдиреВ, рд╕реЗрд╡ / рд▓реЛрдб рдореЗрдиреВ рдмрдирд╛рдпрд╛, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрд╛ред
рджреГрд╢реНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬрд┐рд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣рдо рд╕рд╣реЗрдЬреЗрдВрдЧреЗ рдФрд░ рд╣рдорд╛рд░реЗ рдореЗрдиреВ?
1. рдпрджрд┐ рд╣рдо рдкрд╣рд▓реЗ рджреГрд╢реНрдп рд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕реА рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЕрд╡рд┐рдирд╛рд╢реА рдХреЛ рдЖрдЧреЗ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦрд┐рд▓рд╛рдбрд╝реА, рдЙрд╕рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдЙрдкрдХрд░рдг), рддреЛ рдЖрдк рддреБрд░рдВрдд рдПрдХ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред2. GameObject.Find
рдФрд░ GameObject.FindWithTag
рдпрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рд╢рд░реНрдо рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ - рд▓реЛрдбрд┐рдВрдЧ / рд╕реЗрд╡рд┐рдВрдЧ рдПрдХ рдмрд╛рд░ рдХреА рдШрдЯрдирд╛ рд╣реИред рдЖрдк рд╕реАрдзреЗ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЪреВрдВрдХрд┐ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ - рдлрд┐рд░, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреГрд╢реНрдп рдХреЛ рдЦреБрдж рд╣реА рд╕рд╣реЗрдЬ / рд▓реЛрдб рдХрд░ рджреЗрдЧреА, рдпрд╣рд╛рдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд╢реНрдпрдХ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рд▓рд┐рдВрдХ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред3. <рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рдЬрдЧрд╣ рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо, рд╕реБрдЭрд╛рд╡! >
рдЗрд╕ рдмреАрдЪ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╣рдо рдХреЗрд╡рд▓ рджреГрд╢реНрдп рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдПрдВрдЧреЗред рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдПрдХ рдкреНрд░рдердо-рд╡реНрдпрдХреНрддрд┐ рджреГрд╢реНрдп рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдПрдХ рдХреИрдорд░рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИредрдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдо рдкрд╣реБрдВрдЪ рдкрд╛рдПрдВрдЧреЗред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдпрд╣ рд╕рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ // рд▓реЗрдмрд▓ рдХреА рдЧрдИ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╣реИ! рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдмрд╛рдХреА рд╣рдордиреЗ рдКрдкрд░ рд▓рд┐рдЦреЗ рдХреЛрдб рд╕реЗ рдмрдВрдзрд╛ рд╣реИред void savegame(int i) { PlayerPrefs.SetInt("slot" + i + "_Lvl", Application.loadedLevel);
рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЖрдкрдХреЛ рдЕрднреА рднреА рдЗрд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХреИрдорд░рд╛ рдХреЛ рдореЗрдиреВ рдореЛрдб рдореЗрдВ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдкрд░рд┐рдгрд╛рдо рдЙрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИредрдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реИред рд╣рдо рдлрд┐рд░ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рднреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕реМрдВрдкрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕реЗ рд╕реАрдзреЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдмрд╕ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрддрд░ рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рд╡реЗ рдХрд┐рд╕реА рддрд░рд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ :) void loadgame(int i) { if (gameMode)
рдЕрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреИрдорд░реЛрдВ рдХреЛ рд▓рдЯрдХрд╛рдПрдВрдЧреЗ: public class Interface : MonoBehaviour { private Transform CurrentPlayerPosition; public virtual void Start () { int load = PlayerPrefs.GetInt("Load");
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ "рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЕрдкрдиреЗ рджрдо рдкрд░ рдЖрдЧреЗ" рдЪрд╛рд▓рд╛рдХ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдбрд┐рдЧреНрд░реА рдереА: рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓реЛрдбрдЧреЗрдо () рдореЗрдиреВ рдФрд░ рд▓реЛрдб () рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛, рдХреЗрд╡рд▓ рдПрдХ рдЬреНрдЮрд╛рдд рд╕реНрдерд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ - рд░рдЬрд┐рд╕реНрдЯреНрд░реАред рд╡рд╣рд╛рдБ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП - рдЪрд╛рд▓ рднреА рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЙрд▓ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (), рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ - рдореЗрдиреВ рдореЗрдВ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рд░рдЦреЗрдВ, рдФрд░ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рд╛рд░рдВрдн () рдореЗрдВ рдореЗрдиреВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЛрдЬ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВредрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ред
рдирд┐рд░реНрдорд┐рдд рдореВрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рджреГрд╢реНрдпреЛрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЛрдЯреЗрд╢рди рдХреЛ рдмрдЪрд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк: public class InterfaceWAng : Interface { public override void Start () { base.Start(); } public override void save(int i) { base.save(i); PlayerPrefs.SetFloat("slot" + i + "_AngX", CurrentPlayerPosition.eulerAngles.x); PlayerPrefs.SetFloat("slot" + i + "_AngY", CurrentPlayerPosition.eulerAngles.y); } public override void load(int i) { base.load(i); Vector3 PlayerDirection = new Vector3(PlayerPrefs.GetFloat("slot" + i + "_AngX"), PlayerPrefs.GetFloat("slot" + i + "_AngY"), 0); CurrentPlayerPosition.eulerAngles = PlayerDirection; } }
рдмреЗрд╢рдХ, рд╕рдВрд░рдХреНрд╖рдг рдпрд╣рд╛рдБ рдХрд╛рдо рдЖрдпрд╛ рд╣реЛрдЧрд╛ред рдЪреВрдВрдХрд┐ PlayerPrefs рдХреЗ рд╕рд╛рде рд╕рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрд╡ () / рд▓реЛрдб () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдХрд┐рд╕ рд▓рд┐рдП? рдЖрдк рднрд╛рдЧ 2 рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдорд╛рди рдкрд░рд╛рд╡рд░реНрддрдХ рд╡рд░реНрдЧ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдЗрдирд░реАрд╕реЗрд░рд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдкреЗрдВрдЪ рдХрд░рдирд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SQLiteред рд╕рдЪ рд╣реИ, рдЕрдлрд╡рд╛рд╣реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рд╢рд╛рд░реНрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЕрдВрддрддрдГ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреМрди рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЖрдк рдпрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред
рдЗрд╕ рдкрд╛рда рдиреЗ рдХрднреА рднреА рдмрд┐рдирд╛рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛрддрд╛: googledocs.unity3d.comwiki.unity3d.comforum.unity3d.comanswers.unity3d.comstackoverflow.comрдФрд░ рд╣рдмреНрд░ред рдЙрдирдХреЛ рдзрдиреНрдпрд╡рд╛рджредрдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХрд┐рд╕реА рдХреЛ рдлрд╛рдпрджрд╛ рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛, рдФрд░ рдХрд┐рд╕реА рдХреЛ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ :)