public GameObject GetBiomOfType(EBiomType type) { var biomTag = ""; switch (type) { case EBiomType.Fel: { biomTag = "FEL"; break; } default: break; } return(GameObject.FindGameObjectWithTag(biomTag)); }
public void UpdateBiomVerticeNode(BiomVertice[] worldBiomVerticePosions, EBiomType biomType, int biomSize) { if (worldBiomVerticePosions != null) { _walkableBiomNode [biomType].Clear(); for (int i = 0; i < worldBiomVerticePosions.Length; i++) { var node = GetBiomNodeByPosition(worldBiomVerticePosions [i], biomSize); if (node == null) { continue; } node.Position = new Vector3(node.Position.x, worldBiomVerticePosions [i].WorldPosition.y, node.Position.z); node.BiomOwner = biomType; DetectUnwalkableCells(node); _walkableBiomNode [biomType].Add(node); } } }
private void OnTriggerEnter(Collider col) { switch (_currentState) { case EBonusState.Idle: { var brains = col.gameObject.GetComponent <SlaveBrains>(); targetOwner = brains.OwnerBiome; if (brains != null && brains.CratePickedUp == false) { transform.SetParent(col.gameObject.transform); transform.localPosition = new Vector3(0, 3f, 0); CrateBeingPicked(this, EventArgs.Empty); } break; } case EBonusState.Picked: { if (col.gameObject.layer == 9) { var biom = col.transform.parent.gameObject.GetComponentInParent <BiomBase>(); if (biom.BiomType == targetOwner) { biom.BiomPower += BonusValue; transform.SetParent(_rootTransform); gameObject.SetActive(false); } } break; } default: break; } }
public SlaveBrains[] GetSlavesOfBiome(EBiomType owner) { return(_registeredSlaves[owner].ToArray()); }
public void UnregisterSlave(SlaveBrains slave, EBiomType owner) { _registeredSlaves[owner].Remove(slave); }
public void RegisterSlave(SlaveBrains slave, EBiomType owner) { _registeredSlaves[owner].Add(slave); }
public Node GetWalkableBiomNode(EBiomType type) { var nodes = _walkableBiomNode [type]; return(nodes.LastOrDefault()); }