Exemple #1
0
        public IViewController InitializeViewForEntity(GameEntity entity)
        {
            EntityViewBehaviour instantiatedEntityView = PoolingManager.Fetch(PoolingManager.EntityView).GetComponent <EntityViewBehaviour>();

            instantiatedEntityView.Entity = entity;
            entity.ReplaceView(instantiatedEntityView);

            _entityViewBehaviourInitializer.Initialize(instantiatedEntityView);

            return(instantiatedEntityView);
        }
Exemple #2
0
        public void Initialize(EntityViewBehaviour entityViewBehaviour)
        {
            GameEntity entity = entityViewBehaviour.Entity;

            entityViewBehaviour.SetStatus(ViewStatusClass.SuspiciousnessRelated, null);
            entityViewBehaviour.transform.parent = _sceneContext.EntitiesParent;
            if (entity.hasPosition)
            {
                entityViewBehaviour.SetSprite(entity.looks.BodySprite, Color.white);
                entityViewBehaviour.RefreshWorldPosition();
            }

            entityViewBehaviour.name = entity.recipee.RecipeeName;

            if (_gameConfig.ModeConfig.Vision != Vision.Permanent && !_contextManager.Current.VisibleEntities.Contains(entity.view.Controller))
            {
                entityViewBehaviour.Hide();
            }
            entityViewBehaviour.gameObject.SetActive(true);
            entityViewBehaviour.EntityUiPresenter.SetIntegrityRatio(entity.hasIntegrity ? entity.integrity.Integrity / entity.integrity.MaxIntegrity : 1f);
        }