private IEnumerator OpenDoor() { MessageWindow messageWindow = MessageSystem.GetWindow(); bool hasItem = InventorySystem.HasItem(keyItem); if (!hasItem) { yield return(StartCoroutine(messageWindow.ShowClick("ドアを開けるには鍵が必要なようだ"))); messageWindow.Close(); } else { yield return(StartCoroutine(messageWindow.ShowClick("ガチャ! ドアの鍵を開けた"))); messageWindow.Close(); //ドアを開ける door.SetActive(false); //イベントが起動しないようにする triggerColider.enabled = false; //鍵を消費する InventorySystem.Remove(keyItem); //フラグの保存 VariablePersister.SetBool(key, true); } yield return(null); }
public static void Save() { Instance.SaveGameData(); InventorySystem.Save(); Party.Save(); FlagManager.Save(); VariablePersister.Save(); SaveSystem.Save(); }
public static void Load(int fileNumber) { SaveSystem.LoadFile(fileNumber); Instance.LoadGameData(); Party.Load(); FlagManager.Load(); VariablePersister.Load(); InventorySystem.Load(); }
private void Start() { gameObject.layer = LayerMask.NameToLayer("Interactable"); if (!VariablePersister.Exist(key)) { return; } isOpen = VariablePersister.GetBool(key); if (isOpen) { SpriteRenderer spriteRenderer = GetComponent <SpriteRenderer>(); spriteRenderer.sprite = enptyImage; } }
// Start is called before the first frame update void Start() { gameObject.layer = LayerMask.NameToLayer("Interactable"); triggerColider = GetComponent <Collider2D>(); if (!VariablePersister.Exist(key)) { return; } isOpen = VariablePersister.GetBool(key); if (isOpen) { door.SetActive(false); triggerColider.enabled = false; } }
public IEnumerator OpenBox() { MessageWindow messageWindow = MessageSystem.GetWindow(); PlayerInteract.InteractableStart(); if (isOpen) { yield return(StartCoroutine(messageWindow.ShowClick("からっぽだ"))); messageWindow.Close(); PlayerInteract.InteractableEnd(); yield break; } //お金が入っていた if (money > 0) { yield return(GetMony()); } //アイテムが入っていた if (item != null) { yield return(GetItem()); } //装備が入っていた if (equipment != null) { yield return(GetEqip()); } //フラグの保存 VariablePersister.SetBool(key, true); PlayerInteract.InteractableEnd(); yield break; }