Наследование: MonoBehaviour
        /// <summary>
        /// sealed override, responsible for most of the bulk of the work of the TimedBehaviour.
        /// </summary>
        /// <param name="toPaddle"></param>
        /// <param name="gamestate"></param>
        public override sealed void BehaviourAdded(Paddle toPaddle, BCBlockGameState gamestate)
        {
            //call base implementation
            base.BehaviourAdded(toPaddle, gamestate);
            //check if we are SingleInstance. If so, that means that there can only be one instance at a time, which may not be surprising given the name.
            if (SingleInstance())
            {
                //check for existing instances of our class. If found, add our delay time to them.
                foreach (var iterate in (from p in toPaddle.Behaviours where p != this select p))
                {
                    if (iterate.GetType() == GetType())
                    {
                        //if same type, change delay, and break from routine.
                        (iterate as TimedPaddleBehaviour).ChangeDelayTime(gamestate, _BehaviourTime, true);
                        //make sure this instance get's removed, too! we are redundant now.
                        gamestate.NextFrameCalls.Enqueue
                            (new BCBlockGameState.NextFrameStartup(() => toPaddle.Behaviours.Remove(this)));

                        return;
                    }
                }
            }

            //if we are either not singleinstance or we are single instance but there are no existing  behaviours of our type attached,
            //do the stuff to add us.
            DelayIdentifier = gamestate.DelayInvoke(_BehaviourTime, TimeDelayRoutine, new object[] {gamestate});
            //if we have ability music, we play it now. Use the SoundManager's capacity to handle temporary music, which works rather well.
            if (_AbilityMusic != "") BCBlockGameState.Soundman.PlayTemporaryMusic(_AbilityMusic, 1.0f, true);
            //hook Death function. If the paddle dies, obviously the time delay will break out early, so we will need to stop the temporary music ourself.
            toPaddle.OnDeath += new Func<Paddle, bool>(toPaddle_OnDeath);
            //call abstract method for initialization.
            TimedBehaviourInitialize(toPaddle, gamestate);
        }
Пример #2
0
        public void MoveBall(Paddle playerOne, Paddle playerTwo)
        {
            Top += directionTop;
            Left += directionLeft;

            if (Top <= 1)
            {
                directionTop *= -1;
            }

            if (Left >= playerTwo.Left && Top >= playerTwo.Top && Top <= playerTwo.Top + playerTwo.Height)
            {
                directionLeft *= -1;
            }

            if (Top >= 399)
            {
                directionTop *= -1;
            }

            if (Left <= playerOne.Left + playerOne.Width && Top >= playerOne.Top && Top <= playerOne.Top + playerTwo.Height)
            {
                directionLeft *= -1;
            }

            if (Left == 499 || Left == 1)
            {
                directionLeft = 0;
                directionTop = 0;

                BallOutOfField = true;
            }
        }
Пример #3
0
 private void Start()
 {
     paddle = GameObject.FindObjectOfType<Paddle>();
     audioSource = GetComponent<AudioSource>();
     offset = transform.position - paddle.transform.position;
     print(offset.y);
 }
Пример #4
0
 void Start()
 {
     paddle = FindObjectOfType<Paddle>();
     rigidbody2D = GetComponent<Rigidbody2D>();
     audioSource = GetComponent<AudioSource>();
     paddleToBallVector = this.transform.position - paddle.transform.position;
 }
Пример #5
0
    void Start()
    {
        FutileParams fParams = new FutileParams(true, true, true, true);
        fParams.AddResolutionLevel(1366, 1, 1, "");
        fParams.origin = new Vector2(0.5f, 0.5f);

        Futile.instance.Init(fParams);
        Futile.atlasManager.LoadAtlas("Atlases/Breakout");

        BreakoutBackground bg = new BreakoutBackground(1.4f, 1);
        _player = new Paddle();

        bricks = new List<Brick>();
        Brick b1 = new Brick();
        b1.x = -Futile.screen.halfWidth/2;
        b1.y = -Futile.screen.halfHeight/2;
        Brick b2 = new Brick();
        b2.x = Futile.screen.halfWidth/2;
        b2.y = -Futile.screen.halfHeight/2;
        Brick b3 = new Brick();
        b3.x = -Futile.screen.halfWidth / 2;
        b3.y = Futile.screen.halfHeight / 2;
        Brick b4 = new Brick();
        b4.x = Futile.screen.halfWidth / 2;
        b4.y = Futile.screen.halfHeight / 2;
        bricks.Add(b1);
        bricks.Add(b2);
        bricks.Add(b3);
        bricks.Add(b4);

        _ball = new Ball();
    }
