Isokan jẹ pẹpẹ ti o ti wa ni ayika fun igba diẹ ati pe o n dagba nigbagbogbo. Sibẹsibẹ, nigba ṣiṣẹ ninu rẹ pẹlu awọn iṣẹ akanṣe pupọ ni akoko kanna, o tun le ba pade awọn iṣoro ni lilo awọn orisun ti o wọpọ (.cs), awọn ile-ikawe (.dll) ati awọn ohun-ini miiran (awọn aworan, awọn ohun, awọn awoṣe, awọn iṣaaju). Ninu nkan yii a yoo sọrọ nipa iriri wa pẹlu ojutu abinibi si iru iṣoro kan fun Isokan.
Awọn ọna Pipin Awọn orisun Pipin
Ọna ju ọkan lọ lati lo awọn orisun pinpin fun awọn iṣẹ akanṣe oriṣiriṣi, ṣugbọn ọna kọọkan ni awọn anfani ati alailanfani rẹ.
1. Idapọ - a ṣe ẹda awọn orisun laarin awọn iṣẹ akanṣe “nipa ọwọ.”
Aleebu:
- Dara fun gbogbo awọn orisi ti oro.
- Ko si awọn iṣoro igbẹkẹle.
- Ko si awọn iṣoro pẹlu awọn GUID dukia.
Konsi:
- Awọn ibi ipamọ nla.
- Ko si seese ti ikede.
- Awọn iyipada ipasẹ iṣoro si awọn orisun ti a pin.
- Iṣoro lati ṣe imudojuiwọn awọn orisun pinpin.
2.
Aleebu:
- O le ṣiṣẹ pẹlu awọn orisun.
- O le pin awọn ohun-ini.
- Ko si awọn iṣoro igbẹkẹle.
Konsi:
- Iriri Git nilo.
- Git kii ṣe ọrẹ pupọ pẹlu awọn faili alakomeji - iwọ yoo ni lati sopọ LFS.
- Iṣakoso wiwọle fun awọn ibi ipamọ.
- Iṣoro pẹlu iṣagbega ati idinku awọn ẹya.
- Awọn ijamba GUID ṣee ṣe ati pe ko si ihuwasi ti o han gbangba ni apakan Isokan lati yanju wọn.
3. NuGet - pinpin pinpin awọn ile-ikawe nipasẹ awọn idii NuGet.
Aleebu:
- Irọrun iṣẹ pẹlu awọn ise agbese ti ko da lori isokan.
- Irọrun ti ikede ati ipinnu igbẹkẹle.
Konsi:
- Iṣọkan ko le ṣiṣẹ pẹlu awọn idii NuGet jade kuro ninu apoti (lori GitHub o le wa Oluṣakoso Package NuGet fun Isokan, eyiti o ṣe atunṣe eyi, ṣugbọn awọn nuances kan wa).
- Awọn iṣoro ni pinpin awọn iru ohun-ini miiran.
4. Unity Package Manager - pinpin awọn ohun elo ti a pin nipasẹ ojutu abinibi fun Isokan.
Aleebu:
- Ni wiwo abinibi fun ṣiṣẹ pẹlu awọn idii.
- Idaabobo lodi si atunkọ awọn faili .meta ni awọn akojọpọ nitori awọn ija GUID.
- O ṣeeṣe ti ikede.
- Agbara lati pin gbogbo iru awọn orisun fun Isokan.
Konsi:
- Awọn ija GUID tun le waye.
- Ko si iwe fun imuse.
Ọna igbehin ni awọn anfani diẹ sii ju awọn alailanfani lọ. Sibẹsibẹ, kii ṣe olokiki pupọ ni bayi nitori aini iwe, ati nitorinaa a yoo gbe lori rẹ ni awọn alaye.
Unity Package Manager
Alakoso Iṣọkan Iṣọkan (UPM) jẹ irinṣẹ iṣakoso package kan. O ti ṣafikun ni isokan 2018.1 ati pe a lo fun awọn idii nikan ti o dagbasoke nipasẹ Awọn Imọ-ẹrọ Unity. Sibẹsibẹ, bẹrẹ pẹlu ẹya 2018.3, o ṣee ṣe lati ṣafikun awọn idii aṣa.
Isokan Package Manager Interface
Awọn idii ko pari ni awọn orisun ise agbese (Liana Awọn ohun-ini). Wọn ti wa ni lọtọ liana %projectFolder%/Library/PackageCache
ati pe ko ni ipa lori iṣẹ akanṣe ni eyikeyi ọna, mẹnukan wọn nikan ninu koodu orisun wa ninu faili naa packages/manifest.json
.
Awọn idii ninu eto faili ise agbese
Awọn orisun idii
UPM le lo ọpọlọpọ awọn orisun package:
1. Faili eto.
Aleebu:
- Iyara ti imuse.
- Ko nilo awọn irinṣẹ ẹnikẹta.
Konsi:
- Iṣoro ni ti ikede.
- Wiwọle pinpin si eto faili ni a nilo fun gbogbo eniyan ti n ṣiṣẹ pẹlu iṣẹ akanṣe naa.
2. Git ibi ipamọ.
Aleebu:
- Gbogbo ohun ti o nilo ni ibi ipamọ Git kan.
Konsi:
- O ko le yipada laarin awọn ẹya nipasẹ window UPM.
- Ko ṣiṣẹ pẹlu gbogbo awọn ibi ipamọ Git.
3. npm ibi ipamọ.
Aleebu:
- Ṣe atilẹyin iṣẹ ṣiṣe UPM ni kikun ati pe o lo lati kaakiri awọn idii Iṣọkan osise.
Konsi:
- Lọwọlọwọ kọju gbogbo awọn ẹya okun ti awọn idii ayafi “-awotẹlẹ”.
Ni isalẹ a yoo wo imuse UPM + npm. Lapapo yii rọrun nitori pe o gba ọ laaye lati ṣiṣẹ pẹlu eyikeyi iru orisun ati ṣakoso awọn ẹya package, ati tun ṣe atilẹyin ni kikun wiwo UPM abinibi.
O le lo bi ibi ipamọ npm kan
Ṣiṣeto ayika
Ni akọkọ o nilo lati fi sori ẹrọ
Ṣiṣẹda package
Lati ṣẹda package, o nilo lati gbe faili naa package.json
, eyi ti yoo ṣe apejuwe rẹ, si itọsọna pẹlu awọn akoonu ti package yii. O nilo lati ṣe awọn wọnyi:
Lọ si itọsọna iṣẹ akanṣe ti a fẹ ṣe package kan.
Ṣiṣe aṣẹ npm init ki o tẹ awọn iye ti o nilo lakoko ibaraẹnisọrọ naa. Fun orukọ, pato orukọ naa ni ọna kika agbegbe, fun apẹẹrẹ com.plarium.somepackage.
Lati ṣe afihan orukọ package ni irọrun, ṣafikun ohun-ini ifihanName si package.json ki o kun.
Niwọn igba ti npm jẹ js-Oorun, faili naa ni akọkọ ati awọn ohun-ini awọn iwe afọwọkọ ti a ko nilo, eyiti Isokan ko lo. O dara lati yọ wọn kuro ki o má ba ṣe clutter apejuwe package. Faili yẹ ki o dabi nkan bi eyi:
- Lọ si itọsọna iṣẹ akanṣe ti a fẹ ṣe package kan.
- Ṣiṣe aṣẹ npm init ki o tẹ awọn iye ti o nilo lakoko ibaraẹnisọrọ naa. Fun orukọ, pato orukọ naa ni ọna kika agbegbe, fun apẹẹrẹ com.plarium.somepackage.
- Lati ṣe afihan orukọ package ni irọrun, ṣafikun ohun-ini ifihanName si package.json ki o kun.
- Niwọn igba ti npm jẹ js-Oorun, faili naa ni akọkọ ati awọn ohun-ini awọn iwe afọwọkọ ti a ko nilo, eyiti Isokan ko lo. O dara lati yọ wọn kuro ki o má ba ṣe clutter apejuwe package. Faili yẹ ki o dabi nkan bi eyi:
{ "name": "com.plarium.somepackage", "displayName": "Some Package", "version": "1.0.0", "description": "Some Package Description", "keywords": [ "Unity", "UPM" ], "author": "AUTHOR", "license": "UNLICENSED" }
- Ṣii Iṣọkan ati ṣe ina faili .meta kan fun package.json (Iṣọkan ko rii awọn ohun-ini laisi awọn faili .meta, awọn idii fun Iṣọkan ti ṣii kika-nikan).
Fifiranṣẹ package kan
Lati fi package ranṣẹ o nilo lati ṣiṣẹ aṣẹ naa: npm publish --registry *адрес до хранилища пакетов*
.
Fifi ati imudojuiwọn awọn idii nipasẹ Unity Package Manager
Lati ṣafikun package kan si iṣẹ akanṣe Iṣọkan, o nilo:
- Fikun-un si faili
manifest.json
alaye nipa awọn orisun ti awọn idii. Lati ṣe eyi o nilo lati ṣafikun ohun-ini naascopedRegistries
ati tọkasi awọn aaye ati adirẹsi orisun nibiti awọn aaye kan pato yoo wa."scopedRegistries": [ { "name": "Main", "url": "адрес до хранилища пакетов", "scopes": [ "com.plarium" ] } ]
- Lọ si Iṣọkan ati ṣii window Oluṣakoso Package (ṣiṣẹ pẹlu awọn idii aṣa ko yatọ si ṣiṣẹ pẹlu awọn ti a ṣe sinu).
- Yan Gbogbo Awọn akopọ.
- Wa package ti o nilo ki o ṣafikun.
Ṣiṣẹ pẹlu awọn orisun ati n ṣatunṣe aṣiṣe
Ni ibere fun awọn orisun lati wa ni asopọ si ise agbese, o nilo lati ṣẹda
Lilo awọn idii ko ṣe idinwo awọn aṣayan n ṣatunṣe aṣiṣe rẹ. Sibẹsibẹ, nigba ṣiṣẹ pẹlu awọn idii ni Isokan, o ko le lọ si IDE nipa tite lori aṣiṣe ninu console ti aṣiṣe ba waye ninu package. Eyi jẹ nitori otitọ pe isokan ko rii awọn iwe afọwọkọ bi awọn faili lọtọ, nitori nigba lilo Itumọ Apejọ wọn gba sinu ile-ikawe kan ati pe o wa ninu iṣẹ naa. Nigbati o ba n ṣiṣẹ pẹlu awọn orisun lati iṣẹ akanṣe kan, titẹ si IDE wa.
Iwe afọwọkọ ninu iṣẹ akanṣe kan pẹlu package ti o sopọ:
Iwe afọwọkọ lati inu package pẹlu aaye isinmi ti n ṣiṣẹ:
Awọn atunṣe kiakia si awọn idii
Awọn idii isokan ti a ṣafikun si iṣẹ akanṣe kan jẹ kika-nikan, ṣugbọn o le ṣatunkọ ni kaṣe package. Lati ṣe eyi o nilo:
- Lọ si package ni kaṣe package.
- Ṣe awọn pataki ayipada.
- Ṣe imudojuiwọn ẹya ninu faili
package.json
. - Firanṣẹ package
npm publish --registry *адрес до хранилища пакетов*
. - Ṣe imudojuiwọn ẹya package si ọkan ti a ṣe atunṣe nipasẹ wiwo UPM.
Awọn ija agbewọle akopọ
Awọn ija GUID wọnyi le waye nigba gbigbe awọn akojọpọ wọle:
- Package - package. Ti, nigbati o ba n gbe package wọle, o ṣe awari pe awọn idii ti a ṣafikun tẹlẹ ni awọn ohun-ini pẹlu GUID kanna, awọn ohun-ini pẹlu awọn GUIDs ti o baamu lati package ti a ko wọle ko ni ṣafikun si iṣẹ akanṣe naa.
- Apo jẹ iṣẹ akanṣe kan. Ti, nigbati o ba n gbe apoti wọle, o ṣe awari pe iṣẹ akanṣe naa ni awọn ohun-ini pẹlu awọn GUID ti o baamu, lẹhinna awọn ohun-ini lati package kii yoo ṣafikun si iṣẹ naa. Sibẹsibẹ, awọn ohun-ini ti o dale lori wọn yoo bẹrẹ lilo awọn ohun-ini lati inu iṣẹ naa.
Gbigbe awọn ohun-ini lati iṣẹ akanṣe kan si package kan
Ti o ba gbe ohun-ini kan lati iṣẹ akanṣe kan si package lakoko ti Isokan wa ni sisi, iṣẹ ṣiṣe rẹ yoo wa ni fipamọ, ati awọn ọna asopọ ni awọn ohun-ini ti o gbẹkẹle yoo bẹrẹ lati lo dukia lati package.
pataki: Nigbati o ba n daakọ dukia kan lati inu iṣẹ akanṣe kan si package, rogbodiyan “Package - Project” ti a ṣalaye ni apakan loke yoo waye.
Awọn ojutu ti o ṣeeṣe si awọn ija
- Ṣiṣe atunto awọn GUID ni lilo awọn algoridimu tiwa nigba gbigbe gbogbo ohun-ini wọle lati yọkuro awọn ikọlu.
- Ṣafikun gbogbo awọn ohun-ini si iṣẹ akanṣe kan lẹhinna pin wọn si awọn idii.
- Ṣiṣẹda aaye data ti o ni awọn GUID ti gbogbo awọn ohun-ini ati ṣiṣe afọwọsi nigba fifiranṣẹ awọn idii.
ipari
UPM jẹ ojutu tuntun fun pinpin awọn orisun pinpin ni Isokan, eyiti o le jẹ yiyan ti o yẹ si awọn ọna ti o wa tẹlẹ. Awọn iṣeduro ti a ṣalaye ninu nkan naa da lori awọn ọran gidi. A nireti pe o rii wọn wulo.
orisun: www.habr.com