| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using UnityEngine;
- using GadgetCore.API;
- namespace ShipDecorations
- {
- public static class ItemUtil
- {
- public static int CreatePlacableDecoItem(string tileImgPath, string itemImgPath, string name)
- {
- Texture2D texture2D = GadgetCoreAPI.LoadTexture2D(tileImgPath);
- Texture2D texture2D2 = GadgetCoreAPI.LoadTexture2D(itemImgPath);
- GameObject gameObject = Object.Instantiate<GameObject>((GameObject)Resources.Load("prop/2501"));
- Renderer renderer = gameObject.GetComponentInChildren<Renderer>();
- renderer.material = new Material(Shader.Find("Unlit/Transparent"))
- {
- mainTexture = texture2D
- };
- ItemInfo itemInfo = new ItemInfo(ItemType.GENERIC, name, "", texture2D2, -1, default, null, null, null, null);
- itemInfo.Register(name);
- new TileInfo(TileType.NONSOLID, texture2D, gameObject, itemInfo).Register(name);
- return itemInfo.GetID();
- }
- public static int CreatePlacableSlideDoorItem(string tileImgPath, string tileOpenImgPath, string itemImgPath, string name)
- {
- Texture2D texture2D = GadgetCoreAPI.LoadTexture2D(tileImgPath);
- Texture2D texture2DOpen = GadgetCoreAPI.LoadTexture2D(tileOpenImgPath);
- Texture2D texture2DItem = GadgetCoreAPI.LoadTexture2D(itemImgPath);
- GameObject hostObject = new GameObject("door");
- hostObject.transform.localPosition = new Vector3(10f, 0, 0);
- {
- GameObject closedDoorObject = Object.Instantiate<GameObject>((GameObject)Resources.Load("prop/2501"));
- Renderer renderer = closedDoorObject.GetComponentInChildren<Renderer>();
- renderer.material = new Material(Shader.Find("Transparent/Diffuse"))
- {
- mainTexture = texture2D
- };
- closedDoorObject.transform.SetParent(hostObject.transform);
- closedDoorObject.SetActive(true);
- }
- {
- GameObject openDoorObject = Object.Instantiate<GameObject>((GameObject)Resources.Load("prop/2501"));
- Renderer renderer = openDoorObject.GetComponentInChildren<Renderer>();
- renderer.material = new Material(Shader.Find("Transparent/Diffuse"))
- {
- mainTexture = texture2DOpen
- };
- openDoorObject.transform.SetParent(hostObject.transform);
- openDoorObject.SetActive(false);
- }
- GameObject doorTriggerObject = new GameObject();
- doorTriggerObject.transform.localScale = new Vector3(4f, 4f, 5);
- doorTriggerObject.transform.localPosition = new Vector3(10f, 0, 0);
- doorTriggerObject.transform.SetParent(hostObject.transform);
- doorTriggerObject.layer = 0;
- BoxCollider doorTrigger = doorTriggerObject.AddComponent<BoxCollider>();
- doorTrigger.size = new Vector3(1, 1, 1);
- doorTrigger.isTrigger = true;
- AudioSource audio = doorTriggerObject.AddComponent<AudioSource>();
- var script = doorTrigger.gameObject.AddComponent<DoorColliderScript>();
- ItemInfo itemInfo = new ItemInfo(ItemType.GENERIC, name, "", texture2DItem, -1, default, null, null, null, null);
- itemInfo.Register(name);
- new TileInfo(TileType.NONSOLID, texture2D, hostObject, itemInfo).Register(name);
- return itemInfo.GetID();
- }
- }
- }
|