using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using UnityEngine.AI; using System.IO; using System.Text; using System; public class SceneToolFloor { //[MenuItem("SceneTool/SetFloorMessage")]//添加FloorMessage脚本绑定楼层信息 //public static void SetFloorMessage() //{ // Transform neiParent = GameObject.Find("shinei").transform.GetChild(0); // for (int i = 0; i < neiParent.childCount; i++) // { // //Debug.Log(neiParent.GetChild(i).name); // if (!neiParent.GetChild(i).GetComponent()) // { // neiParent.GetChild(i).gameObject.AddComponent(); // } // FloorMessage msg = neiParent.GetChild(i).GetComponent(); // msg.targetTrans = GetTarget(neiParent.GetChild(i)); // msg.buildNum = neiParent.name; // if (!neiParent.GetChild(i).name.ToLower().Contains("m")) // { // string floornum = neiParent.GetChild(i).name.Substring // (neiParent.GetChild(i).name.ToLower().IndexOf("nei") + 3/*, neiParent.GetChild(i).name.Length - 4*/); // msg.floorNum = int.Parse(floornum); // msg.interlayerNum = 0; // } // else // { // msg.floorNum = int.Parse(neiParent.GetChild(i).name.Substring // (neiParent.GetChild(i).name.ToLower().IndexOf("nei") + 3, neiParent.GetChild(i).name.ToLower().IndexOf("m") // - neiParent.GetChild(i).name.ToLower().IndexOf("nei") - 4)); // msg.interlayerNum = int.Parse(neiParent.GetChild(i).name.Substring // (neiParent.GetChild(i).name.ToLower().IndexOf("m") + 1, neiParent.GetChild(i).name.Length - // neiParent.GetChild(i).name.ToLower().IndexOf("m") - 1)); // } // } // Transform waiParent = GameObject.Find("shiwai").transform.GetChild(0); // for (int i = 0; i < waiParent.childCount; i++) // { // //Debug.Log(waiParent.GetChild(i).name); // if (!waiParent.GetChild(i).GetComponent()) // { // waiParent.GetChild(i).gameObject.AddComponent(); // } // FloorMessage msg = waiParent.GetChild(i).GetComponent(); // msg.buildNum = waiParent.name; // if (!waiParent.GetChild(i).name.ToLower().Contains("m")) // { // string floornum = waiParent.GetChild(i).name.Substring // (waiParent.GetChild(i).name.ToLower().IndexOf("wai") + 3/*, waiParent.GetChild(i).name.Length - 4*/); // msg.floorNum = int.Parse(floornum); // msg.interlayerNum = 0; // } // else // { // msg.floorNum = int.Parse(waiParent.GetChild(i).name.Substring // (waiParent.GetChild(i).name.ToLower().IndexOf("wai") + 4, waiParent.GetChild(i).name.ToLower().IndexOf("m") // - waiParent.GetChild(i).name.ToLower().IndexOf("wai") - 4)); // msg.interlayerNum = int.Parse(waiParent.GetChild(i).name.Substring // (waiParent.GetChild(i).name.ToLower().IndexOf("m") + 1, waiParent.GetChild(i).name.Length - // waiParent.GetChild(i).name.ToLower().IndexOf("m") - 1)); // } // } //} //static Transform GetTarget(Transform parent) //{ // for (int i = 0; i < parent.childCount; i++) // { // if (parent.GetChild(i).name.ToLower().Contains("_floor") // || parent.GetChild(i).name.ToLower().Contains("-floor") // ) // { // return parent.GetChild(i); // } // } // return parent; //} //[MenuItem("SceneTool/SetNavLayershinei")]//添加寻路层(选中shinei对象设置,注:扶梯情况特殊没有包含) //public static void SetNavLayer() //{ // Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); // for (int i = 0; i < obj.Length; i++) // { // if (obj[i].name.ToLower().Contains("_floor") ||//地面 // obj[i].name.ToLower().Contains("_floor")) // { // Debug.Log(obj[i].name); // // obj[i].gameObject.layer = LayerMask.NameToLayer("SoldierRoad"); // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // // } // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // // } // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // obj[i].gameObject.GetComponent().gameObjType=CloneObjType.staticGameObject; // // } // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // // } // // CloneableEnums enumParent = obj[i].gameObject.GetComponent(); // // GameObject CarRoad = GameObject.Find("FloorNei"); // // var CloneableEnums = CarRoad.GetComponent(); // // enumParent.CloneableTypes = CloneableEnums.CloneableTypes; // // if (obj[i].parent.GetComponent()) // // { // // FloorMessage fmg = obj[i].parent.GetComponent(); // // obj[i].gameObject.GetComponent().gameObjType = CloneObjType.StaticGameObject; // // obj[i].gameObject.GetComponent().buildNum = fmg.buildNum; // // obj[i].gameObject.GetComponent().floorNum = fmg.floorNum; // // obj[i].gameObject.GetComponent().interlayerNum = fmg.interlayerNum; // // } // // if (obj[i].parent.parent.GetComponent()) // // { // // FloorMessage fmg = obj[i].parent.parent.GetComponent(); // // obj[i].gameObject.GetComponent().gameObjType = CloneObjType.StaticGameObject; // // obj[i].gameObject.GetComponent().buildNum = fmg.buildNum; // // obj[i].gameObject.GetComponent().floorNum = fmg.floorNum; // // obj[i].gameObject.GetComponent().interlayerNum = fmg.interlayerNum; // // } // //} // //if (obj[i].name.ToLower().Contains("_wall") ||//墙面 // // obj[i].name.ToLower().Contains("_wall")) // //{ // // obj[i].gameObject.layer = LayerMask.NameToLayer("SoldierRoad"); // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // // } // // NavMeshModifier mod = obj[i].gameObject.GetComponent(); // // mod.overrideArea = true; // // mod.area = 1; // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // // } // //} // //if (obj[i].name.ToLower().Contains("lt"))//楼梯 // //{ // // obj[i].gameObject.layer = LayerMask.NameToLayer("SoldierRoad"); // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // // } // // if (!obj[i].gameObject.GetComponent()) // // { // // obj[i].gameObject.AddComponent(); // // } // } // } //} //[MenuItem("SceneTool/GetNavLayerCarRoad")] //public static void GetNavLayerCarRoad() //{ // Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); // { // for (int i = 0; i < obj.Length; i++) // { // if (obj[i].gameObject.layer == LayerMask.NameToLayer("CarRoad")) // { // // if (!obj[i].gameObject.GetComponent()) // { // Debug.Log(obj[i].name); // } // } // } // } //} //[MenuItem("SceneTool/ReadCloneTypes")] //static void ReadCloneTypes() //{ // string path = Application.dataPath + "/Floors.txt"; // string str = File.ReadAllText(path, Encoding.UTF8); // string[] EnumStrList = str.Split(','); // //List EnmuList = new List(); // //foreach (var item in EnumStrList) // //{ // // if (!string.IsNullOrEmpty(item)) // // { // // CloneObjType type = (CloneObjType)Enum.Parse(typeof(CloneObjType), item); // // EnmuList.Add(type); // // } // //} // //GameObject CarRoad = GameObject.Find("FloorNei"); // //if (!CarRoad.GetComponent()) // //{ // // CarRoad.AddComponent(); // //} // //var CloneableEnums = CarRoad.GetComponent(); // //CloneableEnums.CloneableTypes = EnmuList; //} //[MenuItem("SceneTool/AddColider")] //static void AddColider() //{ // Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); // { // Debug.Log(obj[0].name); // } //} }