Пример #6
0
		private void AssertPaddleMovesLeftCorrectly(Paddle paddle)
		{
			Assert.AreEqual(0.5f, paddle.Position.X);
			AdvanceTimeAndUpdateEntities(0.1f);
			Assert.Less(paddle.Position.X, 0.5f);
			Assert.Greater(paddle.Position.Y, 0.75f);
		}
Пример #7
0
 void Start()
 {
     levelManager = GameObject.FindObjectOfType<LevelManager>();
     ball = GameObject.FindObjectOfType<Ball>();
     textLife = GameObject.FindObjectOfType<Text>();
     paddle = GameObject.FindObjectOfType<Paddle>();
 }
Пример #8
0
        // game-related init tasks
        public void InitGameObjects()
        {
            // create an instance of our ball
            m_ball = new Ball();

            // set the size of the ball
            m_ball.Width = 15.0f;
            m_ball.Height = 15.0f;

            // create 2 instances of our paddle
            m_paddle1 = new Paddle();
            m_paddle2 = new Paddle();

            // set the size of the paddles
            m_paddle1.Width = 15.0f;
            m_paddle1.Height = 100.0f;
            m_paddle2.Width = 15.0f;
            m_paddle2.Height = 100.0f;

            // map the digits in the image to actual numbers
            m_ScoreRect = new Rectangle[10];
            for (int i = 0; i < 10; i++)
            {
                m_ScoreRect[i] = new Rectangle(
                    i * 45, // X
                    0,      // Y
                    45,     // Width
                    75);    // Height
            }

            ResetGame();
        }
Пример #9
0
    // Use this for initialization
    void Start()
    {
        paddle = GameObject.FindObjectOfType<Paddle>();

        paddleToBallVector = (this.transform.position) - (paddle.transform.position);
        print (paddleToBallVector);
    }
Пример #10
0
	//private Brick isBreakable;
	
	// Use this for initialization
	void Start () {
		//game object allows me to find objects of type Paddle without setting Paddle as public.
		//this prevents me from needing to drag the paddle script in as a component, they are now linked programatically
		paddle= GameObject.FindObjectOfType<Paddle>();
		paddleToBallVector = this.transform.position - paddle.transform.position;
		
	}
Пример #11
0
 public override bool getPowerup(BCBlockGameState gstate,Paddle onPaddle, GamePowerUp gpower)
 {
     if(onPaddle==null) return false;
     //don't accept it.
     //reject it with great prejudice.
     //move the location temporarily.
     PointF oldposition = gpower.Location;
     SizeF oldsize = gpower.Size;
     gpower.Location = PointF.Empty;
     //draw to a temporary bitmap.
     Bitmap drawtothis = new Bitmap(16, 16);
     Graphics useg = Graphics.FromImage(drawtothis);
     useg.Clear(Color.Transparent);
     gpower.Draw(useg);
     //reset position.
     gpower.Location = oldposition;
     gpower.Size = oldsize;
     //get average.
     var averagedpixel = Color.FromArgb((int)((from p in drawtothis.getPixels() select p.ToArgb()).Average()));
     ExplosionEffect ee = new ExplosionEffect(gpower.Location, 72);
     ee.ExplosionColor = averagedpixel;
     ee.DamageBlocks = false;
     ee.DamagePaddle = false;
     gstate.Defer(() => gstate.GameObjects.AddLast(ee));
     //move  gpower to above the paddle, and invert the Y speed.
     gpower.Location = new PointF(gpower.Location.X, onPaddle.BlockRectangle.Top - gpower.getRectangle().Height - 1);
     gpower.Velocity = new PointF(gpower.Velocity.X, -Math.Abs(gpower.Velocity.Y)*1.1f);
     return true;
 }
Пример #12
0
    // Use this for initialization
    void Start()
    {
        paddle = GameObject.FindObjectOfType<Paddle>();
        paddleToBallVector = this.transform.position - paddle.transform.position;
        //print (paddleToBallVector.y);

        BallReset();
    }
Пример #13
0
 public void BallReset()
 {
     if (hasStarted){
         hasStarted = false;
         paddle = GameObject.FindObjectOfType<Paddle>();
         this.transform.position = paddle.transform.position + paddleToBallVector;
     }
 }
