コード例 #1
0
        public override void Initialize(ICoreAPI api)
        {
            base.Initialize(api);

            inventory.pos = pos;
            inventory.LateInitialize("smelting-1", api);


            RegisterGameTickListener(OnBurnTick, 100);
            RegisterGameTickListener(OnSyncTick, 500);

            if (api is ICoreClientAPI)
            {
                renderer = new FirepitContentsRenderer(api as ICoreClientAPI, pos);

                (api as ICoreClientAPI).Event.RegisterRenderer(renderer, EnumRenderStage.Opaque);

                if (meshes == null)
                {
                    GenFirepitMeshes();
                }

                UpdateRenderer();
            }

            ownBlock = api.World.BlockAccessor.GetBlock(pos);
        }
コード例 #2
0
        public override void OnBlockRemoved()
        {
            base.OnBlockRemoved();



            renderer?.Dispose();
            renderer = null;

            if (clientDialog != null)
            {
                clientDialog.TryClose();
                clientDialog?.Dispose();
                clientDialog = null;
            }
        }
コード例 #3
0
ファイル: BEFirepit.cs プロジェクト: bitcynth/vssurvivalmod
        public override void OnBlockRemoved()
        {
            base.OnBlockRemoved();

            if (ambientSound != null)
            {
                ambientSound.Stop();
                ambientSound.Dispose();
            }

            if (renderer != null)
            {
                renderer.Unregister();
                renderer = null;
            }
        }
コード例 #4
0
        public override void Initialize(ICoreAPI api)
        {
            base.Initialize(api);

            inventory.pos = Pos;
            inventory.LateInitialize("smelting-" + Pos.X + "/" + Pos.Y + "/" + Pos.Z, api);

            RegisterGameTickListener(OnBurnTick, 100);
            RegisterGameTickListener(On500msTick, 500);

            if (api is ICoreClientAPI)
            {
                renderer = new FirepitContentsRenderer(api as ICoreClientAPI, Pos);
                (api as ICoreClientAPI).Event.RegisterRenderer(renderer, EnumRenderStage.Opaque, "firepit");

                UpdateRenderer();
            }

            wsys = api.ModLoader.GetModSystem <WeatherSystemBase>();
        }
コード例 #5
0
ファイル: BEFirepit.cs プロジェクト: curquhart/vssurvivalmod
        public override void OnBlockRemoved()
        {
            base.OnBlockRemoved();

            if (ambientSound != null)
            {
                ambientSound.Stop();
                ambientSound.Dispose();
            }

            renderer?.Dispose();
            renderer = null;

            if (clientDialog != null)
            {
                clientDialog.TryClose();
                clientDialog?.Dispose();
                clientDialog = null;
            }
        }