private void Setup()
        {
            ClassVariables.Clear();
            RPCVariables.Clear();
            RewindVariables.Clear();

            if (TiedObject.ObjectClassType == ForgeBaseClassType.Enums ||
                TiedObject.ObjectClassType == ForgeBaseClassType.ObjectFactory)
            {
                CanRender = false;
            }

            if (TiedObject.ExactFilename == "NetworkBehavior") //Ignore this abstract class
            {
                CanRender = false;
            }

            if (TiedObject.IsNetworkObject)
            {
                CanRenderRPCS = false;
            }

            if (TiedObject.IsNetworkBehavior)
            {
                CanRenderFields = false;
            }

            ButtonName   = TiedObject.ExactFilename;
            _defaultName = TiedObject.ExactFilename;
            for (int i = 0; i < TiedObject.Fields.Count; ++i)
            {
                bool  canInterpolate   = TiedObject.Fields[i].Interpolate;
                float interpolateValue = TiedObject.Fields[i].InterpolateValue;

                ClassVariables.Add(new ForgeEditorField(TiedObject.Fields[i].FieldName, true,
                                                        TiedObject.Fields[i].FieldType, canInterpolate, interpolateValue));
            }

            if (TiedObject != null)
            {
                for (int i = 0; i < TiedObject.RPCS.Count; ++i)
                {
                    ForgeEditorRPCField rpc = new ForgeEditorRPCField();

                    rpc.FieldName = TiedObject.RPCS[i].RPCName;
                    rpc.AddRange(TiedObject.RPCS[i].Arguments.ToArray(), TiedObject.RPCS[i].HelperTypes.ToArray());
                    if (TiedObject.RPCS[i].RPCName.ToLower().Equals("initialize"))
                    {
                        rpc.CanRender = false;
                    }

                    RPCVariables.Add(rpc);
                }
            }

            SetupLists();
        }
Esempio n. 2
0
        public ForgeEditorRPCField Clone()
        {
            ForgeEditorRPCField returnValue = new ForgeEditorRPCField();

            returnValue.FieldName = this.FieldName;
            returnValue.FieldTypes.AddRange(this.FieldTypes);
            returnValue.Dropdown  = this.Dropdown;
            returnValue.CanRender = this.CanRender;

            return(returnValue);
        }