Пример #14
0
    // Use this for initialization
    void Start()
    {
        //Filter load private resources
        paddle = GameObject.FindObjectOfType<Paddle> ();

        paddleToBallVector = this.transform.position - paddle.transform.position;
        Debug.Log ("P2B Vector: " + paddleToBallVector);
    }
Пример #15
0
 void Start()
 {
     paddle = GameObject.FindObjectOfType<Paddle>();
     paddleToBallVector = transform.position - paddle.transform.position;
     sounds = GetComponents<AudioSource>();
     Hit = sounds[0];
     Bounce = sounds[1];
 }
Пример #16
0
    // Use this for initialization
    void Start()
    {
        paddle = GameObject.FindObjectOfType<Paddle>();
        paddleToBallVector = this.transform.position - paddle.transform.position;
        startGame = false;

        //print(paddleToBallVector);
    }
Пример #17
0
    //private Vector2 tweak;
    // Use this for initialization
    void Start()
    {
        paddle = GameObject.FindObjectOfType<Paddle>();

        paddleToBallVector = this.transform.position - paddle.transform.position;

        //tweak = new Vector2(Random.Range(0f, 0.2f), Random.Range(0f, 0.2f));
    }
Пример #18
0
    void Start()
    {
        rb = GetComponent<Rigidbody2D> ();
        boingSound = GetComponent<AudioSource> ();

        paddle = GameObject.FindObjectOfType<Paddle> ();
        paddleToBallVector = transform.position - paddle.transform.position;
    }
Пример #19
0
 // Use this for initialization
 void Start()
 {
     paddle = GameObject.FindObjectOfType<Paddle>();
     bonus = GameObject.FindObjectOfType<Bonus>();
     paddleToBallVector = this.transform.position - paddle.transform.position;
     booingAudio = GetComponent<AudioSource>();
     SetNormalTail();
     swapMaterial = gameObject.GetComponent<TrailRenderer>().materials[0];
 }
Пример #20
0
 void Start()
 {
     TouchMonitor.Register(onTouch);
     if (mode == Modes.Master) {
         playerPaddle = rightPaddle;
         remotePaddle = leftPaddle;
     } else {
         playerPaddle = leftPaddle;
         remotePaddle = rightPaddle;
     }
 }
Пример #21
0
    public override void OnEnter()
    {
        m_ball = Game.GetInstance().GetBall();
        m_paddle = Game.GetInstance().GetPaddleLeft();

        // make ball as child of paddle
        var ballTransform = m_ball.GetComponent<Transform>();
        var paddleTransform = m_paddle.GetComponent<Transform>();
        m_ballOriTransParent = ballTransform.parent;
        ballTransform.parent = paddleTransform;
    }
Пример #22
0
 void Awake()
 {
     if (paddle == null)
     {
         paddle = this;
     }
     else if (paddle != this)
     {
         Destroy(gameObject);
     }
     rb2d = GetComponent<Rigidbody2D>();
 }
Пример #23
0
        public override void Draw(Paddle onPaddle, Graphics g)
        {
            Rectangle rct = new Rectangle(Point.Empty, onPaddle.Getrect().Size);
            using (TextureBrush tb = new TextureBrush(drawimage, WrapMode.Tile,rct))
            {

                //calculate length to translate.
                int translateamount = (int) (((float)drawimage.Width / 1000f) * DateTime.Now.Millisecond);
                tb.TranslateTransform(translateamount, 0);
                g.FillRectangle(tb, onPaddle.Getrect());
            }
        }
Пример #24
0
        /// <summary>
        /// Perform non-graphical initialization.
        /// </summary>
        protected override void Initialize()
        {
            // Initialize helper variables
            _ScreenBounds = _Graphics.GraphicsDevice.Viewport.Bounds;

            _PongBall = new Ball(_ScreenBounds.Center.ToVector2(), Ball.RandomDirection());

            // Create the paddle in the center bottom
            _PongPaddleLeft = new Paddle(new Vector2(_ScreenBounds.Left + _OffsetSoft, _ScreenBounds.Center.Y));
            _PongPaddleRight = new Paddle(new Vector2(_ScreenBounds.Right - _OffsetSoft, _ScreenBounds.Center.Y));

            base.Initialize();
        }
