コード例 #1
0
 /// <summary>
 /// Verbindet die beiden übergebenen WorldObjects, falls möglich
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 public void ConnectWorldObjects(WorldObject a, WorldObject b)
 {
     if (Vector3.Distance(a.transform.position, b.transform.position) > 1.1f)
     {
         Debug.Log("Die WorldObjects '" + a.gameObject.name + "' und '" + b.gameObject.name + "' sind zu weit auseinander, um verbunden zu werden.");
         return;
     }
     if (a.myGroup == null && b.myGroup == null)
     {
         WorldObjectGroup group = Instantiate(groupObjectPrefab).GetComponent <WorldObjectGroup>();
         group.transform.SetParent(this.transform);
         group.GetComponent <InteractiveObject>().SetStartingPositionAndRotation(a.GetComponent <InteractiveObject>().posX, a.GetComponent <InteractiveObject>().posY, new Vector2(0, -1));
         group.transform.position = new Vector3(a.GetComponent <InteractiveObject>().posX + 0.5f, a.GetComponent <InteractiveObject>().posY + 0.5f);
         worldObjectGroups.Add(group.gameObject);
         group.AddObjectToGroup(a);
     }
     a.AttemptToConnectWorldObject(b);
     b.AttemptToConnectWorldObject(a);
 }