Cities Skylines Kent Unsuru Yapmak(Mod Yapmak)

3 dk


Cities: Skylines, oyunu içerisinde sık kullandığınız kavşak, park vb. yerleri kent unsuru düzenleyicisinde 1 kere yapıp oyun da sürekli kullanmayı tarif ediyorum.

Profesyonel kullanıcılar için aşağıdaki yöntemleri öneririz.

Modlama Temelleri

Temel veya gelişmiş modunuzu kurduktan sonra , aslında bir mod oluşturmaya başlama zamanı. Bu sayfa nasıl başlayacağınızı ve modlamanın tüm temellerini kapsayacaktır.

Başlarken

Bir mod oluşturmak için yaptığınız ilk şey, uygulayan bir sınıf oluşturmaktır IUserMod. Bu, herhangi bir mod için başlangıç ​​noktasıdır IUserModve oyunu uygulayarak modunuzu yükleyebilirsiniz.

Ad alanı

Modunuz her zaman bir ad alanı içinde olmalıdır . Ad alanının adı o kadar önemli değil, ancak modunuzun adını kullanmanız önerilir. Bu, diğer modlarla çakışmaları önleyecek ve kodunuzu ad alanınızda kapsayarak projelerinizi daha düzenli tutacaktır.

Yönergeleri kullanma

ICities API’yi ve diğer derlemeleri doğru şekilde kullanmak için using yönergelerini eklemeniz gerekir. Çoğu durumda, ICities ve UnityEngine’i kullanacaksınız, bu nedenle kodunuza bu satırları ekleyerek başlayın.

IUserMod

Uygulayarak , modunuz için IUserModbir Nameve belirtmeniz Descriptiongerekir. Bunlar, modunuzu görüntülemek için İçerik Yöneticisi içinde kullanılır . Modunuzun ilk kodu daha sonra buna benzer şekilde görünmeli ve bunu içerik yöneticisine yükleyebilmelisiniz.

ICities kullanarak;
UnityEngine kullanarak;

ad alanı ModName {
	public class ModName: IUserMod {
		public string Name {
			get {return "Mod Adı"; }
		}

		public string Açıklama {
			get {return "Hiçbir şey yapmayan ilk harika modum! * JEEY *"; }
		}
	}
}

Modding Temelleri

Artık bir çalışma modunuz olduğuna göre, onu gerçekten bir şeyler yapmanın zamanı geldi. Bu her mod için farklıdır, ancak işte başlamak için bilmeniz gereken bazı şeyler. Modunuzun yapabileceği milyonlarca olasılık vardır, bundan sonra fikirlerinizi gerçek bir moda nasıl dönüştüreceğinizi bulmak için kendi başınıza olacaksınız. Hala belirli şeyleri nasıl yapacağınızı öğrenmek için okuyabileceğiniz birçok başka kılavuz var.

Birlik

Oyun Unity’de inşa edilmiştir, bu da Unity’nin hem temel hem de gelişmiş modlarda sunduğu tüm işlevlere erişebileceğiniz anlamına gelir. Örneğin, oyun nesneleri ve tek davranışlar oluşturabilir, UI öğelerini işleyebilir, fizik ve diğer birçok şeyi kullanabilirsiniz. Unity’nin nasıl çalıştığını öğrenmek ve neler yapabileceğinizi görmek için Unity Kılavuzu’na veya Unity API’sine bakın.

Temel modlar

Temel modlar için çoğunlukla arayüzler uygulayacak ve temel sınıfları genişleteceksiniz.

Örnek

Bu sınıfı modunuza eklerseniz sınırsız petrol ve cevher kaynakları elde edersiniz. Sınıflar, ana dosyanıza veya yeni bir dosya oluşturarak eklenebilir.

public class UnlimitedOilAndOreResource: ResourceExtensionBase {
    public override void OnAfterResourcesModified (int x, int z, NaturalResource türü, int miktar) {
        if ((type == NaturalResource.Oil || type == NaturalResource.Ore) && amount <0) {
            resourceManager.SetResource (x, z, tür, (bayt) (resourceManager.GetResource (x, z, tür) - miktar), yanlış);
        }
    }
}

Bunu parçalara ayırırsak, genişleyen yeni bir sınıf oluşturduğumuzu görebilirsiniz ResourceExtensionBase. Bunu yaparak OnAfterResourcesModified, doğal bir kaynak değiştirildiğinde çalıştırılan bir API yöntemini geçersiz kılabiliriz . Daha sonra sadece petrol ve cevheri geçersiz kıldığımızdan emin olmak için bazı kontroller yapıyoruz. Yaptığı son şey aslında resourceManager. Bir şeyleri değiştirmek ve değerleri elde etmek için kullanılabilecek birçok yönetici var, bu nedenle çoğunlukla yöneticileri kullanıyor ve yöntemlerini çağırıyor olacaksınız.

Yöneticiler

Tüm arabirimler / temel sınıflar, size ilgili yöneticiyi sağlayan OnCreated yöntemine sahiptir. Örneğin, LoadingExtensionBase’i genişletirseniz, OnCreatedyöntemi geçersiz kılabilirsiniz ve ILoadingyöneticiyi elde edersiniz . Her yönetici arayüzünün ayrıca diğer tüm yöneticilere bir referansı vardır.

public class LoadingExample: LoadingExtensionBase {
	public override void OnCreated (ILoading loading) {
                loading.managers.milestones.UnlockMilestone ("Temel Yol Oluşturuldu");
	}
}

Burada görebileceğiniz gibi, ILoading yöneticisine bir referans alıyoruz, ancak daha sonra tüm yöneticilere erişiyoruz ve kilometre taşları yöneticisine erişebiliyoruz. Daha sonra, bir seviye yüklendiğinde ‘Oluşturulan Temel Yol’ aşamasının kilidini açabiliriz. Daha fazla bilgi için, modlama sayfasındaki yönetici bilgilerine bakın.

Modding API

Bir sonraki adım, Modding API’ye bakmak ve neler yapabileceğinizi görmektir. ICities derlemesindeki tüm sınıfları ve arabirimleri açıklar.

Gelişmiş modlar

Temel modlarda yapabileceğiniz şeylerin yanı sıra çok daha fazla olasılığa sahipsiniz. Belirli şeylerin nasıl yapılacağını açıklayan birçok kılavuz var, bu yüzden onlara bir göz attığınızdan emin olun. Tam olarak ne yapabileceğinizi anlamak için çoğunlukla CS kodunu Tersine Mühendislik yapacaksınız. Yansıma kullanarak daha da ileri gidebilirsiniz, ancak bu yalnızca daha gelişmiş programcılar içindir.

Tekli tonlar

Oyunda menajerler ve diğer şeyler için bir çok singleton var. Bu, oyunu değiştirmek için yaptığınız çoğu şeyin başlangıç ​​noktası olacaktır. Örneğin, oyunu basitçe duraklatmak için bunu yapabilirsiniz.

Singleton <simulationmanager> .instance.m_simulationPaused = true;</simulationmanager>

Ayrıca bkz.


Beğendiniz mi? Arkadaşlarınızla Paylaşın!

0