All pastes #74525 Raw Edit

Anonymous

public text v1 · immutable
#74525 ·published 2006-06-29 03:51 UTC
rendered paste body
using System;
using FRB;
using FRB.GUI;
using FRB.Text;
using FRB.Particle;
using FRB.Collections;
using FRB.MSG;
using FRB.Audio;
using Math2D;
using Microsoft.DirectX.DirectInput;
using Microsoft.DirectX;


namespace GameName
{
    public class GameData
    {
        #region reference to engine managers and data
        public GameForm form;
        public GuiData guiData;
        public InputManager inpMan;
        public SpriteManager sprMan;
        public TextManager textMan;
        public GuiManager guiMan;
        public Camera camera;
        public Cursor cursor;
        public Random random;
        #endregion

        // declare variables of class scope here



        Sprite MyBall;
        Sprite myGround;

        public void Initialize(GameForm form)
        {
            #region initialize engine managers and data
            this.form = form;
            guiData = new GuiData();
            sprMan = GameForm.sprMan;
            inpMan = GameForm.inpMan;
            textMan = GameForm.textMan;
            guiMan = GameForm.guiMan;
            camera = GameForm.camera;
            cursor = GameForm.cursor;
            random = GameForm.random;

            #endregion




            MyBall = sprMan.AddSprite("redball.bmp");


            myGround = sprMan.AddSprite("redball.bmp");

            myGround.y = -10;
            myGround.sclX = 10;
            myGround.rotZ = -.1f;

        }


        float ElasticCollisionCoefficient = 0.6f;

        Vector3 mVector1 = new Vector3();
        Vector3 mVector2 = new Vector3();
        Vector3 mVector3 = new Vector3();


        public void Activity()
        {

            MyBall.yAcceleration = -9.8f;


            mVector1.X = myGround.rotationMatrix.M21;
            mVector1.Y = myGround.rotationMatrix.M22;
            mVector1.Z = myGround.rotationMatrix.M23;


            mVector2 = MyBall.velocity;         


            if (Collisions.rectCollisionAllowanceRotation(MyBall, myGround))
            {
                
                
                mVector1.Normalize();


                mVector3 = mVector2 - 2 * mVector1 * (Vector3.Dot(mVector1, mVector2));

                mVector3 = mVector3 * ElasticCollisionCoefficient;


                MyBall.xVelocity = mVector3.X;
                MyBall.yVelocity = mVector3.Y;
                MyBall.zVelocity = mVector3.Z;


            }
        


        }


        public void AfterFrameActivity()
        {
            // usually, the only code that goes here is text printing with the TextManager

            // if drawing text, uncomment the following line:
             textMan.BeginDrawing();

        }

    }
}