Exemplo n.º 1
0
        public override void SetDifficultyPreset(GameParameters.Preset preset)
        {
            Debug.Log("Setting difficulty preset");
            switch (preset)
            {
                case GameParameters.Preset.Easy:
                    boiloffEnabled = true;
                    boiloffMultiplier = 0.25;
                    break;

                case GameParameters.Preset.Normal:
                    boiloffEnabled = true;
                    boiloffMultiplier = 0.5;
                    break;

                case GameParameters.Preset.Moderate:
                    boiloffEnabled = true;
                    boiloffMultiplier = 0.75;
                    break;

                case GameParameters.Preset.Hard:
                    boiloffEnabled = true;
                    boiloffMultiplier = 1.0;
                    break;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameters"></param>
        public OculusRiftDisplay( Game game, GraphicsDevice device, GameParameters parameters )
            : base(game, device, parameters)
        {
            window = CreateForm(parameters, null);

            oculus = new Wrap();

            // Initialize the Oculus runtime.
            oculus.Initialize();

            // Use the head mounted display, if it's available, otherwise use the debug HMD.
            int numberOfHeadMountedDisplays = oculus.Hmd_Detect();
            if (numberOfHeadMountedDisplays > 0)
                hmd = oculus.Hmd_Create(0);
            else
                hmd = oculus.Hmd_CreateDebug(OculusWrap.OVR.HmdType.DK2);

            if (hmd == null) {
                MessageBox.Show("Oculus Rift not detected.", "Uh oh", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (hmd.ProductName == string.Empty)
                MessageBox.Show("The HMD is not enabled.", "There's a tear in the Rift", MessageBoxButtons.OK, MessageBoxIcon.Error);

            OVR.Recti destMirrorRect;
            OVR.Recti sourceRenderTargetRect;
            hmd.AttachToWindow(window.Handle, out destMirrorRect, out sourceRenderTargetRect);

            // Create a backbuffer that's the same size as the HMD's resolution.
            OVR.Sizei backBufferSize;
            backBufferSize.Width	= hmd.Resolution.Width;
            backBufferSize.Height	= hmd.Resolution.Height;

            var deviceFlags = DeviceCreationFlags.None;
            deviceFlags |= parameters.UseDebugDevice ? DeviceCreationFlags.Debug : DeviceCreationFlags.None;

            var driverType = DriverType.Hardware;

            var featureLevel = HardwareProfileChecker.GetFeatureLevel(parameters.GraphicsProfile);

            swapChainDesc = new SwapChainDescription {
                BufferCount			= 1,
                ModeDescription		= new ModeDescription(backBufferSize.Width, backBufferSize.Height, new Rational(60, 1), Format.R8G8B8A8_UNorm),
                IsWindowed			= true,
                OutputHandle		= window.Handle,
                SampleDescription	= new SampleDescription(parameters.MsaaLevel, 0),
                SwapEffect			= SwapEffect.Discard,
                Usage				= Usage.RenderTargetOutput| Usage.ShaderInput,
                Flags				= SwapChainFlags.None,
            };

            D3D.Device.CreateWithSwapChain(driverType, deviceFlags, new[] { featureLevel }, swapChainDesc, out d3dDevice, out swapChain);

            var factory = swapChain.GetParent<Factory>();
            factory.MakeWindowAssociation(window.Handle, WindowAssociationFlags.IgnoreAll);

            clientWidth		= window.ClientSize.Width;
            clientHeight	= window.ClientSize.Height;
        }
Exemplo n.º 3
0
        public ActionResult Index(GameParameters parameters)
        {
            var model = new IndexViewModel { Parameters = parameters };

            if (model.IsValid())
            {
                var game = new GameGenerator();
                var gameGeneratorParameters = MapGameParametersToGameGeneratorParameters(parameters);
                var cards = game.GetGameCards(gameGeneratorParameters);

                switch (parameters.SortBy)
                {
                    case "Cost":
                        model.Cards = cards.OrderBy(x => x.Cost).ToList();
                        break;
                    case "Name":
                        model.Cards = cards.OrderBy(x => x.Name).ToList();
                        break;
                    case "Set":
                        model.Cards = cards.OrderBy(x => x.Set).ToList();
                        break;
                    default:
                        model.Cards = cards.ToList();
                        break;
                }
            }
            return View(model);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameters"></param>
        public BaseDisplay( Game game, GraphicsDevice device, GameParameters parameters )
            : base(device)
        {
            this.Game	=	game;

            ShowAdapterInfo( parameters );
        }
Exemplo n.º 5
0
 public static GameParameters getInstance()
 {
     if(_instance == null){
         _instance = new GameParameters();
     }
     return _instance;
 }
Exemplo n.º 6
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "connectivityHandler" && HighLogic.LoadedScene == GameScenes.FLIGHT)
     {
         return(false);
     }
     return(base.Interactible(member, parameters));
 }
Exemplo n.º 7
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "migrated" || member.Name == "version")
     {
         return(false);
     }
     return(base.Enabled(member, parameters));
 }
Exemplo n.º 8
0
 public void resume()
 {
     if (SettingAnimator.GetBool("onSetting"))
     {
         SettingAnimator.SetBool("onSetting", false);
         GameParameters.stateReverse();
     }
 }
Exemplo n.º 9
0
        public override bool Interactible(MemberInfo member, GameParameters parameters)
        {
            settingsFlatRateModel       = FlatRateModel;
            settingsUseDREVelocity      = UseDREVelocity;
            settingsUseDistanceOverride = UseDistanceOverride;

            return(true);
        }
Exemplo n.º 10
0
        public override bool Interactible(MemberInfo member, GameParameters parameters)
        {
            //if (HighLogic.LoadedScene != GameScenes.SPACECENTER)
            //    return false;

            return(true);
            //            return true; //otherwise return true
        }
Exemplo n.º 11
0
        public override bool Interactible(MemberInfo member, GameParameters parameters)
        {
            // if (member.Name == "DefaultSettings" && DefaultSettings)
            //SetDifficultyPreset(parameters.preset);


            return(true);
        }
Exemplo n.º 12
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (showPopup)
     {
         ClearAllInputLocks.OneTimePopup.RemovePopUpFlagFile();
     }
     return(true);
 }
