/// <summary> /// Make a bee with given stats /// </summary> /// <param name="beeType"><see cref="BeeType"/></param> /// <param name="species"><see cref="BeeSpecies"/></param> /// <param name="lifespan"><see cref="BeeLifeSpan"/></param> /// <param name="fertility">1 or greater</param> /// <param name="effect"><see cref="BeeEffect"/></param> /// <param name="prodSpeed"><see cref="BeeProductionSpeed"/></param> /// <returns>A <see cref="Bee"/> with the given stats</returns> public Bee MakeBeeWithStats(BeeType beeType = BeeType.DRONE, BeeSpecies species = BeeSpecies.FOREST, BeeLifeSpan lifespan = BeeLifeSpan.NORMAL, uint fertility = 2, BeeEffect effect = BeeEffect.NONE, BeeProductionSpeed prodSpeed = BeeProductionSpeed.NORMAL) { NormalBee normBee = new NormalBee() { pSpecies = species, pLifespan = lifespan, pFertility = fertility, pProdSpeed = prodSpeed, pEffect = effect, sEffect = effect, sFertility = fertility, sLifespan = lifespan, sProdSpeed = prodSpeed, sSpecies = species }; switch (beeType) { case BeeType.QUEEN: return(new Bee(beeType, new QueenBee(normBee, normBee))); default: return(new Bee(beeType, normBee)); } }
/// <summary> /// Will Convert this bee into a <see cref="BeeType.QUEEN"/> Bee /// </summary> /// <param name="princess">The <see cref="BeeType.PRINCESS"/> Stats</param> /// <param name="drone">The <see cref="BeeType.DRONE"/></param> public static void ConvertToQueen(ref Bee princess, NormalBee drone) { princess.beeType = BeeType.QUEEN; princess.queenBee = new QueenBee(princess.normalBee, drone); princess.normalBee = null; princess.itemName = new CultureInfo("en-US", false).TextInfo.ToTitleCase($"{princess.queenBee.queen.pSpecies} {princess.beeType}".ToLower()); }
/// <summary> /// Create a bee from <see cref="NormalBee"/> /// </summary> /// <param name="beeType"><see cref="BeeType"/> of the bee</param> /// <param name="normalBee"><see cref="NormalBee"/> data</param> public Bee(BeeType beeType, NormalBee normalBee) : base(new CultureInfo("en-US", false).TextInfo.ToTitleCase($"{normalBee.pSpecies} {beeType}".ToLower())) { usesGameObject = true; if (beeType == BeeType.PRINCESS || beeType == BeeType.QUEEN) { maxStack = 1; } this.beeType = beeType; this.normalBee = normalBee; }
public Bee() { usesGameObject = true; normalBee = new NormalBee(); }
public QueenBee(NormalBee princess, NormalBee drone) { this.queen = princess; this.drone = drone; }
/// <summary> /// Will convery this bee to a <see cref="BeeType.QUEEN"/> useing this bees stats as the <see cref="BeeType.PRINCESS"/> stats /// </summary> /// <param name="drone"></param> public static void ConvertToQueen(Bee princess, NormalBee drone) { ConvertToQueen(ref princess, drone); }