コード例 #1
0
    private void Start()
    {
        var foodPreference = Random.Range(0, 100);

        if (foodPreference >= 0 && foodPreference < 30)
        {
            TypeOfCreature = "Carnivorous";
        }
        if (foodPreference >= 30 && foodPreference <= 100)
        {
            TypeOfCreature = "Herbiverous";
        }

        _t = transform; // default transform of creature (parent)
        //name = "creature" + gameObject.GetInstanceID(); // name of creature (planning on randomising this)

        _t.gameObject.layer = LayerMask.NameToLayer("Creature");

        _environment    = EnvironmentController.GetInstance();
        _settingsReader = SettingsReader.GetInstance();

        // everything from here is to do with the transforms of the creature and its limbs
        _maxRootScale = new Vector3
        {
            x = _settingsReader.RootMaxRootScaleX,
            y = _settingsReader.RootMaxRootScaleY,
            z = _settingsReader.RootMaxRootScaleZ
        };

        _minRootScale = new Vector3
        {
            x = _settingsReader.RootMinRootScaleX,
            y = _settingsReader.RootMinRootScaleY,
            z = _settingsReader.RootMinRootScaleZ
        };

        _jointFrequency = ChromosomeComposition.JointFrequency;
        _jointAmplitude = ChromosomeComposition.JointAmplitude;
        _jointPhase     = ChromosomeComposition.JointPhase;

        RootSetup();

        EyeSetup();

        MouthSetup();

        GenitalSetup();

        VariableSetup();

        InvokeRepeating("UpdateState", 0, 5f);      // update state every 5 seconds
        InvokeRepeating("RandomDirection", 1F, 5F); // update direction every 5 seconds

        Root.GetComponent <Rigidbody>().SetDensity(4F);
        Root.AddComponent <AudioSource>();
        _ms = GetComponentsInChildren <MeshRenderer>();
        ChromosomeComposition.SetTypeOfCreature(TypeOfCreature);
        // setup a name
        name = NameCreator.Name(ChromosomeComposition);
        NameSetup();
    }