Exemplo n.º 13
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (member.Name != "useStockUIScale")
     {
         return(!useStockUIScale);
     }
     return(true);
 }
Exemplo n.º 14
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (HighLogic.CurrentGame == null)
     {
         return(true);
     }
     return(!EVAFuelGlobals.changeEVAPropellent);
 }
Exemplo n.º 15
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (MinimumVacationDays > MaximumVacationDays)
     {
         MaximumVacationDays = MinimumVacationDays;
     }
     return(true);
 }
Exemplo n.º 16
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (Versioning.version_major == 1 && Versioning.version_minor >= 11)
     {
         return(member.Name != "cleanupDelay");
     }
     return(true);
 }
Exemplo n.º 17
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "ias")
     {
         return(!split_vertical);
     }
     return(true);
 }
Exemplo n.º 18
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (parameters.CustomParams <TAC_SettingsParms>().enabled)
     {
         return(true);
     }
     return(false);
 }
 void ActivateTheme()
 {
     GameParameters       establishedParams = ParameterHandler.Instance.GetParameters(parameterKey);
     List <GameParameter> gameParams        = establishedParams.Categories["Graphics"];
     string themeName = ((StringListParameter)gameParams[0]).Value;
     // Theme activeTheme = (Theme)System.Enum.Parse(typeof(Theme), themeName);
     //  ThemeController.ActivateTheme(activeTheme);
 }
Exemplo n.º 20
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "scienceAtFailure")
     {
         return(scienceAtFailure);
     }
     return(true);
 }
Exemplo n.º 21
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="parameters"></param>
        public GenericDisplay(Game game, GraphicsDevice device, GameParameters parameters) : base(game, device, parameters)
        {
            window = CreateTouchForm(parameters, null);

            try {
                NvApi.Initialize();
                NvApi.Stereo_Disable();
            }
            catch (NVException nvex) {
                Log.Debug(nvex.Message);
            }

            //var deviceFlags			=	DeviceCreationFlags.SingleThreaded;
            var deviceFlags = DeviceCreationFlags.None;

            deviceFlags |= parameters.UseDebugDevice ? DeviceCreationFlags.Debug : DeviceCreationFlags.None;
            deviceFlags |= parameters.SupportVideo ? DeviceCreationFlags.BgraSupport | (DeviceCreationFlags)2048 : DeviceCreationFlags.None;

            var driverType = DriverType.Hardware;

            var featureLevel = HardwareProfileChecker.GetFeatureLevel(parameters.GraphicsProfile);


            swapChainDesc = new SwapChainDescription()
            {
                BufferCount       = 2,
                ModeDescription   = new ModeDescription(parameters.Width, parameters.Height, new Rational(60, 1), Format.R8G8B8A8_UNorm),
                IsWindowed        = true,
                OutputHandle      = window.Handle,
                SampleDescription = new SampleDescription(parameters.MsaaLevel, 0),
                SwapEffect        = SwapEffect.Discard,
                Usage             = Usage.RenderTargetOutput,
                Flags             = SwapChainFlags.None,
            };


            D3D.Device.CreateWithSwapChain(driverType, deviceFlags, new[] { featureLevel }, swapChainDesc, out d3dDevice, out swapChain);

            //Log.Message("   compute shaders : {0}", d3dDevice.CheckFeatureSupport(Feature.ComputeShaders) );
            //Log.Message("   shader doubles  : {0}", d3dDevice.CheckFeatureSupport(Feature.ShaderDoubles) );
            //Log.Message("   threading       : {0}", d3dDevice.CheckFeatureSupport(Feature.Threading) );
            bool driverConcurrentCreates;
            bool driverCommandLists;

            d3dDevice.CheckThreadingSupport(out driverConcurrentCreates, out driverCommandLists);
            d3dDevice.GetCounterCapabilities();
            Log.Message("   Concurrent Creates : {0}", driverConcurrentCreates);
            Log.Message("   Command Lists      : {0}", driverCommandLists);


            var factory = swapChain.GetParent <Factory>();

            factory.MakeWindowAssociation(window.Handle, WindowAssociationFlags.IgnoreAll);


            clientWidth  = window.ClientSize.Width;
            clientHeight = window.ClientSize.Height;
        }
Exemplo n.º 22
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (KSP_ColorPicker.showPicker)
     {
         KSP_ColorPicker.colorPickerInstance.PingTime();
         return(false);
     }
     return(true);
 }
Exemplo n.º 23
0
    void Start()
    {
        gParameters = FindObjectOfType <GameParameters>();
        monsterRB   = GetComponent <Rigidbody>();

        isAlive            = true;
        hasBomb            = false;
        deactivatedAtStart = false;
    }
Exemplo n.º 24
0
        public override bool Enabled(System.Reflection.MemberInfo member, GameParameters parameters)
        {
            if (member.Name == "Reload")
            {
                return(HighLogic.LoadedSceneIsFlight);
            }

            return(true);
        }
