// only local owner should call this public void launchMissile(CombatFlow target) { if (myFlow.localOwned && target != null) { Debug.LogWarning("Launching at " + target.name); GameObject missileObj = PhotonNetwork.Instantiate(sam.missilePrefab.name, sam.missileSpawnCenter.position, sam.missileSpawnCenter.rotation); BasicMissile missile = missileObj.GetComponent <BasicMissile>(); CombatFlow missileFlow = missileObj.GetComponent <CombatFlow>(); // this instance will network its position missileFlow.localOwned = true; missileFlow.isActive = true; missile.myTarget = target.gameObject; missile.myTeam = transform.root.GetComponent <CombatFlow>().team; missileFlow.team = missile.myTeam; missile.launch(); missile.radar.setRadarActive(true); //missile.radar.radarOn = true; photonView.RPC("rpcMissileInit", RpcTarget.AllBuffered, missile.photonView.ViewID); } }
public void rpcSetOwnership(int photonID) { PhotonView view = PhotonNetwork.GetPhotonView(photonID); if (view != null) { CombatFlow player = view.GetComponent <CombatFlow>(); localOwned = player.localOwned || player.isLocalPlayer; // This fixes bug where client launching against host-owned npc if (localOwned) { RealFlightControl flightCont = GetComponent <RealFlightControl>(); if (flightCont != null) { flightCont.enabled = true; } BasicMissile missile = GetComponent <BasicMissile>(); if (missile != null) { missile.setHasPassed(true); } } } }
private void rpcMissileInit(int missileID) { BasicMissile missile = PhotonNetwork.GetPhotonView(missileID).GetComponent <BasicMissile>(); CombatFlow missileFlow = missile.GetComponent <CombatFlow>(); missile.myTeam = transform.root.GetComponent <CombatFlow>().team; missileFlow.team = missile.myTeam; }
private void Awake() { missileRef = GetComponent <BasicMissile>(); weaponRef = GetComponent <Weapon>(); rocketMotor = GetComponent <RocketMotor>(); myFlightControl = GetComponent <RealFlightControl>(); myRB = GetComponent <Rigidbody>(); myRadar = GetComponent <Radar>(); }
private void tryAddOutgoingWeap(GameObject weap) { if (weap != null) { BasicMissile msl = weap.GetComponent <BasicMissile>(); if (msl != null) { outgoingMissiles.Add(msl); } } else { Debug.LogWarning("AI Aircraft tried to fire null weapon"); } }
private void processCamOffset() { if (isReady && myFlow.isLocalPlayer) { float camOffsetVertTemp = 0f; float camOffsetHorizTemp = 0f; if (wheels.gearIsDown) { camOffsetVertTemp = gearOffset; } // if selected weapon type needs to move camera Hardpoint activeHardpointRef = hardpointController.getActiveHardpoint(); if (activeHardpointRef != null) { BasicBomb bombScript = activeHardpointRef.weaponTypePrefab.GetComponent <BasicBomb>(); BasicMissile missileScript = activeHardpointRef.weaponTypePrefab.GetComponent <BasicMissile>(); RocketPod rocketPodScript = activeHardpointRef.weaponTypePrefab.GetComponent <RocketPod>(); if (rocketPodScript != null) { camOffsetVertTemp = rocketPodOffset; } if (bombScript != null) { camOffsetVertTemp = bombOffset; } if (activeHardpointRef.weaponTypePrefab.name.Equals("Maverick")) { camOffsetVertTemp = maverickOffset; } } cam.camAxisTargetOffset_Vert = camOffsetVertTemp; cam.camAxisTargetOffset_Horiz = camOffsetHorizTemp; } }
void Awake() { myFlow = GetComponent <CombatFlow>(); missile = GetComponent <BasicMissile>(); myRb = GetComponent <Rigidbody>(); }