Пример #25
0
 public void HitGoal(GameObject ball, Paddle paddle)
 {
     if (activeBalls.Count > 2)
     {
         activeBalls.Remove(ball);
         Destroy(ball);
         ball.GetComponent<BallController>().hasHit = false;
     }
     else
     {
         paddle.Attach(ball.GetComponent<BallController>());
     }
 }
        public override void BehaviourAdded(Paddle toPaddle, BCBlockGameState gamestate)
        {
            ownerpaddle = toPaddle;

            //remove any existing terminator behaviour.
            foreach (var loopbeh in toPaddle.Behaviours)
            {
                if (loopbeh is TerminatorBehaviour)
                    gstate.GameObjects.AddLast(new BehaviourRemoverProxy(toPaddle, loopbeh));
            }

            base.BehaviourAdded(toPaddle, gamestate);
        }
Пример #27
0
    public GameWorld(Point screenresolution, ContentManager c)
    {
        Asset.Initialise(c);

        screenResolution = screenresolution;

        topPaddle = new Paddle(new Vector2(20, screenResolution.Y / 2), Microsoft.Xna.Framework.Input.Keys.W, Microsoft.Xna.Framework.Input.Keys.S);
        bottomPaddle = new Paddle(new Vector2(screenResolution.X - 20, screenResolution.Y / 2), Microsoft.Xna.Framework.Input.Keys.Up, Microsoft.Xna.Framework.Input.Keys.Down);
        square = new Ball();

        background = Asset.LoadTexture2D("Background");
        this.font = Asset.LoadFont("Font");
    }
        public override void PerformFrame(BCBlockGameState gamestate, Paddle pPaddle)
        {
            var rg = BCBlockGameState.rgen;
            base.PerformFrame(gamestate, pPaddle);
            useoverlaybrush = new SolidBrush(new HSLColor(rg.NextDouble()*240, 240f, 120f));
            //spawn a sparkle.
            var paddlerect = pPaddle.Getrect();
            PointF randompoint = new PointF(paddlerect.Left + (float) (paddlerect.Width*rg.NextDouble()),
                                            paddlerect.Top + (float) (paddlerect.Height*rg.NextDouble()));

            Sparkle s = new Sparkle(randompoint, BCBlockGameState.GetRandomVelocity(0, 2),
                                    new HSLColor(rg.NextDouble()*240, 240, 120));
            gamestate.NextFrameCalls.Enqueue(new BCBlockGameState.NextFrameStartup(() => gamestate.Particles.Add(s)));
        }
Пример #29
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // Load our ball & paddles.
            ball = new Ball(Content.Load<Texture2D>("ball"), new Vector2(400, 0));
            paddle1 = new Paddle(Content.Load<Texture2D>("paddle1"), new Vector2(30, 190));
            paddle2 = new Paddle(Content.Load<Texture2D>("paddle2"), new Vector2(760, 190));
            stripe = new Entity(Content.Load<Texture2D>("stripe"), new Vector2(395, 0));

            // Load our font for displaying the scoreboard.
            font = Content.Load<SpriteFont>("SpriteFont1");
        }
Пример #30
0
        public override void BehaviourAdded(Paddle toPaddle, BCBlockGameState gamestate)
        {
            base.BehaviourAdded(toPaddle, gamestate);
            gamestate.Defer(()=>{
                                    addedobject = new ProxyObject((po, gs) =>
                                                                      {

                                                                          PerformFrame(toPaddle, gamestate);
                                                                          return false;

                                                                      }, null);
                                    gamestate.GameObjects.AddLast(addedobject);
            });
        }
 // Use this for initialization
 void Start()
 {
     paddle = GameObject.FindObjectOfType <Paddle>();
     paddle_to_ball_distance = this.transform.position - paddle.transform.position;
     b_Rigidbody2D           = GetComponent <Rigidbody2D>();
 }
Пример #32
0
 public void Run()
 {
     paddle = PaddleManager.Instance.Paddle;
     AudioManager.Instance.Play("changeWidth");
     startScale = true;
 }
Пример #33
0
 // Use this for initialization
 void Start()
 {
     paddle = FindObjectOfType <Paddle> ();
     bs     = FindObjectOfType <BallScript> ();
 }
Пример #34
0
 public DecreaseLivesBonus(GameController gc, Position blockCenter, Paddle paddle) : base(gc, blockCenter, paddle)
 {
 }
Пример #35
0
 public EasyAI(Ball ball, Paddle paddle) : base(ball, paddle)
 {
 }
