You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
213 lines
10 KiB
213 lines
10 KiB
5 years ago
|
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<FloorMessage>())
|
||
|
// {
|
||
|
// neiParent.GetChild(i).gameObject.AddComponent<FloorMessage>();
|
||
|
// }
|
||
|
// FloorMessage msg = neiParent.GetChild(i).GetComponent<FloorMessage>();
|
||
|
// 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<FloorMessage>())
|
||
|
// {
|
||
|
// waiParent.GetChild(i).gameObject.AddComponent<FloorMessage>();
|
||
|
// }
|
||
|
// FloorMessage msg = waiParent.GetChild(i).GetComponent<FloorMessage>();
|
||
|
// 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<MeshCollider>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<MeshCollider>();
|
||
|
// // }
|
||
|
// // if (!obj[i].gameObject.GetComponent<PathFindable>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<PathFindable>();
|
||
|
// // }
|
||
|
// // if (!obj[i].gameObject.GetComponent<CloneGameObjInfo>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<CloneGameObjInfo>();
|
||
|
// obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType=CloneObjType.staticGameObject;
|
||
|
// // }
|
||
|
// // if (!obj[i].gameObject.GetComponent<CloneableEnums>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<CloneableEnums>();
|
||
|
// // }
|
||
|
// // CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
||
|
// // GameObject CarRoad = GameObject.Find("FloorNei");
|
||
|
// // var CloneableEnums = CarRoad.GetComponent<CloneableEnums>();
|
||
|
// // enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
||
|
// // if (obj[i].parent.GetComponent<FloorMessage>())
|
||
|
// // {
|
||
|
// // FloorMessage fmg = obj[i].parent.GetComponent<FloorMessage>();
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.StaticGameObject;
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = fmg.buildNum;
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = fmg.floorNum;
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = fmg.interlayerNum;
|
||
|
// // }
|
||
|
// // if (obj[i].parent.parent.GetComponent<FloorMessage>())
|
||
|
// // {
|
||
|
// // FloorMessage fmg = obj[i].parent.parent.GetComponent<FloorMessage>();
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.StaticGameObject;
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = fmg.buildNum;
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = fmg.floorNum;
|
||
|
// // obj[i].gameObject.GetComponent<CloneGameObjInfo>().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<NavMeshModifier>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<NavMeshModifier>();
|
||
|
// // }
|
||
|
// // NavMeshModifier mod = obj[i].gameObject.GetComponent<NavMeshModifier>();
|
||
|
// // mod.overrideArea = true;
|
||
|
// // mod.area = 1;
|
||
|
// // if (!obj[i].gameObject.GetComponent<MeshCollider>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<MeshCollider>();
|
||
|
// // }
|
||
|
// //}
|
||
|
// //if (obj[i].name.ToLower().Contains("lt"))//楼梯
|
||
|
// //{
|
||
|
// // obj[i].gameObject.layer = LayerMask.NameToLayer("SoldierRoad");
|
||
|
// // if (!obj[i].gameObject.GetComponent<MeshCollider>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<MeshCollider>();
|
||
|
// // }
|
||
|
// // if (!obj[i].gameObject.GetComponent<PathFindable>())
|
||
|
// // {
|
||
|
// // obj[i].gameObject.AddComponent<PathFindable>();
|
||
|
// // }
|
||
|
// }
|
||
|
// }
|
||
|
//}
|
||
|
//[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<NavMeshModifier>())
|
||
|
// {
|
||
|
// 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<CloneObjType> EnmuList = new List<CloneObjType>();
|
||
|
// //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<CloneableEnums>())
|
||
|
// //{
|
||
|
// // CarRoad.AddComponent<CloneableEnums>();
|
||
|
// //}
|
||
|
// //var CloneableEnums = CarRoad.GetComponent<CloneableEnums>();
|
||
|
// //CloneableEnums.CloneableTypes = EnmuList;
|
||
|
//}
|
||
|
//[MenuItem("SceneTool/AddColider")]
|
||
|
//static void AddColider()
|
||
|
//{
|
||
|
// Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered);
|
||
|
// {
|
||
|
// Debug.Log(obj[0].name);
|
||
|
// }
|
||
|
//}
|
||
|
}
|