public String registerStepAction(StepAction action) { String toReturn = Guid.NewGuid().ToString(); m_actions.Add(toReturn, action); return(toReturn); }
public async Task <Response> Continue(string connectionId, StepAction stepAction = StepAction.Next, int?stepCount = null) { var scriptEngine = GetScriptEngineForConnection(connectionId); var response = await scriptEngine.Continue(stepAction, stepCount); return(response); }
public static int CreateStepRequest(FlatBufferBuilder builder, StepAction action = 0, uint thread_id = 0) { builder.StartObject(2); StepRequest.AddThreadId(builder, thread_id); StepRequest.AddAction(builder, action); return StepRequest.EndStepRequest(builder); }
public void TestSpeechActionParsedFromString() { var builder = new StepBuilder(new MockEntitySupplier()); StepAction maybeSpeech = builder.GetActionFromInput("Joey say \"Hello! Good to meet you sir!\""); StepAction maybeFart = builder.GetActionFromInput("Joey fart \"Hello! Good to meet you sir!\""); Assert.AreEqual(StepAction.Speech, maybeSpeech); Assert.AreEqual(StepAction.Undefined, maybeFart); }
public static int CreateStepRequest(FlatBufferBuilder builder, StepAction action = 0, uint thread_id = 0) { builder.StartObject(2); StepRequest.AddThreadId(builder, thread_id); StepRequest.AddAction(builder, action); return(StepRequest.EndStepRequest(builder)); }
private void Step() { Cursor.Current = Cursors.WaitCursor; try { StepAction action = new StepAction(solutionsTree, solutionsCheckedListBox.SelectedSolutionNode); UndoRedoManager.Instance.SaveAndExecute(action); } finally { Cursor.Current = Cursors.Default; } }
/// <summary> /// The request continue is a request from the debugger to start the VM running again. As part of the continue request the debugger can specify if it wants the VM to perform a single step action. /// </summary> /// <param name="stepAction"></param> /// <param name="stepCount"></param> /// <returns></returns> public async Task <Response> Continue(StepAction stepAction = StepAction.Next, int?stepCount = null) { var continueRequest = new Request("continue"); continueRequest.Arguments.stepaction = stepAction.ToString().ToLowerInvariant(); if (stepCount.HasValue && stepCount.Value > 1) { continueRequest.Arguments.stepCount = stepCount.Value; } var continueResponse = await m_debuggerClient.SendRequestAsync(continueRequest); return(continueResponse); }
public void Initialize(Game game) { this.Game = game; this.Control = new Game.PlayerControl(this); this.CurrentAction = StepAction.None; this.Invalidate(); //graphic debug //Random r = new Random(42); //foreach (var node in Game.Board.Nodes) //{ // node.Occupation = (Occupation)r.Next(3); //} //SelectedNode = Game.Board.Nodes.ElementAt(3); }
public static void Main(String[] args) { System.Diagnostics.Debug.WriteLine("Starting Up"); GameClock clock = new GameClock(100); BuildingConfiguration buildingConfiguration = new BuildingConfiguration("Devonshire Place", -1, 8, 13); ElevatorConfiguration elevatorConfiguration = new ElevatorConfiguration("Elevator 1", 4000); List <ElevatorConfiguration> elevatorConfigurations = new List <ElevatorConfiguration>(); elevatorConfigurations.Add(elevatorConfiguration); ElevatorBankConfiguration bankConfiguration = new ElevatorBankConfiguration("Main Elevators", buildingConfiguration, elevatorConfigurations); Elevator firstElevator = new Elevator(elevatorConfiguration, buildingConfiguration); List <Elevator> elevators = new List <Elevator>(); elevators.Add(firstElevator); ElevatorBank bank = new ElevatorBank(buildingConfiguration, elevators, clock); ElevatorUserGeneration userGenerator = new ElevatorUserGeneration(5, buildingConfiguration.minFloor, buildingConfiguration.maxFloor, bank); StepAction nextAction = new StepAction("SimpleAction", (int stepNumber) => userGenerator.registerUser(stepNumber)); clock.registerStepAction(nextAction); clock.run(); System.Diagnostics.Debug.WriteLine("Successfully executed run. Shutting down"); }
private async Task <StepResponse> Step(StepAction stepAction, uint threadId) { await BeginRunStateTransition(); var fbb = BeginRequest(); int requestDataOffset = StepRequest.CreateStepRequest(fbb, stepAction, threadId); var response = await CommitRequest(fbb, RequestData.StepRequest, requestDataOffset); System.Diagnostics.Debug.Assert(response.ResponseDataType == ResponseData.StepResponse); var stepResponse = new StepResponse(); response.GetResponseData(stepResponse); await CompleteRunStateTransition(RunState.Paused); return(stepResponse); }
private void SetDataRound(IList <DataRound> dataRound) { foreach (DataRound round in dataRound) { BattleTurn turn = new BattleTurn(); foreach (DataAction action in round.actionsList) { BattleStep step = new BattleStep(); foreach (DataSingleAction sact in action.attacker_actionsList) { string log = "Attack action: "; log += ",\t\t card_idx = " + sact.Card_idx; log += ",\t\t skillid = " + sact.Skillid; log += ",\t\t att_value = " + sact.Att_value; log += ",\t\t att_type = " + sact.Att_type; log += ",\t\t beCrit = " + sact.BeCrit; log += ",\t\t cur_hp = " + sact.Cur_hp; log += ",\t\t heti_idx = " + sact.Heti_idx; StepAction attack = new StepAction(); if (sact.buffInfoList != null) { foreach (DataBuffInfo buf in sact.buffInfoList) { BuffInfo attBuf = new BuffInfo(); attBuf.buf_id = buf.Buf_id; attBuf.buf_value = buf.Buf_value; attack.buff.Add(attBuf); log += ",\t\t buf.Buf_id = " + buf.Buf_id; log += ",\t\t buf.Buf_value = " + buf.Buf_value; } } attack.slotIndex = sact.Card_idx; attack.skillID = sact.Skillid; attack.attackHp = sact.Att_value; attack.harmType = sact.Att_type; attack.isStorm = Convert.ToBoolean(sact.BeCrit); attack.curHp = sact.Cur_hp; if (sact.HasHeti_idx) { attack.hetiIndex = sact.Heti_idx; } step.attacks.Add(attack); Debug.LogWarning(log); } foreach (DataSingleAction sact in action.be_attacker_actionsList) { string log = "Behit action: "; log += ",\t\t card_idx = " + sact.Card_idx; log += ",\t\t skillid = " + sact.Skillid; log += ",\t\t att_value = " + sact.Att_value; log += ",\t\t att_type = " + sact.Att_type; log += ",\t\t beCrit = " + sact.BeCrit; log += ",\t\t cur_hp = " + sact.Cur_hp; log += ",\t\t heti_idx = " + sact.Heti_idx; StepAction behit = new StepAction(); if (sact.buffInfoList != null) { foreach (DataBuffInfo buf in sact.buffInfoList) { BuffInfo behitBuf = new BuffInfo(); behitBuf.buf_id = buf.Buf_id; behitBuf.buf_value = buf.Buf_value; behit.buff.Add(behitBuf); log += ",\t\t buf.Buf_id = " + buf.Buf_id; log += ",\t\t buf.Buf_value = " + buf.Buf_value; } } behit.slotIndex = sact.Card_idx; behit.skillID = sact.Skillid; behit.attackHp = sact.Att_value; behit.harmType = sact.Att_type; behit.isStorm = Convert.ToBoolean(sact.BeCrit); behit.curHp = sact.Cur_hp; step.behits.Add(behit); Debug.LogWarning(log); } turn.battleSteps.Add(step); } battleRound.battleTurns.Add(turn); } }
/// <summary> /// The request continue is a request from the debugger to start the VM running again. As part of the continue request the debugger can specify if it wants the VM to perform a single step action. /// </summary> /// <param name="stepAction"></param> /// <param name="stepCount"></param> /// <returns></returns> public async Task<Response> Continue(StepAction stepAction = StepAction.Next, int? stepCount = null) { var continueRequest = new Request("continue"); continueRequest.Arguments.stepaction = stepAction.ToString().ToLowerInvariant(); if (stepCount.HasValue && stepCount.Value > 1) continueRequest.Arguments.stepCount = stepCount.Value; var continueResponse = await SendRequestAsync(continueRequest); return continueResponse; }
private async Task<StepResponse> Step(StepAction stepAction, uint threadId) { await BeginRunStateTransition(); var fbb = BeginRequest(); int requestDataOffset = StepRequest.CreateStepRequest(fbb, stepAction, threadId); var response = await CommitRequest(fbb, RequestData.StepRequest, requestDataOffset); System.Diagnostics.Debug.Assert(response.ResponseDataType == ResponseData.StepResponse); var stepResponse = new StepResponse(); response.GetResponseData(stepResponse); await CompleteRunStateTransition(RunState.Paused); return stepResponse; }
public void TutorialStepUpdate(NormalStep step, StepAction action) { Debug.Log("Update coming in " + step._ItemName + " : " + action.ToString()); }
/// <summary> /// 数据模型转成视图模型 /// </summary> /// <param name="action">数据模型</param> /// <param name="mediaIDs">媒体id(只用于填充),可为null</param> /// <param name="textIDs">文本id(只用于填充),可为null</param> /// <returns></returns> public static ActionBase DataToViewData(StepAction action, List <int> mediaIDs, List <int> textIDs) { //防止为空 if (mediaIDs == null) { mediaIDs = new List <int>(); } if (textIDs == null) { textIDs = new List <int>(); } ActionBase a = null; switch (action.Type) { #region SetTitle case LessonActionTypeEnum.SetTitle: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.SetTitle)action; a = new Models.CurriculumSetViewModel.SetTitle() { actionId = ta.Actionid, actionNum = ta.ActionNum, text = ta.Text, size = ta.Size, color = ta.Color, align = ta.Align, intype = ta.InType, x = ta.X, y = ta.Y }; } break; #endregion #region SetBackground case LessonActionTypeEnum.SetBackground: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.SetBackground)action; a = new Models.CurriculumSetViewModel.SetBackground() { actionId = ta.Actionid, actionNum = ta.ActionNum, bg = ta.Bg, bgType = ta.BgType }; if (ta.BgType == "image") //如果是图片类型则添加媒体id { mediaIDs.Add(int.Parse(ta.Bg)); } } break; #endregion #region XiaoAiSay case LessonActionTypeEnum.XiaoAiSay: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.XiaoAiSay)action; a = new Models.CurriculumSetViewModel.XiaoAiSay() { actionId = ta.Actionid, actionNum = ta.ActionNum, src = ta.MediaId }; mediaIDs.Add(int.Parse(ta.MediaId)); } break; #endregion #region XiaoAiChange case LessonActionTypeEnum.XiaoAiChange: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.XiaoAiChange)action; a = new Models.CurriculumSetViewModel.XiaoAiChange() { actionId = ta.Actionid, actionNum = ta.ActionNum, align = ta.Align, height = ta.Height, imgId = ta.ImgId, src = "", valign = ta.VAlign, width = ta.Width, x = ta.X, y = ta.Y }; mediaIDs.Add(int.Parse(ta.ImgId)); } break; #endregion #region InsertImg case LessonActionTypeEnum.InsertImg: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.InsertImg)action; a = new Models.CurriculumSetViewModel.InsertImg() { actionId = ta.Actionid, actionNum = ta.ActionNum, align = ta.Align, height = ta.Height, imgId = ta.ImgId, src = "", //ta.Src, valign = ta.VAlign, width = ta.Width, x = ta.X, y = ta.Y, intype = ta.InType }; mediaIDs.Add(int.Parse(ta.ImgId)); } break; #endregion #region InsertText case LessonActionTypeEnum.InsertText: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.InsertText)action; a = new Models.CurriculumSetViewModel.InsertText() { actionId = ta.Actionid, actionNum = ta.ActionNum, align = ta.Align, color = ta.Color, intype = ta.InType, text = ta.Text, size = ta.Size, x = ta.X, y = ta.Y }; } break; #endregion #region SetWaitMillisecond case LessonActionTypeEnum.SetWaitMillisecond: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.SetWaitMillisecond)action; a = new Models.CurriculumSetViewModel.SetWaitMillisecond() { actionId = ta.Actionid, actionNum = ta.ActionNum, stop = ta.Stop }; } break; #endregion #region MoveDom case LessonActionTypeEnum.MoveDom: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.MoveDom)action; a = new Models.CurriculumSetViewModel.MoveDom() { actionId = ta.Actionid, actionNum = ta.ActionNum, objectId = ta.ObjectId, duration = ta.Duration, x = ta.X, y = ta.Y }; } break; #endregion #region ScaleDom case LessonActionTypeEnum.ScaleDom: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.ScaleDom)action; a = new Models.CurriculumSetViewModel.ScaleDom() { actionId = ta.Actionid, actionNum = ta.ActionNum, duration = ta.Duration, num = ta.Num, objectId = ta.ObjectId, ratio = ta.Ratio, }; } break; #endregion #region TwinkleDom case LessonActionTypeEnum.TwinkleDom: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.TwinkleDom)action; a = new Models.CurriculumSetViewModel.TwinkleDom() { actionId = ta.Actionid, actionNum = ta.ActionNum, objectId = ta.ObjectId, duration = ta.Duration, num = ta.Num }; } break; #endregion #region HideDom case LessonActionTypeEnum.HideDom: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.HideDom)action; a = new Models.CurriculumSetViewModel.HideDom() { actionId = ta.Actionid, actionNum = ta.ActionNum, objectId = ta.ObjectId, outtype = ta.OutType }; } break; #endregion #region StudyAudio case LessonActionTypeEnum.StudyAudio: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyAudio)action; a = new Models.CurriculumSetViewModel.StudyAudio() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, audioSrc = ta.MediaId, kcbSrc = ta.KcbId, wordPosition = ta.WordPosition }; int id = 0; if (int.TryParse(ta.MediaId, out id)) { mediaIDs.Add(id); id = 0; } if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudyVideo case LessonActionTypeEnum.StudyVideo: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyVideo)action; a = new Models.CurriculumSetViewModel.StudyVideo() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, videoSrc = ta.MediaId, kcbSrc = ta.KcbId }; int id = 0; if (int.TryParse(ta.MediaId, out id)) { mediaIDs.Add(id); id = 0; } if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudyArticle case LessonActionTypeEnum.StudyArticle: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyArticle)action; a = new Models.CurriculumSetViewModel.StudyArticle() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, articleImgSrc = ta.ImgId, kcbSrc = ta.KcbId, articleTextSrc = ta.TextId, studyTime = ta.UseTime, wordPosition = ta.WordPosition }; int id = 0; if (int.TryParse(ta.ImgId, out id)) { mediaIDs.Add(id); id = 0; } if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); id = 0; } if (int.TryParse(ta.TextId, out id)) { textIDs.Add(id); } } break; #endregion #region StudyRecitation case LessonActionTypeEnum.StudyRecitation: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyRecitation)action; a = new Models.CurriculumSetViewModel.StudyRecitation() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, recitationSrc = ta.TextId, studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); id = 0; } if (int.TryParse(ta.TextId, out id)) { textIDs.Add(id); } } break; #endregion #region StudyFastReadEasy case LessonActionTypeEnum.StudyFastReadEasy: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyFastReadEasy)action; a = new Models.CurriculumSetViewModel.StudyFastReadEasy() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, showNum = ta.ShowNum, speed = ta.Speed, fastReadText = ta.TextId, }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); id = 0; } if (int.TryParse(ta.TextId, out id)) { textIDs.Add(id); } } break; #endregion #region StudyFastRead case LessonActionTypeEnum.StudyFastRead: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyFastRead)action; a = new Models.CurriculumSetViewModel.StudyFastRead() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, showModel = ta.ShowModel, kcbSrc = ta.KcbId, showNum = ta.ShowNum, speed = ta.Speed, fastReadText = ta.TextId, }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); id = 0; } if (int.TryParse(ta.TextId, out id)) { textIDs.Add(id); } } break; #endregion #region StudyAnnotation case LessonActionTypeEnum.StudyAnnotation: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyAnnotation)action; a = new Models.CurriculumSetViewModel.StudyAnnotation() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; case LessonActionTypeEnum.StudyAnnotation2: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyAnnotation2)action; a = new Models.CurriculumSetViewModel.StudyAnnotation2() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudyJudgment case LessonActionTypeEnum.StudyJudgment: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyJudgment)action; a = new Models.CurriculumSetViewModel.StudyJudgment() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudyLinking case LessonActionTypeEnum.StudyLinking: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyLinking)action; a = new Models.CurriculumSetViewModel.StudyLinking() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudyOption case LessonActionTypeEnum.StudyOption: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyOption)action; a = new Models.CurriculumSetViewModel.StudyOption() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudyOptionFill case LessonActionTypeEnum.StudyOptionFill: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyOptionFill)action; a = new Models.CurriculumSetViewModel.StudyOptionFill() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudyFill case LessonActionTypeEnum.StudyFill: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudyFill)action; a = new Models.CurriculumSetViewModel.StudyFill() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion #region StudySubjective case LessonActionTypeEnum.StudySubjective: { var ta = (AbhsChinese.Domain.JsonEntity.UnitStep.StudySubjective)action; a = new Models.CurriculumSetViewModel.StudySubjective() { actionId = ta.Actionid, actionNum = ta.ActionNum, goldCoins = ta.Golds, kcbSrc = ta.KcbId, questionId = int.Parse(ta.QuestionId), studyTime = ta.UseTime }; int id = 0; if (int.TryParse(ta.KcbId, out id)) { mediaIDs.Add(id); } } break; #endregion } return(a); }
public BaseStep BuildStep(string inputLine) { inputLine = inputLine.Trim(); var split = inputLine.Split(' ').ToList(); var args = split.Where(x => x.StartsWith("--")); var chunks = split .Except(args) .Where(chunk => chunk != "!!"); var argsDict = args.ToDictionary( s => s.Trim('-').Split('=').ElementAtOrDefault(0) ?? "", s => s.Trim('-').Split('=').ElementAtOrDefault(1) ?? ""); var types = System.Reflection.Assembly .GetExecutingAssembly() .GetTypes() .Where(x => x.BaseType == typeof(BaseStep)); StepInput input = new StepInput() { chunks = chunks.ToList(), supplier = this.entitySupplier, args = argsDict.ToDictionary(x => x.Key, x => x.Value.TrimEnd(',')), line = inputLine }; foreach (var item in argsDict) { System.Diagnostics.Debug.WriteLine(item.Key); System.Diagnostics.Debug.WriteLine(item.Value); } bool containsRef = argsDict.ContainsKey("ref"); //System.Diagnostics.Debug.WriteLine("Contains ref :: " + containsRef.ToString()); //System.Diagnostics.Debug.WriteLine("Ref ID :: " + argsDict["ref"]); foreach (var type in types) { var method = type.GetMethod("IsMatch"); if (method != null) { bool isMatch = (bool)method.Invoke(null, new [] { input as object }); if (isMatch) { var constructor = type.GetConstructor(new[] { typeof(StepInput) }); BaseStep step = (BaseStep)constructor.Invoke(new object[] { input }); step.RefID = argsDict.ContainsKey("ref") ? argsDict["ref"] : ""; step.Wait = !inputLine.EndsWith("!!"); return(step); } } } IEntity entity = this.GetEntityFromInput(inputLine); StepAction action = this.GetActionFromInput(inputLine); switch (action) { case StepAction.Move: BaseMoveStep moveStep = MoveToPositionStep.CreateFromInputString(inputLine, this.entitySupplier); if (moveStep != null) { return(moveStep); } throw new MisformedStepException(inputLine); case StepAction.Pose: return(PoseMasterStep.CreateFromInputString(entity, inputLine)); } throw new MisformedStepException(inputLine); }
public void SetPVPBattleData(SCPVPBattleData data) { ClearBattleData();//clear first //pb data pbBaseData = data.BaseData; pbBagData = data.BagData; pbCopyData = data.CopyData; isPlayed = false; isLastBattle = false; isWin = !Convert.ToBoolean(data.Battle.Win_idx); foreach (xjgame.message.DropBag bag in data.Battle.dropsList) { DropBag drop_bag = new DropBag(); drop_bag.type = (DropType)bag.Type; drop_bag.val = bag.Value; winDropBags.Add(drop_bag); } addExp = data.Battle.Add_exp; Debug.LogWarning("!!!!!!!!!!!!!!!!!!!!!! SetPVPBattleData() !!!!!!!!!!!!!!!!!!!!!!"); foreach (xjgame.message.BattleCard card in data.Battle.userCardList) { string log = "Card: slot_idx = " + card.Place_idx + ",\t\t cardid = " + card.CardID + ",\t\t guid = " + card.Cardguid; log += ",\t\t state = " + card.State; log += ",\t\t commSkillID = " + card.CommSkillId; log += ",\t\t volSkillID = " + card.VolSkillId; log += ",\t\t combSkillID = " + card.CombSkillId; if (card.Place_idx < 6) { TroopMember member = new TroopMember(card.Place_idx, card.CardID, (long)card.Cardguid); member.state = card.State; member.initHp = card.Init_hp; member.commSkillID = card.CommSkillId; member.volSkillID = card.VolSkillId; member.combSkillID = card.CombSkillId; if (card.Bag != null) { member.bag.type = (DropType)card.Bag.Type; member.bag.val = card.Bag.Value; log += ",\t\t DropBag.Type = " + card.Bag.Type; log += ",\t\t DropBag.Value = " + card.Bag.Value; } troopData.selfMembers.Add(member); } else { TroopMember member = new TroopMember(card.Place_idx, card.CardID, (long)card.Cardguid); member.state = card.State; member.initHp = card.Init_hp; member.commSkillID = card.CommSkillId; member.volSkillID = card.VolSkillId; member.combSkillID = card.CombSkillId; if (card.Bag != null) { member.bag.type = (DropType)card.Bag.Type; member.bag.val = card.Bag.Value; log += ",\t\t DropBag.Type = " + card.Bag.Type; log += ",\t\t DropBag.Value = " + card.Bag.Value; } troopData.otherMembers.Add(member); } Debug.LogWarning(log); } foreach (DataRound round in data.Battle.roundsList) { BattleTurn turn = new BattleTurn(); foreach (DataAction action in round.actionsList) { BattleStep step = new BattleStep(); foreach (DataSingleAction sact in action.attacker_actionsList) { string log = "Attack action: "; log += ",\t\t card_idx = " + sact.Card_idx; log += ",\t\t skillid = " + sact.Skillid; log += ",\t\t att_value = " + sact.Att_value; log += ",\t\t att_type = " + sact.Att_type; log += ",\t\t beCrit = " + sact.BeCrit; log += ",\t\t cur_hp = " + sact.Cur_hp; log += ",\t\t heti_idx = " + sact.Heti_idx; StepAction attack = new StepAction(); if (sact.buffInfoList != null) { foreach (DataBuffInfo buf in sact.buffInfoList) { BuffInfo attBuf = new BuffInfo(); attBuf.buf_id = buf.Buf_id; attBuf.buf_value = buf.Buf_value; attack.buff.Add(attBuf); log += ",\t\t buf.Buf_id = " + buf.Buf_id; log += ",\t\t buf.Buf_value = " + buf.Buf_value; } } attack.slotIndex = sact.Card_idx; attack.skillID = sact.Skillid; attack.attackHp = sact.Att_value; attack.harmType = sact.Att_type; attack.isStorm = Convert.ToBoolean(sact.BeCrit); attack.curHp = sact.Cur_hp; if (sact.HasHeti_idx) { attack.hetiIndex = sact.Heti_idx; } step.attacks.Add(attack); Debug.LogWarning(log); } foreach (DataSingleAction sact in action.be_attacker_actionsList) { string log = "Behit action: "; log += ",\t\t card_idx = " + sact.Card_idx; log += ",\t\t skillid = " + sact.Skillid; log += ",\t\t att_value = " + sact.Att_value; log += ",\t\t att_type = " + sact.Att_type; log += ",\t\t beCrit = " + sact.BeCrit; log += ",\t\t cur_hp = " + sact.Cur_hp; log += ",\t\t heti_idx = " + sact.Heti_idx; StepAction behit = new StepAction(); if (sact.buffInfoList != null) { foreach (DataBuffInfo buf in sact.buffInfoList) { BuffInfo behitBuf = new BuffInfo(); behitBuf.buf_id = buf.Buf_id; behitBuf.buf_value = buf.Buf_value; behit.buff.Add(behitBuf); log += ",\t\t buf.Buf_id = " + buf.Buf_id; log += ",\t\t buf.Buf_value = " + buf.Buf_value; } } behit.slotIndex = sact.Card_idx; behit.skillID = sact.Skillid; behit.attackHp = sact.Att_value; behit.harmType = sact.Att_type; behit.isStorm = Convert.ToBoolean(sact.BeCrit); behit.curHp = sact.Cur_hp; step.behits.Add(behit); Debug.LogWarning(log); } turn.battleSteps.Add(step); } battleRound.battleTurns.Add(turn); } }
public static void AddAction(FlatBufferBuilder builder, StepAction action) { builder.AddSbyte(0, (sbyte)(action), 0); }
private void Human_MouseClick(object sender, MouseEventArgs e) { if (!Game.TurnHandler.IsMyTurn(currentToken)) { return; } var clickedNode = MapPointToNode(Game.Board, e.Location, Origin, SpacingCoef); if (clickedNode != null) { #if DEBUG Logging.Log("clicked on " + clickedNode.Id.ToString()); #endif if (e.Button == System.Windows.Forms.MouseButtons.Left) { //normal selection if (clickedNode.Owner != null) { if (CurrentAction == StepAction.RemoveOpponentPawn) { if (clickedNode.Owner != null && clickedNode.Owner != this) { Control.RemoveOpponentPawn(currentToken, clickedNode); CurrentAction = StepAction.None; this.Invalidate(); OnGraphicRefresh(); } } if (CurrentAction == StepAction.MovePawnConstrained || CurrentAction == StepAction.MovePawnFreely) { if (SelectedNode != clickedNode) { if (clickedNode.Owner == this) { SelectedNode = clickedNode; this.Invalidate(); } } } } else //empty node { if (CurrentAction == StepAction.PlacePawn) { Control.PlacePawn(currentToken, clickedNode); CurrentAction = StepAction.None; this.Invalidate(); OnGraphicRefresh(); } } } else if (e.Button == System.Windows.Forms.MouseButtons.Right) { if (CurrentAction == StepAction.MovePawnConstrained || CurrentAction == StepAction.MovePawnFreely) { //move the pawn if (SelectedNode != null && clickedNode.Owner == null && SelectedNode != clickedNode) { if (CurrentAction == StepAction.MovePawnConstrained) { if (SelectedNode.Neighbors.Contains(clickedNode)) { Control.MovePawnConstrained(currentToken, SelectedNode, clickedNode); CurrentAction = StepAction.None; SelectedNode = null; this.Invalidate(); OnGraphicRefresh(); } } else if (CurrentAction == StepAction.MovePawnFreely) { Control.MovePawnFreely(currentToken, SelectedNode, clickedNode); CurrentAction = StepAction.None; SelectedNode = null; this.Invalidate(); OnGraphicRefresh(); } } } } } else { #if DEBUG Logging.Log("clicked on nothing"); #endif } }
public void SetLastBattleData(DataBattle data) { Debug.LogWarning("!!!!!!!!!!!!!!!!!!!!!! SetLastBattleData() !!!!!!!!!!!!!!!!!!!!!!"); string dlog = "missionID = " + data.MissionID; dlog += ",\t\t roundCount = " + data.Round_count; dlog += ",\t\t Win_idx = " + data.Win_idx; Debug.LogWarning(dlog); ClearBattleData();//clear first missionID = (int)data.MissionID; roundCount = data.Round_count; isPlayed = false; isLastBattle = true; isWin = !Convert.ToBoolean(data.Win_idx); foreach (xjgame.message.DropBag bag in data.dropsList) { DropBag drop_bag = new DropBag(); drop_bag.type = (DropType)bag.Type; drop_bag.val = bag.Value; winDropBags.Add(drop_bag); } addExp = data.Add_exp; //test if (Obj_MyselfPlayer.GetMe().currentAssistFriend == null) { Obj_MyselfPlayer.GetMe().currentAssistFriend = new AssistFriend(); Obj_MyselfPlayer.GetMe().currentAssistFriend.guid = (long)data.Friendguid; Obj_MyselfPlayer.GetMe().currentAssistFriend.name = data.Friendname; Obj_MyselfPlayer.GetMe().currentAssistFriend.level = data.Friendlevel; Obj_MyselfPlayer.GetMe().currentAssistFriend.cardLevel = data.FriendCardLev; Obj_MyselfPlayer.GetMe().currentAssistFriend.friendShipNum = data.GetFriendPoint; if (data.IsFriend == 0) { Obj_MyselfPlayer.GetMe().currentAssistFriend.isMyFriend = true; } else { Obj_MyselfPlayer.GetMe().currentAssistFriend.isMyFriend = false; } } foreach (xjgame.message.BattleCard card in data.userCardList) { string log = "Card: slot_idx = " + card.Place_idx + ",\t\t cardid = " + card.CardID + ",\t\t guid = " + card.Cardguid; log += ",\t\t state = " + card.State; log += ",\t\t isfriend = " + card.Isfriend; log += ",\t\t commSkillID = " + card.CommSkillId; log += ",\t\t volSkillID = " + card.VolSkillId; log += ",\t\t combSkillID = " + card.CombSkillId; if (card.Place_idx < 6) { TroopMember member = new TroopMember(card.Place_idx, card.CardID, (long)card.Cardguid); member.state = card.State; member.initHp = card.Init_hp; member.commSkillID = card.CommSkillId; member.volSkillID = card.VolSkillId; member.combSkillID = card.CombSkillId; if (card.Bag != null) { member.bag.type = (DropType)card.Bag.Type; member.bag.val = card.Bag.Value; log += ",\t\t DropBag.Type = " + card.Bag.Type; log += ",\t\t DropBag.Value = " + card.Bag.Value; } troopData.selfMembers.Add(member); if (card.Isfriend == 1) { Obj_MyselfPlayer.GetMe().currentAssistFriend.cardGuiId = (long)card.Cardguid; Obj_MyselfPlayer.GetMe().currentAssistFriend.cardTempleId = card.CardID; Obj_MyselfPlayer.GetMe().battleArray[card.Place_idx] = (long)card.Cardguid; } } else { TroopMember member = new TroopMember(card.Place_idx, card.CardID, (long)card.Cardguid); member.state = card.State; member.initHp = card.Init_hp; member.commSkillID = card.CommSkillId; member.volSkillID = card.VolSkillId; member.combSkillID = card.CombSkillId; if (card.Bag != null) { member.bag.type = (DropType)card.Bag.Type; member.bag.val = card.Bag.Value; log += ",\t\t DropBag.Type = " + card.Bag.Type; log += ",\t\t DropBag.Value = " + card.Bag.Value; } troopData.otherMembers.Add(member); } Debug.LogWarning(log); } foreach (DataRound round in data.roundsList) { BattleTurn turn = new BattleTurn(); foreach (DataAction action in round.actionsList) { BattleStep step = new BattleStep(); foreach (DataSingleAction sact in action.attacker_actionsList) { string log = "Attack action: "; log += ",\t\t card_idx = " + sact.Card_idx; log += ",\t\t skillid = " + sact.Skillid; log += ",\t\t att_value = " + sact.Att_value; log += ",\t\t att_type = " + sact.Att_type; log += ",\t\t beCrit = " + sact.BeCrit; log += ",\t\t cur_hp = " + sact.Cur_hp; log += ",\t\t heti_idx = " + sact.Heti_idx; StepAction attack = new StepAction(); if (sact.buffInfoList != null) { foreach (DataBuffInfo buf in sact.buffInfoList) { BuffInfo attBuf = new BuffInfo(); attBuf.buf_id = buf.Buf_id; attBuf.buf_value = buf.Buf_value; attack.buff.Add(attBuf); log += ",\t\t buf.Buf_id = " + buf.Buf_id; log += ",\t\t buf.Buf_value = " + buf.Buf_value; } } attack.slotIndex = sact.Card_idx; attack.skillID = sact.Skillid; attack.attackHp = sact.Att_value; attack.harmType = sact.Att_type; attack.isStorm = Convert.ToBoolean(sact.BeCrit); attack.curHp = sact.Cur_hp; if (sact.HasHeti_idx) { attack.hetiIndex = sact.Heti_idx; } step.attacks.Add(attack); Debug.LogWarning(log); } foreach (DataSingleAction sact in action.be_attacker_actionsList) { string log = "Behit action: "; log += ",\t\t card_idx = " + sact.Card_idx; log += ",\t\t skillid = " + sact.Skillid; log += ",\t\t att_value = " + sact.Att_value; log += ",\t\t att_type = " + sact.Att_type; log += ",\t\t beCrit = " + sact.BeCrit; log += ",\t\t cur_hp = " + sact.Cur_hp; log += ",\t\t heti_idx = " + sact.Heti_idx; StepAction behit = new StepAction(); if (sact.buffInfoList != null) { foreach (DataBuffInfo buf in sact.buffInfoList) { BuffInfo behitBuf = new BuffInfo(); behitBuf.buf_id = buf.Buf_id; behitBuf.buf_value = buf.Buf_value; behit.buff.Add(behitBuf); log += ",\t\t buf.Buf_id = " + buf.Buf_id; log += ",\t\t buf.Buf_value = " + buf.Buf_value; } } behit.slotIndex = sact.Card_idx; behit.skillID = sact.Skillid; behit.attackHp = sact.Att_value; behit.harmType = sact.Att_type; behit.isStorm = Convert.ToBoolean(sact.BeCrit); behit.curHp = sact.Cur_hp; step.behits.Add(behit); Debug.LogWarning(log); } turn.battleSteps.Add(step); } battleRound.battleTurns.Add(turn); } Obj_MyselfPlayer.GetMe().SetBattleBeforeDate(); }