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.
544 lines
25 KiB
544 lines
25 KiB
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using UnityEditor; |
|
using UnityEngine.AI; |
|
using System.IO; |
|
using System.Text; |
|
using System; |
|
|
|
public class SceneTool |
|
{ |
|
[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 - 3); |
|
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") - 3)); |
|
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 - 3); |
|
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") + 3, waiParent.GetChild(i).name.ToLower().IndexOf("m") |
|
- waiParent.GetChild(i).name.ToLower().IndexOf("wai") - 3)); |
|
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/Setshinei")]//添加寻路层(选中shinei对象设置,注:扶梯情况特殊没有包含) |
|
public static void SetShiNei() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
if ((obj[i].name.ToLower().Contains("floor") ||//地面 |
|
obj[i].name.ToLower().Contains("lt") || |
|
obj[i].name.ToLower().Contains("chedao") || |
|
obj[i].name.ToLower().Contains("ft")) && !obj[i].name.ToLower().Contains("ltcs")) |
|
{ |
|
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>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.ShiNeiMan; |
|
if (obj[i].GetComponentInParent<FloorMessage>()) |
|
{ |
|
FloorMessage fmg = obj[i].GetComponentInParent<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("zhuzi")) |
|
{ |
|
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>(); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/SetshineiXHS")]//设置室内消火栓属性 |
|
public static void SetSNXHS() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].name.ToLower().Contains("xhs") && |
|
obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
if (!obj[i].gameObject.GetComponent<BoxCollider>()) |
|
{ |
|
obj[i].gameObject.AddComponent<BoxCollider>(); |
|
} |
|
|
|
if (!obj[i].gameObject.GetComponent<CloneGameObjInfo>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneGameObjInfo>(); |
|
} |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.IndoorFireHydrant; |
|
if (!obj[i].gameObject.GetComponent<InDoorHydrantMessage>()) |
|
{ |
|
obj[i].gameObject.AddComponent<InDoorHydrantMessage>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<WaterSource>()) |
|
{ |
|
obj[i].gameObject.AddComponent<WaterSource>(); |
|
} |
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0) |
|
{ |
|
long staticGameObjId = (long)GUID.NewGuid(1, 1); |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.ShiNeiXHS; |
|
if (obj[i].GetComponentInParent<FloorMessage>()) |
|
{ |
|
FloorMessage fmg = obj[i].GetComponentInParent<FloorMessage>(); |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = fmg.buildNum; |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = fmg.floorNum; |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = fmg.interlayerNum; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/DiXiaLouDing/CheNengZou")]//地面的楼顶(车能走),常见为地下建筑上的公路 |
|
public static void DiXiaLouDingCheNengZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
obj[i].gameObject.layer = LayerMask.NameToLayer("CarRoad"); |
|
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>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.ShiWaiCar; |
|
if (obj[i].GetComponentInParent<FloorMessage>()) |
|
{ |
|
FloorMessage fmg = obj[i].GetComponentInParent<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; |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SpecialTag = "楼顶"; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/DiXiaLouDing/RenNengZou")]//地面的楼顶(人能走),常见为地下建筑上的小路 |
|
public static void DiXiaLouDingRenNengZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
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>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.ShiWaiMan; |
|
if (obj[i].GetComponentInParent<FloorMessage>()) |
|
{ |
|
FloorMessage fmg = obj[i].GetComponentInParent<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; |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SpecialTag = "楼顶"; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/DiXiaLouDing/DouBuZou")]//地面的楼顶(都不能走),常见为地下建筑上的花坛 |
|
public static void DiXiaLouDingDouBuZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
obj[i].gameObject.layer = LayerMask.NameToLayer("CarRoad"); |
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>()) |
|
{ |
|
obj[i].gameObject.AddComponent<NavMeshModifier>(); |
|
} |
|
NavMeshModifier mod = obj[i].gameObject.GetComponent<NavMeshModifier>(); |
|
mod.overrideArea = true; |
|
mod.area = 1; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/PuTongLouDing/RenNengZou")]//普通的楼顶(人能走),常见为地上建筑的楼顶地板 |
|
public static void PuTongLouDingRenNengZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
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>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.LouDing; |
|
if (obj[i].GetComponentInParent<FloorMessage>()) |
|
{ |
|
FloorMessage fmg = obj[i].GetComponentInParent<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; |
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SpecialTag = "楼顶"; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/PuTongLouDing/DouBuZou")]//普通的楼顶(都不能走) |
|
public static void PuTongLouDingDouBuZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
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; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/ShiWai/CheNengZou")]//地面(车能走),常见为公路 |
|
public static void ShiWaiCheNengZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
obj[i].gameObject.layer = LayerMask.NameToLayer("CarRoad"); |
|
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<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.ShiWaiCar; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/ShiWai/RenNengZou")]//地面(人能走),常见为小路 |
|
public static void ShiWaiRenNengZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
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<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.ShiWaiMan; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/ShiWai/DouBuZou")]//地面(都不能走),常见为花坛 |
|
public static void ShiWaiDouBuZou() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
obj[i].gameObject.layer = LayerMask.NameToLayer("CarRoad"); |
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>()) |
|
{ |
|
obj[i].gameObject.AddComponent<NavMeshModifier>(); |
|
} |
|
NavMeshModifier mod = obj[i].gameObject.GetComponent<NavMeshModifier>(); |
|
mod.overrideArea = true; |
|
mod.area = 1; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/TeShu/YouGuanDing")]//油罐顶 |
|
public static void YouGuanDing() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
if (!obj[i].gameObject.GetComponent<MeshCollider>()) |
|
{ |
|
obj[i].gameObject.AddComponent<MeshCollider>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.YouGuanDing; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/TeShu/YouGuanBi")]//油罐壁 |
|
public static void YouGuanBi() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
if (!obj[i].gameObject.GetComponent<MeshCollider>()) |
|
{ |
|
obj[i].gameObject.AddComponent<MeshCollider>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.YouGuanBi; |
|
} |
|
} |
|
} |
|
} |
|
[MenuItem("SceneTool/TeShu/WeiXianPinYunShuChe")]//危险运输车 |
|
public static void WeiXianPinYunShuChe() |
|
{ |
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Unfiltered); |
|
{ |
|
for (int i = 0; i < obj.Length; i++) |
|
{ |
|
if (obj[i].GetComponent<MeshRenderer>()) |
|
{ |
|
if (!obj[i].gameObject.GetComponent<MeshCollider>()) |
|
{ |
|
obj[i].gameObject.AddComponent<MeshCollider>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneableEnums>(); |
|
} |
|
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
|
{ |
|
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
|
} |
|
CloneEnumsHelp cloneEnumsHelp = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
|
cloneEnumsHelp.cloneOnFloorType = CloneOnFloorType.WeiXianPinYunShuChe; |
|
} |
|
} |
|
} |
|
} |
|
} |