コード例 #1
0
        public void Init(object gameInstance)
        {
            var assembly = Assembly.GetExecutingAssembly();
            var version  = assembly.GetName().Version;

            // Set up resources that persist outside of sessions
            ThreadTracker.SetGameThread();

            Log.Log("Loading Plugin for SEPC version " + version);

            try
            {
                // Register our compilation symbol state
                SymbolRegistrar.SetDebugIfDefined();
                SymbolRegistrar.SetProfileIfDefined();

                // Register our SEPC-managed SessionComponents
                ComponentRegistrar.AddComponents(assembly);
                ComponentRegistrar.LoadOnInit(0, assembly);
            }
            catch (Exception error)
            {
                Log.Error(error);
            }
        }
コード例 #2
0
        public Session()
        {
            // Only load if the steam version has been loaded too.
            var steamComponent = ReflectionHelper.FindModSessionComponent("GardenConquest", 450540708, "Steam", "GC.Notify");

            if (steamComponent == null)
            {
                return;
            }

            Log.Log("GC steam component found, loading mod.");

            Log.Trace("Registering session components");
            ComponentSession.RegisterComponentGroup((int)Groups.Sessions);
            //UpdateManager.RegisterSessionComponent(new ServerTestSession());

            Log.Trace("Registering entity components");
            //UpdateManager.RegisterEntityComponent(
            //    ((e) => { return new EnforcedGrid(e); }),
            //    typeof(MyObjectBuilder_CubeGrid),
            //    RunLocation.Server);
            //UpdateManager.RegisterEntityComponent(
            //	((e) => {
            //		return LootCrate.IsLootCrate(e) ?
            //			new LootCrate(e) :
            //			null;
            //	}),
            //	typeof(MyObjectBuilder_CubeGrid),
            //	RunLocation.Server);

            // Tell the steam code we've loaded successfully.
            ReflectionHelper.SetInstanceField(steamComponent, "PluginLoaded", true);
        }
コード例 #3
0
        void HandleLoginResponse(BitStream data, ulong senderId)
        {
            Log.Entered();
            string content = data.ReadString();

            Log.Log($"Received Login Response with content '{content}'");
        }
コード例 #4
0
        void HandleLoginRequest(BitStream data, ulong senderId)
        {
            Log.Entered();
            string content = data.ReadString();

            Log.Log($"Received Login Request from '{senderId}' with content '{content}'");

            BitStream stream = new BitStream();

            stream.ResetWrite();
            stream.WriteString("This is 249er, we read you loud and clear Breaker.");
            Messenger.SendToPlayer(stream, Session.MessageDomain, (ushort)Messages.MessageType.LoginResponse, senderId);
        }
コード例 #5
0
ファイル: Plugin.cs プロジェクト: zrisher/GardenConquest
        public void Init(object gameInstance)
        {
            try
            {
                var assembly = Assembly.GetExecutingAssembly();
                var version  = assembly.GetName().Version;

                Log.Log("Loading Plugin for GC version " + version);

                // Register our compilation symbol state
                SymbolRegistrar.SetDebugIfDefined();
                SymbolRegistrar.SetProfileIfDefined();

                // Register our SEPC-managed SessionComponents
                ComponentRegistrar.AddComponents(Assembly.GetExecutingAssembly());
                ComponentRegistrar.LoadOnInit((int)Session.Groups.Init, Assembly.GetExecutingAssembly());
            }
            catch (Exception error)
            {
                Log.Error(error);
            }
        }