Unity Package Manager

Umodzi ndi nsanja yomwe yakhalapo kwa nthawi yayitali ndipo ikusintha mosalekeza. Komabe, mukamagwira ntchito ndi mapulojekiti angapo nthawi imodzi, mutha kukumanabe ndi zovuta kugwiritsa ntchito magwero wamba (.cs), malaibulale (.dll) ndi katundu wina (zithunzi, mawu, zitsanzo, zoyambira). M'nkhaniyi, tikambirana zomwe takumana nazo ndi yankho lachibadwidwe ku vuto la Unity.

Unity Package Manager

Njira Zogawa Zothandizira Zogawana

Pali njira zingapo zogwiritsira ntchito zinthu zomwe zimagawidwa pama projekiti osiyanasiyana, koma njira iliyonse ili ndi zabwino ndi zoyipa zake.

1. Kubwereza - "ndi dzanja" timabwereza zinthu pakati pa mapulojekiti.

Zotsatira:

  • Zoyenera pazinthu zamtundu uliwonse.
  • Palibe nkhani zodalira.
  • Palibe vuto ndi ma GUIDs.

Wotsatsa:

  • Zosungira zazikulu.
  • Palibe njira yosinthira.
  • Kuvuta kutsatira kusintha kwa zinthu zomwe zimagawidwa.
  • Kuvuta kukonzanso zothandizira zomwe zimagawidwa.

2. Ma submodule a Git - kugawa zinthu zomwe zimagawidwa kudzera m'ma submodule akunja.

Zotsatira:

  • Mutha kugwira ntchito ndi magwero.
  • Mutha kugawa katundu.
  • Palibe nkhani zodalira.

Wotsatsa:

  • Maluso a Git amafunikira.
  • Git siwochezeka kwambiri ndi mafayilo amabina - muyenera kuphatikiza LFS.
  • Kuwongolera kofikira kwa nkhokwe.
  • Zovuta kukweza ndi kutsitsa.
  • Kuwombana kwa GUID ndikotheka ndipo palibe khalidwe lodziwika bwino la Unity kuti liwathetse.

3. NuGet - kugawa malaibulale omwe amagawidwa kudzera mu phukusi la NuGet.

Zotsatira:

  • Ntchito yabwino ndi ntchito zomwe sizidalira Unity.
  • Kusintha kwabwino komanso kudalira kudalira.

Wotsatsa:

  • Umodzi sudziwa momwe ungagwirire ntchito ndi phukusi la NuGet kunja kwa bokosi (mutha kupeza NuGet Package Manager for Unity pa GitHub, yomwe imakonza izi, koma pali ma nuances).
  • Zovuta pakugawira mitundu ina ya katundu.

4. Unity Package Manager - kugawa zinthu zomwe zimagawidwa kudzera mu njira yachilengedwe ya Unity.

Zotsatira:

  • Native mawonekedwe ntchito ndi phukusi.
  • Chitetezo pakulembanso mafayilo a .meta mumapaketi ngati pali mikangano ya GUID.
  • Kuthekera komasulira.
  • Kutha kugawa mitundu yonse yazinthu za Umodzi.

Wotsatsa:

  • Mikangano ya GUID ikhoza kuchitikabe.
  • Palibe zolemba za kukhazikitsa.

Njira yotsirizirayi ili ndi ubwino wambiri kuposa kuipa. Komabe, sizodziwika kwambiri tsopano chifukwa cha kusowa kwa zolemba, choncho tidzakambirana mwatsatanetsatane.

Unity Package Manager

Unity Package Manager (yomwe imatchedwa UPM) ndi chida chowongolera phukusi. Idawonjezedwa mu Unity 2018.1 ndipo idangogwiritsidwa ntchito pamaphukusi opangidwa ndi Unity Technologies. Komabe, kuyambira ndi mtundu wa 2018.3, zidakhala zotheka kuwonjezera mapaketi achikhalidwe.

Unity Package Manager
Unity Package Manager Interface

Maphukusi samathera m'magawo a polojekiti (Katundu wazinthu). Iwo ali mu chikwatu osiyana. %projectFolder%/Library/PackageCache ndipo osakhudza pulojekitiyi mwanjira iliyonse, kutchulidwa kwawo kokha mu code source ili mu fayilo packages/manifest.json.

