Beispiel #1
0
    public void ChangeCameras(CamPos currCamPos, CamPos nextCamPos)
    {
        myCamPos = nextCamPos;

        myCameras[(int)currCamPos].enabled = false;
        myCameras[(int)nextCamPos].enabled = true;
    }
Beispiel #2
0
    void EditCam()
    {
        camPos = CamPos.fwd;

        if (Input.GetKey(KeyCode.W))
        {
            transform.Translate(new Vector3(0, 0, 1) * Time.deltaTime * CamSpeed);
        }
        else if (Input.GetKey(KeyCode.S))
        {
            transform.Translate(new Vector3(0, 0, -1) * Time.deltaTime * CamSpeed);
        }
        else if (Input.GetKey(KeyCode.D))
        {
            transform.Translate(new Vector3(1, 0, 0) * Time.deltaTime * CamSpeed);
        }
        else if (Input.GetKey(KeyCode.A))
        {
            transform.Translate(new Vector3(-1, 0, 0) * Time.deltaTime * CamSpeed);
        }
        else if (Input.GetKey(KeyCode.E))
        {
            transform.Translate(new Vector3(0, 1, 0) * Time.deltaTime * CamSpeed);
        }
        else if (Input.GetKey(KeyCode.Q))
        {
            transform.Translate(new Vector3(0, -1, 0) * Time.deltaTime * CamSpeed);
        }
    }
Beispiel #3
0
        private void DlgFavoritesOrganize_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            // rebuild the Project.favorites list:
            Project.favorites.Clear();
            foreach (DataRow row in favoritesDataSet.Tables["favoritesTable"].Rows)
            {
                try
                {
                    if (row.RowState != DataRowState.Deleted)
                    {
                        string type = (string)row["type"];
                        string name = (string)row["name"];
                        double lat  = (double)row["lat"];
                        double lng  = (double)row["lng"];
                        double elev = (double)row["elev"];

                        CamPos camPos = new CamPos(lng, lat, elev, name, type);
                        Project.favorites.Add(camPos);
                    }
                }
                catch
                {
                }
            }
        }
Beispiel #4
0
        private void goButton_Click(object sender, System.EventArgs e)
        {
            GeoCoord location = TileCache.ZipcodeServer.getCoord(placesListBox);

            if (location != null)
            {
                Cursor.Current = Cursors.WaitCursor;
                m_cameraManager.SpoilPicture();
                m_cameraManager.Location = location;
                Cursor.Current           = Cursors.Default;
                if (m_firstTime)
                {
                    // first time, make this point a home in favorites:
                    CamPos camPos = new CamPos(location.Lng, location.Lat, location.Elev);
                    camPos.Name = "Home - " + placesListBox.SelectedItem;
                    if (Project.favorites.Count > 0)
                    {
                        Project.favorites.Insert(0, camPos);
                        Project.SaveFavorites();
                    }
                    else
                    {
                        Project.favorites.Add(camPos);
                        Project.EnsureFavorites();
                    }
                }
                this.Close();
            }
            else if (m_firstTime)
            {
                this.Close();
            }
        }
Beispiel #5
0
        //Central Cam: -32, 20.5, -45
        //Upgrade Cam: -11, 20.5, -45
        //Ammo Cam: -53, 20.5, -45
        //Engine Cam: -32, 20.5, -68.8
        public void UpdateCameraPos(CamPos curRoom)
        {
            switch (curRoom)
            {
            case CamPos.AmmoRoom:

                transform.position = new Vector3(-53f, 20.5f, -45f);
                break;

            case CamPos.CenterRoom:

                transform.position = new Vector3(-32f, 20.5f, -45f);
                break;

            case CamPos.EngineRoom:

                transform.position = new Vector3(-32f, 20.5f, -68.8f);
                break;

            case CamPos.UpgradeRoom:

                transform.position = new Vector3(-11f, 20.5f, -45f);
                break;
            }
        }
Beispiel #6
0
        // special case that doesn't require KmlDocument:
        public static void runGoogleEarthAtPoint(CamPos campos, string name, string labelHtml)
        {
            double camElev    = campos.Elev;            // meters
            double tilt       = 0.0d;                   // 0.0 - looking straight down, 90.0 - along the surface
            double heading    = 0.0d;                   // 0.0 - map is North up  90.0 - East up
            int    visibility = 0;                      // 0 - label not visible, 1 - visible

            string kmlPoint = String.Format(kmlPointFmt, name, labelHtml, campos.Lng, campos.Lat,
                                            camElev, tilt, heading, visibility);

            runKml(kmlPoint);
        }
