void Awake() { animator = GetComponent <Animator>(); BotHeadInstance = Instantiate(botHeadPrefab, headSocket); BotBodyInstance = Instantiate(botBodyPrefab, bodySocket); BotLeftArmInstance = Instantiate(armPrefab, leftArmSocket); BotRightArmInstance = Instantiate(armPrefab, rightArmSocket); BotLeftLegInstance = Instantiate(legPrefab, leftLegSocket); BotRightLegInstance = Instantiate(legPrefab, rightLegSocket); head = BotHeadInstance.GetComponent <BotHead>(); body = BotBodyInstance.GetComponent <BotBody>(); lArm = BotLeftArmInstance.GetComponent <BotArm>(); rArm = BotRightArmInstance.GetComponent <BotArm>(); lLeg = BotLeftLegInstance.GetComponent <BotLeg>(); rLeg = BotRightLegInstance.GetComponent <BotLeg>(); head.Init(); body.Init(); type = body.robotType; body.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, 0); lArm.Init(); lArm.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, 0); rArm.Init(); rArm.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, 0); lLeg.Init(); lLeg.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, 0); rLeg.Init(); rLeg.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, 0); GenerateFaults(); }
public void Copy(BotLeg leg) { if (renderer == null) { renderer = GetComponent <SpriteRenderer>(); } this.legType = leg.legType; if (this.animator) { this.animator.SetInteger("Type", (int)this.legType); } this.isBroken = leg.isBroken; this.renderer.sprite = GetSprite(); }
public void FixLeg(BotLeg leg, bool left = false) { if (left) { lLeg = leg; lLeg.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, 0); value += leg.Score(type); } else { rLeg = leg; rLeg.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, 0); value += leg.Score(type); } }
public GameObject TakeLeg(bool left = false) { GameObject go = Instantiate(legPrefab); go.GetComponent <BotLeg>().Copy(left ? lLeg : rLeg); if (left) { lLeg = null; } else { rLeg = null; } return(go); }
public void Menu() { Inventory inventory = FindObjectOfType <Inventory>(); BotHead botHead = botHeadPrefab.GetComponent <BotHead>(); BotBody botBody = botBodyPrefab.GetComponent <BotBody>(); BotArm botArm = armPrefab.GetComponent <BotArm>(); BotLeg botLeg = legPrefab.GetComponent <BotLeg>(); Clear(); foreach (KeyValuePair <HeadType, int> head in inventory.heads) { GameObject assetItemInstance = Instantiate(assetItemPrefab, transform); MenuAsset menuAsset = assetItemInstance.GetComponent <MenuAsset>(); menuAsset.SetupCatalog(botHead.GetSpriteForType(head.Key), 1, head.Key.ToString(), Slot.head);// TODO } foreach (KeyValuePair <RobotType, int> body in inventory.bodies) { GameObject assetItemInstance = Instantiate(assetItemPrefab, transform); MenuAsset menuAsset = assetItemInstance.GetComponent <MenuAsset>(); menuAsset.SetupCatalog(botBody.GetSpriteForType(body.Key), 1, body.Key.ToString(), Slot.body);// TODO menuAsset.list = this; menuAsset.inventory = inventory; menuAsset.controller = controller; } foreach (KeyValuePair <ArmType, int> arm in inventory.arms) { GameObject assetItemInstance = Instantiate(assetItemPrefab, transform); MenuAsset menuAsset = assetItemInstance.GetComponent <MenuAsset>(); menuAsset.SetupCatalog(botArm.GetSpriteForType(arm.Key), 1, arm.Key.ToString(), Slot.leftArm);// TODO } foreach (KeyValuePair <LegType, int> leg in inventory.legs) { GameObject assetItemInstance = Instantiate(assetItemPrefab, transform); MenuAsset menuAsset = assetItemInstance.GetComponent <MenuAsset>(); menuAsset.SetupCatalog(botLeg.GetSpriteForType(leg.Key), 1, leg.Key.ToString(), Slot.leftLeg);// TODO } }
public void BuildLegsList(Dictionary <LegType, int> legs) { Clear(); BotLeg botLeg = legPrefab.GetComponent <BotLeg>(); foreach (KeyValuePair <LegType, int> leg in legs) { GameObject assetItemInstance = Instantiate(assetItemPrefab, transform); MenuAsset menuAsset = assetItemInstance.GetComponent <MenuAsset>(); menuAsset.Setup(botLeg.GetSpriteForType(leg.Key), leg.Value, leg.Key.ToString(), Slot.leftLeg); menuAsset.list = this; Inventory inventory = FindObjectOfType <Inventory>(); menuAsset.inventory = inventory; menuAsset.controller = controller; } }