public bool VaildToAdd(EnityToJson jsonGameObject) { return(jsonGameObject.InstanceLimt == null || !EntityManager.InstanceCount.ContainsKey(jsonGameObject.Alias) || EntityManager.InstanceCount.ContainsKey(jsonGameObject.Alias) && EntityManager.InstanceCount[jsonGameObject.Alias] < jsonGameObject.InstanceLimt); }
public long AddCreatedGameObject(EnityToJson jsonGameObject, List <IPassValue> passedValues) { JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto }; var gameObject = new GameObject(ComponentManager); if (jsonGameObject.Alias != null) { gameObject.Alias = jsonGameObject.Alias; } var entID = EntityManager.CreateEntity(gameObject); gameObject = EntityManager.GetEntiy <GameObject>(entID); gameObject.Tags = jsonGameObject.Tags; jsonGameObject.Components.ForEach(i => { var jsonString = JsonConvert.SerializeObject(i, typeof(IComponent), settings); var com = JsonConvert.DeserializeObject <IComponent>(jsonString, settings); gameObject.AddComponent(com); }); AddressNeedsAndMangers(gameObject); var ent = EntityManager.GetEntiy <GameObject>(entID); foreach (var entry in passedValues) { dynamic dCom = ent.GetComponent <IComponent>(entry.TargetAlais); dCom.Value = entry.DValue; } return(entID); }