示例#1
0
    private void OnBtnClick()
    {
        PropParameter propParam = new PropParameter()
        {
            idFrom         = this.idFrom,
            idTo           = this.idTo,
            propPrefabName = this.propPrefabName
        };

        //发送道具请求
        RoomMsgInfo msg = new RoomMsgInfo()
        {
            UID     = mUIMainModel.PlayerInfo.UserId,
            MsgType = RoomMsgType.Prop,
            Content = Encoding.UTF8.GetBytes(JsonUtil.SerializeObject(propParam))
        };
        ActionParam actionParam = new ActionParam(msg);

        Net.Instance.Send(1108, null, actionParam);
    }
示例#2
0
    private void ShowProp(RoomMsgInfo mRoomMsgInfo)
    {
        //获取所有玩家
        mPlayerItems.Clear();
        mPlayerItems.Add(UIGameWindow.Instance.CacheTrans.FindComponent <PlayerInfoItem>("Root/ContainerBottom/PlayerInfo"));
        mPlayerItems.Add(UIGameWindow.Instance.CacheTrans.FindComponent <PlayerInfoItem>("Root/ContainerRight/PlayerInfo"));
        mPlayerItems.Add(UIGameWindow.Instance.CacheTrans.FindComponent <PlayerInfoItem>("Root/ContainerTop/PlayerInfo"));
        mPlayerItems.Add(UIGameWindow.Instance.CacheTrans.FindComponent <PlayerInfoItem>("Root/ContainerLeft/PlayerInfo"));

        PropParameter parameter = JsonUtil.DeserializeObject <PropParameter>(Encoding.UTF8.GetString(mRoomMsgInfo.Content));

        int pos1 = GameLogicMgr.Instance.getPlayerIndex(mUIGameModel.GetUser(parameter.idFrom).RoomOrder);
        int pos2 = GameLogicMgr.Instance.getPlayerIndex(mUIGameModel.GetUser(parameter.idTo).RoomOrder);

        var startPos  = mPlayerItems[pos1].transform.Find("InfoGroup/HeadIcon").transform.position;
        var targetPos = mPlayerItems[pos2].transform.Find("InfoGroup/HeadIcon").transform.position;

        var propItem = GameObject.Instantiate(Resources.Load <GameObject>("PropPrefab/" + parameter.propPrefabName)).GetComponent <PropController>();

        propItem.mPosFrom = startPos;
        propItem.mPosTo   = targetPos;
        propItem.Play();
    }