Ejemplo n.º 1
0
    private void SetupLimbs()
    {
        var numBranches = ChromosomeComposition.GetBranchCount();

        ChromosomeComposition.SetNumberOfBranches(numBranches);

        var angXDrive = new JointDrive {
            mode = JointDriveMode.Position
        };

        for (var i = 0; i < numBranches; i++)
        {
            _limbs = ChromosomeComposition.GetLimbList(i);
            var actualLimbs = new List <GameObject>();

            var effects = new List <GameObject>();
            for (var j = 0; j < _limbs.Count; j++)
            {
                Limb limbScript;
                var  limb = SetupSubLimb(i, j, actualLimbs, angXDrive, out limbScript);

                effects.Add(Resources.Load("Prefabs/particles01") as GameObject);
                effects.Add(Resources.Load("Prefabs/particles02") as GameObject);
                effects.Add(Resources.Load("Prefabs/particles03") as GameObject);

                if (j == _limbs.Count - 1)
                {
                    var fx = effects[Random.Range(0, effects.Count - 1)];
                    Instantiate(fx, limb.transform.position, limb.transform.rotation).transform.parent = limb.transform;
                    if (TypeOfCreature == "Herbiverous"
                        ? Instantiate(effects[1], limb.transform.position, limb.transform.rotation).transform.parent =
                            limb.transform
                        : Instantiate(effects[0], limb.transform.position, limb.transform.rotation).transform.parent =
                                limb.transform)
                    {
                        ;
                    }
                }

                _allLimbs.Add(limbScript);
            }
        }
    }