Наследование: Workplace
Пример #1
0
 // Use this for initialization
 protected override void Start()
 {
     base.Start();
     _agent             = GetComponent <AgentController> ();
     _agent.CurrentTask = this;
     _memory            = GetComponent <Memory> ();
     _moving            = GetComponent <Moving> ();
     _inventory         = GetComponent <Inventory>();
     _cornfield         = null;
 }
Пример #2
0
    public void SearchCornfield()
    {
        if (_cornfield != null)
        {
            return;
        }
        List <Cornfield> list = new List <Cornfield>();

        foreach (object[] tuple in _memory.DB.Tables["Patch"].Entries)
        {
            if ((string)tuple[1] == "Cornfield")
            {
                Patch p = Patch.GetPatch((int)tuple[2], (int)tuple[3]).GetComponent <Patch>();
                if (p.InnerObjects.Length > 0 && p.InnerObjects[0].name == "Cornfield(Clone)")
                {
                    Cornfield cornfield = p.InnerObjects[0].GetComponent <Cornfield>();
                    if (cornfield.Villagers.Length == 0 &&
                        (cornfield.FieldState != Cornfield.State.SEEDING || cornfield.Seeding < cornfield.SeedDuration - 1f))
                    {
                        _cornfield = cornfield;
                        return;
                    }
                    list.Add(cornfield);
                }
            }
        }
        if (list.Count == 0)
        {
            if (_moving.Direction == Vector3.zero || _moving.Collision)
            {
                _moving.Direction = new Vector3(UnityEngine.Random.Range(-1f, 1f), 0f, UnityEngine.Random.Range(-1f, 1f));
            }
            return;
        }
        _cornfield = list[0];
        for (int i = 1; i < list.Count; i++)
        {
            if (_cornfield.Villagers.Length > list[i].Villagers.Length)
            {
                _cornfield = list[i];
            }
        }
    }
Пример #3
0
    // Update is called once per frame
    private void Update()
    {
        if (_camera.Target == null)
        {
            gameObject.SetActive(false);
            return;
        }
        Entity entity = _camera.Target.GetComponent <Entity>();

        if (entity.Type != Entity.EntityType.BUILDING || entity.Name != "Cornfield")
        {
            gameObject.SetActive(false);
            return;
        }
        Cornfield cornfield = entity.GetComponent <Cornfield>();

        _sliderSeeding.value = Mathf.Min(1.0f, cornfield.Seeding);
        _sliderGrowing.value = Mathf.Min(1.0f, cornfield.Growing);
        _sliderHarvest.value = Mathf.Min(1.0f, cornfield.Harvest);
        _textQuantity.text   = ((int)(Mathf.Min(1.0f, cornfield.Harvest) * cornfield.FoodCount)).ToString() + "/" +
                               cornfield.FoodCount.ToString();
    }