首页 > 解决方案 > 如何在类/布尔中的方法上放置 [Client] 属性?

问题描述

我正在尝试将方法从客户端发送到服务器以进行某些移动,并且我有以下代码:

public virtual bool GetInput
    {
        get
        {
            if (!active) return false;
            if (inputSystem == null) return false;

            var oldValue = InputValue;

            switch (GetPressed)
            {

                case InputButton.Press:

                    InputValue = type == InputType.Input ? InputSystem.GetButton(input) : Input.GetKey(key);


                    if (oldValue != InputValue)
                    {
                        if (InputValue) OnInputDown.Invoke();
                        else OnInputUp.Invoke();

                        OnInputChanged.Invoke(InputValue);
                    }
                    if (InputValue) OnInputPressed.Invoke();

                    return InputValue;

(这只是代码的一半,以免使这篇文章超长,但其余的基本上是相同的东西和正确的结尾)

因此,对于其他方法,我能够将 [Client] 放在方法之上并繁荣,方法中的所有内容都成功地从客户端发送到服务器并正确执行。问题是我不能在这里这样做,我想知道如何才能使调用的方法(OnInputUp、OnInputChanged 等)在客户端上发送和执行?

如果有帮助的话,整个布尔值都包含在一个类中(有没有办法将整个类以及所有方法和变量发送到服务器?)。这些方法也是在别处定义的统一事件。

标签: c#unity3d

解决方案


推荐阅读