static void OnBlockDestroyMultiplayer(VoxelInfo voxelInfo, GameObject voxelObject, NetworkPlayer sender) { VoxelEvents ev = voxelObject.GetComponent <VoxelEvents>(); if (ev != null) { ev.OnBlockDestroy(voxelInfo); ev.OnBlockDestroyMultiplayer(voxelInfo, sender); } }
// multiplayer public static void DestroyBlockMultiplayer(VoxelInfo voxelInfo, NetworkPlayer sender) { // received from server, don't use directly GameObject voxelObject = Instantiate(Engine.GetVoxelGameObject(voxelInfo.GetVoxel())) as GameObject; VoxelEvents events = voxelObject.GetComponent <VoxelEvents>(); if (events != null) { events.OnBlockDestroy(voxelInfo); events.OnBlockDestroyMultiplayer(voxelInfo, sender); } voxelInfo.chunk.SetVoxel(voxelInfo.index, 0, true); Destroy(voxelObject); }