Exemplo n.º 25
0
        public override bool Enabled(MemberInfo member, GameParameters parameters)
        {
            if (disabled)
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 26
0
        public override bool Enabled(MemberInfo member, GameParameters parameters)
        {
            if (member.Name == "EnabledForSave") //This Field must always be enabled.
            {
                return(true);
            }

            return(oldEnabled); //otherwise return true
        }
Exemplo n.º 27
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (oldDebugMode != debugMode)
     {
         ConfigInfo.Instance.SaveData();
         oldDebugMode = debugMode;
     }
     return(true);
 }
Exemplo n.º 28
0
    // Use this for initialization
    protected virtual void Start()
    {
        this.gameParam   = GameObject.Find("GameParameters").GetComponent <GameParameters>();
        this.greenScreen = GameObject.Find("GreenScreen");
        this.horizontalMovementModifier = Random.Range(-0.5f, 0.5f);
        float greenScreenBounds = this.greenScreen.transform.lossyScale.x;

        this.horizontalMovementBounds = greenScreenBounds / 2.0f;
    }
Exemplo n.º 29
0
        public override bool Enabled(MemberInfo member, GameParameters parameters)
        {
            if (member.Name == "enabled")
            {
                return(true);
            }

            return(enabled); //otherwise return true
        }
Exemplo n.º 30
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "hideButtonInFlight" && hideButton)
     {
         hideButtonInFlight = true;
         return(false);
     }
     return(true);
 }
Exemplo n.º 31
0
        public override bool Interactible(MemberInfo member, GameParameters parameters)
        {
            if (member.Name == "useKCTResearch" || member.Name == "useKCTDevelopment" || member.Name == "CostAdj")
            {
                return(LTech_1.fetch.useEfficiencyMultiplier);
            }

            return(true);
        }
 protected override void ReleaseReferences()
 {
     PauseGame();
     _isRun            = false;
     systemsHolder     = null;
     _systemController = null;
     _playerController = null;
     parameters        = null;
 }
Exemplo n.º 33
0
        public void Hit(Creature attacked)
        {
            attacked.Health -= this.GetHitPower() - attacked.GetDefencePower();
            Enemy enemy = attacked as Enemy;

            this.GoldAmount        += enemy.WorthInGold;
            this.CurrentExperience += GameParameters.GetExperienceReward(this.CurrentLevel);
            this.CurrentLevel       = GameParameters.GetCurrentLevel(this.CurrentExperience);
        }
Exemplo n.º 34
0
 public Score(IPlayer[] players, GameParameters parameters, IDispatcher dispatcher)
 {
     Parameters = parameters;
     Dispatcher = dispatcher;
     foreach (var i in players)
     {
         RegisterPlayer(i.Seat);
     }
     OnCreateScore();
 }
Exemplo n.º 35
0
        public override bool Interactible(MemberInfo member, GameParameters parameters)
        {
            if (member.Name == "IsMissionTrainingEnabled")
            {
                IsMissionTrainingEnabled &= IsTrainingEnabled;
                return(IsTrainingEnabled);
            }

            return(base.Interactible(member, parameters));
        }
Exemplo n.º 36
0
	public void AddIngredient(Transform ingredientPosition, Sprite spriteImage, GameParameters.IngredientTypes type)
	{
		// Object Pooling
		GameObject newIngredient = null;
		int index = 0;
        for (; index < uiIngredientBar.Count; index++)
		{
			var ing = uiIngredientBar[index];
			// Have we found the next disabled element
			if (ing.gameObject.activeSelf == false)
			{
				// Set it active
				ing.gameObject.SetActive(true);

				// Set our reference
				newIngredient = ing.gameObject;
				break;
			}
		}

		// didnt find one in the pool. Add a new one for us. Duplicating the first(Always should exist)
		if (newIngredient == null)
		{
			// Make one
			newIngredient = Instantiate(uiIngredientBar[0].gameObject);

			// Parent it
			var trans = newIngredient.transform as RectTransform;
			trans.SetParent(uiIngredientBar[0].transform.parent);

			// Add it
			uiIngredientBar.Add(newIngredient.GetComponent<Image>());
        }

		// Add our type
		if (currentTypes.ContainsKey(type))
		{
			currentTypes[type] += 1;
		}
		else
		{
			currentTypes.Add(type, 1);
		}

		// Popup at the location of the ingredient
		var popup = newIngredient.GetComponent<UIWorldPopup>();
		popup.EnableAtPosition(ingredientPosition.position);

		// Move towards the bar
		popup.MoveTowards(initialPosition + new Vector2(initialSize.x * 0.75f * index, 0));

		// Set out sprite
		newIngredient.GetComponent<Image>().sprite = spriteImage;
	}
Exemplo n.º 37
0
 public float GetParameter(GameParameters parameter)
 {
     float val = 0f;
     if (additionalParameters.TryGetValue(parameter, out val))
         return val;
     else
     {
         Debug.LogWarning("Parameter " + parameter.ToString() + " hasn't found. Please add all parameters from 'GameParameters' enum to the 'allParameters' array!");
         return 0;
     }
 }
Exemplo n.º 38
0
 void Start()
 {
     if (_instance == null)
     {
         _instance = this;
     }
     else
     {
         Destroy (gameObject);
     }
 }
Exemplo n.º 39
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (HighLogic.fetch != null)
     {
         if (HighLogic.LoadedScene == GameScenes.MAINMENU || HighLogic.LoadedScene == GameScenes.SETTINGS || HighLogic.LoadedScene == GameScenes.SPACECENTER)
         {
             return (member.Name == "boiloffEnabled" || boiloffEnabled);
         }
     }
     return false;
 }
