Ejemplo n.º 1
0
    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();
    }
Ejemplo n.º 2
0
    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();
    }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    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
        }
    }
Ejemplo n.º 6
0
    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;
        }
    }