Unity Package Manager
Phukusi mu fayilo ya polojekiti

Zochokera phukusi

UPM ikhoza kugwiritsa ntchito magwero angapo:

1. Fayilo dongosolo.

Zotsatira:

  • Liwiro lokhazikitsa.
  • Sipafuna zida za gulu lina.

Wotsatsa:

  • zovuta zomasulira.
  • Kugawana nawo mafayilo kumafunikira kwa aliyense amene amagwira ntchito ndi polojekitiyi.

2. Git posungira.

Zotsatira:

  • Zomwe mukufunikira ndi malo a Git.

Wotsatsa:

  • Simungathe kusintha pakati pa mitundu kudzera pawindo la UPM.
  • Sichigwira ntchito ndi nkhokwe zonse za Git.

3. npm posungira.

Zotsatira:

  • Imathandizira kwathunthu magwiridwe antchito a UPM ndipo imagwiritsidwa ntchito kugawira phukusi lovomerezeka la Unity.

Wotsatsa:

  • Pakadali pano amanyalanyaza mitundu yonse yamapaketi kupatula "-preview".

Tiwona kukhazikitsa kwa UPM + npm pansipa. Mtolo uwu ndiwosavuta chifukwa umakupatsani mwayi wogwira ntchito ndi mtundu uliwonse wazinthu ndikuwongolera mitundu ya phukusi, komanso imathandizira mawonekedwe amtundu wa UPM.

Monga npm posungira, mutha kugwiritsa ntchito Verdaccio. Lili ndi mwatsatanetsatane zolemba, ndipo zimatengera kwenikweni malamulo angapo kuti muyendetse.

Kukonzekera kwa chilengedwe

Choyamba muyenera kukhazikitsa node.js.

Pangani phukusi

Kuti mupange phukusi, muyenera kuyika fayilo package.json, zomwe zidzafotokoze, ku bukhuli ndi zomwe zili mu phukusili. Muyenera kuchita izi:

Pitani ku chikwatu cha polojekiti yomwe tikufuna kupanga phukusi.

Thamangani npm init command ndikulowetsa zofunikira pazokambirana. Kwa dzina, tchulani dzinalo mumtundu wa reverse domain, mwachitsanzo, com.plarium.somepackage.
Kuti muwonetse bwino dzina la phukusi, onjezani katundu wa displayName ku package.json ndikudzaza.

Popeza npm ndi js-oriented, fayilo ili ndi zinthu zazikulu ndi zolemba zomwe sitikusowa, zomwe Unity sagwiritsa ntchito. Ndi bwino kuwachotsa kuti musatseke kufotokoza kwa phukusi. Fayilo iyenera kuwoneka motere:

  1. Pitani ku chikwatu cha polojekiti yomwe tikufuna kupanga phukusi.
  2. Thamangani npm init command ndikulowetsa zofunikira pazokambirana. Kwa dzina, tchulani dzinalo mumtundu wa reverse domain, mwachitsanzo, com.plarium.somepackage.
  3. Kuti muwonetse bwino dzina la phukusi, onjezani katundu wa displayName ku package.json ndikudzaza.
  4. Popeza npm ndi js-oriented, fayilo ili ndi zinthu zazikulu ndi zolemba zomwe sitikusowa, zomwe Unity sagwiritsa ntchito. Ndi bwino kuwachotsa kuti musatseke kufotokoza kwa phukusi. Fayilo iyenera kuwoneka motere:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. Tsegulani Unity ndikupanga fayilo ya .meta ya package.json (Umodzi suwona katundu wopanda mafayilo a .meta, mapaketi a Unity amatsegula kuwerenga kokha).

Kutumiza phukusi

Kuti mutumize phukusi, muyenera kuyendetsa lamulo: npm publish --registry *адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²*.

Kuyika ndi kukonzanso phukusi kudzera mu Unity Package Manager

Kuti muwonjezere phukusi ku polojekiti ya Unity, muyenera:

  1. Lembani ku fayilo manifest.json zambiri za gwero la phukusi. Kuti muchite izi, muyenera kuwonjezera katundu scopedRegistries ndikuwonetsa makulidwe ndi adilesi ya gwero lomwe magawo ena adzafufuzidwa.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. Pitani ku Umodzi ndikutsegula zenera la Package Manager (kugwira ntchito ndi phukusi lachikhalidwe sikusiyana ndi kugwira ntchito ndi zomangidwa).
  3. Sankhani Maphukusi Onse.
  4. Pezani phukusi lofunikira ndikuwonjezera.

