private static GrowingPlant GetGrowingPlant(Plantable plantable)
        {
            int slot = plantable.GetSlotID();

            Planter planter = plantable.currentPlanter;

            if (!planter)
            {
                Log.Error($"GetGrowingPlant: plant not inside a Planter!");
                return(null);
            }

            // int smallSlotCount = pp.slots.Length;
            int bigSlotCount = planter.bigSlots.Length;

            // for all the planters I have seen, the logic is the same: Available slots are numbered starting with the big slots
            if (slot < bigSlotCount)
            {
                // index 0 .. #big-1
                return(planter.bigSlots[slot].GetComponentInChildren <GrowingPlant>());
            }
            else
            {
                // index #big .. #big+#small-1
                return(planter.slots[slot - bigSlotCount].GetComponentInChildren <GrowingPlant>());
            }
        }
Beispiel #2
0
 private void Awake()
 {
     for (int i = 0; i < transform.childCount; i++)
     {
         plantSelections.Add(transform.GetChild(i).GetComponent <PlantSelection>());
     }
     box = GetComponent <Planter>();
 }
 // Start is called before the first frame update
 //初期設定
 void Start()
 {
     Pl           = GetComponent <Planter>();
     Sl           = GetComponent <SaveLoad>();
     day          = 1;
     DayText.text = day + "日目";
     hour         = 7;
     second       = 00f;
 }
Beispiel #4
0
        static void Postfix(Planter __instance)
        {
            if (__instance.GetComponent <StorageConnectable>() != null)
            {
                MonoBehaviour.DestroyImmediate(__instance.GetComponent <StorageConnectable>());
            }

            __instance.gameObject.AddComponent <PlanterConnectable>();
        }
 // Start is called before the first frame update
 void Awake()
 {
     am = GameObject.Find("SceneChenger").GetComponent <AudioManager>();
     Pd = GameObject.Find("Manager").GetComponent <PlayerData>();
     Im = GameObject.Find("Manager").GetComponent <ItemManager>();
     Mm = GameObject.Find("Manager").GetComponent <MenuManager>();
     Pl = GameObject.Find("Manager").GetComponent <Planter>();
     GetShopItems();
 }
Beispiel #6
0
 private void SearchNewTarget()
 {
     plantTarget = planterReg.GetRandomPlant();
     if (plantTarget == null)
     {
         planterTarget = planterReg.GetRandomPlanter();
     }
     target     = GetTargetTransform();
     circleMode = false;
 }
Beispiel #7
0
 public override InteractionResult InteractWith(Interactable i)
 {
     if (i is Planter)
     {
         Planter p   = (Planter)i;
         var     res = p.Plant(this);
         if (res.carryable == null)
         {
             Destroy(gameObject);
         }
         return(res);
     }
     return(new InteractionResult(this, false));
 }
Beispiel #8
0
    public bool Plant()
    {
        Planter planter = player.interactables[0].GetComponent <Planter>();

        if ((int)planter.planterQuality >= planterTypeNeeded)
        {
            transform.GetChild(0).SetParent(planter.transform); // GrowingScript
            planter.PlantSeed(this.gameObject.name, this.GetComponent <Item>().ID);
            return(true);
        }
        else
        {
            // Tell them it didn't work because they need a better planter
            return(false);
        }
    }
    public List <Planter> GetNearPlanters(Planter p, float range)
    {
        List <Planter> ret = new List <Planter>();

        foreach (Planter pt in planters)
        {
            if (pt == p)
            {
                continue;
            }
            if ((pt.transform.position - p.transform.position).magnitude <= range)
            {
                ret.Add(pt);
            }
        }
        return(ret);
    }
 private void Start()
 {
     this._Planter  = PlanterObject.GetComponent <Planter>();
     this.IsPlanted = false;
 }
 public void RegisterPlanter(Planter p)
 {
     planters.Add(p);
 }
 public void DeregisterPlanter(Planter p)
 {
     planters.Remove(p);
 }
Beispiel #13
0
 public void SetPlanter(Planter pntr)
 {
     planter = pntr;
 }
Beispiel #14
0
 void OnEnable()
 {
     planter = (Planter)target;
 }