Exemplo n.º 40
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameters"></param>
        public GenericDisplay( Game game, GraphicsDevice device, GameParameters parameters )
            : base(game, device, parameters)
        {
            window	=	CreateForm( parameters, null );

            try {
                NvApi.Initialize();
                NvApi.Stereo_Disable();
            }
            catch (NVException nvex) {
                Log.Debug(nvex.Message);
            }

            //var deviceFlags			=	DeviceCreationFlags.SingleThreaded;
            var deviceFlags			=	DeviceCreationFlags.None;
                deviceFlags			|=	parameters.UseDebugDevice ? DeviceCreationFlags.Debug : DeviceCreationFlags.None;

            var driverType			=	DriverType.Hardware;

            var featureLevel	=	HardwareProfileChecker.GetFeatureLevel( parameters.GraphicsProfile );

            swapChainDesc = new SwapChainDescription () {
                BufferCount			=	2,
                ModeDescription		=	new ModeDescription( parameters.Width, parameters.Height, new Rational(60, 1), Format.R8G8B8A8_UNorm ),
                IsWindowed			=	true,
                OutputHandle		=	window.Handle,
                SampleDescription	=	new SampleDescription(parameters.MsaaLevel, 0),
                SwapEffect			=	SwapEffect.Discard,
                Usage				=	Usage.RenderTargetOutput,
                Flags				=	SwapChainFlags.None,
            };

            D3D.Device.CreateWithSwapChain( driverType, deviceFlags, new[]{ featureLevel }, swapChainDesc, out d3dDevice, out swapChain );

            //Log.Message("   compute shaders : {0}", d3dDevice.CheckFeatureSupport(Feature.ComputeShaders) );
            //Log.Message("   shader doubles  : {0}", d3dDevice.CheckFeatureSupport(Feature.ShaderDoubles) );
            //Log.Message("   threading       : {0}", d3dDevice.CheckFeatureSupport(Feature.Threading) );
            bool driverConcurrentCreates;
            bool driverCommandLists;
            d3dDevice.CheckThreadingSupport( out driverConcurrentCreates, out driverCommandLists );
            d3dDevice.GetCounterCapabilities();
            Log.Message("   Concurrent Creates : {0}", driverConcurrentCreates );
            Log.Message("   Command Lists      : {0}", driverCommandLists );

            var factory		=	swapChain.GetParent<Factory>();
            factory.MakeWindowAssociation( window.Handle, WindowAssociationFlags.IgnoreAll );

            clientWidth		=	window.ClientSize.Width;
            clientHeight	=	window.ClientSize.Height;
        }
Exemplo n.º 41
0
        private static GameGeneratorParameters MapGameParametersToGameGeneratorParameters(GameParameters parameters)
        {
            var gameParamaters = GameGeneratorParameters.GetInstance();

            if (parameters.Base) gameParamaters.FindSet("Dominion").IsSet = true;
            if (parameters.Alchemy) gameParamaters.FindSet("Alchemy").IsSet = true;
            if (parameters.Intrigue) gameParamaters.FindSet("Intrigue").IsSet = true;
            if (parameters.Promo) gameParamaters.FindSet("Promo").IsSet = true;
            if (parameters.Prosperity) gameParamaters.FindSet("Prosperity").IsSet = true;
            if (parameters.Seaside) gameParamaters.FindSet("Seaside").IsSet = true;
            if (parameters.Cornucopia) gameParamaters.FindSet("Cornucopia").IsSet = true;
            if (parameters.Hinterlands) gameParamaters.FindSet("Hinterlands").IsSet = true;
            if (parameters.DarkAges) gameParamaters.FindSet("DarkAges").IsSet = true;

            if (parameters.RequireReactionToAttack) gameParamaters.FindRule("RequireReactionToAttack").IsSet = true;
            if (parameters.RequireTwoToFiveCostCards) gameParamaters.FindRule("RequireTwoToFiveCostCards").IsSet = true;

            return gameParamaters;
        }
Exemplo n.º 42
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameters"></param>
        public StereoInterlacedDisplay( Game game, GraphicsDevice device, GameParameters parameters )
            : base(game, device, parameters)
        {
            try {
                NvApi.Initialize();
                NvApi.Stereo_Disable();
            }
            catch (NVException nvex) {
                Log.Debug(nvex.Message);
            }

            window	=	CreateForm( parameters, null );

            var deviceFlags			=	DeviceCreationFlags.None;
                deviceFlags			|=	parameters.UseDebugDevice ? DeviceCreationFlags.Debug : DeviceCreationFlags.None;

            var driverType			=	DriverType.Hardware;

            var featureLevel	=	HardwareProfileChecker.GetFeatureLevel( parameters.GraphicsProfile );

            swapChainDesc = new SwapChainDescription () {
                BufferCount			=	1,
                ModeDescription		=	new ModeDescription( parameters.Width, parameters.Height, new Rational(60, 1), Format.R8G8B8A8_UNorm ),
                IsWindowed			=	true,
                OutputHandle		=	window.Handle,
                SampleDescription	=	new SampleDescription(parameters.MsaaLevel, 0),
                SwapEffect			=	SwapEffect.Discard,
                Usage				=	Usage.RenderTargetOutput,
                Flags				=	SwapChainFlags.None,
            };

            D3D.Device.CreateWithSwapChain( driverType, deviceFlags, new[]{ featureLevel }, swapChainDesc, out d3dDevice, out swapChain );

            var factory		=	swapChain.GetParent<Factory>();
            factory.MakeWindowAssociation( window.Handle, WindowAssociationFlags.IgnoreAll );

            clientWidth		=	window.ClientSize.Width;
            clientHeight	=	window.ClientSize.Height;
        }
 // Use this for initialization
 public void SetUp()
 {
     if (title != null) {
         title.text = parameterKey;
     }
     if (setUpComplete == true) {
         return;
     }
     print("Adding parameter");
     ParameterHandler.Instance.AddParameters(parameterKey);
     paramInst = ParameterHandler.Instance.GetParameters(parameterKey);
     Widgets = new List<ParameterWidget>();
     if(paramInst.Categories == null) {
         print("Parameters not set up");
         return;
     }
     foreach (string category in paramInst.Categories.Keys) {
         AddCategory(category);
         foreach (GameParameter p in paramInst.Categories[category]) {
             SetupWidget(p);
         }
     }
     setUpComplete = true;
 }
