Parent not knowing father

After having some odd parenting issues with dynamically parented entities… Ive created a simple script to attach to objects so i can tract the parenting on real time…

var EntityReport = pc.createScript('entityReport');


EntityReport.prototype.initialize = function()
{
    var self = this;
    
    self.elementDivMain = document.createElement('div');
    self.elementDivMain.classList.add('entityReport');
    
    document.body.appendChild( self.elementDivMain );
    
    self.elementF1Name = document.createElement('f1');
    
    self.elementDivParent = document.createElement('div');
    self.elementDivParent.classList.add('parent');
    
    self.elementDivMain.appendChild( self.elementF1Name );
    self.elementDivMain.appendChild( self.elementDivParent );    
            
    self.functionUpdate = EntityReport.prototype.updateInitialized;
        
};


EntityReport.prototype.update = function(dt)
{
    this.functionUpdate.call( this, dt );    
};


EntityReport.prototype.updateInitialized = function(dt)
{
    var self = this;
    var strParentList;    
    var bHasParent = 
        (  ( self.entity.parent === null ) === false  );
    
    self.elementF1Name.textContent = self.entity.name;
        
    if( bHasParent )
    {
        var entityTraversedCurrent = self.entity.parent;
            
        while( bHasParent )
        {
            strParentList = entityTraversedCurrent.name + 
                                   " - " + strParentList;
            
            if(  ( entityTraversedCurrent.parent === null ) === false  )
            {
                bHasParent = false;
            }
            else
            {
                entityTraversedCurrent = entityTraversedCurrent.parent.entity;
            }            
        }
        
        self.elementDivParent.textContent = strParentList;
    }    
    
};


The result is the following:

<f1>entityBetUserInterface</f1>
<div class ="parent">entityHorizontal - undefined </div>

<f1>entitySpawner</f1>
<div class ="parent">entityBetUserInterface - undefined </div>

Hierarchy:

< Assembled >
└ < entityHorizontal >
   └ < entityBetUserInterface >
      └ < entitySpawner >

So you want to know path as string from entity all the way to root?
I’ve made just that, but in way less lines of code. I’ve noticed you have tendency to over complicate your code a lot.

var path = this.entity.name;
var parent = this.entity.parent;

while(parent) {
    path = parent.name + ' > ' + path;
    parent = parent.parent;
}

console.log(path);

Or this.entity.getPath() :stuck_out_tongue: