Esempio n. 1
0
 /// <summary>
 /// Stops all current automatic translations
 /// </summary>
 private void StopTranslations()
 {
     if (this.translationMode != CameraTranslations.None)
     {
         this.translationMode     = CameraTranslations.None;
         this.translationInterest = Vector3.Zero;
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Move camera to position
        /// </summary>
        /// <param name="newPosition">New position</param>
        /// <param name="translation">Translation mode</param>
        public void Goto(Vector3 newPosition, CameraTranslations translation = CameraTranslations.None)
        {
            Vector3 diff = newPosition - this.Position;

            if (translation != CameraTranslations.None)
            {
                this.StartTranslations(translation, this.Interest + diff);
            }
            else
            {
                this.StopTranslations();

                this.Position += diff;
                this.Interest += diff;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Center camera in new interest
        /// </summary>
        /// <param name="newInterest">New interest point</param>
        /// <param name="translation">Translation mode</param>
        public void LookTo(Vector3 newInterest, CameraTranslations translation = CameraTranslations.None)
        {
            if (translation != CameraTranslations.None)
            {
                this.StartTranslations(translation, newInterest);
            }
            else
            {
                this.StopTranslations();

                if (this.mode == CameraModes.FreeIsometric)
                {
                    Vector3 diff = newInterest - this.Interest;

                    this.Position += diff;
                    this.Interest += diff;
                }
                else
                {
                    this.Interest = newInterest;
                }
            }
        }
Esempio n. 4
0
 /// <summary>
 /// Center camera in new interest
 /// </summary>
 /// <param name="x">X position component</param>
 /// <param name="y">Y position component</param>
 /// <param name="z">Z position component</param>
 /// <param name="translation">Translation mode</param>
 public void LookTo(float x, float y, float z, CameraTranslations translation = CameraTranslations.None)
 {
     this.LookTo(new Vector3(x, y, z), translation);
 }
Esempio n. 5
0
 /// <summary>
 /// Starts automatic translations
 /// </summary>
 /// <param name="translation">Translation mode</param>
 /// <param name="newInterest">New interest point</param>
 private void StartTranslations(CameraTranslations translation, Vector3 newInterest)
 {
     this.translationMode     = translation;
     this.translationInterest = newInterest;
 }