Exemplo n.º 44
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public Form CreateTouchForm(GameParameters parameters, Output output)
        {
            var form = new TouchForm()
            {
                Text		= parameters.Title,
                BackColor	= System.Drawing.Color.Black,
                ClientSize	= new System.Drawing.Size(parameters.Width, parameters.Height),
                Icon		= parameters.Icon ?? Fusion.Properties.Resources.fusionIcon,
                ControlBox	= false,
                StartPosition = output == null ? FormStartPosition.CenterScreen : FormStartPosition.Manual,
            };

            if (output != null)
            {

                var bounds = output.Description.DesktopBounds;
                var scrW = bounds.Right - bounds.Left;
                var scrH = bounds.Bottom - bounds.Top;

                form.Location = new System.Drawing.Point(bounds.Left + (scrW - form.Width) / 2, bounds.Top + (scrH - form.Height) / 2);
                form.Text += " - [" + output.Description.DeviceName + "]";
            }

            form.KeyDown += form_KeyDown;
            form.KeyUp += form_KeyUp;
            form.KeyPress += form_KeyPress;
            form.Resize += (s, e) => Game.InputDevice.RemoveAllPressedKey();
            form.Move += (s, e) => Game.InputDevice.RemoveAllPressedKey();

            form.TouchTap		+= (pos) => Game.InputDevice.NotifyTouchTap(pos);
            form.TouchDoubleTap += (pos) => Game.InputDevice.NotifyTouchDoubleTap(pos);
            form.TouchSecondaryTap += (pos) => Game.InputDevice.NotifyTouchSecondaryTap(pos);
            form.TouchManipulation += (center, delta, scale) => Game.InputDevice.NotifyTouchManipulation(center, delta, scale);

            return form;
        }
Exemplo n.º 45
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "version" || member.Name == "knownHandlerList")
     {
         return false;
     }
     if (HighLogic.LoadedScene == GameScenes.MAINMENU)
     {
         if (member.Name == "connectivityHandlerTitle")
         {
             connectivityHandlerTitle = "You will be prompted to select a handler when the game loads.";
         }
         else
         {
             return false;
         }
     }
     return base.Enabled(member, parameters);
 }
Exemplo n.º 46
0
	// Basic sort function
	private int SortSpells(GameParameters.Spell s1, GameParameters.Spell s2)
	{
		var s1n = s1.ingredients.Sum(s => s.minCount);
		var s2n = s2.ingredients.Sum(s => s.minCount);

		if (s1n < s2n) return 1;
		if (s1n > s2n) return -1;
		return 0;
	}
Exemplo n.º 47
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "connectivityHandler" && HighLogic.LoadedScene == GameScenes.FLIGHT)
     {
         return false;
     }
     return base.Interactible(member, parameters);
 }
Exemplo n.º 48
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (parameters.CustomParams<TAC_SettingsParms>().enabled)
         return true;
     return false;
 }
Exemplo n.º 49
0
        /// <summary>
        /// Initializes graphics device
        /// </summary>
        internal void Initialize( GameParameters parameters )
        {
            this.GraphicsProfile	=	parameters.GraphicsProfile;

            try {
                if (parameters.StereoMode==StereoMode.Disabled) 	display	=	new GenericDisplay( Game, this, parameters ); else
                if (parameters.StereoMode==StereoMode.NV3DVision)	display	=	new NV3DVisionDisplay( Game, this, parameters ); else
                if (parameters.StereoMode==StereoMode.DualHead)		display	=	new StereoDualHeadDisplay( Game, this, parameters ); else
                if (parameters.StereoMode==StereoMode.Interlaced)	display	=	new StereoInterlacedDisplay( Game, this, parameters ); else
                if (parameters.StereoMode==StereoMode.OculusRift)	display	=	new OculusRiftDisplay( Game, this, parameters ); else
                    throw new ArgumentException("parameters.StereoMode");
            } catch ( Exception e ) {
                Log.Warning("Failed to intialize graphics device.");
                Log.Warning("{0}", e.Message );
                Log.Warning("Attempt to use default parameters...");

                parameters.FullScreen	=	false;
                parameters.StereoMode	=	StereoMode.Disabled;

                display	=	new GenericDisplay( Game, this, parameters );
            }

            device			=	display.d3dDevice;
            deviceContext	=	device.ImmediateContext;

            display.CreateDisplayResources();

            //
            //	create color buffer :
            //
            PixelShaderResources	=	new ShaderResourceCollection( this, DeviceContext.PixelShader		);
            VertexShaderResources 	=	new ShaderResourceCollection( this, DeviceContext.VertexShader		);
            GeometryShaderResources =	new ShaderResourceCollection( this, DeviceContext.GeometryShader	);
            ComputeShaderResources 	=	new ShaderResourceCollection( this, DeviceContext.ComputeShader		);
            DomainShaderResources 	=	new ShaderResourceCollection( this, DeviceContext.DomainShader		);
            HullShaderResources 	=	new ShaderResourceCollection( this, DeviceContext.HullShader		);

            PixelShaderSamplers		=	new SamplerStateCollection	( this, DeviceContext.PixelShader		);
            VertexShaderSamplers	=	new SamplerStateCollection	( this, DeviceContext.VertexShader		);
            GeometryShaderSamplers	=	new SamplerStateCollection	( this, DeviceContext.GeometryShader	);
            ComputeShaderSamplers	=	new SamplerStateCollection	( this, DeviceContext.ComputeShader		);
            DomainShaderSamplers	=	new SamplerStateCollection	( this, DeviceContext.DomainShader		);
            HullShaderSamplers		=	new SamplerStateCollection	( this, DeviceContext.HullShader		);

            PixelShaderConstants	=	new ConstantBufferCollection( this, DeviceContext.PixelShader		);
            VertexShaderConstants	=	new ConstantBufferCollection( this, DeviceContext.VertexShader		);
            GeometryShaderConstants	=	new ConstantBufferCollection( this, DeviceContext.GeometryShader	);
            ComputeShaderConstants	=	new ConstantBufferCollection( this, DeviceContext.ComputeShader		);
            DomainShaderConstants	=	new ConstantBufferCollection( this, DeviceContext.DomainShader		);
            HullShaderConstants		=	new ConstantBufferCollection( this, DeviceContext.HullShader		);

            ResetStates();
        }
