public void PlaneUpdate(Packet packet) { lastMessage = (Message_PlaneUpdate)((PacketSingle)packet).message; if (lastMessage.networkUID != networkUID) { return; } if (lastMessage.landingGear) { aiPilot.gearAnimator.Extend(); } else { aiPilot.gearAnimator.Retract(); } for (int i = 0; i < autoPilot.outputs.Length; i++) { autoPilot.outputs[i].SetPitchYawRoll(new Vector3(lastMessage.pitch, lastMessage.yaw, lastMessage.roll)); autoPilot.outputs[i].SetBrakes(lastMessage.breaks); autoPilot.outputs[i].SetFlaps(lastMessage.flaps); autoPilot.outputs[i].SetWheelSteer(lastMessage.yaw); } for (int i = 0; i < autoPilot.engines.Count; i++) { autoPilot.engines[i].SetThrottle(lastMessage.throttle); } }
private void Awake() { lastMessage = new Message_PlaneUpdate(false, 0, 0, 0, 0, 0, 0, false, false, networkUID); lastFiringMessage = new Message_WeaponFiring(-1, networkUID); lastStoppedFiringMessage = new Message_WeaponStoppedFiring(networkUID); wheelsController = GetComponent <WheelsController>(); aeroController = GetComponent <AeroController>(); vRThrottle = gameObject.GetComponentInChildren <VRThrottle>(); if (vRThrottle == null) { Debug.Log("Cound't find throttle"); } else { vRThrottle.OnSetThrottle.AddListener(SetThrottle); } weaponManager = GetComponent <WeaponManager>(); if (weaponManager == null) { Debug.LogError("Weapon Manager was null on our vehicle"); } cmManager = GetComponentInChildren <CountermeasureManager>(); if (cmManager == null) { Debug.LogError("CountermeasureManager was null on our vehicle"); } fuelTank = GetComponent <FuelTank>(); if (fuelTank == null) { Debug.LogError("FuelTank was null on our vehicle"); } Networker.WeaponSet += WeaponSet; traverse = Traverse.Create(weaponManager); Debug.Log("Done Plane Sender"); }
private void Awake() { actor = gameObject.GetComponent <Actor>(); lastFiringMessage = new Message_WeaponFiring(-1, false, false, networkUID); // lastStoppedFiringMessage = new Message_WeaponStoppedFiring(networkUID); lastCountermeasureMessage = new Message_FireCountermeasure(true, true, networkUID); lastDeathMessage = new Message_Death(networkUID, false); wheelsController = GetComponent <WheelsController>(); aeroController = GetComponent <AeroController>(); isPlayer = actor.isPlayer; sequenceNumber = 0; lastMessage = new Message_PlaneUpdate(false, 0, 0, 0, 0, 0, 0, false, false, false, networkUID, sequenceNumber); engine = gameObject.GetComponentInChildren <ModuleEngine>(); if (engine == null) { Debug.Log("engine was null on vehicle " + gameObject.name); } weaponManager = GetComponent <WeaponManager>(); if (weaponManager == null) { Debug.LogError("Weapon Manager was null on vehicle " + gameObject.name); } else { traverse = Traverse.Create(weaponManager); Networker.WeaponSet += WeaponSet; //weaponManager.OnWeaponEquipped += Rearm; //weaponManager.OnWeaponUnequippedHPIdx +=Rearm; //detect player rearm PlayerVehicleSetup pv = gameObject.GetComponent <PlayerVehicleSetup>(); if (pv != null) { pv.OnEndRearming.AddListener(Rearm); } if (actor.isPlayer && weaponManager.GetIWBForEquip(3) != null) { iwb = weaponManager.GetIWBForEquip(3); } } cmManager = GetComponentInChildren <CountermeasureManager>(); if (cmManager == null) { Debug.LogError("CountermeasureManager was null on vehicle " + gameObject.name); } else { cmManager.OnFiredCM += FireCountermeasure; } fuelTank = GetComponent <FuelTank>(); if (fuelTank == null) { Debug.LogError("FuelTank was null on vehicle " + gameObject.name); } Debug.Log("Done Plane Sender"); tailhook = GetComponentInChildren <Tailhook>(); launchBar = GetComponentInChildren <CatapultHook>(); refuelPort = GetComponentInChildren <RefuelPort>(); }
public void PlaneUpdate(Packet packet) { Message_PlaneUpdate newMessage = (Message_PlaneUpdate)((PacketSingle)packet).message; if (newMessage.networkUID != networkUID) { return; } // If already received this message or a newer one, don't need to update if (newMessage.sequenceNumber <= mostCurrentUpdateNumber) { return; } mostCurrentUpdateNumber = newMessage.sequenceNumber; if (!firstMessageReceived) { firstMessageReceived = true; SetLandingGear(newMessage.landingGear); SetTailHook(newMessage.tailHook); SetLaunchBar(newMessage.launchBar); SetFuelPort(newMessage.fuelPort); SetOrientation(newMessage.pitch, newMessage.yaw, newMessage.roll); SetFlaps(newMessage.flaps); SetBrakes(newMessage.brakes); SetThrottle(newMessage.throttle); } else { if (lastMessage.landingGear != newMessage.landingGear) { SetLandingGear(newMessage.landingGear); } if (lastMessage.tailHook != newMessage.tailHook) { SetTailHook(newMessage.tailHook); } if (lastMessage.launchBar != newMessage.launchBar) { SetLaunchBar(newMessage.launchBar); } if (lastMessage.fuelPort != newMessage.fuelPort) { SetFuelPort(newMessage.fuelPort); } if (lastMessage.pitch != newMessage.pitch || lastMessage.yaw != newMessage.yaw || lastMessage.roll != newMessage.roll) { SetOrientation(newMessage.pitch, newMessage.yaw, newMessage.roll); } if (lastMessage.flaps != newMessage.flaps) { SetFlaps(newMessage.flaps); } if (lastMessage.brakes != newMessage.brakes) { SetBrakes(newMessage.brakes); } if (lastMessage.throttle != newMessage.throttle) { SetThrottle(newMessage.throttle); } } lastMessage = newMessage; if (ownerActor != null) { ownerActor.flightInfo.PauseGCalculations(); ownerActor.flightInfo.OverrideRecordedAcceleration(Vector3.zero); } }