private void AddRenderable(Entity entity, MetaModel renderableEntity) { if (!IsVisible(renderableEntity, Renderer.Settings)) { return; } var model = Scene.View.Content.Acquire <Model9>(renderableEntity); renderableEntity.MetaModelChanged += new EventHandler(SortedTestSceneRendererConnector_MetaModelChanged); metaModelIdToEntity.Add(renderableEntity.InstanceID, entity); resources[entity].Add(renderableEntity.InstanceID, new Common.Tuple <Model9, MetaResource <Model9, Model10> >( model, (MetaResource <Model9, Model10>)renderableEntity.Clone())); Graphics.Renderer.Renderer.EntityAnimation ea = null; if (model.SkinnedMesh != null) { ea = Scene.View.Content.Acquire <Graphics.Renderer.Renderer.EntityAnimation>(entity.MetaEntityAnimation); ea.Update(model, 0.01f, ((MetaModel)renderableEntity).GetWorldMatrix(Scene.Camera, entity)); EntityAnimations.Add(entity, ea); ((MetaModel)renderableEntity).StoredFrameMatrices = ea.StoredFrameMatrices; } Renderer.Add(entity, renderableEntity, model, renderableEntity.InstanceID); }
protected void OnTriggerEnter2D(Collider2D collision) { Movement movement = collision.GetComponent <Movement>(); if (movement == null) { return; } Controller controller = movement.CurrentController; if (controller is CharacterController && !(movement is CharacterMovement)) { CharacterController character = controller as CharacterController; character.Deposess(); } EntityAnimations animations = collision.GetComponent <EntityAnimations>(); animations.FallInPit(); //Damageable damageable = collision.GetComponent<Damageable>(); //if (damageable != null) //{ // damageable.TakeDamage(int.MaxValue, transform.position, 0f); //} StartCoroutine(FallTowardCenter(collision.transform, collision)); }
protected void Awake() { possessable = GetComponentInChildren <Possessable>(); currentHealth = maxHealth; animations = GetComponent <EntityAnimations>(); movement = GetComponent <Movement>(); rigidBody = GetComponent <Rigidbody2D>(); }
private void RemoveRenderable(Entity entity, MetaModel renderableEntity) { if (!IsVisible(renderableEntity, Renderer.Settings)) { return; } renderableEntity.MetaModelChanged -= new EventHandler(SortedTestSceneRendererConnector_MetaModelChanged); metaModelIdToEntity.Remove(renderableEntity.InstanceID); #if BETA_RELEASE if (!resources.ContainsKey(entity)) { throw new Exception("resources[entity] fails"); } if (!resources[entity].ContainsKey(renderableEntity.InstanceID)) { throw new Exception("resources[entity][renderableEntity.InstanceID fails"); } //seems to be this one failing #endif var metaModel = resources[entity][renderableEntity.InstanceID].Second; var model = resources[entity][renderableEntity.InstanceID].First; if (model.SkinnedMesh != null) { #if BETA_RELEASE if (!EntityAnimations.ContainsKey(entity)) { throw new Exception("EntityAnimations[entity] fails"); } #endif Scene.View.Content.Release(EntityAnimations[entity]); EntityAnimations.Remove(entity); } Renderer.Remove(entity, metaModel, model, renderableEntity.InstanceID); Scene.View.Content.Release(model); resources[entity].Remove(renderableEntity.InstanceID); }
protected void Awake() { rigidBody = GetComponent <Rigidbody2D>(); animator = GetComponentInChildren <EntityAnimations>(); collider = GetComponent <Collider2D>(); }