Exemplo n.º 50
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "migrated" || member.Name == "version")
     {
         return false;
     }
     return base.Enabled(member, parameters);
 }
Exemplo n.º 51
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameters"></param>
        public StereoDualHeadDisplay( Game game, GraphicsDevice device, GameParameters parameters )
            : base(game, device, parameters)
        {
            try {
                NvApi.Initialize();
                NvApi.Stereo_Disable();
            }
            catch (NVException nvex) {
                Log.Debug(nvex.Message);
            }

            var featureLevel	=	HardwareProfileChecker.GetFeatureLevel( parameters.GraphicsProfile );

            Adapter	adapter;
            Output leftOut, rightOut;

            GetDualHeadAdapter( featureLevel, out adapter, out leftOut, out rightOut );

            window1	=	CreateForm( parameters, leftOut );
            window2	=	CreateForm( parameters, rightOut );
            window1.Tag	=	leftOut.Description;
            window2.Tag	=	rightOut.Description;

            window1.AddOwnedForm( window2 );

            window2.Show();
            window1.Show();

            window1.Resize += window_Resize;
            window2.Resize += window_Resize;
            window1.Move += window_Move;
            window2.Move += window_Move;
            window1.Activated += window_Activated;
            window2.Activated += window_Activated;
            targetForm	=	window1;

            var deviceFlags			=	DeviceCreationFlags.None;
                deviceFlags			|=	parameters.UseDebugDevice ? DeviceCreationFlags.Debug : DeviceCreationFlags.None;

            swapChainDesc1 = new SwapChainDescription () {
                BufferCount			=	1,
                ModeDescription		=	new ModeDescription( parameters.Width, parameters.Height, new Rational(60, 1), Format.R8G8B8A8_UNorm ),
                IsWindowed			=	true,
                OutputHandle		=	window1.Handle,
                SampleDescription	=	new SampleDescription(parameters.MsaaLevel, 0),
                SwapEffect			=	SwapEffect.Discard,
                Usage				=	Usage.RenderTargetOutput,
                Flags				=	SwapChainFlags.None,
            };

            swapChainDesc2 = new SwapChainDescription () {
                BufferCount			=	1,
                ModeDescription		=	new ModeDescription( parameters.Width, parameters.Height, new Rational(60, 1), Format.R8G8B8A8_UNorm ),
                IsWindowed			=	true,
                OutputHandle		=	window2.Handle,
                SampleDescription	=	new SampleDescription(parameters.MsaaLevel, 0),
                SwapEffect			=	SwapEffect.Discard,
                Usage				=	Usage.RenderTargetOutput,
                Flags				=	SwapChainFlags.None,
            };

            d3dDevice	=	new D3D.Device( adapter, deviceFlags, featureLevel );

            using ( var factory = adapter.GetParent<Factory>() ) {

                swapChain1	=	new SwapChain( factory, d3dDevice, swapChainDesc1 );
                swapChain2	=	new SwapChain( factory, d3dDevice, swapChainDesc2 );

                //factory.MakeWindowAssociation( new IntPtr(0), WindowAssociationFlags.None );
                factory.MakeWindowAssociation( window1.Handle, WindowAssociationFlags.IgnoreAll | WindowAssociationFlags.IgnoreAltEnter );
                factory.MakeWindowAssociation( window2.Handle, WindowAssociationFlags.IgnoreAll | WindowAssociationFlags.IgnoreAltEnter );
            }

            clientWidth		=	window1.ClientSize.Width;
            clientHeight	=	window1.ClientSize.Height;
        }
Exemplo n.º 52
0
        /// <summary>
        /// 
        /// </summary>
        protected void ShowAdapterInfo( GameParameters parameters )
        {
            Log.Message("Mode : {0}x{1} {3} MS:{2} Stereo:{5} {4}",
                parameters.Width,
                parameters.Height,
                parameters.MsaaLevel,
                parameters.FullScreen ? "FS" : "W",
                parameters.UseDebugDevice ? "(Debug)" : "",
                parameters.StereoMode );

            using ( var factory2 = new Factory() ) {

                Log.Message("Adapters:");

                try {
                    foreach (var adapter in factory2.Adapters) {
                        var aDesc = adapter.Description;
                        Log.Message("   {0} - {1}", aDesc.Description, D3D.Device.GetSupportedFeatureLevel(adapter));

                        foreach ( var output in adapter.Outputs ) {
                            var desc = output.Description;
                            var bnds = output.Description.DesktopBounds;
                            var bndsString = string.Format("x:{0} y:{1} w:{2} h:{3}", bnds.Left, bnds.Top, bnds.Right-bnds.Left, bnds.Bottom-bnds.Top );

                            Log.Message("   {0} [{1}] {2}", desc.DeviceName, bndsString, desc.Rotation );
                        }
                    }
                } catch ( Exception e ) {
                    Log.Warning( e.Message );
                }
            }
        }
