/// <summary>
    /// 获取所在区域ID
    /// </summary>
    private void GetDepId()
    {
        DepDoors dep = transform.GetComponentInParent <DepDoors>();

        if (dep)
        {
            _parentID = dep.DoorDep.NodeID;
        }
    }
Esempio n. 2
0
 /// <summary>
 /// 添加门控制脚本
 /// </summary>
 private static DepDoors AddWallDoors(DepDoors depDoors, Transform DoorContainer)
 {
     foreach (Transform child in DoorContainer)
     {
         DoorAccessItem item = GetDoorAccessItem(child);
         if (item != null)
         {
             depDoors.DoorList.Add(item);
         }
     }
     return(depDoors);
 }
Esempio n. 3
0
    /// <summary>
    /// 添加门控制脚本
    /// </summary>
    private static DepDoors AddChildDoorManage(Transform DoorContainer)
    {
        DepDoors depDoors = DoorContainer.gameObject.AddMissingComponent <DepDoors>();
        DepNode  node     = DoorContainer.GetComponentInParent <DepNode>();

        node.InitDoor(depDoors);
        foreach (Transform child in DoorContainer)
        {
            DoorAccessItem item = GetDoorAccessItem(child);
            if (item != null)
            {
                depDoors.DoorList.Add(item);
            }
        }
        return(depDoors);
    }
Esempio n. 4
0
    public static void InitDoorControl(Transform childTransform)
    {
        foreach (Transform child in childTransform)
        {
            if (child.name.Contains(DoorContainerName))
            {
                DepDoors depDoors = AddChildDoorManage(child);

                foreach (Transform child2 in childTransform)//主厂房的墙壁下面也有门
                {
                    if (child2.name.Contains("_Wall"))
                    {
                        AddWallDoors(depDoors, child2);
                    }
                }
            }
            else
            {
                InitDoorControl(child);
            }
        }
    }
Esempio n. 5
0
 void FindDoorListInChild(Transform childTransform)
 {
     foreach (Transform child in childTransform)
     {
         if (child.name.Contains(DoorContainerName))
         {
             //Debug.Log(child.name);
             DepDoors depDoors = AddChildDoorManage(child);
             foreach (Transform child2 in childTransform)//主厂房的墙壁下面也有门
             {
                 if (child2.name.Contains("_Wall"))
                 {
                     AddWallDoors(depDoors, child2);
                 }
             }
         }
         else
         {
             FindDoorListInChild(child);
         }
     }
 }
Esempio n. 6
0
 IEnumerator FindDoorListInChildCoroutine(Transform childTransform)
 {
     foreach (Transform child in childTransform)
     {
         if (child.name.Contains(DoorContainerName))
         {
             //Debug.Log(child.name);
             DepDoors depDoors = AddChildDoorManage(child);
             foreach (Transform child2 in childTransform)//主厂房的墙壁下面也有门
             {
                 if (child2.name.Contains("_Wall"))
                 {
                     AddWallDoors(depDoors, child2);
                 }
             }
         }
         else
         {
             StartCoroutine(FindDoorListInChildCoroutine(child));
         }
         yield return(null);
     }
 }
Esempio n. 7
0
 public void InitDoor(DepDoors door)
 {
     door.DoorDep = this;
     Doors        = door;
 }