private void Initialise() { Aliases = new List <Verticle>(); Triangles = new List <Vector3>(); meshState = VerticleState.Standard; WallsWaitingToBeMade = new List <int>(); }
public void Update() { if (state == VerticleState.Destroyed) { return; } if (state == VerticleState.Ground) { return; } if (health <= 0) { Destroy(); state = VerticleState.Destroyed; return; } if (state == VerticleState.Burning) { InflictDamage(); TryToFireLinkedAliases(); TryToFireLinkedAliasesFromOtherBranches(); } if (TryingToBeFired && state != VerticleState.Burning) { state = VerticleState.Burning; } }
private void Initialise() { Aliases = new List <Verticle>(); Triangles = new List <Vector3>(); meshState = VerticleState.Standard; WallsWaitingToBeMade = new List <int>(); PlannedTrianglesToBeMadeBetweenAliasAndTwin = new List <Vector2>(); }
private void Initialise() { Triangles = new List <int>(); LinkedAliases = new List <int>(); Aliases = new List <int>(); state = VerticleState.Standard; positionAbsolute = Vector3.zero; health = 1.0f; }
private void CheckIfSeparated() { int currentNumber = -1; for (int i = 0; i < Aliases.Count / 2; i++) { VerticleState state = Aliases[i].state; if ((state == VerticleState.Standard) || (state == VerticleState.Burning)) //we have found a normal Alias { currentNumber = i; break; } } if (currentNumber != -1) //if we in fact found something { List <int> LinkedList = new List <int>(); int CurrentNumberOfGroundAliases = 0; SeparationCheckLinkedAliases(currentNumber, LinkedList, ref CurrentNumberOfGroundAliases); } }
public void ImmediatelyDestroy() //don,t bother sending info to other aliases, just change Traingles list in MeshManager and verticleState { DestroyTriangles(); state = VerticleState.Destroyed; for (int i = 0; i < LinkedAliases.Count; i++) { OwnerManager.Aliases[LinkedAliases[i]].RemoveLink(number); foreach (int l in Triangles) { OwnerManager.Aliases[LinkedAliases[i]].RemoveLink(number); } RemoveLink(LinkedAliases[i]); } RemoveAllLinksToOtherBranches(); if ((OwnerManager.IsMeshThick == true) && IsATwin == false) //send info to twin { OwnerManager.Aliases[number + (OwnerManager.Aliases.Count / 2)].ImmediatelyDestroy(); } }
public void Update() { if (health == 9999f) //it is still unassigned { health = CalculateHealth(); } if (state == VerticleState.Destroyed) { return; } if (state == VerticleState.Ground) { return; } if (health <= 0) { Destroy(); state = VerticleState.Destroyed; return; } if (state == VerticleState.Burning) { InflictDamage(); TryToFireLinkedAliases(); TryToFireLinkedAliasesFromOtherBranches(); } if ((TryingToBeFired >= 1f) && state != VerticleState.Burning) { state = VerticleState.Burning; OwnerManager.ownerManager.StartFireOfVerticleInInterMeshConnection(OwnerManager.number, number); } }