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>()); } }
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; }
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(); }
private void SearchNewTarget() { plantTarget = planterReg.GetRandomPlant(); if (plantTarget == null) { planterTarget = planterReg.GetRandomPlanter(); } target = GetTargetTransform(); circleMode = false; }
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)); }
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); }
public void SetPlanter(Planter pntr) { planter = pntr; }
void OnEnable() { planter = (Planter)target; }