protected override bool Event(ActionParam param) { int id = (int)param["ActionType"]; if (id == (int)ActionType.RoomMessageRadioResult) { playernum = 0; UpdateData(0, (string)param["player1"]); UpdateData(1, (string)param["player2"]); UpdateData(2, (string)param["player3"]); UpdateData(3, (string)param["player4"]); roomName.text = "房间:" + GameSetting.Instance.roomName; if (playernum == 4) { playernum = 0; BgImage.gameObject.SetActive(true); ActionParam Param = new ActionParam(); Param["roomID"] = GameSetting.Instance.roomID; WebLogic.Instance.Send((int)ActionType.GameInit, Param); AudioMgr.Instance.gameStart(); Invoke("Switch", 2f); } } return(false); }
public static void DoPreProcessing() { string commandFile = @"E:\SourceCode\40copoka\DPP\Source\UnitTests\CommandLineAction.UnitTest\Output\CommandLineAction.UnitTest.exe"; var action = new ActionParam <string>() { ParamName = ActionParamNamesCore.Action, Value = ActionsCore.RunCommandLine }; var prm = new IActionParam[] { action, new ActionParam <string>() { ParamName = ActionParamNamesCore.PathToFile, Value = commandFile }, new ActionParam <string>() { ParamName = ActionParamNamesCore.DataValue, Value = string.Empty }, new ActionParam <ActionProcessCommandLineDelegate>() { ParamName = ActionParamNamesCore.OutputDataReceivedDelegate, Value = OnOutputCommandLine }, new ActionParam <ActionProcessCommandLineDelegate>() { ParamName = ActionParamNamesCore.ErrorDataReceivedDelegate, Value = OnErrorCommandLine } }; var procc = new ActionProcessor(prm); var res = procc.Process <StringActionResult>(); }
public int InsertAction(int iActionId, ActionFileData data, ActionParam param, List <GameObject> affectedObjects) { ActionPlayer action = new ActionPlayer(iActionId, data, param, affectedObjects); m_lstAction.Add(action); return(action.GetInstanceID()); }
public int InsertAction(int iActionId, ActionFileData data, ActionParam param) { ActionPlayer action = new ActionPlayer(iActionId, data, param, null); m_lstAction.Add(action); return(action.GetInstanceID()); }
protected override void onClick(GameObject BtObject) { if (BtObject.name.Equals("createBt")) { PanelMgr.Instance.OpenPanel(PanelState.PanelCreateRoom); } if (BtObject.name.Equals("Btback")) { int roomID = int.Parse(BtObject.transform.parent.gameObject.name); string roomName = BtObject.transform.parent.Find("roomName").GetComponent <Text>().text; Debug.Log(roomName); ActionParam param = new ActionParam(); param["roomID"] = roomID; param["roomName"] = roomName; param["playerName"] = GameSetting.Instance.PlayerName; WebLogic.Instance.Send((int)ActionType.JoinRoom, param); } if (BtObject.name.Equals("onlyoneBt")) { SceneManager.Instance.SceneSwitch(SceneType.Type.GameOnly); } }
private void CreateRoom(string roomName, int size) { if (size != 0) { GameObject room = Instantiate(id); room.transform.Find("roomName").GetComponent <Text>().text = roomName; room.transform.Find("peopleSize").GetComponent <Text>().text = size.ToString() + "人"; room.name = roomID.ToString(); room.transform.parent = Content; room.transform.localPosition = new Vector3(0, -(roomID - 1) * 60, 0); room.transform.localScale = Vector3.one; room.transform.localEulerAngles = Vector3.zero; room.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 50); room.SetActive(true); EventTriggerListener.Get(room.transform.Find("Btback").gameObject).onClick = onClick; } roomID++; if (roomID < 20) { ActionParam param = new ActionParam(); param["roomID"] = roomID; WebLogic.Instance.Send((int)ActionType.RoomMessage, param); } }
void OnGUI() { GUILayout.BeginArea(new Rect(10, 10, 500, 100)); GUILayout.BeginHorizontal(); // Now create any Controls you like, and they will be displayed with the custom Skin if (GUILayout.Button("Get ranking for Http")) { NetWriter.SetUrl("http://ph.scutgame.com/service.aspx"); Net.Instance.Send((int)ActionType.RankSelect, OnRankingCallback, GetReuqest1001()); } GUILayout.Space(20); // Any Controls created here will use the default Skin and not the custom Skin if (GUILayout.Button("Get ranking for Socket")) { NetWriter.SetUrl("ph.scutgame.com:9001"); Net.Instance.Send((int)ActionType.RankSelect, OnRankingCallback, GetReuqest1001()); } GUILayout.Space(20); if (GUILayout.Button("Add ranking for Socket")) { NetWriter.SetUrl("ph.scutgame.com:9001"); var actionParam = new ActionParam(new RankData() { Score = 90, UserName = "******" + index }); index++; Net.Instance.Send((int)ActionType.RankAdd, OnRankAddCallback, actionParam); } GUILayout.EndHorizontal(); GUILayout.EndArea(); OnRankGUI(); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { if (actionParam.HasValue) { //自定对象参数格式 isCustom = true; Request1001Pack requestPack = new Request1001Pack() { PageIndex = 1, PageSize = 10 }; byte[] data = ProtoBufUtils.Serialize(requestPack); writer.SetBodyData(data); } else { isCustom = false; //默认url参数格式 actionParam.Foreach((k, v) => { writer.writeString(k, v.ToString()); return(true); }); } }
public async Task ReactionRemovedAsync( Cacheable <IUserMessage, ulong> cache, ISocketMessageChannel channel, SocketReaction reaction) { SocketGuildUser gUser = Program.Singleton.Client.GetGuild(573131665660968970).GetUser(reaction.UserId); if (reaction.MessageId.ToString() == Config.Bot.reactGender) { _ = gUser.RemoveRolesAsync(RolesGender.Intersect(gUser.Roles.Select(obj => (IRole)obj))); } else if (reaction.MessageId.ToString() == Config.Bot.reactHome) { _ = gUser.RemoveRolesAsync(RolesHome.Intersect(gUser.Roles.Select(obj => (IRole)obj))); } else if (reaction.MessageId.ToString() == Config.Bot.reactZodiac) { _ = gUser.RemoveRolesAsync(RolesZodiac.Intersect(gUser.Roles.Select(obj => (IRole)obj))); } else if (reaction.MessageId.ToString() == Config.Bot.reactMBTI) { _ = gUser.RemoveRolesAsync(RolesMBTI.Intersect(gUser.Roles.Select(obj => (IRole)obj))); } User user = User.Get(reaction.UserId); if (user == null) { return; } ActionParam action = new ActionParam("React", channel.Id); ActionManager.Singleton.OnAction(user, action, true); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { //default url param writer.writeString("Pid", GameSetting.Instance.Pid); writer.writeInt32("UserId", (int)NetWriter.UserID); writer.writeString("Uname", actionParam.Get <string>("roleName")); }
private void SetTouchState(TouchState touchSate) { mTouchState = touchSate; if (mTouchState == TouchState.None) { mCacheTransform.localPosition = new Vector3(mCacheTransform.localPosition.x, 0, mCacheTransform.localPosition.z); } else if (mTouchState == TouchState.Selected) { mCacheTransform.localPosition = new Vector3(mCacheTransform.localPosition.x, 20, mCacheTransform.localPosition.z); } else if (mTouchState == TouchState.Play) { //发送出牌请求 MahJongGameAction requestPack = new MahJongGameAction() { Action = MahJongActionType.PlayCard }; requestPack.Cards = new List <Card>(); requestPack.Cards.Add(getCard); ActionParam actionParam = new ActionParam(requestPack); Net.Instance.Send((int)ActionType.GameAction, null, actionParam); //mCacheTransform.localPosition = new Vector3(mCacheTransform.localPosition.x, 0, mCacheTransform.localPosition.z); } }
private void OnConfirmClick(GameObject go) { ActionParam actionParam = new ActionParam(); actionParam["IsAgree"] = 1; Net.Instance.Send((int)ActionType.DissolveRoom, null, actionParam); }
public byte[] Send(ActionParam actionParam) { NetWriter writer = NetWriter.Instance; SetActionHead(writer); SendParameter(writer, actionParam); return writer.PostData(); }
/// <summary> /// parse input data /// </summary> /// <param name="gameAction"></param> /// <param name="actionParam"></param> /// <param name="formater"></param> /// <param name="bShowLoading"></param> private void SocketRequest(GameAction gameAction, ActionParam actionParam, IHeadFormater formater, bool bShowLoading) { if (mSocket == null) { string strUrl = NetWriter.GetUrl(); string[] arr = strUrl.Split(new char[] { ':' }); int nPort = int.Parse(arr[1]); mSocket = new SocketConnect(arr[0], nPort, formater); mSocket.PushCallback += OnPushCallback; } gameAction.Head.MsgId = NetWriter.MsgId - 1; SocketPackage package = new SocketPackage(); package.MsgId = gameAction.Head.MsgId; package.ActionId = gameAction.ActionId; package.Action = gameAction; package.HasLoading = bShowLoading; package.SendTime = DateTime.Now; byte[] data = gameAction.Send(actionParam); NetWriter.resetData(); if (bShowLoading) { RequestDelegate(Status.eStartRequest); } mSocket.Send(data, package); }
public void onSendMessage() { ActionParam actionParam = new ActionParam(); actionParam["Message"] = textInput.text; Net.Instance.Send((int)ActionType.SendMessageToWorld, SendMessageToWorldCallback, actionParam); }
private NewPayLoad RunAction(NewPayLoad pl) { if (mServiceActions == null) { ScanServiceAndCache(); } Console.WriteLine(">>> Payload - Run Ginger Action"); string ActionID = pl.GetValueString(); Console.WriteLine("Received RunAction, ActionID - " + ActionID); ActionHandler AH = (from x in mServiceActions where x.ServiceActionId == ActionID select x).FirstOrDefault(); if (AH == null) { Console.WriteLine("Unknown ActionID to handle - " + ActionID); throw new Exception("Unknown ActionID to handle - " + ActionID); } //Convert the Payload to GingerAction NodeGingerAction nodeGingerAction = new NodeGingerAction(); AH.NodeGingerAction = nodeGingerAction; Console.WriteLine("Found Action Handler, setting parameters"); // setting parameters List <NewPayLoad> Params = pl.GetListPayLoad(); Console.WriteLine("Found " + Params.Count + " parameters"); ActionInputParams actionInputParams = new ActionInputParams(); foreach (NewPayLoad PLP in Params) { // we get Param name and value string Name = PLP.GetValueString(); object Value = PLP.GetValueByObjectType(); Console.WriteLine("Param " + Name + " = " + Value); ActionParam AP = actionInputParams[Name]; if (AP != null) { actionInputParams[Name].Value = Value; } else { Console.WriteLine("Cannot find input param - " + Name); } } // TODO: add hookd for before and after using interface //if (IBeforeAfterAction != null) // mService.BeforeRunAction(AH.GingerAction); // mService.RunAction(AH.GingerAction); ExecuteMethod(AH, actionInputParams, nodeGingerAction); NewPayLoad PLRC = CreateActionResult(nodeGingerAction.ExInfo, nodeGingerAction.Errors, nodeGingerAction.Output.OutputValues); return(PLRC); }
public void File_RecentFiles(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.CustomBuild: if (Param.Items != null) { if (_RecentFiles.Count > 0) { int Count = 0; foreach (string RecentFile in _RecentFiles) { if (!File.Exists(RecentFile)) { continue; } Count++; string FileToLoad = RecentFile; ToolStripMenuItem NewItem = new ToolStripMenuItem("&" + Count.ToString() + " " + WmeUtils.ShortenPathname(RecentFile, 50)); NewItem.Click += delegate(object sender, EventArgs e) { RunRecentFile(FileToLoad); }; Param.Items.Add(NewItem); } } Param.Processed = true; } break; } }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { writer.writeInt32("roomID", (int)actionParam["roomID"]); writer.writeInt32("playerId", (int)actionParam["playerId"]); writer.writeInt32("num", (int)actionParam["num"]); writer.writeInt32("level", (int)actionParam["level"]); }
void OnMouseDown() { Vector3 worldPos = Helper.MousePositinToWorldPos(Camera.main, Input.mousePosition, gm.ball.transform.position); if (GameSetting.Instance.UseNetwork) { ActionParam param = new ActionParam(); param["x"] = worldPos.x.ToString(); param["y"] = worldPos.y.ToString(); param["z"] = worldPos.z.ToString(); //Debug.logger.Log("gm.ball.transform.position " + gm.ball.transform.position); Vector3 screenBallPos = Camera.main.WorldToScreenPoint(gm.ball.transform.position); param["qx"] = gm.ball.transform.localPosition.x.ToString(); param["qy"] = gm.ball.transform.localPosition.y.ToString(); param["qz"] = gm.ball.transform.localPosition.z.ToString(); param["sx"] = gm.ball.gameObject.GetComponent <Rigidbody2D>().velocity.x.ToString(); param["sy"] = gm.ball.gameObject.GetComponent <Rigidbody2D>().velocity.y.ToString(); param["sz"] = "0"; Net.Instance.Send((int)ActionType.SendFingerPosition, onSendFingerPositionCallback, param); } else { gm.UpdateDir(worldPos); } }
/// <summary> /// 发送位置给服务器 /// </summary> private void SendLocationToServer() { if (Application.platform == RuntimePlatform.Android) { //发送Android定位 string location = TencentGPS.Instance.GetAddress(); //Send ActionParam ap = new ActionParam(); ap["UserId"] = mUIMainModel.PlayerInfo.UserId; ap["Location"] = location; Net.Instance.Send((int)ActionType.SendLocation, null, ap); } else if (Application.platform == RuntimePlatform.IPhonePlayer) { //发送Ios定位 IOSTencentMap.Instance.OnGetAddress += address => { //Clear Delegate IOSTencentMap.Instance.OnGetAddress = null; //Send ActionParam ap = new ActionParam(); ap["UserId"] = mUIMainModel.PlayerInfo.UserId; ap["Location"] = address; Net.Instance.Send((int)ActionType.SendLocation, null, ap); }; IOSTencentMap.Instance.StartGetAddr(); } }
private void OnReadyClick(GameObject go) { ActionParam actionParam = new ActionParam(); actionParam["IsGetReady"] = 1; Net.Instance.Send((int)ActionType.RoomReady, null, actionParam); }
public void Document_Redo(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: string Str = GetRedo(); if (Str != null) { using (new HourGlass()) LoadUndoState(Str); } break; case ActionParam.QueryType.GetState: Param.State.Enabled = RedoAvailable; Param.State.Caption = "Redo"; if (Param.State.Enabled) { Param.State.Caption += ": " + RedoName; } break; } }
public ActionProcessor(IEnumerable <IActionParam> args) { processing.Add(this); state = ActionStatesEnum.Initiating; this.context = null; IEnumerable <string> curParams; IEnumerable <IActionParam> prms = null; if (args.Any(a => a.ParamName == ActionParamNamesCore.Action)) { var s = args.First(a => a.ParamName == ActionParamNamesCore.Action); ActionParam <string> ap = (ActionParam <string>)Convert.ChangeType(args.First(a => a.ParamName == ActionParamNamesCore.Action) , typeof(ActionParam <string>), null); string val = ap.Value; if (this.ActionExists(val)) { curParams = this.usedParameters.Where(p => args.Any(a => a.ParamName == p)); if (curParams.Count() > 0) { prms = args.Where(aa => this.usedParameters.Any(r => r.Equals(aa.ParamName, StringComparison.InvariantCultureIgnoreCase))).Cast <IActionParam>(); this.prosessingActionParams.AddRange(prms); } this.InitiateAction(val); } } }
public ActionWithParamViewModel(Action action, ActionParam actionParam, ActionWithParamListViewModel actionWithParamListViewModel) { this.ActionWithParamListViewModel = actionWithParamListViewModel; this.Name = action.Name; this.ActionParam = actionParam; this.AddActionCommand = new DelegateCommand <object>(this.OnAddAction, this.CanAddAction); }
/// <summary> /// parse input data /// </summary> /// <param name="gameAction"></param> /// <param name="actionParam"></param> /// <param name="formater"></param> /// <param name="bShowLoading"></param> private void SocketRequest(GameAction gameAction, ActionParam actionParam, IHeadFormater formater, bool bShowLoading) { if (mSocket == null) { string url = NetWriter.GetUrl(); string[] arr = url.Split(new char[] { ':' }); if (arr.Length != 2) { Debug.LogError("Url is error:" + url); return; } int nPort = int.Parse(arr[1]); mSocket = new SocketConnect(arr[0], nPort, formater); } gameAction.Head.MsgId = NetWriter.MsgId + 1; SocketPackage package = new SocketPackage(); package.ActionId = gameAction.ActionId; package.Action = gameAction; package.HasLoading = bShowLoading; package.SendTime = DateTime.Now; byte[] data = gameAction.Send(actionParam); NetWriter.resetData(); if (bShowLoading) { RequestDelegate(Status.eStartRequest); } mSocket.Send(data, package); }
/// <summary> /// 出牌 /// </summary> public void ShowBrand(Brand mBrand) { ActionParam param = new ActionParam(); param["roomID"] = GameSetting.Instance.roomID; param["brand"] = mBrand.id; param["playerId"] = GameSetting.Instance.Playerid; WebLogic.Instance.Send((int)ActionType.RadioBrand, param); players[0].Remove(mBrand); players[0].Sort(); Vector3 pos = new Vector3(-3.45f, 0.5f, -3.4f); for (int i = 0; i < players[0].getSize(); i++) { Brand br = players[0].Get(i); pos.x += 0.45f; br.setPos(pos); } LastBrand = null; RespondOperation(0); }
private IEnumerator HttpGetRequest(GameAction gameAction, ActionParam actionParam, IHeadFormater formater, bool showLoading) { string url = NetWriter.GetUrl(); byte[] postData = gameAction.Send(actionParam); DateTime start = DateTime.Now; HttpPackage httpPackage = new HttpPackage(); httpPackage.WwwObject = NetWriter.IsGet ? new WWW(string.Format("{0}?{1}", url, Encoding.UTF8.GetString(postData))) : new WWW(url, postData); httpPackage.ActionId = gameAction.ActionId; httpPackage.Action = gameAction; httpPackage.Reader = new NetReader(formater); if (RequestNotify != null && showLoading) { RequestNotify(Net.Status.eStartRequest); } yield return(httpPackage.WwwObject); if (RequestNotify != null && showLoading) { RequestNotify(Net.Status.eEndRequest); } TimeSpan tsStart = new TimeSpan(start.Ticks); TimeSpan tsEnd = new TimeSpan(DateTime.Now.Ticks); TimeSpan ts = tsEnd.Subtract(tsStart).Duration(); if (ts.Seconds > OVER_TIME) { httpPackage.IsOverTime = true; } OnHttpRespond(httpPackage); }
public static void BindControl(this ComboBox ComboBox, ActionParam AP, List <ComboBoxListItem> list) { ComboBox.ItemsSource = list; ComboBox.DisplayMemberPath = nameof(ComboBoxListItem.Text); ComboBox.SelectedValuePath = nameof(ComboBoxListItem.Value); // simple bind to combo which have only text ObjFieldBinding(ComboBox, ComboBox.SelectedValueProperty, AP, "Value", BindingMode.TwoWay); }
/// <summary> /// 其他玩家手牌 /// </summary> /*private void otherHandDeal() * { * Vector3[] pos = new Vector3[3]; * pos[0] = new Vector3(3.5f, 0.1f, -1.8f); * pos[1] = new Vector3(1.8f, 0.1f, 3.5f); * pos[2] = new Vector3(-3.5f, 0.1f, 1.8f); * Vector3[] rot = new Vector3[3]; * rot[0] = new Vector3(-90, 180, 0); * rot[1] = new Vector3(-90, 90, 0); * rot[2] = new Vector3(-90, 0, 0); * Vector3[] C = new Vector3[3]; * C[0] = new Vector3(0, 0, 0.3f); * C[1] = new Vector3(-0.3f, 0, 0); * C[2] = new Vector3(0, 0, -0.3f); * * for (int i = 0; i < 3; i++) * { * for (int j = 0; j < 13; j++) * { * GameObject gb = Players[i + 1].GetOb(j); * Brand mBrand = gb.AddComponent<Brand>(); * mBrand.Init(pos[i], Quaternion.Euler(rot[i]), Vector3.one); * } * } * * Debug.Log("otherHandDeal Done"); * * if (GameSetting.Instance.Playerid == GameSetting.Instance.target) * FlowOfGame.Instance.Deal = true; * } */ /// <summary> /// 向服务端发送发牌请求 /// </summary> public void DealInWeb() { ActionParam param = new ActionParam(); param["roomID"] = GameSetting.Instance.roomID; WebLogic.Instance.Send((int)ActionType.Logic, param); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { if (actionParam.HasValue) { MahJongGameAction requestPack = actionParam.GetValue <MahJongGameAction>(); writer.writeString("GameAction", JsonUtil.SerializeObject(requestPack)); } }
public CombinationWithParamViewModel(Action act, Event ev, ActionParam actionParam, EventParam eventParam, CombinationWithParamListViewModel combinationWithParamListViewModel) { CombinationWithParamListViewModel = combinationWithParamListViewModel; this.Action = act; this.Event = ev; this.ActionParam = actionParam; this.EventParam = eventParam; }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { writer.writeInt32("MobileType", GameSetting.Instance.MobileType); writer.writeInt32("GameID", GameSetting.Instance.GameID); writer.writeString("RetailID", GameSetting.Instance.RetailID); writer.writeString("ClientAppVersion", GameSetting.Instance.ClientAppVersion); writer.writeInt32("ScreenX", GameSetting.Instance.ScreenX); writer.writeInt32("ScreenY", GameSetting.Instance.ScreenY); writer.writeString("DeviceID", GameSetting.Instance.DeviceID); writer.writeInt32("ServerID", GameSetting.Instance.ServerID); }
ActionParam GetReuqest1001() { if (Net.Instance.HeadFormater is CustomHeadFormater) { Request1001Pack requestPack = new Request1001Pack() { PageIndex = 1, PageSize = 20 }; return new ActionParam(requestPack); } var actionParam = new ActionParam(); actionParam["PageIndex"] = "1"; actionParam["PageSize"] = "20"; return actionParam; }
protected override void SendParameter(NetWriter writer, ActionParam userData) { //自定对象参数格式 //Request1001Pack requestPack = new Request1001Pack() //{ // PageIndex = 1, // PageSize = 10 //}; //byte[] data = ProtoBufUtils.Serialize(requestPack); //writer.SetBodyData(data); //Debug.Log("Action1001: SendParameter() DONE!"); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { //default url param writer.writeString("UserName", actionParam.Get<string>("roleName")); writer.writeString("Sex", actionParam.Get<string>("Sex")); writer.writeString("HeadID", actionParam.Get<string>("HeadID")); writer.writeString("RetailID", GameSetting.Instance.RetailID); writer.writeString("Pid", GameSetting.Instance.Pid); writer.writeInt32("MobileType", GameSetting.Instance.MobileType); writer.writeInt32("ScreenX", GameSetting.Instance.ScreenX); writer.writeInt32("ScreenY", GameSetting.Instance.ScreenY); writer.writeString("ClientAppVersion", GameSetting.Instance.ClientAppVersion); writer.writeInt32("GameType", GameSetting.Instance.GameID); writer.writeInt32("ServerID", GameSetting.Instance.ServerID); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { //TODO:登录服务器获取账号 //writer.writeString("Handler", "Passport"); //writer.writeString("IMEI", GameSetting.Instance.DeviceID); writer.writeInt32("MobileType", GameSetting.Instance.MobileType); writer.writeInt32("GameID", GameSetting.Instance.GameID); writer.writeString("RetailID", GameSetting.Instance.RetailID); writer.writeString("ClientAppVersion", GameSetting.Instance.ClientAppVersion); writer.writeInt32("ScreenX", GameSetting.Instance.ScreenX); writer.writeInt32("ScreenY", GameSetting.Instance.ScreenY); writer.writeString("DeviceID", GameSetting.Instance.DeviceID); writer.writeInt32("ServerID", GameSetting.Instance.ServerID); }
private void CreateRuntimeParam() { m_RuntimeParam = new ActionParam(); FuncContext context = FuncContext.Create(); m_RuntimeParam.Object = context; Npc target = null; if (m_CreatedNpcList != null && m_CreatedNpcList.Count > 0) { target = m_CreatedNpcList.ToArray()[0]; } context.Put(FuncContext.ContextKey.User, m_PlayerChar); context.Put(FuncContext.ContextKey.Target, target); PlayerManager.Instance.SetPlayerInstance(m_PlayerChar); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { string pwd = new DESAlgorithmNew().EncodePwd(GameSetting.Instance.Password, GameSetting.ClientPasswordKey); //default url param writer.writeInt32("MobileType", GameSetting.Instance.MobileType); writer.writeString("Pid", GameSetting.Instance.Pid); writer.writeString("Pwd", pwd); writer.writeString("DeviceID", GameSetting.Instance.DeviceID); writer.writeInt32("ScreenX", GameSetting.Instance.ScreenX); writer.writeInt32("ScreenY", GameSetting.Instance.ScreenY); writer.writeString("RetailID", GameSetting.Instance.RetailID); writer.writeInt32("GameType", GameSetting.Instance.GameID); writer.writeInt32("ServerID", GameSetting.Instance.ServerID); writer.writeString("RetailUser", ""); writer.writeString("ClientAppVersion", GameSetting.Instance.ClientAppVersion); }
// Use this for initialization void Start() { if (useCustomAction) { Net.Instance.HeadFormater = new CustomHeadFormater(); Request1001Pack requestPack = new Request1001Pack() { PageIndex = 1, PageSize = 20 }; actionParam = new ActionParam(requestPack); } else { actionParam = new ActionParam(); actionParam["PageIndex"] = "1"; actionParam["PageSize"] = "20"; } }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { if (actionParam.HasValue) { //自定对象参数格式 isCustom = true; var rankData = actionParam.GetValue<RankData>(); byte[] data = ProtoBufUtils.Serialize(rankData); writer.SetBodyData(data); } else { isCustom = false; writer.writeString("UserName", "Jon"); writer.writeInt32("Score", 100); } }
public void TestAction2(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: //MessageBox.Show("Action 2 invoked"); Action2Checked = !Action2Checked; Param.Processed = true; break; case ActionParam.QueryType.GetState: Param.State.Enabled = true; Param.State.Checked = Action2Checked; Param.State.Caption = Action2Checked ? "Checked" : "Unchecked"; break; } }
public void TestAction(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: MessageBox.Show("Action 1 invoked\n" + Param.Sender.GetType().ToString()); Param.Processed = true; break; case ActionParam.QueryType.Initialize: ((ToolStripItem)Param.Sender).ForeColor = Color.Red; break; case ActionParam.QueryType.GetState: Param.State.Enabled = Action2Checked; break; } }
////////////////////////////////////////////////////////////////////////// public bool CustomBuild(IActionProvider Provider, ToolStripItemCollection Items, bool AsMenu) { try { ActionParam Param = new ActionParam(); Param.Type = ActionParam.QueryType.CustomBuild; Param.Items = Items; Param.BuildAsMenu = AsMenu; Param.Processed = false; Method.Invoke(Provider, new object[] { Param }); return Param.Processed; } catch { return false; } }
public ActionPlayer(int iActionId, ActionFileData data, ActionParam param, List<GameObject> affectedObjects = null) { //Check if (null == data) { return; } m_AffectedObject = affectedObjects; //Save Init Info SaveInitInfo(); //Set Data m_ActionId = iActionId; m_ActionFileData = data; m_nInstanceID = AllocInstanceId(); m_ActionParam = param; if (affectedObjects != null && affectedObjects.Count > 0) { //Add Target foreach (GameObject obj in affectedObjects) { if (obj == null) { Debuger.LogWarning("None(GameObject) in TargetObjectList"); continue; } CharTransformContainer objContainer = obj.GetComponent<CharTransformContainer>(); if (objContainer == null) { Debuger.LogWarning("Instance Container Not Found in " + obj.name); continue; } else { AddAffectedObject(obj, objContainer); } //disable rigidbody SetPhysicStatus(obj, false); } } Reset(); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { if (actionParam.HasValue) { //自定对象参数格式 isCustom = true; Request1001Pack requestPack = actionParam.GetValue<Request1001Pack>(); byte[] data = ProtoBufUtils.Serialize(requestPack); writer.SetBodyData(data); } else { isCustom = false; //默认url参数格式 actionParam.Foreach((k, v) => { writer.writeString(k, v); return true; }); } }
/// <summary> /// 每一帧被调用多次,enabled=false时禁用 /// </summary> void OnGUI() { var boxPos = new Rect((Screen.width - width) / 2, (Screen.height - height) / 2, width, height); GUILayout.BeginArea(boxPos, "", "box"); GUILayout.Label(""); GUILayout.BeginHorizontal(); GUILayout.Space(40); if (GUILayout.RepeatButton("Role1", role1 ? SelectBoxStype : UnSelectBoxStype, GUILayout.Width(150), GUILayout.Height(150))) { role1 = true; role2 = false; } GUILayout.Space(10); if (GUILayout.RepeatButton("Role2", role2 ? SelectBoxStype : UnSelectBoxStype, GUILayout.Width(150), GUILayout.Height(150))) { role2 = true; role1 = false; } GUILayout.EndHorizontal(); GUILayout.Label(""); GUILayout.BeginHorizontal(); GUILayout.Space(75); GUILayout.Label("Role Name:", GUILayout.Width(100)); roleName = GUILayout.TextField(roleName, GUILayout.Width(150)); GUILayout.EndHorizontal(); GUILayout.Label(""); GUILayout.BeginHorizontal(); GUILayout.Space(125); if (GUILayout.Button("Create Role", GUILayout.Width(150))) { Debug.Log("role1:" + role1 + ",role2" + role2); ActionParam actionParam = new ActionParam(); actionParam["roleName"] = roleName; actionParam["Sex"] = (role1 ? 0 : 1).ToString(); actionParam["HeadID"] = role1 ? "role1" : "role2"; Net.Instance.Send((int)ActionType.CreateRote, CreateRoteCallback, actionParam); } GUILayout.EndHorizontal(); GUILayout.EndArea(); }
protected override void SendParameter(NetWriter writer, ActionParam actionParam) { //default url param }
private void HttpRequest(GameAction gameAction, ActionParam actionParam, IHeadFormater formater, bool bShowLoading) { StartCoroutine(HttpGetRequest(gameAction, actionParam, formater, bShowLoading)); NetWriter.resetData(); }
public void File_RecentFiles(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.CustomBuild: if(Param.Items != null) { if (_RecentFiles.Count > 0) { int Count = 0; foreach (string RecentFile in _RecentFiles) { if (!File.Exists(RecentFile)) continue; Count++; string FileToLoad = RecentFile; ToolStripMenuItem NewItem = new ToolStripMenuItem("&" + Count.ToString() + " " + WmeUtils.ShortenPathname(RecentFile, 50)); NewItem.Click += delegate(object sender, EventArgs e) { RunRecentFile(FileToLoad); }; Param.Items.Add(NewItem); } } Param.Processed = true; } break; } }
public void Help_About(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: FrmAbout dlg = new FrmAbout(); dlg.ShowDialog(); break; } }
public void Help_Contents(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: string ChmPath = WmeUtils.ToolsPath + "wme.chm"; Help.ShowHelp(this, ChmPath); break; } }
public void Tools_Options(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: SettingsForm dlg = new SettingsForm(); dlg.GridSize = GridSize; dlg.SelectionColor = SelectionColor; dlg.BoxColor = BoxColor; dlg.BackgroundColor = WindowCanvas.BackColor; if(dlg.ShowDialog() == DialogResult.OK) { GridSize = dlg.GridSize; SelectionColor = dlg.SelectionColor; BoxColor = dlg.BoxColor; WindowCanvas.BackColor = dlg.BackgroundColor; } break; } }
/// <summary> /// Send /// </summary> /// <param name="actionId"></param> /// <param name="callback"></param> /// <param name="actionParam"></param> /// <param name="bShowLoading"></param> public void Send(int actionId, Action<ActionResult> callback, ActionParam actionParam, bool bShowLoading = true) { GameAction gameAction = ActionFactory.Create(actionId); if (gameAction == null) { throw new ArgumentException(string.Format("Not found {0} of GameAction object.", actionId)); } //if (SceneChangeManager.mInstance != null) // SceneChangeManager.mInstance.ShowLoading(true); gameAction.Callback += callback; if (NetWriter.IsSocket()) { SocketRequest(gameAction, actionParam, HeadFormater, bShowLoading); } else { HttpRequest(gameAction, actionParam, HeadFormater, bShowLoading); } }
/// <summary> /// parse input data /// </summary> /// <param name="gameAction"></param> /// <param name="actionParam"></param> /// <param name="formater"></param> /// <param name="bShowLoading"></param> private void SocketRequest(GameAction gameAction, ActionParam actionParam, IHeadFormater formater, bool bShowLoading) { if (mSocket == null) { string url = NetWriter.GetUrl(); string[] arr = url.Split(new char[] { ':' }); if (arr.Length != 2) { Debug.LogError("Url is error:" + url); return; } int nPort = int.Parse(arr[1]); mSocket = new SocketConnect(arr[0], nPort, formater); } gameAction.Head.MsgId = NetWriter.MsgId - 1; SocketPackage package = new SocketPackage(); package.MsgId = gameAction.Head.MsgId; package.ActionId = gameAction.ActionId; package.Action = gameAction; package.HasLoading = bShowLoading; package.SendTime = DateTime.Now; byte[] data = gameAction.Send(actionParam); NetWriter.resetData(); if (bShowLoading) { RequestDelegate(Status.eStartRequest); } mSocket.Send(data, package); }
protected override void SendParameter(NetWriter writer, ActionParam userData) { //byte[] data = new byte[0]; //writer.SetBodyData(data); }
public void File_Open(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: OpenFile(); break; } }
private IEnumerator HttpGetRequest(GameAction gameAction, ActionParam actionParam, IHeadFormater formater, bool showLoading) { string url = NetWriter.GetUrl(); byte[] postData = gameAction.Send(actionParam); DateTime start = DateTime.Now; HttpPackage httpPackage = new HttpPackage(); httpPackage.WwwObject = NetWriter.IsGet ? new WWW(string.Format("{0}?{1}", url, Encoding.UTF8.GetString(postData))) : new WWW(url, postData); httpPackage.ActionId = gameAction.ActionId; httpPackage.Action = gameAction; httpPackage.Reader = new NetReader(formater); if (RequestNotify != null && showLoading) { RequestNotify(Net.Status.eStartRequest); } yield return httpPackage.WwwObject; if (RequestNotify != null && showLoading) { RequestNotify(Net.Status.eEndRequest); } TimeSpan tsStart = new TimeSpan(start.Ticks); TimeSpan tsEnd = new TimeSpan(DateTime.Now.Ticks); TimeSpan ts = tsEnd.Subtract(tsStart).Duration(); if (ts.Seconds > OVER_TIME) { httpPackage.IsOverTime = true; } OnHttpRespond(httpPackage); }
public void File_AppClose(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: this.Close(); break; } }
public void File_New(ActionParam Param) { switch (Param.Type) { case ActionParam.QueryType.Invoke: if(CurrentDoc != null) { if (CurrentDoc.CloseDocument()) { CurrentDoc.CaptionChanged -= new EventHandler(OnDocumentCaptionChanged); CurrentDoc.FileNameChanged -= new EventHandler(OnDocumentFileNameChanged); CurrentDoc.Dispose(); } else return; } PropItem.SelectedObject = null; WindowDoc NewDoc = new WindowDoc(this); NewDoc.CaptionChanged += new EventHandler(OnDocumentCaptionChanged); NewDoc.FileNameChanged += new EventHandler(OnDocumentFileNameChanged); if (NewDoc.NewDocument(WindowCanvas)) { CurrentDoc = NewDoc; CurrentDoc.PropGrid = PropItem; CurrentDoc.LayoutTree = TreeLayout; } else CurrentDoc = null; break; } }