Тема: weaponsRegister
Показать сообщение отдельно
Старый 05.05.2016, 23:20   #3
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Радость

А зачем всьо так делать?
Есть же проверенный способ записи вооружния.
Я всегда расписую каждую строку.
Типа так:
Код:
static java.lang.Class _mthclass$(java.lang.String s)
    {
        java.lang.Class class1;
        try
        {
            class1 = java.lang.Class.forName(s);
        }
        catch(java.lang.ClassNotFoundException classnotfoundexception)
        {
            throw new NoClassDefFoundError(classnotfoundexception.getMessage());
        }
        return class1;
    }

    static float _GearDst = 52.096F;
    static float _BaseDst = 66.26443F;

    static 
    {
        Class class1 = com.maddox.il2.objects.air.N1K2JA_KUSHU_SR.class;
        new NetAircraft.SPAWN(class1);
        Property.set(class1, "iconFar_shortClassName", "N1K2JA-KUSHU-SR");
        Property.set(class1, "meshName", "3DO/Plane/N1K2-Ja(ja)_NEW/hier_KUSHU.him");
        Property.set(class1, "PaintScheme", new PaintSchemeFMPar01());
        Property.set(class1, "meshName_ja", "3DO/Plane/N1K2-Ja(ja)_NEW/hier_KUSHU.him");
        Property.set(class1, "PaintScheme_ja", new PaintSchemeFCSPar05());
        Property.set(class1, "yearService", 1944F);
        Property.set(class1, "yearExpired", 1945.5F);
        Property.set(class1, "FlightModel", "FlightModels/N1K2-Ja-KUSHU-Schnellere-Reducer.fmd:N1K2JA_KUSHU");
        Property.set(class1, "cockpitClass", new Class[] {
            com.maddox.il2.objects.air.CockpitN1K2JA_KUSHU.class
        });
        Property.set(class1, "LOSElevation", 1.1716F);
        Aircraft.weaponTriggersRegister(class1, new int[] {
            1, 0, 0, 1, 3, 3, 3, 3, 9, 9, 
            9, 3, 9, 9, 9, 3
        });
        Aircraft.weaponHooksRegister(class1, new String[] {
            "_CANNON01", "_CANNON02", "_CANNON03", "_CANNON04", "_ExternalBomb01", "_ExternalBomb02", "_ExternalBomb03", "_ExternalBomb04", "_ExternalDev01", "_ExternalDev02", 
            "_ExternalDev03", "_ExternalBomb05", "_ExternalDev04", "_ExternalDev05", "_ExternalDev06", "_ExternalBomb06"
        });
        try
        {
            ArrayList arraylist = new ArrayList();
            Property.set(class1, "weaponsList", arraylist);
            HashMapInt hashmapint = new HashMapInt();
            Property.set(class1, "weaponsMap", hashmapint);
            byte byte0 = 16;
            String s = "default";
            Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunType99model_2k", 220);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunType99model_2k", 220);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunType99model_2k", 220);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(1, "MGunType99model_2k", 220);
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            a_lweaponslot[13] = null;
            a_lweaponslot[14] = null;
            a_lweaponslot[15] = null;
            for(int i = 16; i < byte0; i++)
                a_lweaponslot[i] = null;

            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "HO12/CANNON";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHO12LS", 220);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHO12LS", 220);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHO12LS", 220);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(1, "MGunHO12LS", 220);
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            a_lweaponslot[13] = null;
            a_lweaponslot[14] = null;
            a_lweaponslot[15] = null;
            for(int i1 = 16; i1 < byte0; i1++)
                a_lweaponslot[i1] = null;

            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "HO12_400L_FuelTank";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHO12LS", 220);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHO12LS", 220);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHO12LS", 220);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(1, "MGunHO12LS", 220);
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonN1K1PLN1", 1);
            a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_TankN1K1", 1);
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            a_lweaponslot[13] = null;
            a_lweaponslot[14] = null;
            a_lweaponslot[15] = null;
            for(int i2 = 16; i2 < byte0; i2++)
                a_lweaponslot[i2] = null;

            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "400L_FuelTank";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunType99model_2k", 220);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunType99model_2k", 220);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunType99model_2k", 220);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(1, "MGunType99model_2k", 220);
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonN1K1PLN1", 1);
            a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_TankN1K1", 1);
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            a_lweaponslot[13] = null;
            a_lweaponslot[14] = null;
            a_lweaponslot[15] = null;
            for(int j = 16; j < byte0; j++)
                a_lweaponslot[j] = null;

 .....................................................................
          
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "HO12_RocketRA8SCHIFF";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHO12LS", 220);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHO12LS", 220);
            a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHO12LS", 220);
            a_lweaponslot[3] = new Aircraft._WeaponSlot(1, "MGunHO12LS", 220);
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            a_lweaponslot[13] = null;
            a_lweaponslot[14] = new Aircraft._WeaponSlot(9, "PylonETC250", 1);
            a_lweaponslot[15] = new Aircraft._WeaponSlot(3, "RocketGunRA8SCHIFF", 1);
            for(int j9 = 16; j9 < byte0; j9++)
                a_lweaponslot[j9] = null;

            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
            s = "none";
            a_lweaponslot = new Aircraft._WeaponSlot[byte0];
            a_lweaponslot[0] = null;
            a_lweaponslot[1] = null;
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;
            a_lweaponslot[13] = null;
            a_lweaponslot[14] = null;
            a_lweaponslot[15] = null;                                 
            arraylist.add(s);
            hashmapint.put(Finger.Int(s), a_lweaponslot);
        }
        catch(Exception exception) { }
    }
}
Без всяких вар_классов.

Последний раз редактировалось Vasya; 05.05.2016 в 23:22.
Vasya вне форума   Ответить с цитированием