コード例 #1
0
ファイル: Graphics.cpp プロジェクト: The-Skas/Game-Engine
void Graphics::CallSpawnFunction(SpawnMessage* spawn)
{
  //relevant ifs to determine spawn type
  if (spawn->type == EntityID::Icecream)
  {
    GraphicsComponent *gcp = new GraphicsComponent;
    gcp->SetComponentId(CompID::Graphics);
    //gcp->type = EntityID::Icecream;
    gcp->trans = spawn->trans;
    gcp->SetOwner(spawn->owner);
    //pushes GCP, into the entity components 
    //that was passed in through the message.
    spawn->components->push_back(gcp);

    TexInstances[spawn->entid] = gcp;
  
  }
  else if (spawn->type == EntityID::ParticleGroup)
  {
   /*ParticleGroup *gcp;
    if (spawn->info == NULL)
      gcp = new ParticleGroup(1.0f,0.f,0.f, 30);
    else
    {
      std::cout << (((float *)spawn->info)[4]);
      gcp = new ParticleGroup((((float *)spawn->info)[1]), (((float *)spawn->info)[2]), (((float *)spawn->info)[3]), 
        (((float *)spawn->info)[4]), (((float *)spawn->info)[5]));
      //gcp = new ParticleGroup;
    }
    gcp->SetComponentId(CompID::ParticleGroup);
    //gcp->type = EntityID::ParticleGroup;
    gcp->trans = spawn->trans;
    gcp->SetOwner(spawn->owner);
    spawn->components->push_back(gcp);*/

 
    //NonTexInstances.push_back(gcp);
  }
  else if (spawn->type == EntityID::ParticleManager)
  {
    ParticleManager<ParticleGroup> *pcp = new ParticleManager<ParticleGroup>;
    pcp->trans = spawn->trans;
    pcp->SetOwner(spawn->owner);
    spawn->components->push_back(pcp);
    for (int i = 0; i < 50; ++i)
      pcp->AddParticle(new ParticleGroup(100));
    NonTexInstances[spawn->entid] = pcp;
  }
  else if (spawn->type == EntityID::ParticleSystem)
  {
    ParticleSystem * psys = new ParticleSystem;
    psys->trans = spawn->trans;
    psys->SetOwner(spawn->owner);
    spawn->components->push_back(psys);
    NonTexInstances[spawn->entid] = psys;
  }
};