// Start is called before the first frame update void Start() { myRadar = GetComponent <Radar>(); playerInput = GetComponent <PlayerInput_Aircraft>(); mainHud = hudControl.mainHud.GetComponent <hudControl>(); localPlayerFlow = GetComponent <CombatFlow>(); hardpointController = playerInput.hardpointController; if (localPlayerFlow.isLocalPlayer) { linkToRangeLadder(); } }
public void setPlayerAsAI(GameObject aircraftObj) { Debug.Log("Setting player as AI"); // layer 8 is localPlayer layer //MoveToLayer(aircraftObj.transform, 8); PlayerInput_Aircraft inputRoot = aircraftObj.GetComponent <PlayerInput_Aircraft>(); inputRoot.enabled = false; aircraftObj.GetComponent <AI_Aircraft>().enabled = true; const int localPlayerLayer = 8; inputRoot.cannons.setIgnoreLayer(localPlayerLayer); CombatFlow playerFlow = aircraftObj.GetComponent <CombatFlow>(); playerFlow.team = team; playerFlow.localOwned = true; playerFlow.aiControlled = true; // Enable flight and engine control aircraftObj.GetComponent <RealFlightControl>().enabled = true; aircraftObj.GetComponent <EngineControl>().enabled = true; // Link hud to obj hudControl hud = hudObj.GetComponent <hudControl>(); //hud.setHudVisible(true); //hud.linkHudToAircraft(aircraftObj); // Enable controllers //inputRoot.cam.gameObject.SetActive(true); // camera inputRoot.cannons.gameObject.SetActive(true); // cannon inputRoot.hardpointController.gameObject.SetActive(true); // hardpoints // Save this player's camera //PerspectiveManager.getPManager().mainCam = inputRoot.cam.camRef.GetComponent<Camera>(); // activate targeting computer and radar aircraftObj.GetComponent <Radar>().enabled = true; //aircraftObj.GetComponent<TgtComputer>().enabled = true; //inputRoot.isReady = true; // start receiving and processing input }
public void destroySelf(bool doDelete = true) { Debug.LogWarning("Destroyself called"); if (type == Type.AIRCRAFT) { GameManager.getGM().getTeamAircraftList(team).Remove(this); } if (showInWorldList) { removeFromDatalink(); // if not present in world's list, is likely too simple to involve datalink CombatFlow.combatUnits.Remove(this); } if (ownerLane != null) { ownerLane.unitDeath(this); } if (isLocalPlayer) { //Debug.LogWarning("localplayer: " + gameObject.name + " destroyed. Calling showSpawnMenu"); GameManager.getGM().showSpawnMenu(); PlayerInput_Aircraft input = GetComponent <PlayerInput_Aircraft>(); input.hardpointController.destroyWeapons(); } if (camManager != null) { // remove this camera from perspectiveManager's list // Is this a crusty way of doing this? Might be perspectiveManager's responsibility instead? camManager.cameras.Remove(unitCam); } //Weapon weaponRef = GetComponent<Weapon>(); //if(weaponRef != null) //{ // Destroy(weaponRef.effectsObj); //} if (myHudIconRef != null) { Destroy(myHudIconRef.gameObject); } //Destroy(gameObject); if (doDelete) { Weapon myWeapon = GetComponent <Weapon>(); bool missileFound = false; if (networkDeath && myWeapon != null && (localOwned || isLocalPlayer)) { myWeapon.destroyWeapon(); } else { Destroy(gameObject); } } }