public IViewController InitializeViewForEntity(GameEntity entity) { EntityViewBehaviour instantiatedEntityView = PoolingManager.Fetch(PoolingManager.EntityView).GetComponent <EntityViewBehaviour>(); instantiatedEntityView.Entity = entity; entity.ReplaceView(instantiatedEntityView); _entityViewBehaviourInitializer.Initialize(instantiatedEntityView); return(instantiatedEntityView); }
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); }