Browse Source

二期合成

develop2
曹衍涛 2 years ago
parent
commit
bad480af23
  1. 19008
      Assets/42ShiYanShiRenMinYiYuan/RenMinYiYuan.prefab
  2. 886
      Assets/BuildingScene.unity
  3. 8
      Assets/CloneTypesTemplate.meta
  4. 8
      Assets/CloneTypesTemplate/Editor.meta
  5. 636
      Assets/CloneTypesTemplate/Editor/SceneTool.cs
  6. 11
      Assets/CloneTypesTemplate/Editor/SceneTool.cs.meta
  7. 185
      Assets/CloneTypesTemplate/TheCarRoad.prefab
  8. 7
      Assets/CloneTypesTemplate/TheCarRoad.prefab.meta
  9. BIN
      Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/RenMinYiYuanAB
  10. 2
      Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/RenMinYiYuanAB.manifest
  11. BIN
      Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/buildingscene
  12. 8
      Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/buildingscene.manifest

19008
Assets/42ShiYanShiRenMinYiYuan/RenMinYiYuan.prefab

File diff suppressed because it is too large Load Diff

886
Assets/BuildingScene.unity

File diff suppressed because it is too large Load Diff

8
Assets/CloneTypesTemplate.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b1b174819657f8f41b32618615a59bec
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/CloneTypesTemplate/Editor.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a688944dd20111445ba6563f5912b431
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

636
Assets/CloneTypesTemplate/Editor/SceneTool.cs

@ -0,0 +1,636 @@
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].name.ToLower().Contains("xhs_name") &&
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/CheckEmpty")]
public static void CheckEmpty()
{
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
{
for (int i = 0; i < obj.Length; i++)
{
if (obj[i].GetComponent<CloneableEnums>() && obj[i].gameObject.GetComponent<CloneableEnums>().CloneableTypes.Count > 0)
{
if (!obj[i].GetComponent<CloneEnumsHelp>())
{
Debug.Log(obj[i].name);
}
}
if (obj[i].GetComponent<CloneEnumsHelp>())
{
if (obj[i].GetComponent<CloneEnumsHelp>().cloneOnFloorType < CloneOnFloorType.ShiWaiCar ||
obj[i].GetComponent<CloneEnumsHelp>().cloneOnFloorType > CloneOnFloorType.GuanQuDiMian)
{
Debug.Log(obj[i].name);
}
}
}
}
}
[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;
}
}
}
}
[MenuItem("SceneTool/AddNewScripts")]//优化增加新的脚本
public static void AddNewScripts()
{
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
for (int i = 0; i < obj.Length; i++)
{
if (obj[i].gameObject.activeInHierarchy && obj[i].gameObject.GetComponent<CloneableEnums>() && obj[i].gameObject.GetComponent<CloneableEnums>().CloneableTypes.Count > 0)
{
if (!obj[i].gameObject.GetComponent<CloneEnumsHelp>())
{
obj[i].gameObject.AddComponent<CloneEnumsHelp>();
}
var count = obj[i].GetComponent<CloneableEnums>().CloneableTypes.Count;
if (count == 80)// 室外车能走
{
obj[i].gameObject.GetComponent<CloneEnumsHelp>().cloneOnFloorType = CloneOnFloorType.ShiWaiCar;
}
else if (count == 35 && hasParentByName(obj[i].gameObject, "shinei"))// 室内人能走
{
obj[i].gameObject.GetComponent<CloneEnumsHelp>().cloneOnFloorType = CloneOnFloorType.ShiNeiMan;
}
else if (count == 35 && hasParentByName(obj[i].gameObject, "shiwai"))// 楼顶
{
obj[i].gameObject.GetComponent<CloneEnumsHelp>().cloneOnFloorType = CloneOnFloorType.LouDing;
}
else if (count == 47)// 室外人能走
{
obj[i].gameObject.GetComponent<CloneEnumsHelp>().cloneOnFloorType = CloneOnFloorType.ShiWaiMan;
}
else if (obj[i].gameObject.GetComponent<InDoorHydrantMessage>())// 室内消火栓
{
obj[i].gameObject.GetComponent<CloneEnumsHelp>().cloneOnFloorType = CloneOnFloorType.ShiNeiXHS;
}
else if (count == 35 && !obj[i].gameObject.GetComponent<CloneGameObjInfo>())// 室外人
{
obj[i].gameObject.GetComponent<CloneEnumsHelp>().cloneOnFloorType = CloneOnFloorType.ShiWaiMan;
}
else if (count == 35 && obj[i].gameObject.GetComponent<CloneGameObjInfo>())// 室内人
{
obj[i].gameObject.GetComponent<CloneEnumsHelp>().cloneOnFloorType = CloneOnFloorType.ShiNeiMan;
}
else
{
Debug.Log("警告,有对象没有绑定上脚本" + obj[i].name);
}
}
}
}
private static bool hasParentByName(GameObject gameObject, string parentName)
{
if (gameObject.transform.parent)
{
if (gameObject.transform.parent.name == parentName)
{
return true;
}
else
{
return hasParentByName(gameObject.transform.parent.gameObject, parentName);
}
}
else
{
return false;
}
}
}