Beispiel #7
0
    void Start()
    {
        m_PlayerObj        = GameObject.FindGameObjectWithTag("Player");
        m_PlayerController = m_PlayerObj.GetComponent <PlayerController>();
        m_CamPos           = FindObjectOfType <CamPos>();

        m_CamPos_1 = m_PlayerObj.transform.Find("CameraPos_1");
        m_CamPos_2 = m_PlayerObj.transform.Find("CameraPos_2");

        transform.position = m_CamPos_1.position;
        m_fDist            = Vector3.Distance(m_CamPos_2.position, transform.position);
    }
 // Use this for initialization
 void Start()
 {
     HPScript  = GetComponent <PlayerHealthScript>();
     pauseMenu = GameObject.Find("PauseMenuFill");
     pauseMenu.SetActive(false);
     campos                = mainCam.GetComponent <CamPos>();
     mouseorbit            = GetComponentInChildren <MouseOrbit> ();
     transform.eulerAngles = new Vector3(0, 0, 90f);
     isCam2                = false;
     cam2.SetActive(isCam2);
     gameObject.audio.pitch = 0.7f;
     isPaused          = false;
     Screen.showCursor = false;
 }
        // closest is SortedList of string (name) by key=double (distance meters)
        public DlgFavoritesAddTo(CamPos camPos, SortedList closest, MenuItem parentMenuItem, EventHandler eventHandler)
        {
            m_camPos         = camPos;
            m_parentMenuItem = parentMenuItem;
            m_eventHandler   = eventHandler;

            InitializeComponent();

            GeoCoord loc = new GeoCoord(m_camPos);

            Distance camHD      = new Distance(m_camPos.H);
            int      unitsCompl = camHD.UnitsCompl;

            locationLabel.Text = "Location: " + loc.ToString() + " / Camera at " + camHD.ToString(unitsCompl);
            nameComboBox.Text  = m_camPos.Name;
            for (int i = 0; i < closest.Count && i < 20; i++)
            {
                string name = ((LiveObject)closest.GetByIndex(i)).Name;
                nameComboBox.Items.Add(name);
            }
            Project.setDlgIcon(this);
        }
