public async Task <IActionResult> Edit(int id, [Bind("ID,BacteriaName,x,y,boxID")] Bacteria bacteria) { if (id != bacteria.ID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(bacteria); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BacteriaExists(bacteria.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(bacteria)); }
public IEnumerator StartInvasionCoroutine() { BacteriaInvasionConfig config = m_invasionsConfigurations[m_currentInvasionIndex++]; m_invasion = new List <Bacteria>(config.bacteriasCount); Transform[] spawnPoints = config.spawnPoints; int spawnPointsCount = spawnPoints.Length; Transform[] targets = config.targets; int targetsCount = targets.Length; int bacteriasCount = config.bacteriasCount - m_reductionPerAnticipationRank * TechTree.TechRank(TechID.Evol_Anticipation); int i = 0; while (i < bacteriasCount) { for (int j = 0; j < m_bacteriasCountSpawnAtATime; j++) { Bacteria bacteria = Instantiate(config.bacteria); bacteria.transform.SetParent(transform); bacteria.transform.position = spawnPoints[i % spawnPointsCount].position; bacteria.AttackPosition(targets[i % targetsCount].position); bacteria.SetProperties(config.bacteriasProperties); bacteria.resourcesValue = config.resourcesValuesOnDie; m_invasion.Add(bacteria); i++; } yield return(new WaitForSeconds(m_timeBetweenBacteriasSpawn)); } }
public void setPhase(string text) { valuePhase = int.Parse(text); switch (text) { case "1": bacterias = new Bacteria[] { listBacterias[6], listBacterias[1], listBacterias[2], listBacterias[3], listBacterias[8] }; contaminant = new Contaminant("Diesel", 300f, 240f, Type.Diesel); variables = new VariablesEnviroment(5.7f, 25f, Moisture.medium); objectiveValue = ((30f) / contaminant.qtdMax); break; case "2": bacterias = new Bacteria[] { listBacterias[0], listBacterias[1], listBacterias[2], listBacterias[3], listBacterias[4] }; contaminant = new Contaminant("Biodiesel", 300f, 225f, Type.Biodiesel); variables = new VariablesEnviroment(6.9f, 27f, Moisture.low); objectiveValue = ((30f) / contaminant.qtdMax); break; case "3": bacterias = new Bacteria[] { listBacterias[0], listBacterias[1], listBacterias[2], listBacterias[3], listBacterias[4] }; contaminant = new Contaminant("Diesel", 300f, 250f, Type.Diesel); variables = new VariablesEnviroment(6f, 16f, Moisture.high); objectiveValue = ((30f) / contaminant.qtdMax); break; case "4": bacterias = new Bacteria[] { listBacterias[0], listBacterias[1], listBacterias[2], listBacterias[4], listBacterias[5] }; contaminant = new Contaminant("Diesel", 300f, 280f, Type.Biodiesel); variables = new VariablesEnviroment(6.6f, 31f, Moisture.low); objectiveValue = ((30f) / contaminant.qtdMax); break; } }
public ActionResult DeleteConfirmed(int id) { Bacteria bacteria = db.Bacteria.Find(id); db.Bacteria.Remove(bacteria); db.SaveChanges(); return(RedirectToAction("Index")); }
//bool isDead; //bool damaged; // Use this for initialization void Start() { //health stats possibly working, can't check while colliders aren't functioning. currentHealth = startHealth; GameObject enemyDamage = GameObject.Find("Bacteria 1"); bacteriaScript = enemyDamage.GetComponent <Bacteria>(); }
private float calculateEatNegative(Bacteria b, float sum, int qtdNutri, int random) { if (b.qtd < 10) { return(1); } return((float)((Math.Abs(qtdNutri - random) * absRateNutrient))); }
void OnCollisionEnter(Collision col) { Bacteria bacteria = col.transform.GetComponent <Bacteria>(); if (bacteria != null) { bacteria.KillMe(); } }
void Start() { bacteriaScript = GetComponent <Bacteria> (); uiCanvas = (Canvas)FindObjectOfType(typeof(Canvas)); uiObject = Instantiate(enemyUIPrefab) as GameObject; uiObject.transform.SetParent(uiCanvas.transform); uiImage = uiObject.GetComponentInChildren <Image>(); }
public BacterialState() { bacteriaTypes = new Dictionary <BacteriumType, Bacteria>(); foreach (BacteriumType bt in Enum.GetValues(typeof(BacteriumType))) { bacteriaTypes[bt] = new Bacteria(bt, amt: bInits[bt].Item1, optimal: bInits[bt].Item2, growthRate: bInits[bt].Item3, productionRate: bInits[bt].Item4); } }
public void executeBioaugmentation(int pos) { bioaugmentationPoupUp.SetActive(false); listBacterias[pos].qtd += (int)(500 * absRateNutrient); bacteriaEffectBiaum = listBacterias[pos]; applyAction(Action.Bioaumentation, (int)(valueBioaum), new Vector3(6.66f, 1, 1), costBioaum); closeSelectAction(); enableAllButtons(); }
public static Bacteria[] getClone(Bacteria[] bacs) { Bacteria[] bacsTemp = new Bacteria[5]; for (int i = 0; i < 5; i++) { bacsTemp[i] = (Bacteria)bacs[i].MemberwiseClone(); } return(bacsTemp); }
// GET: Bacterias/CreateBacteria/1/1 public IActionResult CreateBacteria(int X, int Y, int boxID) { var bacteria = new Bacteria(); bacteria.x = X; bacteria.y = Y; bacteria.boxID = boxID; return(View(bacteria)); }
public ActionResult Edit([Bind(Include = "ID,Name,Specie,Taxonomy,Definition,GramStaining,Shape,OxygenRequirement,ClinicalCharacteristics,Prevalance,Occurence,Mortality,InvolinDiseases,CausingInfections,Likeness,Treatment,Antibiotics,MDR,InteractionWithOrganism")] Bacteria bacteria) { if (ModelState.IsValid) { db.Entry(bacteria).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(bacteria)); }
public override int GetHashCode() { unchecked { var hashCode = (GroupNum != null ? GroupNum.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Bacteria != null ? Bacteria.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ClusterType != null ? ClusterType.GetHashCode() : 0); return(hashCode); } }
public async Task <IActionResult> Create([Bind("ID,BacteriaName,x,y,boxID")] Bacteria bacteria) { if (ModelState.IsValid) { _context.Add(bacteria); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(bacteria)); }
// Start is called before the first frame update void Start() { Antibiotic ab = new Antibiotic("Gram Negative"); Bacteria ba = new Bacteria(); Bacteria bb = new Bacteria("Gram Negative"); Virus vi = new Virus(); ab.normalAttack(ba); ab.normalAttack(bb); ab.normalAttack(vi); }
protected virtual float CheckEating(Collider2D col) { if (col.CompareTag("Bacteria")) { Bacteria bacteriaInfo = col.GetComponent <Bacteria>(); if (bacteriaInfo.GetCurrentMass() < currentMass) { ChangeColor(bacteriaInfo.CurrentColor, bacteriaInfo); bacteriaInfo.Die(); if (currentMass < 100) { currentMass += bacteriaInfo.GetCurrentMass() * 0.2f; } else { currentMass += bacteriaInfo.GetCurrentMass() * 0.05f; } LerpScale(); } else if (bacteriaInfo.GetCurrentMass() > currentMass) { if (this.GetComponent <Player>() != null) { this.GetComponent <Player>().Die(); } else { this.Die(); } } else if (bacteriaInfo.GetCurrentMass() == currentMass) { //Do nothing } return(bacteriaInfo.GetCurrentMass()); } else if (col.CompareTag("Player")) { Player player = col.GetComponent <Player>(); if (this.currentMass > player.GetCurrentMass()) { ScoreManager.won = false; player.Die(); } } return(-1.0f); }
public void StopInvasion() { for (int i = 0; i < m_invasion.Count; i++) { Bacteria bacteria = m_invasion[i]; if (bacteria) { Destroy(bacteria.gameObject); } } m_invasion = null; }
// GET: Bacteria/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Bacteria bacteria = db.Bacteria.Find(id); if (bacteria == null) { return(HttpNotFound()); } return(View(bacteria)); }
protected void UpdateRealtimeProperties() { float multiplierLevel; if (HasProperty(BacteriaProperty.Multiplier, out multiplierLevel)) { if (Random.Range(0f, 1f) < (BacteriasManager.BacteriaPropertyAtLevel(BacteriaProperty.Multiplier, multiplierLevel) * Time.deltaTime)) { Bacteria bacteria = Instantiate(this); bacteria.m_commandsQueue = new Queue <UnitCommands.UnitCommand>(m_commandsQueue); bacteria.transform.SetParent(transform.parent); BacteriasManager.singleton.AddBacteriaToInvasion(bacteria); } } }
protected override float CheckEating(Collider2D col) { float returnVal = base.CheckEating(col); if (col.CompareTag("Bacteria")) { Bacteria bacteriaInfo = col.GetComponent <Bacteria>(); if (bacteriaInfo.GetCurrentMass() < currentMass) { ScoreManager.playerScore += (int)bacteriaInfo.GetCurrentMass() * ScoreManager.scoreMultiplyer; EatingAudio(); } } return(returnVal); }
void Awake() { listBacterias = Bacteria.getClone(ScenesManager.bacterias); contaminant = ScenesManager.contaminant.getClone(); variables = ScenesManager.variables.getClone(); objectiveValue = ScenesManager.objectiveValue; parameters = new Parameters(); log = new LogEvent(); manageLanguagePhase = FindObjectOfType <ManageLanguagePhase>(); taxa = parameters.taxa; scorePercentageLost = parameters.scorePercentageLost; numDaysEffect = parameters.numDaysEffect; numberDayCicles = parameters.numberDayCicles; timeDay = parameters.timeDay; scoreLoss10days = parameters.scoreLoss10days; costAtenuation = parameters.costAtenuation; costBioest = parameters.costBioest; costBioaum = parameters.costBioaum; valueAtenuation = parameters.valueAtenuation; valueBioest = parameters.valueBioest; valueBioaum = parameters.valueBioaum; day = 1; score = 300; previousScore = score; actionEffect = Action.None; absRateNutrient = 1; globalEnviroment = -2; scorePrevious = score; contaminantPrevious = contaminant.percentage; valuePrevious = contaminant.qtd; degRate = new float[5]; dataDegradeted = new List <float>(); for (int i = 0; i < 5; i++) { degRate[i] = listBacterias[i].degRate; } }
public Bacteria AddBacteria(Vector3?position = null, Bacteria parentBacteria = null) { if (bacteriesCount <= Capasity) { Bacteria newBacteria = Instantiate <Bacteria>(bacteria, gameObject.transform); if (parentBacteria) { List <int> tmp = new List <int>(parentBacteria.commandList); newBacteria.parent = parentBacteria; newBacteria.commandList = tmp; } if (position != null) { newBacteria.transform.position = (Vector3)position; } bacteriesCount += 1; return(newBacteria); } return(null); }
private void Replicate(Bacteria bacteria) { // Replication if (bacteria.replicationCooldown <= 0 && _Active.Count < MAX_NB_OF_BACTERIAS) { // Create new fresh bacteria Origin origin = bacteria.gameObject.GetComponent <Origin>(); GameObject clone = Object.Instantiate(YellowPageUtils.GetSourceObject(holder, origin.sourceObjectKey)); clone.transform.position = bacteria.transform.position; // Bind it to FYFY GameObjectManager.bind(clone); // Reset cooldown bacteria.replicationCooldown = bacteria.replicationDelay; } else { bacteria.replicationCooldown -= Time.deltaTime; } }
private void Update() { //Debug.Log("numberOfBacteriasInQueue: " + numberOfBacteriasInQueue); //Debug.Log("startGenerating: " + startGenerating); if (numberOfBacteriasInQueue > 0 && startGenerating) { if (Time.timeSinceLevelLoad > startAfterTime) { startAfterTime += repeatingTime; var bacteria = Instantiate(bacteriaPrefab, transform.position, Quaternion.identity); //var bacteria = Instantiate(Resources.Load("Bacteria/Bacteria") as GameObject, transform.position, Quaternion.identity); Bacteria bac = bacteria.GetComponent <Bacteria>(); bac.SetNucleusSequence(GenerateNucleusSequence(difficultyLevel)); bac.SetSpeed(newCellSpeed); bac.SetWaypoints(waypoints); //bac.transform.parent = bacteriaHolder.transform; if (numberOfBacteriasInQueue > 0) { numberOfBacteriasInQueue--; } } } }
void OnTriggerEnter2D(Collider2D col) { Enemy enemy = col.GetComponent <Enemy>(); if (enemy != null) { if (enemy is Bacteria) { Bacteria b = enemy as Bacteria; b.splat.Play(); } enemy.Die(); if (owner == Player.PlayerNum.PlayerOne) { GameManager.instance.p1Score += 25; } else { GameManager.instance.p2Score += 25; } } hasHit = true; }
public void RunLifeCycle() { //Debug.Log("started life"); //count total neighgour's bacteria amount float totalBacteria = 0f; if (amount < 0.0011f) { return; } foreach (GameObject neighbour in neighbours) { if (float.IsNaN(neighbour.GetComponent <Bacteria>().amount)) { return; } totalBacteria += neighbour.GetComponent <Bacteria>().amount; } //plus self totalBacteria += amount; if (totalBacteria <= 0.0001f) { return; } if (GetComponent <GridCell>().antibiotics.Count > 0) { //die 100 or all (max(amount-100, 0)) Debug.Log("killing bac"); amount = Mathf.Max(amount - 100.0f, 0f); UpdateGridColor(); previousColor = GetComponent <SpriteRenderer>().color; return; } float newBacteriaAmount = amount * 1 / sqrt2; float mutationRnd = UnityEngine.Random.Range(0f, 100f); if (mutationRnd < baseMutationRate * 100f && Time.time > 60f) { //mutate if (nextGenBacteriaType != null) { Mutate(); Destroy(GetComponent <Bacteria>()); gameObject.AddComponent(nextGenBacteriaType); (GetComponent(nextGenBacteriaType.Name) as Bacteria).row = row; (GetComponent(nextGenBacteriaType.Name) as Bacteria).col = col; (GetComponent(nextGenBacteriaType.Name) as Bacteria).neighbours = neighbours; return; } } float randNeighbour = UnityEngine.Random.Range(0, neighbours.Count - 0.01f); Bacteria neighbourBacteria = neighbours[Mathf.FloorToInt(randNeighbour)].GetComponent <Bacteria>(); neighbourBacteria.baseColor = this.baseColor; if (amount < GameControl.maxBacteriaPerCell) { neighbourBacteria.amount += newBacteriaAmount; float oldAmount = amount; amount *= 1 / sqrt2; GameControl.self.totalBacteria += (newBacteriaAmount + amount - oldAmount); } else { float oldAmount = amount; amount *= 1 / sqrt3; //sqrt of 1/3 GameControl.self.totalBacteria += (amount - oldAmount); } //update my color UpdateGridColor(); }
private void InitBacteria(GameObject go) { Bacteria b = go.GetComponent <Bacteria>(); b.replicationCooldown = Random.Range(0, b.replicationDelay); }
protected void ChangeColor(Color addedColor, Bacteria eatenBacteria) { currentColor = ColorCalculator.MergeColors(currentColor, currentMass, addedColor, eatenBacteria.GetCurrentMass()); ApplyCurrentColor(); }
// Use this for initialization void Start() { bacteria = GetComponent <Bacteria>(); }