IEnumerator ConsumingFood() { ReusableWaitForSecondsEnumerator wait = new ReusableWaitForSecondsEnumerator(0.1f); while (true) { var mealStructs = entitiesDB.QueryEntities <MealEntityStruct>(GameGroups.FOOD, out var foodcount); for (var j = 0; j < foodcount; j++) { mealStructs[j].mealLeft -= mealStructs[j].eaters; mealStructs[j].eaters = 0; if (mealStructs[j].mealLeft <= 0) { _entityFunctions.RemoveEntity <FoodEntityDescriptor>(mealStructs[j].ID); } } while (wait.IsDone() == false) { yield return(Yield.It); } } }
protected override void Add(BehaviourEntityViewForSimpleEntity entity) { #if !PROFILE Utility.Console.Log("EntityView Added"); _entityFunctions.RemoveEntity <SimpleEntityDescriptor>(entity.ID); #endif }
protected override void Add(BehaviourEntityViewForEntity entity) { if (entity.simpleComponent.isInGroup == false) { Console.Log("EntityView Added"); _entityFunctions.RemoveEntity(entity.ID); } else { Console.Log("Grouped EntityView Added"); _entityFunctions.SwapEntityGroup(entity.ID, 0, 1); Console.Log("Grouped EntityView Swapped"); _entityFunctions.RemoveEntity(entity.ID); } }
IEnumerator CheckIfDead() { while (true) { var players = entitiesDB.QueryEntities <HealthEntityStruct>(ECSGroups.Player, out var numberOfPlayers); for (var i = 0; i < numberOfPlayers; i++) { if (players[i].dead) { _playerDeathSequence.Next(this, PlayerDeathCondition.Death, players[i].ID); _functions.RemoveEntity <PlayerEntityDescriptor>(players[i].ID); } } yield return(null); } }
IEnumerator ConsumingFood() { while (true) { var hungryDoofuses = entitiesDB.QueryEntities <HungerEntityStruct>(GameGroups.DOOFUSES, out var doofusesCount); for (var j = 0; j < doofusesCount; j++) { if (hungryDoofuses[j].hunger > 1000) { _entityFunctions.RemoveEntity <DoofusEntityDescriptor>(hungryDoofuses[j].ID); } } yield return(Yield.It); } }
private void OnZombieDeath(int ID, bool isAlive) { m_EntityFunctions.RemoveEntity(ID); }