예제 #1
0
        public static CustomPickup FromInfo(CustomPickupInfo info)
        {
            int handle = API.NetworkGetEntityFromNetworkId(info.NetHandle);

            if (!API.DoesEntityExist(handle))
            {
                return(null);
            }

            CustomPickup pickup = new CustomPickup
            {
                PickupProp     = handle,
                NetHandle      = API.ObjToNet(handle),
                Pos            = API.GetEntityCoords(handle, false),
                Model          = API.GetEntityModel(handle),
                Dynamic        = info.Dynamic,
                OnGround       = info.OnGround,
                DeleteOnAction = info.DeleteOnAction,
                EventAction    = new EventAction
                {
                    Type     = (EventActionType)info.EventActionType,
                    Control  = (Control)info.Control,
                    HelpText = info.HelpText,
                    Callback = info.CallBack,
                    Params   = info.Parameters
                },
                Created = info.Created
            };

            return(pickup);
        }
예제 #2
0
        public static CustomPickup FromInfo(CustomPickupInfo info)
        {
            int  handle = API.NetworkGetEntityFromNetworkId(info.NetHandle);
            Prop prop   = new Prop(handle);

            if (prop == null)
            {
                return(null);
            }

            CustomPickup pickup = new CustomPickup
            {
                PickupProp     = prop,
                NetHandle      = API.ObjToNet(prop.Handle),
                Pos            = prop.Position,
                Model          = prop.Model,
                Dynamic        = info.Dynamic,
                OnGround       = info.OnGround,
                DeleteOnAction = info.DeleteOnAction,
                EventAction    = new EventAction
                {
                    Type     = (EventActionType)info.EventActionType,
                    Control  = (Control)info.Control,
                    HelpText = info.HelpText,
                    Callback = info.CallBack,
                    Params   = info.Parameters
                },
                Created = info.Created
            };

            return(pickup);
        }
예제 #3
0
        public CustomPickupInfo GetInfo()
        {
            CustomPickupInfo info = new CustomPickupInfo
            {
                NetHandle       = NetHandle,
                Dynamic         = Dynamic,
                OnGround        = OnGround,
                DeleteOnAction  = DeleteOnAction,
                EventActionType = EventAction != null ? (int)EventAction.Type : 0,
                Control         = EventAction != null ? (int)EventAction.Control : 0,
                HelpText        = EventAction?.HelpText,
                CallBack        = EventAction?.Callback,
                Parameters      = EventAction?.Params,
                Created         = Created
            };

            return(info);
        }
예제 #4
0
        private void PickupCreated(dynamic info)
        {
            CustomPickupInfo pickup = new CustomPickupInfo
            {
                NetHandle       = (int)info.NetHandle,
                Dynamic         = (bool)info.Dynamic,
                OnGround        = (bool)info.OnGround,
                DeleteOnAction  = (bool)info.DeleteOnAction,
                EventActionType = (int)info.EventActionType,
                Control         = (int)info.Control,
                HelpText        = (string)info.HelpText,
                CallBack        = info.CallBack,
                Parameters      = info.Parameters,
                Created         = (bool)info.Created
            };

            Pickups.Add(pickup);

            TriggerClientEvent("FTools:PickupCreated", pickup);
        }