コード例 #1
0
        /// <summary>
        /// 处理用户的输入
        /// </summary>
        /// <param name="c2sMSG"></param>
        internal void HandleBattleUserInputC2S(BattleUserInputC2S c2sMSG)
        {
            BattleUserInputS2C s2cMSG = new BattleUserInputS2C();

            s2cMSG.CMD = c2sMSG;

            Broadcast(1500, s2cMSG);
            //定一个间隔时间 66ms进行广播一次  100ms广播一次
        }
コード例 #2
0
        /// <summary>
        /// 处理用户传输过来的输入
        /// </summary>
        /// <param name="obj"></param>
        private void HandleBattleUserInputC2S(BufferEntity request)
        {
            BattleUserInputC2S c2sMSG     = ProtobufHelper.FromBytes <BattleUserInputC2S>(request.proto);
            RoomEntity         roomEntity = RoomManager.Instance.Get(c2sMSG.RoomID);

            if (roomEntity != null)
            {
                roomEntity.HandleBattleUserInputC2S(c2sMSG);
            }
        }
コード例 #3
0
    //生成特效
    public void SpawnEffect(string key)
    {
        GameObject effect = ResManager.Instance.LoadEffect(playerInfo.HeroID, key);

        effect.transform.position    = transform.position;
        effect.transform.eulerAngles = transform.eulerAngles;
        effect.gameObject.SetActive(true);
        EConfig            eConfig  = effect.transform.GetComponent <EConfig>();
        BattleUserInputC2S skillCMD = playerCtrl.playerFSM.skillCMD.CMD;

        //playerCtrl.OnSkillTrriger 技能触发回调 由释放者
        eConfig.Init(skillCMD.RolesID, skillCMD.LockTag, skillCMD.LockID,
                     transform.forward, transform.position, playerCtrl.OnSkillTrriger);
    }
コード例 #4
0
    void SendInputCMD(KeyCode keyCode)
    {
        BattleUserInputC2S c2sMSG = new BattleUserInputC2S();

        c2sMSG.RolesID = PlayerModel.Instance.rolesInfo.RolesID;
        c2sMSG.RoomID  = PlayerModel.Instance.roomInfo.ID;

        c2sMSG.Key = keyCode.GetHashCode();

        Ray        ray;
        RaycastHit hit;

        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out hit))
        {
            c2sMSG.MousePosition = hit.point.ToV3Info();
            if (lockTransform != null)
            {
                c2sMSG.LockID  = lockObjectID;
                c2sMSG.LockTag = lockTransform.tag;
            }
        }
        BufferFactory.CreateAndSendPackage(1500, c2sMSG);
    }