コード例 #1
0
        public static GameEventData ToData(this GameEventEventArgs e)
        {
            if (e == null)
            {
                return(null);
            }
            GameEventData data = new GameEventData(e);

            return(data);
        }
コード例 #2
0
ファイル: LogPlugin.cs プロジェクト: MaitreDede/monoplug-csgo
        private async void Engine_GameEvent(object sender, GameEventEventArgs e)
        {
            Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings();
            settings.Converters.Add(new GameEventDataFlatConverter());
            string             json = Newtonsoft.Json.JsonConvert.SerializeObject(e, Newtonsoft.Json.Formatting.None, settings);
            GameEventEventArgs e2   = Newtonsoft.Json.JsonConvert.DeserializeObject <GameEventEventArgs>(json, settings);
            string             line = string.Format("GameEvent : {0}={1}", e.Event, json);

            await this.Log(line);

            Console.WriteLine(line);
        }
コード例 #3
0
        void IPluginManager.RaiseGameEvent(Int64 evtDataPtr, int evtArgsCount, Int64 evtArgsPtr)
        {
            //NativeEventData evtData = new NativeEventData();
            //Marshal.PtrToStructure(new IntPtr(evtDataPtr), evtData);
            NativeEventData evtData = (NativeEventData)Marshal.PtrToStructure(new IntPtr(evtDataPtr), typeof(NativeEventData));

            NativeEventArgs[] args = new NativeEventArgs[evtArgsCount];
            int size = Marshal.SizeOf(typeof(NativeEventArgs));

            for (int i = 0; i < evtArgsCount; i++)
            {
                IntPtr argPtr = new IntPtr(evtArgsPtr + i * size);
                args[i] = (NativeEventArgs)Marshal.PtrToStructure(argPtr, typeof(NativeEventArgs));
            }
            GameEventEventArgs e = new GameEventEventArgs(evtData.Event, args.Select(a => new GameEventArgument(a)).ToArray());

            this.Raise(this.m_engine.RaiseGameEvent, e);
        }
コード例 #4
0
 internal GameEventData(GameEventEventArgs e)
 {
     this.Event = e.Event;
     this.Args  = e.Args.Select(a => new GameEventArg(a)).ToArray();
 }
コード例 #5
0
 internal void RaiseGameEvent(GameEventEventArgs e)
 {
     this.RaiseEvent(EventGameEvent, e);
 }