コード例 #1
0
        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);
        }
コード例 #2
0
    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));
    }
コード例 #3
0
 protected void Awake()
 {
     possessable   = GetComponentInChildren <Possessable>();
     currentHealth = maxHealth;
     animations    = GetComponent <EntityAnimations>();
     movement      = GetComponent <Movement>();
     rigidBody     = GetComponent <Rigidbody2D>();
 }
コード例 #4
0
        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);
        }
コード例 #5
0
 protected void Awake()
 {
     rigidBody = GetComponent <Rigidbody2D>();
     animator  = GetComponentInChildren <EntityAnimations>();
     collider  = GetComponent <Collider2D>();
 }