private void DestroyPlane(StrikePlane plane) { if (StrikePlanes.Contains(plane)) { if (plane.Plane != null) { plane.Plane.Kill(); } StrikePlanes.Remove(plane); UnityEngine.Object.Destroy(plane); } }
private void CallStrike(Vector3 position) { CargoPlane entity = CreatePlane(); entity.Spawn(); StrikePlane plane = entity.gameObject.AddComponent <StrikePlane>(); plane.InitializeFlightPath(position); if (configData.Other.Broadcast) { PrintToChat(msg("strikeInbound")); } }
private void CallSquad(Vector3 position) { CargoPlane leaderEnt = CreatePlane(); leaderEnt.Spawn(); StrikePlane leaderPlane = leaderEnt.gameObject.AddComponent <StrikePlane>(); leaderPlane.InitializeFlightPath(position); Vector3 startPos; Vector3 endPos; float secondsToTake; leaderPlane.GetFlightData(out startPos, out endPos, out secondsToTake); CargoPlane leftEnt = CreatePlane(); leftEnt.Spawn(); StrikePlane leftPlane = leftEnt.gameObject.AddComponent <StrikePlane>(); Vector3 leftOffset = (leaderEnt.transform.right * 70) + (-leaderEnt.transform.forward * 80); leftPlane.SetFlightData(startPos + leftOffset, endPos + leftOffset, position + (leftOffset / 4), secondsToTake); CargoPlane rightEnt = CreatePlane(); rightEnt.Spawn(); StrikePlane rightPlane = rightEnt.gameObject.AddComponent <StrikePlane>(); Vector3 rightOffset = (-leaderEnt.transform.right * 70) + (-leaderEnt.transform.forward * 80); rightPlane.SetFlightData(startPos + rightOffset, endPos + rightOffset, position + (rightOffset / 4), secondsToTake); if (configData.Other.Broadcast) { PrintToChat(msg("squadInbound")); } }