public static void Execute(PowerOption option) { if (option == PowerOption.Sleep) { SetSuspendState(false, true, true); return; } else if (option == PowerOption.Hibernate) { SetSuspendState(true, true, true); return; } else { bool ok; TokPriv1Luid tp; IntPtr hproc = GetCurrentProcess(); IntPtr htok = IntPtr.Zero; ok = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok); tp.Count = 1; tp.Luid = 0; tp.Attr = SE_PRIVILEGE_ENABLED; ok = LookupPrivilegeValue(null, SE_SHUTDOWN_NAME, ref tp.Luid); ok = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero); ok = ExitWindowsEx((int)option, 0); } }
public static PlayerTask CreatePlayerTaskOption(Game game, PowerOption powerOption, int sendOptionTarget, int sendOptionPosition, int sendOptionSubOption) { //var allOptions = _game.AllOptionsMap[sendOptionId]; //var tasks = allOptions.PlayerTaskList; //var powerOption = allOptions.PowerOptionList[sendOptionMainOption]; var optionType = powerOption.OptionType; PlayerTask task = null; switch (optionType) { case OptionType.END_TURN: task = EndTurnTask.Any(game.CurrentPlayer); break; case OptionType.POWER: var mainOption = powerOption.MainOption; var source = game.IdEntityDic[mainOption.EntityId]; var target = sendOptionTarget > 0 ? (ICharacter)game.IdEntityDic[sendOptionTarget] : null; var subObtions = powerOption.SubOptions; if (source.Zone?.Type == Zone.PLAY) { task = MinionAttackTask.Any(game.CurrentPlayer, source, target); } else { switch (source.Card.Type) { case CardType.HERO: task = target != null ? (PlayerTask)HeroAttackTask.Any(game.CurrentPlayer, target) : PlayCardTask.Any(game.CurrentPlayer, source); break; case CardType.HERO_POWER: task = HeroPowerTask.Any(game.CurrentPlayer, target); break; default: task = PlayCardTask.Any(game.CurrentPlayer, source, target, sendOptionPosition, sendOptionSubOption); break; } } break; case OptionType.PASS: break; default: throw new NotImplementedException(); } //Log.Info($"{task?.FullPrint()}"); return(task); }
private ToolStripMenuItem CreateMenuItem(PowerOption aOpt, bool IsActive) { var item = new ToolStripMenuItem(aOpt.Name); item.Checked = IsActive; item.Click += delegate(object sender, EventArgs args) { this.manager.SetPowerOption(aOpt); }; return(item); }
public KettleOption(PowerOption option) { Type = (int)option.OptionType; if (option.MainOption != null) { MainOption = new KettleSubOption(option.MainOption); } SubOptions = new List <KettleSubOption>(); foreach (var sub in option.SubOptions) { SubOptions.Add(new KettleSubOption(sub)); } }
public override object VisitHsOption(HSGrammarParser.HsOptionContext context) { PowerOption powerOption = new PowerOption(); powerOption.Id = int.Parse(context.INT().GetText()); powerOption.Type = context.VALUE().GetText(); if (context.hsEntityObject() != null) { powerOption.Entitiy = new PowerEntity(); powerOption.Entitiy.EntityId = (int)VisitHsEntityObject(context.hsEntityObject()); } foreach (var subOption in context.hsSubOption()) { powerOption.SubOptions.Add((PowerSubOption)VisitHsSubOption(subOption)); } foreach (var target in context.hsTarget()) { powerOption.Targets.Add((PowerTarget)VisitHsTarget(target)); } return(powerOption); }
public static string ResponseClientGamePowerOption(int id, string token, int gameId, PowerOption powerOption) { return(JsonConvert.SerializeObject(new DataPacket() { Id = id, Token = token, SendData = JsonConvert.SerializeObject( new SendData { MessageType = MessageType.Game, MessageData = JsonConvert.SerializeObject( new GameData { GameId = gameId, GameMessageType = GameMessageType.GameResponse, GameMessageData = JsonConvert.SerializeObject( new GameResponse { RequestState = RequestState.Success, GameResponseType = GameResponseType.Preparation, GameResponseData = JsonConvert.SerializeObject( new GameResponsePowerOption { PowerOption = powerOption }) }) }) }) })); }