protected override void ExecuteInsertUnitCommand(string[] commandWords) { Unit unit = null; switch (commandWords[1]) { case "Tank": unit = new Tank(commandWords[2]); break; case "Marine": unit = new Marine(commandWords[2]); break; case "Parasite": unit = new Parasite(commandWords[2]); break; case "Queen": unit = new Queen(commandWords[2]); break; default: break; } if (unit != null) { base.InsertUnit(unit); } base.ExecuteInsertUnitCommand(commandWords); }
protected override void ExecuteInsertUnitCommand(string[] commandWords) { switch (commandWords[1]) { case "Marine": var marine = new Marine(commandWords[2]); base.InsertUnit(marine); break; case "Parasite": var parasite = new Parasite(commandWords[2]); base.InsertUnit(parasite); break; case "Queen": var queen = new Queen(commandWords[2]); base.InsertUnit(queen); break; case "Tank": var tank = new Tank(commandWords[2]); base.InsertUnit(tank); break; default: base.ExecuteInsertUnitCommand(commandWords); break; } }
protected override void ExecuteInsertUnitCommand(string[] commandWords) { switch (commandWords[1]) { case "Tank": var tank = new Tank(commandWords[2]); this.InsertUnit(tank); break; case "Marine": var marine = new Marine(commandWords[2]); this.InsertUnit(marine); break; case "Parasite": var parasite = new Parasite(commandWords[2]); this.InsertUnit(parasite); break; case "Queen": var queen = new Queen(commandWords[2]); this.InsertUnit(queen); break; default: base.ExecuteInsertUnitCommand(commandWords); break; } }
public void ReturnInfestInteraction_WhenDecideInteractionWithValidUnitIsCalled() { var infestUnit = new Parasite("Boris"); List <UnitInfo> units = new List <UnitInfo>(); var dog = new UnitInfo(new Dog("Sharo")); units.Add(dog); var result = infestUnit.DecideInteraction(units); Assert.AreEqual(InteractionType.Infest, result.InteractionType); }
public void ReturnPassiveInteraction_WhenDecideInteractionIsCalledWithNullUnitId() { var infestUnit = new Parasite("Boris"); List <UnitInfo> units = new List <UnitInfo>(); var parasite = new Parasite(null); var unitInfo = new UnitInfo(parasite); units.Add(unitInfo); var result = infestUnit.DecideInteraction(units); Assert.AreEqual(Interaction.PassiveInteraction, result); }
// Start is called before the first frame update void Start() { _parasite = FindObjectOfType <Parasite>(); if (this.name.Contains("00")) { _targetOrgan = GameObject.Find("OrganPurple00").transform; } else if (this.name.Contains("01")) { _targetOrgan = GameObject.Find("OrganOrange01").transform; } else { _targetOrgan = GameObject.Find("OrganGreen02").transform; } }
public void ReturnAttackInteractionType_WhenInteractWithAttackableUnit() { var marine = new Marine("Pesho"); var parasite = new Parasite("Boris"); var queen = new Queen("Tereza"); var parasiteInfo = new UnitInfo(parasite); var queenInfo = new UnitInfo(queen); var marineInfo = new UnitInfo(marine); List <UnitInfo> units = new List <UnitInfo>(); units.Add(parasiteInfo); units.Add(queenInfo); var result = marine.DecideInteraction(units); var expected = new Interaction(marineInfo, queenInfo, InteractionType.Attack); Assert.AreEqual(expected.InteractionType, result.InteractionType); }
public void TargetUnithWithMaxHealth_WhenThereAreMoreThanOneUnit() { var marine = new Marine("Pesho"); var parasite = new Parasite("Boris"); var queen = new Queen("Tereza"); var parasiteInfo = new UnitInfo(parasite); var queenInfo = new UnitInfo(queen); var marineInfo = new UnitInfo(marine); List <UnitInfo> units = new List <UnitInfo>(); units.Add(parasiteInfo); units.Add(queenInfo); var result = marine.DecideInteraction(units); var expected = new Interaction(marineInfo, queenInfo, InteractionType.Attack); Assert.AreEqual(expected.TargetUnit, result.TargetUnit); }
public void SetVamparasite() { // Don't activate vamparasite more than once if (isVamparasite) { return; } isVamparasite = true; try { Parasite parasite = (Parasite)owner.GetCharacter(); if (parasite != null) { parasite.ChangeToVampColour(); } } catch {} GameObject mutationAlertPrefab = Resources.Load("MutationAlert") as GameObject; GameObject.Instantiate(mutationAlertPrefab, owner.GetCharacter().transform.position + (Vector3)HEALTH_ALERT_OFFSET, Quaternion.identity); UiManager.Instance.ActivateMutation(0); }
// === function to infect the object to its left public void InfectLeft(int infect) { if (delay != 0) { delay -= 1; } Decay(); // raycast to the left RaycastHit2D[] hitLeft = Physics2D.RaycastAll(transform.position, Vector2.left, 0.2f); // refrence to the object to the left Parasite par = hitLeft[2].collider.gameObject.GetComponent <Parasite>(); if (infect > 0) { infect -= 1; par.InfectLeft(infect); } if (decay >= 2 && par.decay < 5 && delay == 0) { delay += 1; par.InfectLeft(0); } }
public override void Apply(Parasite p) { p.resistance = resistance; }
public override void Apply(Parasite p) { p.range = range; }
public void ReturnCorrectHealthValue_WhenProperyHealthIsCalled() { var parasite = new Parasite("Koko"); Assert.AreEqual(1, parasite.Health); }
private void GenerateField() { Debug.Log("generate field"); //XZ to XY size.x = (int)topRight.position.x - (int)bottomLeft.position.x; size.y = (int)topRight.position.z - (int)bottomLeft.position.z; grid = new Segment[size.x, size.y]; //Find valid floor for (int x = 0; x < size.x; ++x) { for (int y = 0; y < size.y; ++y) { Vector3 point = new Vector3((float)x + 0.5f, rayHeight, (float)y + 0.5f) + bottomLeft.position; //See if we can place a grid segment here RaycastHit hit; //if (Physics.Raycast(point, Vector3.down, out hit, rayHeight + 1.0f, layers)) if (Physics.BoxCast(point, new Vector3(width, width, width), Vector3.down, out hit, Quaternion.Euler(0, 0, 0), rayHeight + 1.0f, layers)) { //Valid object hit if (hit.transform.gameObject.layer == 8) { grid[x, y] = new Segment(); grid[x, y].direction[0] = Vector3.zero; continue; } //Obstruction but it might be destroyed in the future else if (hit.transform.gameObject.GetComponent <DestructableObjects>() != null) { //grid[x, y] = new Segment(); //grid[x, y].direction[0] = Vector3.zero; Parasite para = hit.transform.gameObject.GetComponent <Parasite>(); //Put some data into the obstruction for when its destryed if (para == null) { para = hit.transform.gameObject.AddComponent <Parasite>(); } //Add data para.Add(x, y); //continue; } } //No hit/bad hit grid[x, y] = null; } } //Loop to assign neighbours correctly for (int x = 0; x < size.x; ++x) { for (int y = 0; y < size.y; ++y) { if (grid[x, y] == null) { continue; } //Someones about to get justed //0↑ if (y != 0) { grid[x, y].neighbours[0] = grid[x, y - 1]; } //1↗ if (x != size.x - 1 && y != 0) { grid[x, y].neighbours[1] = grid[x + 1, y - 1]; } //2→ if (x != size.x - 1) { grid[x, y].neighbours[2] = grid[x + 1, y]; } //3↘ if (x != size.x - 1 && y != size.y - 1) { grid[x, y].neighbours[3] = grid[x + 1, y + 1]; } //4↓ if (y != size.y - 1) { grid[x, y].neighbours[4] = grid[x, y + 1]; } //5↙ if (x != 0 && y != size.y - 1) { grid[x, y].neighbours[5] = grid[x - 1, y + 1]; } //6← if (x != 0) { grid[x, y].neighbours[6] = grid[x - 1, y]; } //7↖ if (x != 0 && y != 0) { grid[x, y].neighbours[7] = grid[x - 1, y - 1]; } } } }
private void Awake() { instance = this; _parasite = FindObjectOfType <Parasite>(); }
public void CreateAnInstance() { var parasite = new Parasite("Koko"); Assert.IsInstanceOf(typeof(Parasite), parasite); }
public override void Apply(Parasite p) { p.qteDecreaser = QteDecreasment; }
// Start is called before the first frame update void Start() { parasite = GetComponent <Parasite>(); }
public abstract void Apply(Parasite p);
public void ReturnCorrectAggressionValue_WhenProperyAggressionIsCalled() { var parasite = new Parasite("Koko"); Assert.AreEqual(1, parasite.Aggression); }
public ParasiteThinkBehaviour(Parasite parasite) { this.parasite = parasite; }
public override void Apply(Parasite p) { p.controlSpeed = speed; }
protected virtual void ExecuteInsertUnitCommand(string[] commandWords) { switch (commandWords[1]) { case "Dog": var dog = new Dog(commandWords[2]); this.InsertUnit(dog); break; case "Human": var human = new Human(commandWords[2]); this.InsertUnit(human); break; case "Tank": var tank = new Tank(commandWords[2]); this.InsertUnit(tank); break; case "Marine": var marine = new Marine(commandWords[2]); this.InsertUnit(marine); break; case "Parasite": var parasite = new Parasite(commandWords[2]); this.InsertUnit(parasite); break; case "Queen": var queen = new Queen(commandWords[2]); this.InsertUnit(queen); break; default: break; } }
public void ReturnCorrectPowerValue_WhenProperyPowerIsCalled() { var parasite = new Parasite("Koko"); Assert.AreEqual(1, parasite.Power); }