Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
Component.cs
浏览该文件的文档.
1using System;
2using System.Collections.Generic;
3using Engine;
5
6namespace GameEntitySystem {
7 public abstract class Component : IDisposable {
9
11
13
15
16 public Project Project => m_entity.Project;
17
18 public bool IsAddedToProject => m_entity.IsAddedToProject;
19
20 public virtual IEnumerable<Entity> GetOwnedEntities() => ReadOnlyList<Entity>.Empty;
21
22 public virtual void OnEntityAdded() { }
23
24 public virtual void OnEntityRemoved() { }
25
26 public virtual void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap) { }
27
28 public virtual void Save(ValuesDictionary valuesDictionary, EntityToIdMap entityToIdMap) { }
29
30 public virtual void Dispose() { }
31
32 public virtual void InheritFromComponent(Component baseComponent) { }
33
34 internal void DisposeInternal() {
35 GC.SuppressFinalize(this);
36 Dispose();
37 }
38
39 public virtual void Initialize(Entity entity, ValuesDictionary valuesDictionary) {
41 throw new InvalidOperationException("ValuesDictionary has invalid type.");
42 }
43 m_entity = entity;
44 m_valuesDictionary = valuesDictionary;
45 }
46 }
47}
virtual void InheritFromComponent(Component baseComponent)
ValuesDictionary ValuesDictionary
virtual void Save(ValuesDictionary valuesDictionary, EntityToIdMap entityToIdMap)
virtual void Initialize(Entity entity, ValuesDictionary valuesDictionary)
virtual void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
virtual IEnumerable< Entity > GetOwnedEntities()
ValuesDictionary m_valuesDictionary
DatabaseObjectType MemberComponentTemplateType
virtual GameDatabase GameDatabase