Exemplo n.º 53
0
        private void HandleServerSettings(byte[] messageData)
        {
            using (MessageReader mr = new MessageReader(messageData))
            {
                WarpWorker.fetch.warpMode = (WarpMode)mr.Read<int>();
                Client.fetch.gameMode = (GameMode)mr.Read<int>();
                Client.fetch.serverAllowCheats = mr.Read<bool>();
                numberOfKerbals = mr.Read<int>();
                numberOfVessels = mr.Read<int>();
                ScreenshotWorker.fetch.screenshotHeight = mr.Read<int>();
                AsteroidWorker.fetch.maxNumberOfUntrackedAsteroids = mr.Read<int>();
                ChatWorker.fetch.consoleIdentifier = mr.Read<string>();
                Client.fetch.serverDifficulty = (GameDifficulty)mr.Read<int>();
                VesselWorker.fetch.safetyBubbleDistance = mr.Read<float>();
                if (Client.fetch.serverDifficulty != GameDifficulty.CUSTOM)
                {
                    Client.fetch.serverParameters = GameParameters.GetDefaultParameters(Client.fetch.ConvertGameMode(Client.fetch.gameMode), (GameParameters.Preset)Client.fetch.serverDifficulty);
                }
                else
                {
                    GameParameters newParameters = new GameParameters();
                    GameParameters.AdvancedParams newAdvancedParameters = new GameParameters.AdvancedParams();
                    CommNet.CommNetParams newCommNetParameters = new CommNet.CommNetParams();
                    newParameters.Difficulty.AllowStockVessels = mr.Read<bool>();
                    newParameters.Difficulty.AutoHireCrews = mr.Read<bool>();
                    newParameters.Difficulty.BypassEntryPurchaseAfterResearch = mr.Read<bool>();
                    newParameters.Difficulty.IndestructibleFacilities = mr.Read<bool>();
                    newParameters.Difficulty.MissingCrewsRespawn = mr.Read<bool>();
                    newParameters.Difficulty.ReentryHeatScale = mr.Read<float>();
                    newParameters.Difficulty.ResourceAbundance = mr.Read<float>();
                    newParameters.Flight.CanQuickLoad = newParameters.Flight.CanRestart = newParameters.Flight.CanLeaveToEditor = mr.Read<bool>();
                    newParameters.Career.FundsGainMultiplier = mr.Read<float>();
                    newParameters.Career.FundsLossMultiplier = mr.Read<float>();
                    newParameters.Career.RepGainMultiplier = mr.Read<float>();
                    newParameters.Career.RepLossMultiplier = mr.Read<float>();
                    newParameters.Career.RepLossDeclined = mr.Read<float>();
                    newParameters.Career.ScienceGainMultiplier = mr.Read<float>();
                    newParameters.Career.StartingFunds = mr.Read<float>();
                    newParameters.Career.StartingReputation = mr.Read<float>();
                    newParameters.Career.StartingScience = mr.Read<float>();
                    //New KSP 1.2 Settings
                    newParameters.Difficulty.RespawnTimer = mr.Read<float>();
                    newParameters.Difficulty.EnableCommNet = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().EnableKerbalExperience = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().ImmediateLevelUp = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().AllowNegativeCurrency = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().ResourceTransferObeyCrossfeed = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().BuildingImpactDamageMult = mr.Read<float>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().PartUpgradesInCareer = newParameters.CustomParams<GameParameters.AdvancedParams>().PartUpgradesInSandbox = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().PressurePartLimits = newParameters.CustomParams<GameParameters.AdvancedParams>().GPartLimits = newParameters.CustomParams<GameParameters.AdvancedParams>().GKerbalLimits = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().KerbalGToleranceMult = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().requireSignalForControl = mr.Read<bool>();
                    newParameters.CustomParams<CommNet.CommNetParams>().plasmaBlackout = mr.Read<bool>();
                    newParameters.CustomParams<CommNet.CommNetParams>().rangeModifier = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().DSNModifier = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().occlusionMultiplierVac = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().occlusionMultiplierAtm = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().enableGroundStations = mr.Read<bool>();

                    Client.fetch.serverParameters = newParameters;
                }
            }
        }
Exemplo n.º 54
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameters"></param>
        public NV3DVisionDisplay( Game game, GraphicsDevice device, GameParameters parameters )
            : base(game, device, parameters)
        {
            Log.Message("Using NVidia 3D Vision");

            //
            //	Init NV API and enable stereo :
            //
            NvApi.Initialize();
            NvApi.Stereo_Enable();
            NvApi.Stereo_SetDriverMode( NvStereoDriverMode.Direct );

            //
            //	Create main window
            //
            window	=	CreateForm( parameters, null );

            var deviceFlags			=	DeviceCreationFlags.None;
                deviceFlags			|=	parameters.UseDebugDevice ? DeviceCreationFlags.Debug : DeviceCreationFlags.None;

            var driverType			=	DriverType.Hardware;

            var featureLevel	=	HardwareProfileChecker.GetFeatureLevel( parameters.GraphicsProfile );

            swapChainDesc = new SwapChainDescription () {
                BufferCount			=	1,
                ModeDescription		=	new ModeDescription( parameters.Width, parameters.Height, new Rational(60, 1), Format.R8G8B8A8_UNorm ),
                IsWindowed			=	true,
                OutputHandle		=	window.Handle,
                SampleDescription	=	new SampleDescription(parameters.MsaaLevel, 0),
                SwapEffect			=	SwapEffect.Discard,
                Usage				=	Usage.RenderTargetOutput,
                Flags				=	SwapChainFlags.None,
            };

            //
            //	Create device :
            //
            D3D.Device.CreateWithSwapChain( driverType, deviceFlags, new[]{ featureLevel }, swapChainDesc, out d3dDevice, out swapChain );

            var factory		=	swapChain.GetParent<Factory>();
            factory.MakeWindowAssociation( window.Handle, WindowAssociationFlags.IgnoreAll );

            clientWidth		=	window.ClientSize.Width;
            clientHeight	=	window.ClientSize.Height;

            //
            //	Setup 3DVision :
            //

            try {
                stereoHandle	=	NvApi.Stereo_CreateHandleFromIUnknown( d3dDevice.NativePointer );

                NvApi.Stereo_Activate( stereoHandle );
                NvApi.Stereo_SetActiveEye( stereoHandle, NvStereoActiveEye.Mono );

            } catch ( NVException ) {
                SafeDispose( ref d3dDevice );
                SafeDispose( ref swapChain );
                throw;
            }
        }
