예제 #1
0
    void Start()
    {
        renderer = GetComponent<SpriteRenderer>();


        _state = GetComponent<VillagerState>();
        _actions = GetComponent<VillagerActions>();
        _inventory = GetComponent<VillagerInventory>();
        _storeRef =  transform.parent.gameObject.transform.parent.gameObject.GetComponent<VillageGenerator>().StoreHouse.GetComponent<storeManagement>();
        currentState = executionState.Free;
        if (_state.workplace == null)
            _state.workplace = transform.parent.gameObject.transform.parent.gameObject.GetComponent<VillageGenerator>().Crop;
        _workplace = _state.workplace.transform.position;
        if (_state.wareHouse == null)
            _state.wareHouse = transform.parent.gameObject.transform.parent.gameObject.GetComponent<VillageGenerator>().Warehouse;
        _warehouse = _state.wareHouse.transform.position;
        currentWorkingState = workingState.standby;
        _dangerTimer = 0;
    }
	// Use this for initialization
	void Start () {
        VillagerStatsDecaying state =GameObject.FindGameObjectWithTag("GameController").GetComponent<VillagerStatsDecaying>();
        _storeRef = transform.parent.gameObject.transform.parent.gameObject.GetComponent<VillageGenerator>().StoreHouse.GetComponent<storeManagement>();
        _hungerDecayingTime = state.hungerDecayingTime;
        _thirstDecayingTime = state.thirstDecayingTime;
        _sicknessDecayingTime = state.sicknessDecayingTime;
        int nfood = (int)Random.Range(0, 10000) % 4;
        food =new int[3];
        for (int i = 0; i < nfood; i++)
            food[i] = (int)Random.Range(0, 10000000) % (int)_hungerDecayingTime / 2;

        int ndrink = (int)Random.Range(0, 10000) % 4;
        drink = new int[3];
        for (int i = 0; i < ndrink; i++)
        {
            int val= (int)Random.Range(0, 10000000) % (int)_thirstDecayingTime / 2;
            if (val == 0)
                drink[i] = 1;
            else
                drink[i] = val;
        }
           

        int nmedicine = (int)Random.Range(0, 10000) % 4;
        medicine = new int[3];
        for (int i = 0; i < nmedicine; i++)
        {
           
            int val = (int)Random.Range(0, 10000000) % (int)_sicknessDecayingTime / 2;
            if (val == 0)
                medicine[i] = 1;
            else
                medicine[i] = val;
        }
       

        if ((int)Random.Range(0, 10000) % 2 == 0)
            weapon = false;
        else
            weapon = true;
        money = (int)Random.Range(0, 10000000) % 1000;
    }