Rev 1712 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package com.gebauz.bauzoid2.entities;
import com.gebauz.bauzoid2.entities.components.Component;
import com.gebauz.bauzoid2.entities.components.ComponentManager;
import java.util.Vector;
public abstract class GameObject
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Fields===========================================================================================
public Vector<Component> Components =
new Vector<Component>();
// Methods==========================================================================================
public GameObject
()
{
}
public void init
()
{
}
public void exit
()
{
for (Component c : Components
)
{
c.
exit();
}
Components.
clear();
}
public <T
extends Component> T addComponent
(T component
)
{
ComponentManager
<T
> mgr = component.
getManager();
mgr.
addComponent(component
);
return component
;
}
public <T
extends Component> T getComponent
(Class<T
> type
)
{
for (Component c : Components
)
{
if (type.
isInstance(c
))
return type.
cast(c
);
}
return null;
}
// Getters/Setters==================================================================================
}