Beispiel #1
0
        public void OnPointerClick(PointerEventData e)
        {
            var vOrder = Resources.Load("Datas/Order/ItemViewerOrder") as ItemViewerOrder;
            var sOrder = Resources.Load("Datas/Order/SelectorOrder") as SelectorOrder;

            vOrder.WhiteList.Add(_materialAndQuantity.Material.ID);
            sOrder.Selectable.min = _materialAndQuantity.Quantity;
            sOrder.Selectable.max = _materialAndQuantity.Quantity;
            sOrder.Results.Clear();
            sOrder.Results.AddRange(_selectedMaterials);
            sOrder.OnOrderComplete.AddListener(() =>
            {
                _selectedMaterials.Clear();
                _selectedMaterials.AddRange(sOrder.Results.Cast <ItemData>());
                _requiredAndSelectedNum.text = _selectedMaterials.Count + "/" + _materialAndQuantity.Quantity;
                Resources.UnloadAsset(sOrder);
            });
            sOrder.OnOrderUnComplete.AddListener(() =>
            {
                Resources.UnloadAsset(sOrder);
            });
            MultiSceneManager.LoadScene("ItemSelect", () =>
            {
                Resources.UnloadAsset(vOrder);
            });
        }
Beispiel #2
0
        public void OnPointerClick(PointerEventData e)
        {
            var vOrder = Resources.Load("Datas/Order/ItemViewerOrder") as ItemViewerOrder;
            var sOrder = Resources.Load("Datas/Order/SelectorOrder") as SelectorOrder;
            var bring  = Resources.Load("Datas/BringIn") as ItemCollection;

            vOrder.Reset();
            vOrder.BlackList.AddRange(bring.Contents.ConvertAll(item => item.ID));
            vOrder.ItemOnly = true;
            sOrder.Reset();
            sOrder.Selectable.min = 0;
            sOrder.Selectable.max = 1;
            sOrder.OnOrderComplete.AddListener(() =>
            {
                if (_item != null)
                {
                    bring.Contents.Remove(_item);
                }
                if (0 < sOrder.Results.Count)
                {
                    _item = sOrder.Results[0] as ItemData;
                    bring.Contents.Add(_item);
                }
                else
                {
                    _item = null;
                }
            });
            MultiSceneManager.LoadScene("ItemSelect");
        }
Beispiel #3
0
 private void Awake()
 {
     MultiSceneManager.Init();
     if (Application.platform == RuntimePlatform.Android)
     {
         MultiSceneManager.LoadScene("Title");
     }
 }
Beispiel #4
0
        private void Awake()
        {
            var gameTutorial = Resources.Load("Datas/Tutorial/GameTutorial") as TutorialTask;
            var order        = Resources.Load("Datas/Order/TutorialOrder") as TutorialOrder;

            Next();
            order.TutorialTask = gameTutorial;
            MultiSceneManager.LoadScene("Tutorial");
        }
Beispiel #5
0
    void Awake()
    {
        if (Instance != null)
        {
            Destroy(this.gameObject);
        }

        Instance = this;
        DontDestroyOnLoad(this.gameObject);
        LoadScene(initialScene);
    }
Beispiel #6
0
        private IEnumerator Start()
        {
            Load();
            yield return(new WaitWhile(() => MultiSceneManager.IsLoaded("Title")));

            while (true)
            {
                yield return(new WaitForSeconds(30f));

                Save();
            }
        }
Beispiel #7
0
        public void Open()
        {
            var factroy = new DialogFactory();
            var dialog  = factroy.Create().GetComponent <Dialog>();

            dialog.Show(DialogType.Switch, "出口を見つけた。\n探索を終了しますか?", () =>
            {
                var player = GameObject.FindWithTag("Player").GetComponent <Treasure>();
                player.SwapToContainer();
                MultiSceneManager.LoadScene("Menu");
            });
        }
Beispiel #8
0
        public void Alchemy()
        {
            var sOrder                   = Resources.Load("Datas/Order/SelectorOrder") as SelectorOrder;
            var vOrder                   = Resources.Load("Datas/Order/CharacteristicsViewerOrder") as CharacteristicsViewerOrder;
            var iOrder                   = Resources.Load("Datas/Order/ItemInfoViewerOrder") as ItemInfoViewerOrder;
            var useMaterials             = new List <ItemData>();
            var candidateCharacteristics = new List <CharacteristicsData>();

            foreach (var materialNode in _materialNodes)
            {
                var selectedMaterials = materialNode.SelectedMaterials;
                useMaterials.AddRange(selectedMaterials);
                foreach (var characteristics in selectedMaterials.Select(m => m.Characteristics))
                {
                    candidateCharacteristics.AddRange(characteristics);
                }
                materialNode.SelectClear();
            }
            var fixCharacteristics = candidateCharacteristics.Select(c => c.ID);

            vOrder.Contents.AddRange(fixCharacteristics.Distinct());
            sOrder.Selectable.min = 0;
            sOrder.Selectable.max = 3;
            var item = _jar.Alchemy(useMaterials);

            Resources.UnloadAsset(vOrder);
            sOrder.Reset();
            sOrder.OnOrderComplete.AddListener(() =>
            {
                item.Init(sOrder.Results.Cast <CharacteristicsData>());
                foreach (var characteristic in item.Characteristics)
                {
                    if (characteristic.Timing == EffectTiming.Init)
                    {
                        characteristic.Effect.Activate(item);
                    }
                }
                GetItem(item);
                iOrder.Data = item;
                MultiSceneManager.LoadScene("ItemInfo", () =>
                {
                    Resources.UnloadAsset(sOrder);
                    Resources.UnloadAsset(iOrder);
                });
            });
            MultiSceneManager.LoadScene("CharacteristicSelect");
        }
Beispiel #9
0
 protected virtual void OnSelectComplete()
 {
     _order.OnOrderComplete?.Invoke();
     MultiSceneManager.UnloadScene(gameObject.scene.name);
 }