Ejemplo n.º 1
0
        public GameObject GetBiomOfType(EBiomType type)
        {
            var biomTag = "";

            switch (type)
            {
            case EBiomType.Fel:
            {
                biomTag = "FEL";
                break;
            }

            default:
                break;
            }
            return(GameObject.FindGameObjectWithTag(biomTag));
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
 public SlaveBrains[] GetSlavesOfBiome(EBiomType owner)
 {
     return(_registeredSlaves[owner].ToArray());
 }
Ejemplo n.º 5
0
 public void UnregisterSlave(SlaveBrains slave, EBiomType owner)
 {
     _registeredSlaves[owner].Remove(slave);
 }
Ejemplo n.º 6
0
 public void RegisterSlave(SlaveBrains slave, EBiomType owner)
 {
     _registeredSlaves[owner].Add(slave);
 }
Ejemplo n.º 7
0
        public Node GetWalkableBiomNode(EBiomType type)
        {
            var nodes = _walkableBiomNode [type];

            return(nodes.LastOrDefault());
        }