Rêveberê Pakêta Yekîtiyê

Unity platformek e ku demek dirêj li dora xwe ye û bi domdarî pêşve diçe. Lêbelê, dema ku di heman demê de bi çend projeyan re dixebitin, hûn hîn jî dikarin di karanîna çavkaniyên hevpar (.cs), pirtûkxane (.dll) û hebûnên din (wêne, deng, model, prefab) de bi zehmetiyan re rû bi rû bimînin. Di vê gotarê de em ê li ser ezmûna xwe ya bi çareseriyek xwemalî ya pirsgirêkek weha ya Yekîtiyê re biaxivin.

Rêveberê Pakêta Yekîtiyê

Rêbazên Belavkirina Çavkaniyên Hevbeş

Zêdetirî rêyek heye ku meriv çavkaniyên hevpar ji bo projeyên cihêreng bikar bîne, lê her nêzîkatî xwedî erênî û neyînî hene.

1. Dubarekirin - em çavkaniyan di navbera projeyan de "bi destan" dubare dikin.

Pros:

  • Minasib ji bo her cure çavkaniyan.
  • Pirsgirêkên girêdayîbûnê tune.
  • Pirsgirêkên GUID-ên sermayeyê tune.

Bawer:

  • Depoyên Giant.
  • Derfeta versiyonê tune ye.
  • Zehmetiya şopandina guhertinên çavkaniyên hevpar.
  • Zehmetiya nûvekirina çavkaniyên hevpar.

2. Submodulên Git - Dabeşkirina çavkaniyên hevbeş bi navgîniya binemodulên derveyî.

Pros:

  • Hûn dikarin bi çavkaniyan re bixebitin.
  • Hûn dikarin hebûnên xwe belav bikin.
  • Pirsgirêkên girêdayîbûnê tune.

Bawer:

  • tecrubeya Git pêwîst.
  • Git bi pelên binary re ne pir heval e - divê hûn LFS-ê ve girêdin.
  • Kontrola gihîştina depoyan.
  • Zehmetiya nûvekirin û daxistina guhertoyan.
  • Pevçûnên GUID mimkun in û ji hêla Unity ve tevgerek zelal tune ku wan çareser bike.

3. NuGet - belavkirina pirtûkxaneyên hevpar bi rêya pakêtên NuGet.

Pros:

  • Bi projeyên ku bi Unity ve girêdayî ne re xebitîn.
  • Guhertoya hêsan û çareseriya pêwendiyê.

Bawer:

  • Unity nikare bi pakêtên NuGet re ji qutiyê bixebite (li ser GitHub hûn dikarin Rêvebirê Pakêta NuGet ji bo Unity bibînin, ku vê yekê rast dike, lê hin nuwaze hene).
  • Zehmetiyên di belavkirina cureyên din ên hebûnê de.

4. Rêvebirê Pakêta Yekîtiyê - belavkirina çavkaniyên hevpar bi navgîniya çareseriyek xwecihî ya Yekîtiyê.

Pros:

  • Ji bo xebata bi pakêtan re navbeynkariya xwecihî.
  • Parastina li dijî pelên .meta di pakêtan de ji ber nakokiyên GUID.
  • Derfeta versiyonê.
  • Kapasîteya belavkirina hemî cûreyên çavkaniyan ji bo Yekîtiyê.

Bawer:

  • Pevçûnên GUID hîn jî dikarin çêbibin.
  • Ji bo pêkanînê tu belge tune.

Rêbaza paşîn ji dezawantajên bêtir xwedî avantajên. Lêbelê, ew niha ji ber nebûna belgeyan ne pir populer e, û ji ber vê yekê em ê bi hûrgulî li ser rawestin.

Rêveberê Pakêta Yekîtiyê

Unity Package Manager (UPM) amûrek rêveberiya pakêtê ye. Ew di Unity 2018.1 de hate zêdekirin û tenê ji bo pakêtên ku ji hêla Unity Technologies ve hatî pêşve xistin hate bikar anîn. Lêbelê, bi guhertoya 2018.3-ê dest pê kir, gengaz bû ku pakêtên xwerû lê zêde bikin.

Rêveberê Pakêta Yekîtiyê
Navbera Rêvebirê Pakêta Yekîtiyê

Pakêt di çavkaniyên projeyê de naqedin (Pelrêça Malbatan). Ew di pelrêçek cuda de ne %projectFolder%/Library/PackageCache û bi tu awayî bandorê li projeyê nakin, tenê behsa wan di koda çavkaniyê de di pelê de ye packages/manifest.json.

