|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
using UnityEditor;
|
|
|
|
using UnityEngine.AI;
|
|
|
|
|
|
|
|
public class SceneToolNew
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// 选中子建筑父物体设置,根据单位名字长度调整下面BuildName
|
|
|
|
/// </summary>
|
|
|
|
[MenuItem("SceneToolNew/ChangefloorName")]
|
|
|
|
public static void ChangefloorName()
|
|
|
|
{
|
|
|
|
string BuildName= Selection.activeTransform.name.Substring(0,1);
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].name.Contains("nei")||obj[i].name.Contains("wai"))
|
|
|
|
{
|
|
|
|
obj[i].name = BuildName + obj[i].name;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 需要在楼层上手动挂载FloorMessage脚本
|
|
|
|
/// </summary>
|
|
|
|
[MenuItem("SceneToolNew/SetFloorMessage")]
|
|
|
|
public static void SetfloorMessage()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].GetComponent<FloorMessage>())
|
|
|
|
{
|
|
|
|
string name = obj[i].name;
|
|
|
|
obj[i].GetComponent<FloorMessage>().buildNum = name.Substring(0,1);
|
|
|
|
|
|
|
|
if (name.ToLower().Contains("m"))
|
|
|
|
{
|
|
|
|
obj[i].GetComponent<FloorMessage>().floorNum = int.Parse(name.Substring(5, name.Length - 5));
|
|
|
|
obj[i].GetComponent<FloorMessage>().interlayerNum = 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
obj[i].GetComponent<FloorMessage>().floorNum = int.Parse(name.Substring(4, name.Length - 4));
|
|
|
|
obj[i].GetComponent<FloorMessage>().interlayerNum = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetWallCanMove")]
|
|
|
|
public static void SetWallCanMove()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.layer == LayerMask.NameToLayer("Wall"))
|
|
|
|
{
|
|
|
|
if(!obj[i].gameObject.GetComponent<NavMeshModifier>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<NavMeshModifier>();
|
|
|
|
}
|
|
|
|
obj[i].gameObject.GetComponent<NavMeshModifier>().overrideArea = true;
|
|
|
|
obj[i].gameObject.GetComponent<NavMeshModifier>().area = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetNavLayerShiWaiCarRoad")]
|
|
|
|
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("CarRode"))
|
|
|
|
{
|
|
|
|
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<PathFindingClick>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<PathFindingClick>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<CloneableEnums>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<CloneableEnums>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<CloneGameObjInfo>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<CloneGameObjInfo>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(2, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType=CloneObjType.StaticGameObject;
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("CarRoad");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
[MenuItem("SceneToolNew/SetNavLayerShiWaiSoldierRoad")]
|
|
|
|
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("ManRode"))
|
|
|
|
{
|
|
|
|
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<PathFindingClick>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<PathFindingClick>();
|
|
|
|
}
|
|
|
|
|
|
|
|
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<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(2, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.StaticGameObject;
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiWaiSoldier");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetShiNeiFloor")]
|
|
|
|
public static void SetShiNeiFloor()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.name.ToLower().Contains("floor")&&
|
|
|
|
obj[i].gameObject.GetComponent<Renderer>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<MeshCollider>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<MeshCollider>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<PathFindingClick>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<PathFindingClick>();
|
|
|
|
}
|
|
|
|
|
|
|
|
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<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(2, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiNeiFloor");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
FloorMessage mess = obj[i].GetComponentInParent<FloorMessage>();
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.StaticGameObject;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = mess.buildNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = mess.interlayerNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = mess.floorNum;
|
|
|
|
obj[i].gameObject.layer = LayerMask.NameToLayer("ManRode");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
[MenuItem("SceneToolNew/SetShiNeiLT")]
|
|
|
|
public static void SetShiNeiLT()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.name.ToLower().Contains("lt") &&
|
|
|
|
obj[i].gameObject.GetComponent<Renderer>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<MeshCollider>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<MeshCollider>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<PathFindingClick>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<PathFindingClick>();
|
|
|
|
}
|
|
|
|
|
|
|
|
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<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(2, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiNeiFloor");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
FloorMessage mess = obj[i].GetComponentInParent<FloorMessage>();
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.StaticGameObject;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = mess.buildNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = mess.interlayerNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = mess.floorNum;
|
|
|
|
obj[i].gameObject.layer = LayerMask.NameToLayer("ManRode");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetShiNeiFT")]
|
|
|
|
public static void SetShiNeiFT()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.name.ToLower().Contains("ft") &&
|
|
|
|
obj[i].gameObject.GetComponent<Renderer>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<MeshCollider>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<MeshCollider>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<PathFindingClick>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<PathFindingClick>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<CreateStaticObjID>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<CreateStaticObjID>();
|
|
|
|
}
|
|
|
|
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<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(2, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiNeiFloor");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
FloorMessage mess = obj[i].GetComponentInParent<FloorMessage>();
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.StaticGameObject;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = mess.buildNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = mess.interlayerNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = mess.floorNum;
|
|
|
|
obj[i].gameObject.layer = LayerMask.NameToLayer("ManRode");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetShiNeiXHS")]
|
|
|
|
public static void SetShiNeiXHS()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if ((obj[i].gameObject.name.ToLower().Contains("xhs")|| obj[i].gameObject.name.ToLower().Contains("snxh")) &&
|
|
|
|
obj[i].gameObject.GetComponent<Renderer>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<Collider>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<BoxCollider>();
|
|
|
|
}
|
|
|
|
|
|
|
|
//if (!obj[i].gameObject.GetComponent<CreateStaticObjID>())
|
|
|
|
//{
|
|
|
|
// obj[i].gameObject.AddComponent<CreateStaticObjID>();
|
|
|
|
//}
|
|
|
|
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<WaterSupplier>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<WaterSupplier>();
|
|
|
|
obj[i].gameObject.GetComponent<WaterSupplier>().WaterReceiverType=WaterType.water;
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(2, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("xhs");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
FloorMessage mess = obj[i].GetComponentInParent<FloorMessage>();
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.XHS;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = mess.buildNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = mess.interlayerNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = mess.floorNum;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
[MenuItem("SceneToolNew/SetShiWaiZhutiSoldierRoad")]
|
|
|
|
public static void SetShiWaiZhutiSoldierRoad()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.layer == LayerMask.NameToLayer("ManRode"))
|
|
|
|
{
|
|
|
|
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<PathFindingClick>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<PathFindingClick>();
|
|
|
|
}
|
|
|
|
|
|
|
|
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<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(2, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiWaiSoldier");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
FloorMessage mess = obj[i].GetComponentInParent<FloorMessage>();
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.StaticGameObject;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().buildNum = mess.buildNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().interlayerNum = mess.interlayerNum;
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().floorNum = mess.floorNum;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
[MenuItem("SceneToolNew/ClearMissSprite")]
|
|
|
|
public static void ClearMissSprite()
|
|
|
|
{
|
|
|
|
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
var gameObject = obj[i].gameObject;
|
|
|
|
object p = GameObjectUtility.RemoveMonoBehavioursWithMissingScript(gameObject);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
[MenuItem("SceneToolNew/ChangeXFSP")]
|
|
|
|
public static void ChangeXFSP()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
GameObject SP = Resources.Load("SP") as GameObject;
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].name.Contains("SP") && !obj[i].name.Contains("ziti"))
|
|
|
|
{
|
|
|
|
GameObject sp = GameObject.Instantiate(SP);
|
|
|
|
sp.transform.parent = obj[i].transform;
|
|
|
|
sp.name = "sp";
|
|
|
|
sp.transform.localPosition = new Vector3(0, 0f, 0f);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
[MenuItem("SceneToolNew/SetGameobjId")]
|
|
|
|
public static void SetGameobjId()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>())
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(5, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetShiWaiXHSandPMS")]
|
|
|
|
public static void SetShiWaiXHSandPMS()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if ((obj[i].gameObject.name.ToLower().Contains("xhs") ||
|
|
|
|
obj[i].gameObject.name.ToLower().Contains("pms")) &&
|
|
|
|
!obj[i].gameObject.name.ToLower().Contains("ziti"))
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<Collider>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<BoxCollider>();
|
|
|
|
}
|
|
|
|
|
|
|
|
//if (!obj[i].gameObject.GetComponent<CreateStaticObjID>())
|
|
|
|
//{
|
|
|
|
// obj[i].gameObject.AddComponent<CreateStaticObjID>();
|
|
|
|
//}
|
|
|
|
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<WaterSupplier>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<WaterSupplier>();
|
|
|
|
obj[i].gameObject.GetComponent<WaterSupplier>().WaterReceiverType = WaterType.water;
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(4, 1);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
CloneableEnums enumParent = obj[i].gameObject.GetComponent<CloneableEnums>();
|
|
|
|
Transform Template = GameObject.Find("CloneEnums").transform.Find("xhs");
|
|
|
|
var CloneableEnums = Template.GetComponent<CloneableEnums>();
|
|
|
|
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
|
|
|
|
if (obj[i].gameObject.name.ToLower().Contains("pms"))
|
|
|
|
{
|
|
|
|
obj[i].GetComponent<WaterSupplier>().WaterReceiverType = WaterType.both;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetSP")]
|
|
|
|
public static void SetSP()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.name.ToLower().Contains("xfsp")
|
|
|
|
&&!obj[i].gameObject.name.ToLower().Contains("ziti"))
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<NavMeshModifier>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<ObjSelectCtrl>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<ObjSelectCtrl>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<FCGSPControl>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<FCGSPControl>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<CloneGameObjInfo>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<CloneGameObjInfo>();
|
|
|
|
}
|
|
|
|
if (!obj[i].gameObject.GetComponent<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<StaticeObjAddToEntities>();
|
|
|
|
}
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjID == 0)
|
|
|
|
{
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(9, 3);
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
obj[i].gameObject.GetComponent<CloneGameObjInfo>().gameObjType = CloneObjType.ZDSP;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetDisaster")]
|
|
|
|
public static void SetDisaster()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<Renderer>() &&
|
|
|
|
!obj[i].gameObject.name.ToLower().Contains("ziti")&&
|
|
|
|
!obj[i].gameObject.name.ToLower().Contains("name"))
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<CloneableEnums>())
|
|
|
|
{
|
|
|
|
CloneableEnums ce = obj[i].GetComponent<CloneableEnums>();
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.FireNormal))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.FireNormal);
|
|
|
|
}
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.FireOpenType))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.FireOpenType);
|
|
|
|
}
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.FireHuge))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.FireHuge);
|
|
|
|
}
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.FireBreakThrough))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.FireBreakThrough);
|
|
|
|
}
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.SmokeNormal))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.SmokeNormal);
|
|
|
|
}
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.Bomb))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.Bomb);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/SetGuanBi")]
|
|
|
|
public static void SetGuanBi()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<GuanBi>())
|
|
|
|
{
|
|
|
|
if (!obj[i].gameObject.GetComponent<Collider>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.AddComponent<MeshCollider>();
|
|
|
|
}
|
|
|
|
CloneableEnums ce = obj[i].GetComponent<CloneableEnums>();
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.Splash))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.Splash);
|
|
|
|
}
|
|
|
|
if (!ce.CloneableTypes.Contains(CloneObjType.Boilover))
|
|
|
|
{
|
|
|
|
ce.CloneableTypes.Add(CloneObjType.Boilover);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[MenuItem("SceneToolNew/ResertGameObjId")]
|
|
|
|
public static void ResertGameObjId()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
EntitiesManager.Instance.Reset();
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<StaticeObjAddToEntities>())
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<BaseGameObjInfo>())
|
|
|
|
{
|
|
|
|
obj[i].gameObject.GetComponent<BaseGameObjInfo>().gameObjID = 0;
|
|
|
|
long staticGameObjId = (long)GUID.NewGuid(9, 2);
|
|
|
|
obj[i].gameObject.GetComponent<BaseGameObjInfo>().SetGameObjID(staticGameObjId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//[MenuItem("SceneToolNew/ResertSP")]
|
|
|
|
//public static void ResertSP()
|
|
|
|
//{
|
|
|
|
// Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
// for (int i = 0; i < obj.Length; i++)
|
|
|
|
// {
|
|
|
|
// if (obj[i].gameObject.name.ToLower().Contains("xfsp")
|
|
|
|
// && !obj[i].gameObject.name.ToLower().Contains("ziti"))
|
|
|
|
// {
|
|
|
|
// obj[i].gameObject.des
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
[MenuItem("SceneToolNew/ChenkName")]
|
|
|
|
public static void ChenkName()
|
|
|
|
{
|
|
|
|
Transform[] obj = Selection.GetTransforms(SelectionMode.Deep);
|
|
|
|
for (int i = 0; i < obj.Length; i++)
|
|
|
|
{
|
|
|
|
if (obj[i].gameObject.GetComponent<NavMeshObstacle>())
|
|
|
|
{
|
|
|
|
// if (obj[i].gameObject.GetComponent<MeshCollider>().convex==true)
|
|
|
|
{
|
|
|
|
Debug.Log(obj[i].gameObject.name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|