Exemple #1
0
        public void ScreenWrapperTest()
        {
            var expected = Screen.PrimaryScreen;
            var actual   = new ScreenWrapper(expected);

            Compare(expected, actual);
        }
Exemple #2
0
 private void Awake()
 {
     col = GetComponent <CircleCollider2D>();
     col.GetComponent <CircleCollider2D>().enabled = true;
     screenLimit = GetComponent <ScreenWrapper>();
     screenLimit.GetComponent <ScreenWrapper>().enabled = true;
 }
Exemple #3
0
    private void FixedUpdate()
    {
        // rotation part
        transform.Rotate(Vector3.back, turnInput * TurnSpeed * Time.deltaTime);
        var z = (localTransform.eulerAngles.z + 90f) * Mathf.Deg2Rad; // + 90 cause of start direction

        direction.x = Mathf.Cos(z);
        direction.y = Mathf.Sin(z);

        // add velocity
        if (engineInput != 0)
        {
            engineVelocity += direction * EngineSpeed;
        }
        else
        {
            engineVelocity *= new Vector2(0.985f, 0.985f);
        }

        // limit velocity
        engineVelocity.x = Mathf.Clamp(engineVelocity.x, -maxEngineVelocity.x, maxEngineVelocity.x);
        engineVelocity.y = Mathf.Clamp(engineVelocity.y, -maxEngineVelocity.y, maxEngineVelocity.y);
        // update position
        Vector2 pos = localTransform.position;

        pos += engineVelocity * Time.deltaTime;
        localTransform.position = pos;
        ScreenWrapper.Wrap(gameObject);
    }
Exemple #4
0
        public Window()
        {
            InitializeComponent();

            InfoVersion.Text = Core.Version;

            ConsoleOutput.Font = new System.Drawing.Font(Core.Fonts.Families[0], 10f);

            Package[] installedPackages = Workshop.GetInstalled();

            installedPackages.ToList().ForEach(x =>
            {
                Dictionary <string, string> packageInfo = x.GetInfo();

                PackageInfo p      = new PackageInfo();
                p.NameLabel.Text   = packageInfo["Name"];
                p.AuthorLabel.Text = packageInfo["Authors"];
                p.DescLabel.Text   = packageInfo["Description"];
                p.Package          = x;

                p.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left;

                InstalledPackagesList.Controls.Add(p);

                p.RunButton.Click += (o, e) =>
                {
                    x.Run(true);
                };
            });

            var hoverColor = new ColorContainer(0, 0, 0);
            var cursorPos  = new PointContainer(0, 0);

            var timer = new System.Timers.Timer();

            timer.Interval = 1000;
            timer.Elapsed += (s, a) =>
            {
                if (this == null)
                {
                    return;
                }

                cursorPos  = InputWrapper.GetCursorPos();
                hoverColor = ScreenWrapper.GetPixels(cursorPos.X, cursorPos.Y, 1, 1)[0][0];

                Invoke(new Action(() =>
                {
                    if (IsDisposed)
                    {
                        return;
                    }

                    ColorDisplay.Text     = $"R: {hoverColor.R} G: {hoverColor.G} B: {hoverColor.B}";
                    CursorPosDisplay.Text = $"X: {cursorPos.X} Y: {cursorPos.Y}";
                }));
            };
            timer.Start();
        }
Exemple #5
0
 private void Compare(Screen expected, ScreenWrapper actual)
 {
     Assert.AreEqual(expected.BitsPerPixel, actual.BitsPerPixel);
     Assert.AreEqual(expected.Bounds, actual.Bounds);
     Assert.AreEqual(expected.DeviceName, actual.DeviceName);
     Assert.AreEqual(expected.Primary, actual.Primary);
     Assert.AreEqual(expected.WorkingArea, actual.WorkingArea);
 }
Exemple #6
0
        public void ToScreenTest()
        {
            var originalScreen = Screen.PrimaryScreen;
            var wrapper        = ScreenWrapper.ToScreenWrapper(originalScreen);
            var newScreen      = wrapper.ToScreen();

            Assert.AreSame(originalScreen, newScreen);
        }
Exemple #7
0
 private void Update()
 {
     if (transform.position.x > ScreenUtils.Right ||
         transform.position.x < ScreenUtils.Left ||
         transform.position.y > ScreenUtils.Top ||
         transform.position.y < ScreenUtils.Bottom)
     {
         ScreenWrapper.AdjustPosition(gameObject, collCircleRadius);
     }
 }
Exemple #8
0
        private void SetDefaults()
        {
            if (_defaultsSet)
            {
                return;
            }

            _predictedPackages = new List <PositionTimestampReceivePackage>();
            _screenWrapper     = GetComponent <ScreenWrapper>();
            _asteroidRb        = GetComponent <Rigidbody2D>();
            _defaultsSet       = true;
        }
Exemple #9
0
    void Start()
    {
        // Initialize screen boundaries.
        ScreenWrapper.init();

        // Which side of the screen the asteroid will come from.
        sides[0] = new Vector2(ScreenWrapper.L, 0);
        sides[1] = new Vector2(ScreenWrapper.R, 0);
        sides[2] = new Vector2(0, ScreenWrapper.T);
        sides[3] = new Vector2(0, ScreenWrapper.B);

        // Debug
        // foreach (Vector2 v in sides) print(v);
    }
        private void SetDefaults()
        {
            if (_defaultsSet)
            {
                return;
            }

            _screenWrapper    = GetComponent <ScreenWrapper>();
            _currentShootRate = useConstantRate ? fireRate : Random.Range(minFireRate, maxFireRate);
            _playerHolder     = GameObject.FindGameObjectWithTag(TagManager.PlayerHolder)?.transform;
            _spaceshipRb      = GetComponent <Rigidbody2D>();

            _predictedPackages = new List <PositionTimestampReceivePackage>();

            _defaultsSet = true;
        }
        private void Start()
        {
            _playerRb      = GetComponent <Rigidbody2D>();
            _playerAnim    = GetComponent <Animator>();
            _screenWrapper = GetComponent <ScreenWrapper>();

            _playerNetworkedPowerUpController = GetComponent <PlayerNetworkedPowerUpController>();
            _playerNetworkedDestroy           = GetComponent <PlayerNetworkedDestroy>();

            _roll = transform.rotation.eulerAngles.z;

            PacketManager.SendSpeed       = networkSendRate;
            ServerPacketManager.SendSpeed = networkSendRate;

            _predictedPackages = new List <PositionReceivePackage>();

            if (isLocalPlayer && isServer)
            {
                NetworkServer.Destroy(gameObject);
            }
        }
Exemple #12
0
 /// <summary>
 /// When the asteroid goes off the edge of the screen, we want it to reappear
 /// on the opposite side of the screen.
 /// </summary>
 private void OnBecameInvisible()
 {
     ScreenWrapper.ScreenWrap(transform, colliderRadius);
 }
Exemple #13
0
 /// <summary>
 /// Use OnBecameInvisible method for screen wrapping
 /// </summary>
 private void OnBecameInvisible()
 {
     ScreenWrapper.AdjustPosition(gameObject, collBox);
 }