Rêveberê Pakêta Yekîtiyê
Di pergala pelê projeyê de pakêtan

Çavkaniyên pakêtê

UPM dikare çend çavkaniyên pakêtê bikar bîne:

1. Pergala pelê.

Pros:

  • Leza pêkanînê.
  • Ma amûrên partiya sêyemîn hewce nake.

Bawer:

  • Zehmetî di versiyonê de.
  • Gihîştina hevpar a pergala pelê ji bo her kesê ku bi projeyê re dixebite hewce ye.

2. Depoya Git.

Pros:

  • Tişta ku hûn hewce ne depoyek Git e.

Bawer:

  • Hûn nikarin bi pencereya UPM-ê di navbera guhertoyan de biguherînin.
  • Bi hemî depoyên Git re naxebite.

3. depoya npm.

Pros:

  • Bi tevahî fonksiyona UPM-ê piştgirî dike û ji bo belavkirina pakêtên Yekîtiyê yên fermî tê bikar anîn.

Bawer:

  • Niha ji bilî "-preview" hemû guhertoyên rêzikan paşguh dike.

Li jêr em ê li pêkanîna UPM + npm binêrin. Ev pakêt hêsan e ji ber ku ew dihêle hûn bi her cûre çavkaniyekê re bixebitin û guhertoyên pakêtê birêve bibin, û di heman demê de pêwendiya xwemalî ya UPM-ê jî bi tevahî piştgirî dike.

Hûn dikarin wê wekî depoyek npm bikar bînin Verdaccio. Bi berfirehî heye belgekirin, û ji bo xebitandina wê tenê çend ferman hewce ne.

Sazkirina jîngehê

Pêşî hûn hewce ne ku saz bikin node.js.

Çêkirina pakêtekê

Ji bo afirandina pakêtek, hûn hewce ne ku pelê bi cîh bikin package.json, ku dê wê rave bike, ji pelrêça bi naveroka vê pakêtê re. Hûn hewce ne ku jêrîn bikin:

Herin pelrêça projeyê ku em dixwazin pakêtek çêbikin.

Fermana npm init bimeşînin û di dema diyalogê de nirxên pêwîst têkevin. Ji bo nav, navî di forma domaina berevajî de diyar bikin, mînakî com.plarium.somepackage.
Ji bo ku navê pakêtê bi hêsanî nîşan bide, taybetmendiya displayName li package.json zêde bike û wê tije bike.

Ji ber ku npm js-oriented e, di pelê de taybetmendiyên sereke û skrîptên ku em ne hewce ne dihewîne, ku Unity wan bikar nayîne. Çêtir e ku hûn wan jê bikin da ku danasîna pakêtê tevlihev nekin. Divê pel bi vî rengî xuya bike:

  1. Herin pelrêça projeyê ku em dixwazin pakêtek çêbikin.
  2. Fermana npm init bimeşînin û di dema diyalogê de nirxên pêwîst têkevin. Ji bo nav, navî di forma domaina berevajî de diyar bikin, mînakî com.plarium.somepackage.
  3. Ji bo ku navê pakêtê bi hêsanî nîşan bide, taybetmendiya displayName li package.json zêde bike û wê tije bike.
  4. Ji ber ku npm js-oriented e, di pelê de taybetmendiyên sereke û skrîptên ku em ne hewce ne dihewîne, ku Unity wan bikar nayîne. Çêtir e ku hûn wan jê bikin da ku danasîna pakêtê tevlihev nekin. Divê pel bi vî rengî xuya bike:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. Unity vekin û ji bo package.json pelê .meta biafirînin (Yekbûn bêyî pelên .meta hebûnên nabîne, pakêtên ji bo Unity tenê-xwendewar têne vekirin).

Pakêtek şandin

Ji bo şandina pakêtê hûn hewce ne ku emrê bişopînin: npm publish --registry *адрес до хранилища пакетов*.

Sazkirin û nûvekirina pakêtan bi Rêvebirê Pakêtê Unity

Ji bo ku hûn pakêtek li projeyek Unity zêde bikin, hûn hewce ne:

  1. Li pelê zêde bike manifest.json agahiyên li ser çavkaniya pakêtan. Ji bo vê yekê hûn hewce ne ku milkê zêde bikin scopedRegistries û çarçove û navnîşana çavkaniyê destnîşan bikin ku dê çarçoveyên taybetî lê werin lêgerîn.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "адрес до хранилища пакетов",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. Herin Yekîtiyê û pencereya Gerînendeyê Pakêtê vekin (xebata bi pakêtên xwerû re ji xebata bi yên çêkirî ne cûda ye).
  3. Hemî pakêtan hilbijêrin.
  4. Pakêta ku hûn hewce ne bibînin û lê zêde bikin.