Beispiel #10
0
        public KmlTrack(KmlFolder parent, Track trk)
            : base(parent, trk.Name, 1, null)
        {
            bool trksClampToGround = Project.kmlOptions.TrksClampToGround;

            if (!trksClampToGround)
            {
                // do a little bit of looking into waypoints, decide if we need to clamp to ground anyway:
                bool hasAlt = false;
                for (int i = 0; i < trk.Trackpoints.Count; i++)
                {
                    Waypoint wpt = (Waypoint)trk.Trackpoints.GetByIndex(i);
                    if (wpt.Location.Elev != 0.0d)
                    {
                        hasAlt = true;
                        break;
                    }
                }
                if (!hasAlt)
                {
                    trksClampToGround = true;
                }
            }

            string actualAltMode   = trksClampToGround ? "clampedToGround" : "absolute";
            string actualPathName  = trksClampToGround ? "Path - clamped to ground" : "Path-Actual";
            string actualPathStyle = trksClampToGround ? "#TrackPathActual" : "#TrackPathActual";

            KmlPlacemark path = new KmlPlacemark(this, actualPathName, -1, null);

            // first path follows the trackpoints - actual track in the air:
            path.setColor(trk.color, Color.FromArgb(127, Color.Green));

            ArrayList points = new ArrayList();

            for (int i = 0; i < trk.Trackpoints.Count; i++)
            {
                Waypoint wpt    = (Waypoint)trk.Trackpoints.GetByIndex(i);
                CamPos   campos = new CamPos(wpt.Location.Lng, wpt.Location.Lat, wpt.Location.Elev, true);
                points.Add(campos);
            }

            path.setStyle(actualPathStyle);
            path.LineString(points, 0, 0, actualAltMode);

            if (!trksClampToGround)
            {
                // second path clamps to the ground, in case the first path goes under the surface:
                KmlPlacemark path2 = new KmlPlacemark(this, "Path-Ground", -1, null);

                path2.setColor(trk.color, Color.FromArgb(127, Color.Green));
                path2.setStyle("#TrackPathGround");
                path2.LineString(points, 0, 0, "clampedToGround");

                // third path creates a wall to the ground:
                KmlPlacemark path3 = new KmlPlacemark(this, "Path-Wall", -1, null);

                path3.setColor(Color.Transparent, Color.FromArgb(77, trk.color));                               // Lines are completely invisible, wall is 30% transparency
                path3.setStyle("#TrackPathWall");
                path3.LineString(points, 0, 1, "absolute");
            }

            // ok, done with the paths, build all waypoints:
            KmlFolder pointsFolder = new KmlFolder(this, "Trackpoints", -1, null);

            for (int i = 0; i < trk.Trackpoints.Count; i++)
            {
                Waypoint wpt     = (Waypoint)trk.Trackpoints.GetByIndex(i);
                Waypoint nextWpt = (i == trk.Trackpoints.Count - 1) ? null : (Waypoint)trk.Trackpoints.GetByIndex(i + 1);

                if (wpt.ThumbImage == null && nextWpt != null && !wpt.isEndpoint && wpt.Location.sameAs(nextWpt.Location))
                {
                    continue;
                }

                string pmName = wpt.ThumbImage == null?Project.zuluToLocal(wpt.DateTime).ToString() : wpt.Name;

                string pmDescr           = wpt.toStringKmlDescr();
                string pmStyleStartTrack = "#TrackPointStart";
                string pmStyleEndTrack   = "#TrackPointEnd";
                string pmStyleArrow      = "#TrackPointArrow";
                string pmStylePhoto      = "#TrackPointPhoto";

                KmlPlacemark pmPoint = new KmlPlacemark(pointsFolder, pmName, -1, pmDescr);

                if (wpt.isEndpoint)
                {
                    if (i == 0)
                    {
                        pmPoint.setStyle(pmStyleStartTrack);
                    }
                    else
                    {
                        pmPoint.setStyle(pmStyleEndTrack);
                    }
                }
                else if (wpt.ThumbImage != null)
                {
                    pmPoint.setStyle(pmStylePhoto);

                    try
                    {
                        PhotoDescr photoDescr = PhotoDescr.FromThumbnail(wpt.ThumbSource);

                        photoDescr.ensureImageExists();

                        ownerDoc.kmlFile.addImage(new Bitmap(photoDescr.image), wpt.Name);

                        photoDescr.releaseImage();
                    }
                    // An invalid image will throw an OutOfMemoryException
                    // exception
                    catch (OutOfMemoryException)
                    {
                        LibSys.StatusBar.Error("bad image: " + wpt.ThumbSource);
                    }
                }
                else
                {
                    pmPoint.setStyle(pmStyleArrow);

                    Color legColor = trk.color;

                    if (!trk.isRoute)
                    {
                        // similar code it Track:Paint()
                        if (Project.trackElevColor)
                        {
                            double elevRange = trk.ElevMax - trk.ElevMin;
                            if (elevRange > 1.0d && elevRange < 20000.0d)
                            {
                                double elevFactor = elevRange / 256.0d;
                                double elev       = nextWpt.Location.Elev;
                                int    r          = (int)((elev - trk.ElevMin) / elevFactor);
                                if (r > 255)
                                {
                                    r = 255;
                                }
                                int b = 255 - r;
                                int g = (255 - (r > b ? r : b)) * 2;                                            // will be high where R and B are close to equal, amounts to cyan

                                legColor = Color.FromArgb(r, g, b);
                            }
                        }
                        else if (Project.trackSpeedColor)
                        {
                            double speedRange = trk.SpeedMax - trk.SpeedMin;
                            if (speedRange > 1000.0d && speedRange < 1000000000.0d)
                            {
                                double speedFactor = speedRange / 256.0d;
                                double speed       = nextWpt.Speed;
                                int    r           = (int)((speed - trk.SpeedMin) / speedFactor);
                                if (r > 255)
                                {
                                    r = 255;
                                }
                                int b = 255 - r;
                                int g = (255 - (r > b ? r : b)) * 2;                                            // will be high where R and B are close to equal, amounts to cyan

                                legColor = Color.FromArgb(r, g, b);
                            }
                        }
                    }

                    double heading = Math.Round(180.0d + wpt.Location.bearing(nextWpt.Location) * 180.0d / Math.PI);
                    pmPoint.setArrowHeading(heading, legColor);
                }

                pmPoint.Point(wpt.Location, trksClampToGround || (wpt.Location.Elev == 0.0));
            }
        }
Beispiel #11
0
 // Use this for initialization
 void Start()
 {
     time   = 14.9f; //a little trick ;) pssst
     camPos = CamPos.fwd;
 }
Beispiel #12
0
 public GeoCoord(CamPos camPos)
 {
     m_X = camPos.Lng;
     m_Y = camPos.Lat;
     m_H = camPos.Elev;
 }
Beispiel #13
0
 private void Awake()
 {
     instance = this;
 }
 public void go_beach_func()
 {
     camPos = CamPos.beach;
     StartCoroutine(go_beach());
 }
 public void go_farm_func()
 {
     camPos = CamPos.farm;
     StartCoroutine(go_farm());
 }
 void dataLoad()
 {
     camPos = (CamPos)PlayerPrefs.GetInt("camPos", 0);
 }