11
Assets/CloneTypesTemplate/Editor/SceneTool.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 897c231eaac7aa04686627c31697e0ad
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

185
Assets/CloneTypesTemplate/TheCarRoad.prefab

@ -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: c8000000ca000000cb000000cc000000d0000000d10000002c0100005f01000060010000610100006401000067010000680100006a0100006b01000090010000d200000071010000260200002702000028020000290200002a0200002b0200002c0200002d0200002e0200002f02000030020000640200006502000066020000670200006802000069020000
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: c8000000ca000000cb000000cc000000d0000000d10000002c0100005f01000060010000610100006401000067010000680100006a0100006b01000090010000d200000071010000260200002702000028020000290200002a0200002b0200002c0200002d0200002e0200002f02000030020000640200006502000066020000670200006802000069020000
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: CarRoad
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: c8000000ca000000cb000000cc000000d0000000d1000000fa000000fb000000fc000000fd000000fe000000ff000000000100000101000002010000030100000401000005010000060100000701000008010000090100000a0100000b0100000c0100000d0100002c0100002d0100002e0100002f0100005e0100005f010000600100006101000062010000630100006401000065010000660100006701000068010000690100006a0100006b0100006c0100006e0100006f0100007001000090010000d200000071010000260200002702000028020000290200002a0200002b0200002c0200002d0200002e0200002f0200003002000058020000590200005a0200005b0200005c0200005d0200005e0200005f02000060020000610200006202000063020000640200006502000066020000670200006802000069020000
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: c8000000ca000000cb000000cc000000d0000000d10000002c0100002d0100002f0100005e0100005f010000600100006101000062010000630100006401000065010000660100006701000068010000690100006a0100006b0100006c0100006e0100006f010000700100009001000071010000d2000000260200002702000028020000290200002a0200002c0200002d0200002e0200002f020000640200006502000066020000670200006802000069020000300200002b020000
isHandleCloneHitPoint: 0

7
Assets/CloneTypesTemplate/TheCarRoad.prefab.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b6368959a808e804c9e4a1afe87a6abd
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/RenMinYiYuanAB

Binary file not shown.

2
Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/RenMinYiYuanAB.manifest

@ -1,5 +1,5 @@
ManifestFileVersion: 0
CRC: 2862419798
CRC: 1271176306
AssetBundleManifest:
AssetBundleInfos:
Info_0:

BIN
Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/buildingscene

Binary file not shown.

8
Assets/StreamingAssets/AssetBundles/RenMinYiYuanAB/buildingscene.manifest

@ -1,12 +1,12 @@
ManifestFileVersion: 0
CRC: 1223753341
CRC: 2126015920
Hashes:
AssetFileHash:
serializedVersion: 2
Hash: e1f15d882f4af27d730b775849ff59db
Hash: 8179d781c80a1374f1c45a8a70eb8cdc
TypeTreeHash:
serializedVersion: 2
Hash: 229a92f3d96b5394d45991660b4bd075
Hash: c45b10b15ecd79cb4e681d79101822f8
HashAppended: 0
ClassTypes:
- Class: 1
@ -59,6 +59,8 @@ ClassTypes:
Script: {fileID: 11500000, guid: 7a5ac11cc976e418e8d13136b07e1f52, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: e01c388cf4175aa49b4973deb437d754, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: b8b046bc0ab99e94cb2c70fd441b8fc7, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: b133d14efd54f9841a1659ef37479be7, type: 3}
- Class: 114

Loading…
Cancel
Save