示例#1
0
        void Start()
        {
            for (var i = 0; i < 4; i++)
            {
                switch (i)
                {
                case 0:
                    if (World.At((Vector3I)(transform.position) + Vector3.right).GetObject() == null)
                    {
                        continue;
                    }
                    break;

                case 1:
                    if (World.At((Vector3I)(transform.position) + Vector3.back).GetObject() == null)
                    {
                        continue;
                    }
                    break;

                case 2:
                    if (World.At((Vector3I)(transform.position) + Vector3.left).GetObject() == null)
                    {
                        continue;
                    }
                    break;

                case 3:
                    if (World.At((Vector3I)(transform.position) + Vector3.forward).GetObject() == null)
                    {
                        continue;
                    }
                    break;
                }

                var rotate = new GameObject("Connection " + i);
                rotate.transform.parent        = transform;
                rotate.transform.localPosition = Vector3.zero;
                var connector = MultiblockLoader.LoadMultiblock(ObjectType.Connection.Model, transform.position).gameObject;
                connector.transform.parent        = rotate.transform;
                connector.transform.localPosition = ObjectType.Connection.Offset;
                rotate.transform.RotateAround(transform.position + new Vector3(0.05f, 0, 0.05f), Vector3.up, 90 * i);
            }
        }
示例#2
0
 public static GameObject GetModel(Vector3 pos, ObjectType objectType)
 {
     return(MultiblockLoader.LoadMultiblock(objectType.Model, pos - Vector3.one / 2).gameObject);
 }