示例#1
0
 void Start()
 {
     inhabitants    = new List <NPC> ();
     typeOfBuilding = Buildingtype.Apartement;
     DBCharsAndBuildings.GetInstance().RegistrationBuilding(this);
     StartCoroutine(SpawnDelay(spawnDelayTime));
 }
 //Erschafft EINE Instanz der Klasse und gibt diese dann zurück
 public static DBCharsAndBuildings GetInstance()
 {
     if (self == null) {
         self = new DBCharsAndBuildings ();
     }
     return self;
 }
示例#3
0
    public override Transform SearchWayToSatisfy()
    {
        target = DBCharsAndBuildings.GetInstance().FindClosestTargetBuilding(Buildingtype.Storage, owner.transform);
        isFed  = true;

        return(target);
    }
示例#4
0
 //Erschafft EINE Instanz der Klasse und gibt diese dann zurück
 public static DBCharsAndBuildings GetInstance()
 {
     if (self == null)
     {
         self = new DBCharsAndBuildings();
     }
     return(self);
 }
示例#5
0
 public override Transform SearchWayToSatisfy()
 {
     if (myMaster.GetCargoStatus() >= myMaster.GetCargoCapacity())
     {
         Transform storage = DBCharsAndBuildings.GetInstance().FindClosestTargetBuilding(Buildingtype.Storage, myMaster.transform);
         if (storage != null)
         {
             return(storage);
         }
     }
     return(workplaceTransform);
 }
示例#6
0
//	private Hunger hunger;

    void Start()
    {
        work = new WorkDesire(GetComponent <NPCAI>(), this);
        GetComponent <NPCAI>().AddDesire(work);
//		hunger = new Hunger();
        bool jobSearchResult = Jobsearch();

        if (!jobSearchResult)
        {
            StartCoroutine(JobDelay(jobSearchZyclusTime));
        }
        citizenCounter++;
        citizenID = citizenCounter;
        DBCharsAndBuildings.GetInstance().RegistrationCitizen(this);
    }
示例#7
0
    bool Jobsearch()
    {
        List <IWorkplace> workplaceListe = DBCharsAndBuildings.GetInstance().GetWorkplaces();

        Debug.Log("Suche Job");
        foreach (IWorkplace workplace in workplaceListe)
        {
            if (workplace.HasJobsLeft())
            {
                Debug.Log(workplace);
                job          = workplace.GetJobType();
                hisWorkplace = ((IBuilding)workplace).GetTransform();
                work.SetWorkplacePosition(hisWorkplace);
                jobIdleTrigger = false;
                workplace.RegistrationWorker(this);
                return(true);
            }
        }
        return(false);
    }
示例#8
0
    void FixedUpdate()
    {
        if (hunger < 100)
        {
            hunger = hunger + hungerMultiplikator;     //war 0,01334
        }
        if (hunger >= 80 && !hungersnot)
        {
            Debug.Log("Over 80");
            lager = DBCharsAndBuildings.GetInstance().FindClosestTargetBuilding(Buildingtype.Storage, transform);
            //gameObject.GetComponent<NPC>().SetTargetPosition(lager.transform.position);
            hungersnot = true;              //geht zum Lagerhaus
        }

        if (hunger >= 100 && health > 0)
        {
            health = health - hungerMultiplikator;              //beginnt zu sterben
        }
        if (health <= 0)
        {
            Destroy(gameObject);                  //stirbt
            //Explode ();
        }
    }
示例#9
0
 void OnDisable()
 {
     DBCharsAndBuildings.GetInstance().DeleteBuilding(this);
 }
示例#10
0
 void Start()
 {
     base.typeOfBuilding = Buildingtype.Fishery;
     DBCharsAndBuildings.GetInstance().RegistrationBuilding(this);
 }
示例#11
0
 // Use this for initialization
 void Start()
 {
     DBCharsAndBuildings.GetInstance().RegistrationBuilding(this);
 }