コード例 #1
0
            void CreateOrReinitLivingEntityData(BaseLivingEntityConfig entetyConfig, ref LivingEntityData entityData)
            {
                Vector3 getPosition(Vector2 normalizedPosition)
                {
                    var sb     = sceneBounds();
                    var center = sb.center;
                    var size   = sb.size;

                    size = new Vector3(normalizedPosition.x * size.x, normalizedPosition.y * size.y);
                    return(center + size);
                }

                if (entityData == null)
                {
                    entityData = new LivingEntityData();
                }

                var initData = entetyConfig.GetData();

                entityData.position  = getPosition(initData.position);
                entityData.rotation  = initData.rotation;
                entityData.scale     = initData.scale;
                entityData.speed     = initData.speed;
                entityData.baseColor = initData.color;
                entityData.layer     = initData.layer;
                entityData.radius    = initData.radius;
                entityData.alpha     = 0f;
            }
コード例 #2
0
            public void PopulateEntity(int index, LivingEntityData data, Vector3[] vertices, Color[] colors)
            {
                // Vertex

                int pointIndex = index * 4;

                var matrix = Matrix4x4.TRS(Vector3.zero, data.Rotation, data.Scale);

                var dataPosition = data.Position;

                Vector3 p1 = dataPosition + (Vector3)(matrix * _spriteVertices[0]);
                Vector3 p2 = dataPosition + (Vector3)(matrix * _spriteVertices[1]);
                Vector3 p3 = dataPosition + (Vector3)(matrix * _spriteVertices[2]);
                Vector3 p4 = dataPosition + (Vector3)(matrix * _spriteVertices[3]);

                vertices[pointIndex + 0] = p1;
                vertices[pointIndex + 1] = p2;
                vertices[pointIndex + 2] = p3;
                vertices[pointIndex + 3] = p4;

                // Color

                var dataColor = data.Color;

                colors[pointIndex + 0] = dataColor;
                colors[pointIndex + 1] = dataColor;
                colors[pointIndex + 2] = dataColor;
                colors[pointIndex + 3] = dataColor;
            }
コード例 #3
0
ファイル: LivingEntity.cs プロジェクト: Tiny-Spider/Blastwave
    public void Initalize(LivingEntityData <LivingEntity> data)
    {
        health    = data.health;
        maxHealth = data.maxHealth;
        moveSpeed = data.moveSpeed;
        names     = data.names;

        dead = health <= 0;
    }
コード例 #4
0
 public void Populate(int numberOfEntities, BaseLivingEntityConfig entetyConfig)
 {
     while (_enteties.Count < numberOfEntities)
     {
         LivingEntityData entityData = null;
         CreateOrReinitLivingEntityData(entetyConfig, ref entityData);
         _enteties.Add(entityData);
     }
 }