Exemplo n.º 1
0
        public override void Initialize(ICoreAPI api)
        {
            base.Initialize(api);

            if (workItemStack != null)
            {
                workItemStack.ResolveBlockOrItem(api.World);
                if (baseMaterial == null)
                {
                    baseMaterial = new ItemStack(api.World.GetItem(new AssetLocation("clay-" + workItemStack.Collectible.LastCodePart())));
                }
                else
                {
                    baseMaterial.ResolveBlockOrItem(api.World);
                }
            }

            if (api is ICoreClientAPI)
            {
                ICoreClientAPI capi = (ICoreClientAPI)api;
                capi.Event.RegisterRenderer(workitemRenderer = new ClayFormRenderer(Pos, capi), EnumRenderStage.Opaque);
                capi.Event.RegisterRenderer(workitemRenderer, EnumRenderStage.AfterFinalComposition);

                RegenMeshAndSelectionBoxes();
            }
        }
Exemplo n.º 2
0
 public override void OnBlockRemoved()
 {
     if (workitemRenderer != null)
     {
         workitemRenderer.Unregister();
         workitemRenderer = null;
     }
 }
Exemplo n.º 3
0
        public override void OnBlockRemoved()
        {
            dlg?.TryClose();

            if (workitemRenderer != null)
            {
                workitemRenderer.Dispose();
                workitemRenderer = null;
            }
        }