コード例 #1
0
 private void Start()
 {
     if (_blocks.Count == 0)
     {
         Assert.IsTrue(BlockPosition.FromVector(transform.position, out BlockPosition position),
                       "Failed to get a BlockPosition from the EditableStructure position.");
         Assert.IsTrue(AddBlock(position, (MultiBlockInfo)BlockFactory.GetInfo(BlockType.Mainframe),
                                Rotation.GetByte(BlockSides.Top, 0)), "Failed to place the Mainframe.");
     }
 }
コード例 #2
0
 // ReSharper disable once AnnotateCanBeNullParameter
 private bool GetSelectedBlock(out GameObject block, out BlockPosition position, out byte rotation)
 {
     block    = null;
     position = null;
     rotation = 0;
     if (!Physics.Raycast(_camera.transform.position, _camera.transform.forward, out RaycastHit hit) ||
         !BlockPosition.FromVector(hit.point + hit.normal / 2, out position))
     {
         return(false);
     }
     rotation = Rotation.GetByte(BlockSide.FromNormal(hit.normal), _facingVariant);
     block    = hit.transform.gameObject;
     return(true);
 }