Author | Message |
Mario
Posts: 703
Location: Bulgaria Sofia Occupation: Fast way Age: 121 V$: |
#10830 2012-03-09 18:35 |
Good work with the offset:)
Here properly working offset java if need now the specs does not change after car repair ------------- package java.game.cars; import java.render.osd.*; import java.io.*; import java.util.*; import java.util.resource.*; import java.game.*; import java.game.parts.rgearpart.reciprocatingrgearpart.*; public class NAME extends Wheel { float f_offset, default_offset, old_offset, diameter, width; public NAME( int id ) { name = "NAME"; rim_type = rtFACTORY; diameter = 19.0; width = 11.0; default_offset = 0.0; f_offset = default_offset; SetupWheel( diameter, width, default_offset); description = "Variable offset"; } public void load( File saveGame ) { super.load( saveGame ); int save_ver = saveGame.readInt(); if (save_ver >= 1) { f_offset = saveGame.readFloat(); setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null ); } } public void save( File saveGame ) { super.save( saveGame ); int save_ver = 2; saveGame.write( save_ver ); if (save_ver >= 1) { saveGame.write( f_offset ); } } public int isTuneable() { return true; } public void buildTuningMenu( Menu m ) { old_offset = f_offset; m.addItem( "Offset", 1, f_offset, -105.0, 65.0, 1.1, null ).printValue(" %1.1f"); m.addItem( "Reset to factory defaults", 0); //this should always be with cmd=0 GameLogic.player.car.wakeUp(); } public void endTuningSession( int cancelled ) { if( cancelled ) { f_offset = old_offset; } else { if (f_offset != old_offset) GameLogic.spendTime(5*60); getCar_LocalVersion(); if (the_car) the_car.forceUpdate(); } } public void handleMessage( Event m ) { if( m.cmd == 0 ) { f_offset = default_offset; m.gadget.osd.findGadget( this, 1 ).setValue( default_offset ); setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null ); } else if( m.cmd == 1 ) { f_offset = ((Slider)m.gadget).value; ((Slider)m.gadget).changeVLabelText( Float.toString(f_offset, " %1.1f")); setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null ); } } public void updatevariables() { super.updatevariables(); setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null ); } } |
|
|