Unity Package Manager

Kugwira ntchito ndi magwero ndi kukonza zolakwika

Kuti magwero agwirizane ndi polojekitiyi, muyenera kupanga Msonkhano Tanthauzo za paketi.

Kugwiritsa ntchito mapaketi sikuchepetsa kuchuluka kwa zovuta. Komabe, mukamagwira ntchito ndi mapaketi mu Unity, simungathe kupita ku IDE podina cholakwika mu kontrakitala ngati cholakwika chinachitika mu phukusi. Izi ndichifukwa chakuti Umodzi suwona zolembazo ngati mafayilo osiyana, chifukwa pogwiritsira ntchito Tanthauzo la Msonkhano, amasonkhanitsidwa ku laibulale ndikuphatikizidwa mu polojekitiyi. Mukamagwira ntchito ndi magwero a pulojekiti, kudina-kudutsa ku IDE kulipo.

Lembani pulojekiti yokhala ndi phukusi lolumikizidwa:

Unity Package Manager
Script kuchokera pa phukusi yokhala ndi malo ogwirira ntchito:

Unity Package Manager

Zokonza mwachangu pamapaketi

Phukusi la Unity lomwe lawonjezeredwa ku pulojekitiyi limawerengedwa kokha, koma limatha kusinthidwa mu kachesi. Kwa ichi muyenera:

  1. Pitani ku phukusi mu posungira phukusi.

    Unity Package Manager

  2. Pangani kusintha kofunikira.
  3. Sinthani mtundu mu fayilo package.json.
  4. kutumiza phukusi npm publish --registry *адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²*.
  5. Sinthani mtundu wa phukusi kukhala wokonzedwa kudzera mu mawonekedwe a UPM.

Phukusi zosemphana ndi katundu

Mukatumiza phukusi, mikangano yotsatira ya GUID imatha kuchitika:

  1. Phukusi ndi phukusi. Ngati, potumiza phukusi, zikuwoneka kuti zowonjezeredwa kale zili ndi katundu ndi GUID yemweyo, katundu yemwe ali ndi ma GUID ofananira kuchokera ku phukusi lotumizidwa sadzawonjezedwa ku polojekitiyi.
  2. Phukusi ndi ntchito. Ngati, poitanitsa phukusi, apeza kuti polojekitiyi ili ndi katundu wofanana ndi GUIDs, ndiye kuti katundu wochokera phukusilo sangawonjezedwe ku polojekitiyo. Komabe, zinthu zomwe zimadalira iwo zidzayamba kugwiritsa ntchito katundu wa polojekitiyi.

Kusamutsa katundu kuchokera ku polojekiti kupita ku phukusi

Ngati mutasamutsa katundu kuchokera ku polojekiti kupita ku phukusi pamene Unity ili yotseguka, ndiye kuti ntchito yake idzasungidwa, ndipo maulalo azinthu zodalira adzayamba kugwiritsa ntchito katundu kuchokera phukusi.

chofunika: Mukakopera katundu kuchokera ku pulojekiti kupita ku phukusi, mkangano wa pulojekiti womwe wafotokozedwa m'gawo pamwambapa udzachitika.

Njira zothetsera mikangano

  1. Kugawanso ma GUID molingana ndi ma aligorivimu anu potumiza zinthu zonse kuti mupewe kugundana.
  2. Kuwonjeza zinthu zonse ku polojekiti imodzi ndikuzilekanitsa motsatira paketi.
  3. Pangani database yomwe ili ndi ma GUID azinthu zonse ndikutsimikizira potumiza phukusi.

Pomaliza

UPM ndi njira yatsopano yothetsera kugawa zinthu zomwe zimagawidwa mu Umodzi, zomwe zingakhale njira yoyenera yogwiritsira ntchito njira zomwe zilipo kale. Malingaliro omwe afotokozedwa m'nkhaniyi adachokera pazochitika zenizeni. Tikukhulupirira kuti mwawapeza kukhala othandiza.

Source: www.habr.com

Kuwonjezera ndemanga