示例#1
0
        public PlayerMonoViewModel Create(uint monoId, int level)
        {
            var monoInfo = this.monoInfoRepository.Get(monoId);

            Debug.Assert(monoInfo != null, "monoInfo がありません : " + monoId.ToString());

            var id = this.MaximuId() + 1;

            this.entrys.Add(new PlayerMonoViewEntry()
            {
                Id         = id,
                MonoInfoId = monoId,
                Level      = level
            });

            PlayerContextMap.WriteEntry(this.entrys);

            var playerMonoView = new PlayerMonoViewModel(
                id,
                monoInfo,
                level
                );

            return(playerMonoView);
        }
示例#2
0
        public MonoViewModel CreateMono(PlayerMonoViewModel playerMonoViewModel, Vector3 position)
        {
            var instance = Object.AppearToFloor(playerMonoViewModel.MonoInfo.MonoPrefab, root, position);
            var monoView = instance.GetComponent <MonoView> ();

            Debug.Assert(monoView != null, "monoViewではありません");

            var monoViewModel = new MonoViewModel(monoView, playerMonoViewModel);

            monoViewModels.Add(monoViewModel);

            return(monoViewModel);
        }
示例#3
0
        public void Remove(PlayerMonoViewModel playerMonoViewModel)
        {
            var entry = this.GetEntry(playerMonoViewModel.Id);

            if (entry != null)
            {
                var index = this.entrys.IndexOf(entry);
                this.entrys.RemoveAt(index);
            }
            else
            {
                Debug.Assert(false, "要素が存在しません : " + playerMonoViewModel.Id.ToString());
            }
            PlayerContextMap.WriteEntry(this.entrys);
        }
示例#4
0
 public PlayerArrangementTargetModel(
     uint id,
     Vector3 centerPosition,
     float range,
     List <ArrangementPosition> positions,
     ArrangementTargetState state,
     MonoInfo monoInfo,
     PlayerMonoViewModel playerMonoViewModel
     )
 {
     this.Id                  = id;
     this.CenterPosition      = centerPosition;
     this.Range               = range;
     this.Positions           = positions;
     this.State               = state;
     this.MonoInfo            = monoInfo;
     this.PlayerMonoViewModel = playerMonoViewModel;
 }
示例#5
0
        public void Store(PlayerMonoViewModel playerMonoViewModel)
        {
            var entry = this.GetEntry(playerMonoViewModel.Id);

            if (entry != null)
            {
                var index = this.entrys.IndexOf(entry);
                this.entrys[index] = new PlayerMonoViewEntry()
                {
                    Id         = playerMonoViewModel.Id,
                    MonoInfoId = playerMonoViewModel.MonoInfo.Id,
                    Level      = playerMonoViewModel.Level
                };
            }
            else
            {
                Debug.Assert(false, "要素が存在しません : " + playerMonoViewModel.Id.ToString());
            }
            PlayerContextMap.WriteEntry(this.entrys);
        }
        private PlayerArrangementTargetModel CreateByEntry(PlayerArrangementTargetEntry entry)
        {
            MonoInfo monoInfo = null;

            if (entry.HasMonoInfoId)
            {
                monoInfo = this.monoInfoRepository.Get(entry.MonoInfoId);
                Debug.Assert(monoInfo != null, "MonoInfoが存在していません");
            }
            PlayerMonoViewModel monoViewModel = null;

            if (entry.HasMonoViewModelId)
            {
                monoViewModel = this.playerMonoViewRepository.Get(entry.MonoViewModelId);
                Debug.Assert(monoViewModel != null, "MonoViewModelが存在していません");
            }

            var state = ArrangementTargetState.None;

            if (Enum.TryParse(entry.ArrangementTargetState, out ArrangementTargetState outState))
            {
                state = outState;
            }

            return(new PlayerArrangementTargetModel(
                       entry.Id,
                       new Vector3(entry.CenterPosition.X, entry.CenterPosition.Y, entry.CenterPosition.Z),
                       entry.Range,
                       entry.ArrangementPositions.Select(pos => new ArrangementPosition()
            {
                x = pos.X,
                z = pos.Z,
            }).ToList(),
                       state,
                       entry.HasMonoInfoId ? monoInfo : null,
                       entry.HasMonoViewModelId ? monoViewModel : null
                       ));
        }
        public PlayerArrangementTargetModel Create(
            Vector3 centerPosition,
            float range,
            List <ArrangementPosition> positions,
            ArrangementTargetState state,
            MonoInfo monoInfo,
            PlayerMonoViewModel playerMonoViewModel
            )
        {
            var id    = this.MaximuId() + 1;
            var entry = new PlayerArrangementTargetEntry()
            {
                Id             = id,
                CenterPosition = new Position3Entry()
                {
                    X = centerPosition.x,
                    Y = centerPosition.y,
                    Z = centerPosition.z
                },
                Range = range,
                ArrangementPositions = positions.Select(pos => new Position2Entry()
                {
                    X = pos.x,
                    Z = pos.z
                }).ToArray(),
                ArrangementTargetState = state.ToString(),
                HasMonoInfoId          = monoInfo != null,
                MonoInfoId             = monoInfo != null ? monoInfo.Id : uint.MaxValue,
                HasMonoViewModelId     = playerMonoViewModel != null,
                MonoViewModelId        = playerMonoViewModel != null ? playerMonoViewModel.Id : uint.MaxValue
            };

            this.entrys.Add(entry);
            PlayerContextMap.WriteEntry(this.entrys);
            return(CreateByEntry(entry));
        }
示例#8
0
 public void LevelUp(PlayerMonoViewModel playerMonoViewModel)
 {
     this.monoLevelUpServive.Execute(playerMonoViewModel);
 }
示例#9
0
 public void Execute(PlayerMonoViewModel playerMonoViewModel)
 {
     playerMonoViewModel.LevelUp();
     playerMonoViewRepository.Store(playerMonoViewModel);
 }
示例#10
0
 public void SetPlayerMonoView(PlayerMonoViewModel playerMonoViewModel)
 {
     this.PlayerMonoViewModel = playerMonoViewModel;
 }
示例#11
0
 public MonoViewModel(MonoView monoView, PlayerMonoViewModel playerMonoViewModel)
 {
     this.monoView            = monoView;
     this.playerMonoViewModel = playerMonoViewModel;
 }