Rêveberê Pakêta Yekîtiyê

Bi çavkaniyan re xebitîn û xelet kirin

Ji bo ku çavkaniyên ku bi projeyê ve girêdayî ye, divê hûn çêbikin Civîna Pênase ji bo pakêtê.

Bikaranîna pakêtan vebijarkên weya xeletkirinê sînordar nake. Lêbelê, dema ku bi pakêtên di Unity de dixebitin, hûn nekarin biçin IDE-ê bi tikandina li ser xeletiyek di konsolê de ger xeletî di pakêtê de çêbûbe. Ev ji ber vê yekê ye ku Unity skrîptan wekî pelên cihê nabîne, ji ber ku dema ku Pînasa Meclîsê bikar tînin ew di pirtûkxaneyê de têne berhev kirin û di projeyê de têne girtin. Dema ku bi çavkaniyên ji projeyekê re dixebitin, klîkkirina IDE-yê heye.

Skrîpta di projeyek bi pakêtek ve girêdayî de:

Rêveberê Pakêta Yekîtiyê
Skrîpta ji pakêtê bi xala veqetînê ya xebatê:

Rêveberê Pakêta Yekîtiyê

Sazkirinên lezgîn ên pakêtan

Pakêtên yekîtiyê yên ku li projeyekê hatine zêdekirin tenê-xwendin in, lê dikarin di cacheya pakêtê de werin guherandin. Ji bo vê yekê hûn hewce ne:

  1. Di cache pakêtê de biçin pakêtê.

    Rêveberê Pakêta Yekîtiyê

  2. Guhertinên pêwîst bikin.
  3. Guhertoya pelê nûve bikin package.json.
  4. Pakêtê bişînin npm publish --registry *адрес до хранилища пакетов*.
  5. Guhertoya pakêtê ya rastkirî bi navgîniya UPM-ê nûve bikin.

Pevçûnên importa pakêtê

Dibe ku nakokiyên GUID-ê yên jêrîn dema ku pakêtan têne şandin çêbibin:

  1. Pakêt - pakêt. Ger, dema ku pakêtek îtxal dike, were kifş kirin ku pakêtên jixwe hatine zêdekirin hebûnên bi heman GUID-ê dihewîne, malikên bi GUID-ên lihevhatî yên ji pakêta îthalkirî dê li projeyê neyê zêdekirin.
  2. Pakêtek projeyek e. Ger, dema ku pakêtek îtxal dike, were kifş kirin ku proje malzemeyên bi GUID-ên lihevhatî dihewîne, wê hingê malikên ji pakêtê li projeyê nayên zêdekirin. Lêbelê, hebûnên ku bi wan ve girêdayî ne dê dest bi karanîna malikên ji projeyê bikin.

Veguheztina hebûnên ji projeyekê ber bi pakêtekê ve

Heke hûn di dema ku Unity vekirî ye malmanek ji projeyek veguhezînin pakêtek, dê fonksiyona wê were parastin, û girêdanên di hebûnên girêdayî de dê dest bi karanîna malzemeya ji pakêtê bikin.

giring: Dema ku malzemeyek ji projeyekê li pakêtekê were kopî kirin, nakokiya "Pakêt - Proje" ku di beşa jorîn de hatî diyar kirin dê çêbibe.

Ji nakokiyan re çareseriyên gengaz

  1. Ji nû ve veqetandina GUID-an bi karanîna algorîtmayên xwe dema ku hemî malzemeyan îtxal dikin da ku pevçûnan ji holê rakin.
  2. Hemî malzemeyan li yek projeyekê zêde bikin û dûv re wan li pakêtan dabeş bikin.
  3. Afirandina databasek ku GUID-yên hemî hebûnê vedihewîne û dema şandina pakêtan verastkirinê pêk tîne.

encamê

UPM çareseriyek nû ye ji bo belavkirina çavkaniyên hevbeş li Unity, ku dikare bibe alternatîfek hêja ji rêbazên heyî re. Pêşniyarên ku di gotarê de têne diyar kirin li ser bingeha bûyerên rastîn bûn. Em hêvî dikin ku hûn wan kêrhatî bibînin.

Source: www.habr.com

Add a comment