OldChestScript.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using GadgetCore.API;
  2. using Ships;
  3. using System;
  4. using System.Collections;
  5. using UnityEngine;
  6. public class OldChestScript : MonoBehaviour
  7. {
  8. private bool opened = false;
  9. private void Awake()
  10. {
  11. base.name = "chest";
  12. }
  13. private void Start()
  14. {
  15. }
  16. [RPC]
  17. private void Open()
  18. {
  19. if (!this.opened)
  20. {
  21. this.opened = true;
  22. base.GetComponent<NetworkView>().RPC("OpenMat", RPCMode.AllBuffered, new object[0]);
  23. this.DropItems();
  24. }
  25. }
  26. private void DropItems()
  27. {
  28. base.GetComponent<NetworkView>().RPC("DropLocal", RPCMode.All, new object[0]);
  29. }
  30. [RPC]
  31. private void DropLocal()
  32. {
  33. if (Menuu.curAugment == 12)
  34. StartCoroutine(DropLocalLoot());
  35. StartCoroutine(DropLocalLoot());
  36. }
  37. private IEnumerator DropLocalLoot()
  38. {
  39. yield return new WaitForSeconds(0.2f);
  40. var item = GadgetCoreAPI.EmptyItem();
  41. item.id = Core.itemOldTex.GetID();
  42. GadgetCoreAPI.DropItemLocal(gameObject.transform.position, item);
  43. yield return new WaitForSeconds(0.2f);
  44. GadgetCoreAPI.SpawnExp(gameObject.transform.position, 2);
  45. yield return new WaitForSeconds(0.2f);
  46. GadgetCoreAPI.SpawnExp(gameObject.transform.position, 10);
  47. yield return new WaitForSeconds(0.2f);
  48. GadgetCoreAPI.SpawnExp(gameObject.transform.position, 20);
  49. yield break;
  50. }
  51. private static Texture2D textureOldChestOpen = GadgetCoreAPI.LoadTexture2D("oldChestOpen.png");
  52. [RPC]
  53. private void OpenMat()
  54. {
  55. Menuu.characterStat[8]++;
  56. GameScript.cadetValue += 2;
  57. base.GetComponent<AudioSource>().PlayOneShot((AudioClip)Resources.Load("Au/chest"), Menuu.soundLevel / 10f);
  58. base.GetComponent<Collider>().enabled = false;
  59. Renderer renderer = gameObject.transform.GetChild(0).gameObject.GetComponentInChildren<Renderer>();
  60. renderer.material = new Material(Shader.Find("Unlit/Transparent"))
  61. {
  62. mainTexture = textureOldChestOpen
  63. };
  64. }
  65. }