Пример #1
0
        public IFigureEntity Create(IFigureDef figureDef, GameTeam team)
        {
            var figureEntity = new FigureEntity(figureDef, team);

            FigureModel.AddFigure(figureEntity);
            return(figureEntity);
        }
Пример #2
0
 private void InstallFigureViewPool(IFigureDef figureDef, GameTeam figureTeam, GameObject figurePrefab)
 {
     Container.BindMemoryPool <FigureView, FigureViewPool>()
     .WithInitialSize(figureDef.PrefabInitialSize)
     .WithFactoryArguments(figureDef, figureTeam)
     .FromComponentInNewPrefab(figurePrefab)
     .UnderTransform(_poolParent)
     .NonLazy();
 }
Пример #3
0
        public IFigureEntity Create(IFigureDef figureDef, GameTeam team)
        {
            var figureEntity = FigureCreator.Create(figureDef, team);

            var figureView = FigureViewFactory.Spawn(figureEntity);

            FigureViewModel.AddView(figureEntity, figureView);

            return(figureEntity);
        }
Пример #4
0
        private void TransformFigure(IFigureEntity figure, IFigureDef figureDef)
        {
            var cell = figure.PlacedCell;
            var team = figure.Team;

            FigureController.RemoveFigure(figure);

            var newTransformFigure = FigureCreator.Create(figureDef, team);

            FigureController.MoveFigure(newTransformFigure, cell);
        }
Пример #5
0
        private void RegisterFigureView(IFigureDef figureDef, IFigureViewPool figureViewPool,
                                        IDictionary <IFigureDef, IFigureViewPool> storagePools)
        {
            if (storagePools.ContainsKey(figureDef))
            {
                Debug.LogError($"Attempt to re-register figureDef:{figureDef}, figureViewPool:{figureViewPool}");
                return;
            }

            if (figureViewPool == null)
            {
                Debug.LogError("Attempt to add null figureViewPool");
                return;
            }

            storagePools.Add(figureDef, figureViewPool);
        }
Пример #6
0
 public FigureViewPool(IFigureViewFactory figureViewFactory, IFigureDef figureDef, GameTeam figureTeam)
 {
     figureViewFactory.CheckNull();
     figureViewFactory.RegisterFigureViewPool(figureDef, figureTeam, this);
 }
Пример #7
0
 public FigureEntity(IFigureDef def, GameTeam team)
 {
     Def  = def;
     Team = team;
 }