Beispiel #1
0
        public static void SetTimeOfDay(double time)
        {
            MAstroBody   Sol = MPlanetHandler.Get("Sol");
            Quaterniond  q   = Quaterniond.FromEulerAngles(0, 0, time * Math.PI / 180.0);
            MSceneObject mo  = (MSceneObject)MScene.AstroRoot.FindModuleByName("Sol");

            mo.SetPosition(new Vector3d(time * 10000000000, 0, 0));
        }
Beispiel #2
0
        private void Network_TeleportHandler(object sender, MoveEvent e)
        {
            MSceneObject mo = (MSceneObject)MScene.ModelRoot.FindModuleByInstanceID(e.InstanceID);

            if (mo != null)
            {
                mo.SetPosition(e.Position);
                mo.SetRotation(e.Rotation);
            }
            //throw new NotImplementedException();
            MMessageBus.TeleportComplete(this, e.InstanceID, e.Position, e.Rotation);
        }
Beispiel #3
0
 //sends local move requests to the server for handling
 private void MMessageBus_MoveRequestEventHandler(object sender, MoveEvent e)
 {
     if (Globals.Network.Connected == true)
     {
         Globals.Network.PositionRequest(e.InstanceID, e.Position, e.Rotation);
     }
     else
     {
         MSceneObject mo = (MSceneObject)MScene.ModelRoot.FindModuleByInstanceID(e.InstanceID);
         if (mo != null)
         {
             mo.SetPosition(e.Position);
             mo.SetRotation(e.Rotation);
         }
     }
 }
Beispiel #4
0
        public static void SetTimeOfDay(double _time)
        {
            time = _time;
            MAstroBody   Sol = MPlanetHandler.Get("Sol");
            Quaterniond  q   = Quaterniond.FromEulerAngles(0, (15 * time) * Math.PI / 180.0, 0);
            MSceneObject mo  = (MSceneObject)MScene.AstroRoot.FindModuleByName("Sol");

            mo.SetPosition(q * new Vector3d(Sol.DistanceToAvatar, 0, 0));
            MMessageBus.Navigate(null, mo.transform.Position);

            double ottime = (time + timeOffset) % 24;

            float f24 = (float)Math.Sin((ottime * 15.0) * Math.PI / 180.0);

            //f24 = Math.Min((float)Math.Pow(f24, 0.2), 1);
            f24 = Math.Max(f24, 0.02f);
            MScene.light.Ambient = new Vector3(f24, f24, f24);
        }