Пример #36
0
 public HardAI(Ball ball, Paddle paddle) : base(ball, paddle)
 {
 }
Пример #37
0
 // Use this for initialization
 void Start()
 {
     audio              = GetComponent <AudioSource> ();
     paddle             = GameObject.FindObjectOfType <Paddle> ();
     paddleToBallVector = this.transform.position - paddle.transform.position;
 }
Пример #38
0
 private void Start()
 {
     paddle = GameController.Instance.paddle;
 }
Пример #39
0
 // Use this for initialization
 private void Start()
 {
     paddle         = FindObjectOfType <Paddle>();
     ballPaddleDiff = transform.position - paddle.transform.position;
 }
Пример #40
0
 public InputHandler(Paddle paddle)
 {
     _paddle = paddle;
 }
Пример #41
0
 // Start is called before the first frame update
 void Start()
 {
     _paddle1      = FindObjectOfType <Paddle>();
     _PaddleToBall = transform.position - _paddle1.transform.position;
 }
Пример #42
0
 private void Start()
 {
     paddle = player.Paddle;
 }
Пример #43
0
 // Use this for initialization
 void Start()
 {
     paddle             = GameObject.FindObjectOfType <Paddle>();
     paddleToBallVector = this.transform.position - paddle.transform.position;
     myRigidBody        = GetComponent <Rigidbody2D>();
 }
Пример #44
0
 public void Activate()
 {
     paddle1 = FindObjectOfType <Paddle>();
     paddle1.ExtendPaddle();
 }
Пример #45
0
 // Use this for initialization
 void Start()
 {
     paddle = GameObject.FindObjectOfType <Paddle>();
     ballToPaddleDistance = this.transform.position - paddle.transform.position;
 }
Пример #46
0
 // Use this for initialization
 void Start()
 {
     paddle = GameObject.FindObjectOfType <Paddle>();
 }
Пример #47
0
    /***********************************
    * Private Functions
    ***********************************/

    private void findPaddle()
    {
        paddle = GameObject.FindObjectOfType <Paddle> ();
    }
Пример #48
0
 // Use this for initialization
 void Start()
 {
     paddle = GameObject.FindObjectOfType <Paddle>();
     // Setting the ball position on the paddle as soon as the game starts //
     paddleToBallVector = this.transform.position - paddle.transform.position;
 }
Пример #49
0
 public AI(Ball ball, Paddle paddle)
 {
     this.paddle = paddle;
     this.Ball   = ball;
 }
Пример #50
0
 // Use this for initialization
 void Start()
 {
     paddle    = FindObjectOfType <Paddle>();
     p2bVector = this.transform.position - paddle.transform.position;
 }
Пример #51
0
 public MediumAI(Ball ball, Paddle paddle) : base(ball, paddle)
 {
 }
Пример #52
0
 protected override void ApplyPowerUp()
 {
     Paddle.EnableGun();
 }
Пример #53
0
 public void Initialize(Paddle pm)
 {
     material = GetComponent <MeshRenderer>().material;
     TurnLEDOn();
 }
Пример #54
0
 public ItemEffect(Paddle targetPaddle)
 {
     this.targetPaddle = targetPaddle;
 }
Пример #55
0
 // Use this for initialization
 void Start()
 {
     paddle             = GameObject.FindObjectOfType <Paddle>();
     paddleToBallVector = this.transform.position - paddle.transform.position;
 }
Пример #56
0
 // Use this for initialization
 void Start()
 {
     m_rigidbody        = gameObject.GetComponent <Rigidbody2D>();
     paddle             = GameObject.FindObjectOfType <Paddle>();
     paddleToBallVector = transform.position - paddle.transform.position;
 }
 void Start()
 {
     paddleScript = GameObject.FindObjectOfType <Paddle>();
     kitKat       = GameObject.FindObjectOfType <KitKatPaddle>();
 }
Пример #58
0
 void Awake()
 {
     paddle = FindObjectOfType <Paddle>();
 }
Пример #59
0
 // Update is called once per frame
 void Update()
 {
     self = this.GetComponent <Paddle>();
 }
Пример #60
0
 public Paddle Spawn(Paddle paddle, Vector3 position, int timespan)
 {
     spawnedPaddle  = this.Spawn(paddle, position);
     paddleLifeSpan = DateTimeOffset.Now.AddSeconds(timespan).ToUnixTimeSeconds();
     return(spawnedPaddle);
 }