using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEngine.AI;
public class SceneToolNew
{
///
/// 选中子建筑父物体设置,根据单位名字长度调整下面BuildName
///
[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;
}
}
}
///
/// 需要在楼层上手动挂载FloorMessage脚本
///
[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())
{
string name = obj[i].name;
obj[i].GetComponent().buildNum = name.Substring(0,1);
if (name.ToLower().Contains("m"))
{
obj[i].GetComponent().floorNum = int.Parse(name.Substring(5, name.Length - 5));
obj[i].GetComponent().interlayerNum = 1;
}
else
{
obj[i].GetComponent().floorNum = int.Parse(name.Substring(4, name.Length - 4));
obj[i].GetComponent().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())
{
obj[i].gameObject.AddComponent();
}
obj[i].gameObject.GetComponent().overrideArea = true;
obj[i].gameObject.GetComponent().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())
{
//Debug.Log(obj[i].name);
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
obj[i].gameObject.GetComponent().gameObjType=CloneObjType.StaticGameObject;
CloneableEnums enumParent = obj[i].gameObject.GetComponent();
Transform Template = GameObject.Find("CloneEnums").transform.Find("CarRoad");
var CloneableEnums = Template.GetComponent();
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())
{
//Debug.Log(obj[i].name);
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
obj[i].gameObject.GetComponent().gameObjType = CloneObjType.StaticGameObject;
CloneableEnums enumParent = obj[i].gameObject.GetComponent();
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiWaiSoldier");
var CloneableEnums = Template.GetComponent();
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())
{
if (!obj[i].gameObject.GetComponent())
{
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
CloneableEnums enumParent = obj[i].gameObject.GetComponent();
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiNeiFloor");
var CloneableEnums = Template.GetComponent();
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
FloorMessage mess = obj[i].GetComponentInParent();
obj[i].gameObject.GetComponent().gameObjType = CloneObjType.StaticGameObject;
obj[i].gameObject.GetComponent().buildNum = mess.buildNum;
obj[i].gameObject.GetComponent().interlayerNum = mess.interlayerNum;
obj[i].gameObject.GetComponent().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())
{
if (!obj[i].gameObject.GetComponent())
{
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
CloneableEnums enumParent = obj[i].gameObject.GetComponent();
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiNeiFloor");
var CloneableEnums = Template.GetComponent();
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
FloorMessage mess = obj[i].GetComponentInParent();
obj[i].gameObject.GetComponent().gameObjType = CloneObjType.StaticGameObject;
obj[i].gameObject.GetComponent().buildNum = mess.buildNum;
obj[i].gameObject.GetComponent().interlayerNum = mess.interlayerNum;
obj[i].gameObject.GetComponent().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())
{
if (!obj[i].gameObject.GetComponent())
{
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
CloneableEnums enumParent = obj[i].gameObject.GetComponent();
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiNeiFloor");
var CloneableEnums = Template.GetComponent();
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
FloorMessage mess = obj[i].GetComponentInParent();
obj[i].gameObject.GetComponent().gameObjType = CloneObjType.StaticGameObject;
obj[i].gameObject.GetComponent().buildNum = mess.buildNum;
obj[i].gameObject.GetComponent().interlayerNum = mess.interlayerNum;
obj[i].gameObject.GetComponent().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())
{
if (!obj[i].gameObject.GetComponent())
{
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
obj[i].gameObject.GetComponent().WaterReceiverType=WaterType.water;
}
CloneableEnums enumParent = obj[i].gameObject.GetComponent();
Transform Template = GameObject.Find("CloneEnums").transform.Find("xhs");
var CloneableEnums = Template.GetComponent();
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
FloorMessage mess = obj[i].GetComponentInParent();
obj[i].gameObject.GetComponent().gameObjType = CloneObjType.XHS;
obj[i].gameObject.GetComponent().buildNum = mess.buildNum;
obj[i].gameObject.GetComponent().interlayerNum = mess.interlayerNum;
obj[i].gameObject.GetComponent().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())
{
//Debug.Log(obj[i].name);
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
if (!obj[i].gameObject.GetComponent())
{
obj[i].gameObject.AddComponent();
}
CloneableEnums enumParent = obj[i].gameObject.GetComponent();
Transform Template = GameObject.Find("CloneEnums").transform.Find("ShiWaiSoldier");
var CloneableEnums = Template.GetComponent();
enumParent.CloneableTypes = CloneableEnums.CloneableTypes;
FloorMessage mess = obj[i].GetComponentInParent();
obj[i].gameObject.GetComponent().gameObjType = CloneObjType.StaticGameObject;
obj[i].gameObject.GetComponent().buildNum = mess.buildNum;
obj[i].gameObject.GetComponent().interlayerNum = mess.interlayerNum;
obj[i].gameObject.GetComponent().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);
}
}
}
}