示例#1
0
    internal void GotoDraw2d(float dt)
    {
        SetAmbientLight(Game.ColorFromArgb(255, 255, 255, 255));
        Draw2d(dt);

        NewFrameEventArgs args_ = new NewFrameEventArgs();
        args_.SetDt(dt);
        for (int i = 0; i < clientmodsCount; i++)
        {
            clientmods[i].OnNewFrame(this, args_);
        }

        mouseleftclick = mouserightclick = false;
        mouseleftdeclick = mouserightdeclick = false;
        if ((!issingleplayer)
            || (issingleplayer && platform.SinglePlayerServerLoaded())
            || (!platform.SinglePlayerServerAvailable()))
        {
            if (!startedconnecting)
            {
                startedconnecting = true;
                Connect__();
            }
        }
    }
示例#2
0
 void window_RenderFrame(object sender, OpenTK.FrameEventArgs e)
 {
     UpdateMousePosition();
     foreach (NewFrameHandler h in newFrameHandlers)
     {
         NewFrameEventArgs args = new NewFrameEventArgs();
         args.SetDt((float)e.Time);
         h.OnNewFrame(args);
     }
     window.SwapBuffers();
 }
示例#3
0
    internal void FrameTick(float dt)
    {
        NewFrameEventArgs args_ = new NewFrameEventArgs();
        args_.SetDt(dt);
        for (int i = 0; i < clientmodsCount; i++)
        {
            clientmods[i].OnNewFrameFixed(this, args_);
        }
        for (int i = 0; i < entitiesCount; i++)
        {
            Entity e = entities[i];
            if (e == null) { continue; }
            for (int k = 0; k < e.scriptsCount; k++)
            {
                e.scripts[k].OnNewFrameFixed(this, i, dt);
            }
        }
        RevertSpeculative(dt);

        if (guistate == GuiState.MapLoading) { return; }

        float orientationX = platform.MathSin(player.position.roty);
        float orientationY = 0;
        float orientationZ = -platform.MathCos(player.position.roty);
        platform.AudioUpdateListener(EyesPosX(), EyesPosY(), EyesPosZ(), orientationX, orientationY, orientationZ);

        playervelocity.X = player.position.x - lastplayerpositionX;
        playervelocity.Y = player.position.y - lastplayerpositionY;
        playervelocity.Z = player.position.z - lastplayerpositionZ;
        playervelocity.X *= 75;
        playervelocity.Y *= 75;
        playervelocity.Z *= 75;
        lastplayerpositionX = player.position.x;
        lastplayerpositionY = player.position.y;
        lastplayerpositionZ = player.position.z;
    }
示例#4
0
    void window_RenderFrame(object sender, OpenTK.FrameEventArgs e)
    {
        UpdateMousePositionArgs a = new UpdateMousePositionArgs();
        UpdateMousePosition(a);
        if (!TouchTest)
        {
            foreach (MouseEventHandler h in mouseEventHandlers)
            {
                MouseEventArgs args2 = new MouseEventArgs();
                args2.SetX(a.mouseCurrentX);
                args2.SetY(a.mouseCurrentY);
                args2.SetMovementX((int)a.mouseDeltaX);
                args2.SetMovementY((int)a.mouseDeltaY);
                h.OnMouseMove(args2);
            }
        }

        foreach (NewFrameHandler h in newFrameHandlers)
        {
            NewFrameEventArgs args = new NewFrameEventArgs();
            args.SetDt((float)e.Time);
            h.OnNewFrame(args);
        }
        window.SwapBuffers();
    }