public void Awake() { foreach (var com in ComponentManager.GetInstance().AddingList) { com.Awake(); } }
public void Start() { ComponentManager.GetInstance().AddingList.RemoveWhere(delegate(Component com) { com.Start(); return(true); }); }
public void RemoveAllComponent() { componentContainer.RemoveAll(delegate(Component com) { ComponentManager.GetInstance().RemoveComponent(com); return(true); }); }
public Component AddComponent(Type type) { Component component = Activator.CreateInstance(type) as Component; component.entity = this; componentContainer.Add(component); ComponentManager.GetInstance().Add(component, type); return(component); }
public void InternalAddItem(Entity entity) { foreach (var com in entity.GetAllComponents()) { ComponentManager.GetInstance().AddingList.Add(com); } if (entity.transform != null) { foreach (var childTransform in entity.transform._children) { InternalAddItem(childTransform.entity); } } }
public void Render(Transform transform) { Camera camera = null; if (ComponentManager.GetInstance().componentPool.ContainsKey(typeof(Camera))) { if (ComponentManager.GetInstance().componentPool[typeof(Camera)][0] != null) { camera = ComponentManager.GetInstance().componentPool[typeof(Camera)][0] as Camera; } } if (camera == null) { return; } Matrix4 project = camera.ProjectMatrix; Matrix4 view = camera.ViewMatrix; Matrix4 model = transform.localToWorldMatrix; var shader = ResourceManager.GetInstance().meshShader; int myModelUniform = shader.GetUniformLocation(@"model"); GL.UniformMatrix4(myModelUniform, false, ref model); int myViewUniform = shader.GetUniformLocation(@"view"); GL.UniformMatrix4(myViewUniform, false, ref view); int myProjectUniform = shader.GetUniformLocation(@"project"); GL.UniformMatrix4(myProjectUniform, false, ref project); int myDiffuseUniform = shader.GetUniformLocation(@"diffuseTex"); GL.Uniform1(myDiffuseUniform, 0); GL.ActiveTexture(TextureUnit.Texture0); _textures[0].Bind(); shader.Use(); GL.BindVertexArray(vao); GL.DrawElements(BeginMode.Triangles, _indices.Count, DrawElementsType.UnsignedInt, 0); GL.BindVertexArray(0); GL.ActiveTexture(TextureUnit.Texture0); GL.BindTexture(TextureTarget.Texture2D, 0); }
public void RemoveComponent(Component com) { componentContainer.RemoveAll(delegate(Component target) { if (com == target) { ComponentManager.GetInstance().RemoveComponent(target); return(true); } else { return(false); } }); }
public void Update() { if (ComponentManager.GetInstance().componentPool.ContainsKey(typeof(Script))) { ComponentManager.GetInstance().componentPool[typeof(Script)].ForEach( delegate(Component script) { if (script.isAwake) { (script as Script).Update(); } } ); } UpdateTransform(); }
public void AddComponent(Component component) { component.entity = this; componentContainer.Add(component); ComponentManager.GetInstance().Add(component, component.GetType()); }