Показать сообщение отдельно
Старый 28.01.2018, 22:12   #333
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,832
Вопрос

Есть вопрос к понимающим в кодах.
Нужно прямо в клас крафта прописать авто-радиатор.
Код в класс вписал, но он почему то не работает. Хотя всё компилится.
Код:
Код:
public BF_109E_4MN()
    {        
        reference = null;
    }
Код:
public void updateRadiator(float f)
    {
        if((reference.actor instanceof BF_109E_4MN))
        {
            if(tOilOut > tOilOutMaxRPM)
            {
                controlRadiator += 0.1F * f;
                if(controlRadiator > 1.0F)
                    controlRadiator = 1.0F;
            } else
            {
                controlRadiator = 1.0F - reference.getSpeed() / reference.VmaxH;
                if(controlRadiator < 0.0F)
                    controlRadiator = 0.0F;
              }
        }
    }
    
    public boolean isAllowsAutoRadiator()
    {
        if(World.cur().diffCur.ComplexEManagement)
        {
            if((reference.actor instanceof BF_109E_4MN))
            return true;
            switch(propAngleDeviceType)
            {
            case 7: // '\007'
                return true;

            case 8: // '\b'
                return type == 2;
            }
            return false;
        } else
        {
            return true;
        }
    }

    public boolean isHasControlRadiator()
    {
        return bHasRadiatorControl;
    }

    public float getControlRadiator()
    {
        return controlRadiator;
    }
Код:
    public float tOilOutMaxRPM;
    public float tOilOut;
    public float controlRadiator;
    private boolean bHasRadiatorControl;
    private int propAngleDeviceType;
    private int type;
    private FlightModel reference;
Помогите пожалуйста разобраться!
---------------------------------------
Если писать вот такие строки:
Код:
public void onAircraftLoaded()
    {
        super.onAircraftLoaded();
        if((Aircraft)((Interpolate) (super.FM)).actor instanceof BF_109E_4MN)
            ((FlightModelMain) (super.FM)).EI.engines[0].setAfterburnerType(10);
            ((FlightModelMain) (super.FM)).EI.engines[0].setControlPropAuto(true);  
            ((FlightModelMain) (super.FM)).AS.wantBeaconsNet(true);        
    }
то автомат винта так же не работает.
А так:
Код:
((FlightModelMain) (super.FM)).EI.engines[0].setControlRadiator(AllowsAutoRadiator);
Джава не понимает AllowsAutoRadiator

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