Exemple #1
0
 public static void SetUsableCollider(ref UseableCollider useableCollider, Transform root,
                                      ObjInfo info, int useTag, bool defaultEnable, bool create = false)
 {
     if (useableCollider == null)
     {
         Transform colliderTrans = null;
         if (!create)
         {
             colliderTrans = root.Find("useable");
         }
         if (null == colliderTrans)
         {
             GameObject go = new GameObject("useable");
             colliderTrans = go.transform;
             colliderTrans.SetParentIndentical(root);
         }
         useableCollider = colliderTrans.GetComponent <UseableCollider>();
         if (useableCollider == null)
         {
             useableCollider = colliderTrans.gameObject.AddComponent <UseableCollider>();
         }
     }
     useableCollider.collider = useableCollider.gameObject.GetComponent <SphereCollider>();
     if (useableCollider.collider == null)
     {
         useableCollider.collider = useableCollider.gameObject.AddComponent <SphereCollider>();
     }
     useableCollider.gameObject.SetActive(defaultEnable);
     useableCollider.useable          = defaultEnable;
     useableCollider.gameObject.layer = Const.LAYER_USABLE;
     useableCollider.info             = info;
     useableCollider.useTag           = useTag;
 }
Exemple #2
0
        private void SetItemCollider()
        {
            ObjCollider itemCollider = itemInfo.itemCollider;

            if (itemCollider == null)
            {
                Transform colliderTrans = item.transform.Find("collider");
                if (null == colliderTrans)
                {
                    GameObject go = new GameObject("collider");
                    colliderTrans = go.transform;
                    colliderTrans.SetParentIndentical(item.transform);
                }
                itemCollider = colliderTrans.GetComponent <ObjCollider>();
                if (itemCollider == null)
                {
                    itemCollider = colliderTrans.gameObject.AddComponent <ObjCollider>();
                }
                itemInfo.itemCollider = itemCollider;
            }
            itemCollider.collider = itemCollider.gameObject.GetComponent <CapsuleCollider>();
            if (itemCollider.collider == null)
            {
                itemCollider.collider = itemCollider.gameObject.AddComponent <CapsuleCollider>();
            }

            itemCollider.gameObject.layer = Const.LAYER_ITEM_COLLIDER;
            itemCollider.info             = itemInfo;
        }
Exemple #3
0
        private void SetObstacle()
        {
            GameObject obstacleObj = itemInfo.obstacle;

            if (null == obstacleObj)
            {
                Transform obstacleTrans = item.transform.Find("obstacle");
                if (null == obstacleTrans)
                {
                    obstacleObj   = new GameObject("obstacle");
                    obstacleTrans = obstacleObj.transform;
                    obstacleTrans.SetParentIndentical(item.transform);
                }
                else
                {
                    obstacleObj = obstacleTrans.gameObject;
                }
                NavMeshObstacle navMeshObstacle = obstacleObj.GetComponent <NavMeshObstacle>();
                if (navMeshObstacle == null)
                {
                    navMeshObstacle = obstacleObj.AddComponent <NavMeshObstacle>();
                }
                navMeshObstacle.carving             = true;
                navMeshObstacle.carveOnlyStationary = false;
                obstacleObj.layer = Const.LAYER_OBSTACLE;
                itemInfo.obstacle = obstacleObj;
            }
        }
Exemple #4
0
        private void SetFurnitureCollider()
        {
            FurnitureCollider furnitureCollider = furnitureInfo.furnitureCollider;

            if (furnitureCollider == null)
            {
                Transform colliderTrans = furniture.transform.Find("collider");
                if (null == colliderTrans)
                {
                    GameObject go = new GameObject("collider");
                    colliderTrans = go.transform;
                    colliderTrans.SetParentIndentical(furniture.transform);
                }
                furnitureCollider = colliderTrans.GetComponent <FurnitureCollider>();
                if (furnitureCollider == null)
                {
                    furnitureCollider = colliderTrans.gameObject.AddComponent <FurnitureCollider>();
                }
                furnitureInfo.furnitureCollider = furnitureCollider;
            }
            furnitureCollider.collider = furnitureCollider.gameObject.GetComponent <BoxCollider>();
            if (furnitureCollider.collider == null)
            {
                furnitureCollider.collider = furnitureCollider.gameObject.AddComponent <BoxCollider>();
            }

            if (furnitureInfo.furnitureType == FurnitureType.furniture)
            {
                furnitureCollider.gameObject.layer = Const.LAYER_FURNITURE_COLLIDER;
            }
            else
            {
                furnitureCollider.gameObject.layer = Const.LAYER_BUILDING_COLLIDER;
            }

            furnitureCollider.info = furnitureInfo;
        }