コード例 #1
0
    void SpawnPerson(bool isTarget = true, int activeIndex = -1)
    {
        Transform target = isTarget ? (spawnTargets [heroPreset.female ? 1 : 0]) : spawnTargets [Random.Range(2, spawnTargets.Length)];

        if (isTarget)
        {
            PathSample[] path = HeroPathManager.GetPath();
            if (targetInstance != null)
            {
                Destroy(targetInstance.gameObject);
            }
            targetInstance             = Instantiate(target);
            targetInstance.position    = path[0].position;
            targetInstance.eulerAngles = new Vector3(0, Random.Range(0f, 360f), 0);
            targetInstance.GetComponent <CharacterCustomization> ().SetAppearance(heroPreset);
            targetInstance.gameObject.SetActive(true);
            followCam.target    = targetInstance;
            targetInstance.name = "Hero";
            targetInstance.GetComponent <PersonBehavior> ().UsePath(path, OnPersonEndedPath);
        }
        else
        {
            PathSample spawn  = GetRandomPoint();
            Transform  person = Instantiate(target);
            person.position    = spawn.position;
            person.eulerAngles = new Vector3(0, Random.Range(0f, 360f), 0);
            person.gameObject.SetActive(true);
            PersonBehavior behavior   = person.GetComponent <PersonBehavior> ();
            int            timerIndex = timerLength * 2;
            if (activeIndex != -1)
            {
                Destroy(activePeople [activeIndex].gameObject);
                activePeople [activeIndex] = behavior;
                spawnTimers [activeIndex]  = Time.time + Random.Range(timerValues [timerIndex], timerValues [timerIndex + 1]);
            }
            else
            {
                activePeople.Add(behavior);
                spawnTimers.Add(Time.time + Random.Range(timerValues [timerIndex], timerValues [timerIndex + 1]));
            }
            SetLayerRecursively(person, peopleLayer);
            person.GetComponent <PersonBehavior> ().Wander();
            person.parent = peopleParent;
        }
    }
コード例 #2
0
    void SaveFile(string location)

    {
        Debug.Log("location " + location);

        PathSample[] patrol = PatrolPathManager.GetPath();
        PathSample[] hero   = HeroPathManager.GetPath();
        PathSample[] spawns = SpawnPointManager.GetPath();

        Debug.Log("patrol" + patrol);
//
        string patrol_json = JsonUtility.ToJson(patrol);
        string hero_json   = JsonUtility.ToJson(hero);
        string spawns_json = JsonUtility.ToJson(spawns);

        Debug.Log("location " + spawns_json);
        File.WriteAllText(System.IO.Path.Combine(location, "tmp.txt"), spawns_json);
    }