Exemplo n.º 55
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     return true;
 }
Exemplo n.º 56
0
 private void HandleServerSettings(byte[] messageData)
 {
     using (MessageReader mr = new MessageReader(messageData))
     {
         WarpWorker.fetch.warpMode = (WarpMode)mr.Read<int>();
         Client.fetch.gameMode = (GameMode)mr.Read<int>();
         Client.fetch.serverAllowCheats = mr.Read<bool>();
         numberOfKerbals = mr.Read<int>();
         numberOfVessels = mr.Read<int>();
         ScreenshotWorker.fetch.screenshotHeight = mr.Read<int>();
         AsteroidWorker.fetch.maxNumberOfUntrackedAsteroids = mr.Read<int>();
         ChatWorker.fetch.consoleIdentifier = mr.Read<string>();
         Client.fetch.serverDifficulty = (GameDifficulty)mr.Read<int>();
         if (Client.fetch.serverDifficulty != GameDifficulty.CUSTOM)
         {
             Client.fetch.serverParameters = GameParameters.GetDefaultParameters(Client.fetch.ConvertGameMode(Client.fetch.gameMode), (GameParameters.Preset)Client.fetch.serverDifficulty);
         }
         else
         {
             GameParameters newParameters = new GameParameters();
             newParameters.Difficulty.AllowStockVessels = mr.Read<bool>();
             newParameters.Difficulty.AutoHireCrews = mr.Read<bool>();
             newParameters.Difficulty.BypassEntryPurchaseAfterResearch = mr.Read<bool>();
             newParameters.Difficulty.IndestructibleFacilities = mr.Read<bool>();
             newParameters.Difficulty.MissingCrewsRespawn = mr.Read<bool>();
             newParameters.Difficulty.ReentryHeatScale = mr.Read<float>();
             newParameters.Difficulty.ResourceAbundance = mr.Read<float>();
             newParameters.Career.FundsGainMultiplier = mr.Read<float>();
             newParameters.Career.FundsLossMultiplier = mr.Read<float>();
             newParameters.Career.RepGainMultiplier = mr.Read<float>();
             newParameters.Career.RepLossMultiplier = mr.Read<float>();
             newParameters.Career.ScienceGainMultiplier = mr.Read<float>();
             newParameters.Career.StartingFunds = mr.Read<float>();
             newParameters.Career.StartingReputation = mr.Read<float>();
             newParameters.Career.StartingScience = mr.Read<float>();
             Client.fetch.serverParameters = newParameters;
         }
     }
 }
Exemplo n.º 57
0
 public override bool Enabled(MemberInfo member, GameParameters parameters)
 {
     if (HighLogic.fetch != null)
     {
         if (HighLogic.LoadedScene == GameScenes.MAINMENU || HighLogic.LoadedScene == GameScenes.SETTINGS || HighLogic.LoadedScene == GameScenes.SPACECENTER)
         {
             return true;
         }
     }
     return false;
 }
Exemplo n.º 58
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "enabled")
     {
         if (HighLogic.LoadedScene == GameScenes.MAINMENU || HighLogic.LoadedScene == GameScenes.SETTINGS ||
             HighLogic.LoadedScene == GameScenes.SPACECENTER)
             return true;
     }
     if (member.Name == "respawnDelay")
     {
         if (enabled && hibernate != "Die")
             return true;
         return false;
     }
     if (enabled)
         return true;
     return false;
 }
Exemplo n.º 59
0
    public void SetParameter(GameParameters parameter, float parameterValue)
    {
        if (additionalParameters.ContainsKey(parameter))
            additionalParameters.Remove(parameter);

        additionalParameters.Add(parameter, parameterValue);
    }
Exemplo n.º 60
0
 public override void SetDifficultyPreset(GameParameters.Preset preset)
 {
     Debug.Log("Setting difficulty preset");
     ConfigNode node = new ConfigNode();
     switch (preset)
     {
         case GameParameters.Preset.Easy:
             TacStartOnce.Instance.LoadGlobalSettings();
             this.OnLoad(node);
             break;
         case GameParameters.Preset.Normal:
             TacStartOnce.Instance.LoadGlobalSettings();
             this.OnLoad(node);
             break;
         case GameParameters.Preset.Moderate:
             TacStartOnce.Instance.LoadGlobalSettings();
             this.OnLoad(node);
             break;
         case GameParameters.Preset.Hard:
             TacStartOnce.Instance.LoadGlobalSettings();
             this.OnLoad(node);
             break;
         case GameParameters.Preset.Custom:
             TacStartOnce.Instance.LoadGlobalSettings();
             this.OnLoad(node);
             break;
     }
 }