Beispiel #1
0
    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);
    }
Beispiel #2
0
        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());
    }
Beispiel #5
0
    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);
        }
    }
Beispiel #6
0
    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);
        }
    }
Beispiel #7
0
    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();
    }
Beispiel #8
0
 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);
         });
     }
 }
Beispiel #9
0
        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);
        }
Beispiel #10
0
 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"));
 }
Beispiel #11
0
 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);
     }
 }
Beispiel #12
0
    private void OnConfirmClick(GameObject go)
    {
        ActionParam actionParam = new ActionParam();

        actionParam["IsAgree"] = 1;
        Net.Instance.Send((int)ActionType.DissolveRoom, null, actionParam);
    }
Beispiel #13
0
 public byte[] Send(ActionParam actionParam)
 {
     NetWriter writer = NetWriter.Instance;
     SetActionHead(writer);
     SendParameter(writer, actionParam);
     return writer.PostData();
 }
Beispiel #14
0
    /// <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);
    }
Beispiel #15
0
    public void onSendMessage()
    {
        ActionParam actionParam = new ActionParam();

        actionParam["Message"] = textInput.text;
        Net.Instance.Send((int)ActionType.SendMessageToWorld, SendMessageToWorldCallback, actionParam);
    }
Beispiel #16
0
        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);
        }
Beispiel #17
0
        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;
            }
        }
Beispiel #18
0
 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"]);
 }
Beispiel #19
0
    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);
        }
    }
Beispiel #20
0
 /// <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();
     }
 }
Beispiel #21
0
    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;
            }
        }
Beispiel #23
0
        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);
                }
            }
        }
Beispiel #24
0
    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();
    }
 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);
 }
Beispiel #26
0
    /// <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);
    }
Beispiel #27
0
    /// <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);
    }
Beispiel #28
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);
    }
Beispiel #29
0
 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);
 }
Beispiel #30
0
    /// <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);
    }
Beispiel #31
0
 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;
 }
Beispiel #33
0
 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);
 }
Beispiel #34
0
 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;
 }
Beispiel #35
0
 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!");
 }
Beispiel #36
0
 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);
 }
Beispiel #37
0
    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);
    }
Beispiel #39
0
 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);
 }
Beispiel #40
0
    // 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();
    }
Beispiel #46
0
 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;
         });
     }
 }
Beispiel #47
0
 /// <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();
 }
Beispiel #48
0
 protected override void SendParameter(NetWriter writer, ActionParam actionParam)
 {
     //default url param
 }
Beispiel #49
0
 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;
            }
        }
Beispiel #54
0
        /// <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);
            }
        }
Beispiel #55
0
        /// <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);
        }
Beispiel #56
0
 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;
     }
 }
Beispiel #58
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 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;
            }
        }