杨栋梁
3 years ago
17 changed files with 5513 additions and 138 deletions
@ -0,0 +1,6 @@
|
||||
{ |
||||
"version": "1.0", |
||||
"components": [ |
||||
"Microsoft.VisualStudio.Workload.ManagedGame" |
||||
] |
||||
} |
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: c01d691d5bff8da4ab910523134009be |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: e3d91278c59a3e44c8ba51a00930e957 |
||||
NativeFormatImporter: |
||||
externalObjects: {} |
||||
mainObjectFileID: 23800000 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 18102b0cd5d284646b9207e83bc1418d |
||||
NativeFormatImporter: |
||||
externalObjects: {} |
||||
mainObjectFileID: 23800000 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: b10f92ee24ef3ad4e9a35f9594a36300 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: a688944dd20111445ba6563f5912b431 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,527 @@
|
||||
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") |
||||
|| parent.GetChild(i).name.ToLower().Contains("-floor") |
||||
) |
||||
{ |
||||
if (parent.GetChild(i).GetComponent<MeshRenderer>()) |
||||
return parent.GetChild(i); |
||||
} |
||||
} |
||||
|
||||
return parent; |
||||
} |
||||
[MenuItem("SceneTool/SetNavLayerShiNeiFloor")]//添加寻路层(选中shinei对象设置,注:扶梯情况特殊没有包含) |
||||
public static void SetNavLayerShiNeiFloor() |
||||
{ |
||||
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") || |
||||
obj[i].name.ToLower().Contains("-floor") && |
||||
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 helper = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
||||
helper.cloneOnFloorType = CloneOnFloorType.ShiNeiMan; |
||||
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>(); |
||||
Transform Template = GameObject.Find("TheCarRoad").transform.Find("ShiNeiFloor"); |
||||
var CloneableEnums = Template.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].name.ToLower().Contains("-wall") && |
||||
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; |
||||
if (!obj[i].gameObject.GetComponent<MeshCollider>()) |
||||
{ |
||||
obj[i].gameObject.AddComponent<MeshCollider>(); |
||||
} |
||||
} |
||||
if (obj[i].name.ToLower().Contains("zhuzi") ||//柱子 |
||||
obj[i].name.ToLower().Contains("_zhuzi") || |
||||
obj[i].name.ToLower().Contains("-zhuzi") && |
||||
obj[i].GetComponent<MeshRenderer>()) |
||||
{ |
||||
//Debug.Log(obj[i].name); |
||||
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].GetComponent<MeshRenderer>() && |
||||
!obj[i].name.ToLower().Contains("lt_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>(); |
||||
} |
||||
if (!obj[i].gameObject.GetComponent<CloneableEnums>()) |
||||
{ |
||||
obj[i].gameObject.AddComponent<CloneableEnums>(); |
||||
} |
||||
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>()) |
||||
{ |
||||
obj[i].gameObject.AddComponent<CloneEnumsHelp>(); |
||||
} |
||||
CloneEnumsHelp helper = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
||||
helper.cloneOnFloorType = CloneOnFloorType.ShiNeiMan; |
||||
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>(); |
||||
Transform Template = GameObject.Find("TheCarRoad").transform.Find("ShiNeiFloor"); |
||||
var CloneableEnums = Template.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; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
[MenuItem("SceneTool/SetSceneShiWaiCarRoad")]//添加寻路层车(前提是将车的寻路层添加layer CarRoad) |
||||
public static void SetNavLayerShiWaiCarRoad() |
||||
{ |
||||
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); |
||||
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 helper = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
||||
helper.cloneOnFloorType = CloneOnFloorType.ShiWaiCar; |
||||
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>(); |
||||
Transform Template = GameObject.Find("TheCarRoad").transform; |
||||
var CloneableEnums = Template.GetComponent<CloneableEnums>(); |
||||
enumParent.CloneableTypes = CloneableEnums.CloneableTypes; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
[MenuItem("SceneTool/SetSceneShiWaiSoldierRoad")]//添加寻路层车(前提是将车的寻路层添加layer SoliderRoad) |
||||
public static void SetNavLayerShiWaiSoliderRoad() |
||||
{ |
||||
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); |
||||
for (int i = 0; i < obj.Length; i++) |
||||
{ |
||||
if (obj[i].gameObject.layer == LayerMask.NameToLayer("SoldierRoad")) |
||||
{ |
||||
if (!obj[i].gameObject.GetComponent<NavMeshModifier>()) |
||||
{ |
||||
//Debug.Log(obj[i].name); |
||||
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 helper = obj[i].gameObject.GetComponent<CloneEnumsHelp>(); |
||||
helper.cloneOnFloorType = CloneOnFloorType.ShiWaiMan; |
||||
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>(); |
||||
Transform Template = GameObject.Find("TheCarRoad").transform.Find("ShiWaiSolider"); |
||||
var CloneableEnums = Template.GetComponent<CloneableEnums>(); |
||||
enumParent.CloneableTypes = CloneableEnums.CloneableTypes; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
[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/RemoveColider")]//移除碰撞器 |
||||
public static void RemoveColider() |
||||
{ |
||||
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); |
||||
{ |
||||
for (int i = 0; i < obj.Length; i++) |
||||
{ |
||||
if (obj[i].GetComponent<MeshRenderer>()) |
||||
{ |
||||
if (obj[i].GetComponent<MeshCollider>()) |
||||
{ |
||||
UnityEngine.Object.DestroyImmediate(obj[i].GetComponent<MeshCollider>(), true); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
[MenuItem("SceneTool/AddColider")]//添加碰撞器 |
||||
public static void AddColider() |
||||
{ |
||||
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); |
||||
{ |
||||
for (int i = 0; i < obj.Length; i++) |
||||
{ |
||||
if (obj[i].GetComponent<MeshRenderer>()) |
||||
{ |
||||
if (!obj[i].GetComponent<MeshCollider>()) |
||||
{ |
||||
obj[i].gameObject.AddComponent<MeshCollider>(); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
[MenuItem("SceneTool/ChangeLayer")]//移除碰撞器 |
||||
public static void ChangeLayer() |
||||
{ |
||||
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); |
||||
{ |
||||
for (int i = 0; i < obj.Length; i++) |
||||
{ |
||||
//if (obj[i].gameObject.layer==LayerMask.NameToLayer("MiniMap")) |
||||
if (obj[i].gameObject.layer == LayerMask.NameToLayer("SoldierRoad")) |
||||
{ |
||||
Debug.Log(obj[i].name); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
[MenuItem("SceneTool/ChangeLayers")]//改变layer |
||||
public static void ChangeLayers() |
||||
{ |
||||
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep); |
||||
{ |
||||
for (int i = 0; i < obj.Length; i++) |
||||
{ |
||||
if (obj[i].gameObject.layer != LayerMask.NameToLayer("CarRoad") |
||||
&& obj[i].gameObject.layer != LayerMask.NameToLayer("SoldierRoad") |
||||
&& obj[i].gameObject.layer != LayerMask.NameToLayer("Default")) |
||||
{ |
||||
Debug.Log(obj[i].gameObject.name + LayerMask.LayerToName(obj[i].gameObject.layer)); |
||||
obj[i].gameObject.layer = LayerMask.NameToLayer("Default"); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
[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("snxh") && |
||||
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>(); |
||||
} |
||||
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0) |
||||
{ |
||||
long staticGameObjId = (long)GUID.NewGuid(1, 1); |
||||
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId); |
||||
} |
||||
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<CloneableEnums>()) |
||||
{ |
||||
obj[i].gameObject.AddComponent<CloneableEnums>(); |
||||
} |
||||
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>(); |
||||
|
||||
List<CloneObjType> EnumsList = new List<CloneObjType>() { |
||||
CloneObjType.FireHose |
||||
}; |
||||
enumParent.CloneableTypes = EnumsList; |
||||
if (obj[i].parent.GetComponent<FloorMessage>()) |
||||
{ |
||||
FloorMessage fmg = obj[i].parent.GetComponent<FloorMessage>(); |
||||
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.IndoorFireHydrant; |
||||
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.IndoorFireHydrant; |
||||
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.parent.GetComponent<FloorMessage>()) |
||||
{ |
||||
FloorMessage fmg = obj[i].parent.parent.parent.GetComponent<FloorMessage>(); |
||||
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.IndoorFireHydrant; |
||||
obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = fmg.buildNum; |
||||
obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = fmg.floorNum; |
||||
obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = fmg.interlayerNum; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 897c231eaac7aa04686627c31697e0ad |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,185 @@
|
||||
%YAML 1.1 |
||||
%TAG !u! tag:unity3d.com,2011: |
||||
--- !u!1 &1448480874978764806 |
||||
GameObject: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
serializedVersion: 6 |
||||
m_Component: |
||||
- component: {fileID: 2036843565592825570} |
||||
- component: {fileID: 4192392774204234242} |
||||
m_Layer: 0 |
||||
m_Name: ShiWaiLouDing |
||||
m_TagString: Untagged |
||||
m_Icon: {fileID: 0} |
||||
m_NavMeshLayer: 0 |
||||
m_StaticEditorFlags: 0 |
||||
m_IsActive: 1 |
||||
--- !u!4 &2036843565592825570 |
||||
Transform: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 1448480874978764806} |
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
||||
m_LocalPosition: {x: 0, y: 0, z: 0} |
||||
m_LocalScale: {x: 1, y: 1, z: 1} |
||||
m_Children: [] |
||||
m_Father: {fileID: 1375686834103553258} |
||||
m_RootOrder: 2 |
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
||||
--- !u!114 &4192392774204234242 |
||||
MonoBehaviour: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 1448480874978764806} |
||||
m_Enabled: 1 |
||||
m_EditorHideFlags: 0 |
||||
m_Script: {fileID: 11500000, guid: b133d14efd54f9841a1659ef37479be7, type: 3} |
||||
m_Name: |
||||
m_EditorClassIdentifier: |
||||
CloneableTypes: c8000000ca000000cb000000cc000000d0000000d10000002c0100005f01000060010000610100006401000067010000680100006a0100006b01000090010000d200000071010000260200002702000028020000290200002a0200002b0200002c0200002d0200002e0200002f02000030020000640200006502000066020000670200006802000069020000740100007201000073010000 |
||||
isHandleCloneHitPoint: 0 |
||||
--- !u!1 &3862791060661072280 |
||||
GameObject: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
serializedVersion: 6 |
||||
m_Component: |
||||
- component: {fileID: 5957534287860957307} |
||||
- component: {fileID: 2554234015808576151} |
||||
m_Layer: 0 |
||||
m_Name: ShiNeiFloor |
||||
m_TagString: Untagged |
||||
m_Icon: {fileID: 0} |
||||
m_NavMeshLayer: 0 |
||||
m_StaticEditorFlags: 0 |
||||
m_IsActive: 1 |
||||
--- !u!4 &5957534287860957307 |
||||
Transform: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 3862791060661072280} |
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
||||
m_LocalPosition: {x: 0, y: 0, z: 0} |
||||
m_LocalScale: {x: 1, y: 1, z: 1} |
||||
m_Children: [] |
||||
m_Father: {fileID: 1375686834103553258} |
||||
m_RootOrder: 0 |
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
||||
--- !u!114 &2554234015808576151 |
||||
MonoBehaviour: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 3862791060661072280} |
||||
m_Enabled: 1 |
||||
m_EditorHideFlags: 0 |
||||
m_Script: {fileID: 11500000, guid: b133d14efd54f9841a1659ef37479be7, type: 3} |
||||
m_Name: |
||||
m_EditorClassIdentifier: |
||||
CloneableTypes: c8000000ca000000cb000000cc000000d0000000d10000002c0100005f01000060010000610100006401000067010000680100006a0100006b01000090010000d200000071010000260200002702000028020000290200002a0200002b0200002c0200002d0200002e0200002f02000030020000640200006502000066020000670200006802000069020000d3000000720100007301000074010000 |
||||
isHandleCloneHitPoint: 0 |
||||
--- !u!1 &5062027077239370685 |
||||
GameObject: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
serializedVersion: 6 |
||||
m_Component: |
||||
- component: {fileID: 1375686834103553258} |
||||
- component: {fileID: 3247774623453244617} |
||||
m_Layer: 0 |
||||
m_Name: TheCarRoad |
||||
m_TagString: Untagged |
||||
m_Icon: {fileID: 0} |
||||
m_NavMeshLayer: 0 |
||||
m_StaticEditorFlags: 0 |
||||
m_IsActive: 1 |
||||
--- !u!4 &1375686834103553258 |
||||
Transform: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 5062027077239370685} |
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
||||
m_LocalPosition: {x: 0, y: 0, z: 0} |
||||
m_LocalScale: {x: 1, y: 1, z: 1} |
||||
m_Children: |
||||
- {fileID: 5957534287860957307} |
||||
- {fileID: 5214412471344223968} |
||||
- {fileID: 2036843565592825570} |
||||
m_Father: {fileID: 0} |
||||
m_RootOrder: 0 |
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
||||
--- !u!114 &3247774623453244617 |
||||
MonoBehaviour: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 5062027077239370685} |
||||
m_Enabled: 1 |
||||
m_EditorHideFlags: 0 |
||||
m_Script: {fileID: 11500000, guid: b133d14efd54f9841a1659ef37479be7, type: 3} |
||||
m_Name: |
||||
m_EditorClassIdentifier: |
||||
CloneableTypes: c8000000ca000000cb000000cc000000d0000000d1000000fa000000fb000000fc000000fd000000fe000000ff000000000100000101000002010000030100000401000005010000060100000701000008010000090100000a0100000b0100000c0100000d0100002c0100002d0100002e0100002f0100005e0100005f010000600100006101000062010000630100006401000065010000660100006701000068010000690100006a0100006b0100006c0100006e0100006f0100007001000090010000d200000071010000260200002702000028020000290200002a0200002b0200002c0200002d0200002e0200002f0200003002000058020000590200005a0200005b0200005c0200005d0200005e0200005f020000600200006102000062020000630200006402000065020000660200006702000068020000690200007401000072010000730100006a0200006b020000 |
||||
isHandleCloneHitPoint: 0 |
||||
--- !u!1 &5776162328859091251 |
||||
GameObject: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
serializedVersion: 6 |
||||
m_Component: |
||||
- component: {fileID: 5214412471344223968} |
||||
- component: {fileID: 8791578464750648927} |
||||
m_Layer: 0 |
||||
m_Name: ShiWaiSolider |
||||
m_TagString: Untagged |
||||
m_Icon: {fileID: 0} |
||||
m_NavMeshLayer: 0 |
||||
m_StaticEditorFlags: 0 |
||||
m_IsActive: 1 |
||||
--- !u!4 &5214412471344223968 |
||||
Transform: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 5776162328859091251} |
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
||||
m_LocalPosition: {x: 0, y: 0, z: 0} |
||||
m_LocalScale: {x: 1, y: 1, z: 1} |
||||
m_Children: [] |
||||
m_Father: {fileID: 1375686834103553258} |
||||
m_RootOrder: 1 |
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
||||
--- !u!114 &8791578464750648927 |
||||
MonoBehaviour: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_GameObject: {fileID: 5776162328859091251} |
||||
m_Enabled: 1 |
||||
m_EditorHideFlags: 0 |
||||
m_Script: {fileID: 11500000, guid: b133d14efd54f9841a1659ef37479be7, type: 3} |
||||
m_Name: |
||||
m_EditorClassIdentifier: |
||||
CloneableTypes: c8000000ca000000cb000000cc000000d0000000d10000002c0100002d0100002f0100005e0100005f010000600100006101000062010000630100006401000065010000660100006701000068010000690100006a0100006b0100006c0100006e0100006f010000700100009001000071010000d2000000260200002702000028020000290200002a0200002c0200002d0200002e0200002f020000640200006502000066020000670200006802000069020000300200002b020000720100007301000074010000 |
||||
isHandleCloneHitPoint: 0 |
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2 |
||||
guid: b6368959a808e804c9e4a1afe87a6abd |
||||
PrefabImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: f94abff0155d4114d881e1760efdee4c |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
Loading…
Reference in new issue