Example #1
0
        public override void InitManager()
        {
            var bgmTextAsset = ResourcesLoadHelper.GetResources <TextAsset> (ResourceRoleType._Data, ResourcesType.Json,
                                                                             Constants.Framework.SoundJsonFileName);
            var clipData = JsonUtility.FromJson <AudioClipData> (bgmTextAsset.text);

            _soundClipDataDict = clipData.filePath.Zip(clipData.volumes, (path, volume) =>
            {
                var soundTypeEnum = (SoundTypeEnum)Enum.Parse(typeof(SoundTypeEnum), path);
                var clip          = ResourcesLoadHelper.GetResources <AudioClip> (ResourceRoleType._Sound, path);
                return(soundTypeEnum, volume, clip);
            }).ToDictionary(tuple => tuple.soundTypeEnum, tuple => new AudioClipDataBase(tuple.clip, tuple.volume));
        }
        protected override async UniTask OnPush(object pushValue = null)
        {
            touchPreventionObj.SetActive(false);
            _puzzleViewmodel.StartStage(EndPuzzleMovement);

            AllLineElements = _puzzleViewmodel.AllLineModels
                              .ToDictionary(x => x.Key, x => lineElements[x.Key].SetLineModel(x.Value));

            for (var c = 0; c < AllLineElements.Count; c++)
            {
                for (var r = 0; r < AllLineElements[c].landElements.Length; r++)
                {
                    if (AllLineElements[c].LineModel.LandDatas[r].landTypes == LandTypes.Hide)
                    {
                        continue;
                    }

                    var element = AllLineElements[c].GetLandElement(r);
                    element.gameObject.SetActive(true);
                    var resObj = ResourcesLoadHelper.GetResources <PuzzleElement> (ResourceRoleType._Prefab,
                                                                                   ResourcesType.Element, "PuzzleElement");
                    var prefab =
                        ProjectContext.Instance.Container.InstantiatePrefabForComponent <PuzzleElement> (resObj);
                    prefab.transform.SetParent(puzzleParents);
                    prefab.transform.SetInstantiateTransform();

                    _puzzleElements.Push(prefab);
                }
            }

            foreach (var puzzleModel in _puzzleViewmodel.AllPuzzleModels)
            {
                var poppedElement = _puzzleElements.Pop();
                poppedElement.SetPuzzleView(_puzzleViewmodel, this);
                poppedElement.SetModel(puzzleModel);
                poppedElement.transform.position = AllLineElements[puzzleModel.PositionModel.Column]
                                                   .GetLandElement(puzzleModel.PositionModel.Row).transform.position;
            }

            await WaitDisplayPuzzles().ToUniTask();

            await base.OnPush(pushValue);
        }
Example #3
0
 private static TextAsset DataFileTextAsset()
 {
     _textAsset = ResourcesLoadHelper.GetResources <TextAsset> (ResourceRoleType._Data, ResourcesType.Json,
                                                                Constants.Framework.SoundJsonFileName);
     return(_textAsset);
 }
Example #4
0
 /// <summary>
 /// XML 데이터의 파일 경로를 토대로 받아온 TextAsset 데이터를 받아옴.
 /// </summary>
 private static List <AudioClip> LoadAudioClip(AudioClipData clipData)
 {
     return(clipData.filePath
            .Select(path => ResourcesLoadHelper.GetResources <AudioClip> (ResourceRoleType._Sound, path)).ToList());
 }