Beispiel #1
0
        private void DoShoot(MouseState ms)
        {
            if (CurrentWorld.GetCurrentTimeInMilliseconds() - _lastShot > _cooldown)
            {
                ImmovableTerrain o = HelperIntersection.IsMouseCursorOnAny <ImmovableTerrain>(ms, out Vector3 intersectionPoint, 0, 16);
                Vector3          target;
                if (o != null)
                {
                    target = intersectionPoint;
                }
                else
                {
                    target = HelperIntersection.GetMouseIntersectionPoint(ms, Plane.Camera, -50, 35, 5);
                }

                ShotTerrain s = new ShotTerrain();
                s.SetModel("KWSphere");
                s.SetScale(0.25f);
                s.SetColor(0, 0, 1);
                s.SetGlow(0, 0, 1, 0.25f);
                s.IsCollisionObject = true;
                s.SetPosition(GetCenterPointForAllHitboxes() + GetLookAtVector() * 0.25f);
                s.TurnTowardsXYZ(target);

                CurrentWorld.AddGameObject(s);
                _lastShot = CurrentWorld.GetCurrentTimeInMilliseconds();
            }
        }
Beispiel #2
0
        public override void Act(KeyboardState kb, MouseState ms)
        {
            if (kb[Key.Escape])
            {
                CurrentWindow.SetWorld(new GameWorldStart());
                return;
            }
            Console.WriteLine("Maus ist im Fenser: " + CurrentWindow.IsMouseInWindow);

            CallerCube t = HelperIntersection.IsMouseCursorOnAny <CallerCube>(ms);

            if (t != null)
            {
                coloredItems.Add(t);
                t.SetGlow(1, 1, 0, 1);
            }
            foreach (GameObject g in GetGameObjects())
            {
                if (!coloredItems.Contains(g))
                {
                    g.SetGlow(0, 0, 0, 0);
                }
            }
            coloredItems.Clear();
        }