Ejemplo n.º 1
0
    private GameObject characterGo; //Stores the most recent character to have activated the dress selection dialog

    void Awake()
    {
        foreach (Transform child in container.transform)
        {
            DressObject d = child.GetComponent <DressObject>();
            if (d)
            {
                dressList.Add(d);
            }
            else
            {
                inventory.Add(child.gameObject);
                pickupObject po = child.gameObject.GetComponent <pickupObject>();

                //Try to pull the inventory item's name from a pickupObject script. If none is found, use the GameObject's name.
                bool useGOName = true;
                if (po)
                {
                    if (po.name != "")
                    {
                        inventoryNames.Add(po.name);
                        useGOName = false;
                    }
                }
                if (useGOName)
                {
                    inventoryNames.Add(child.gameObject.name);
                }

                child.gameObject.SetActive(false);
            }
        }

        RebuildSelectMenu();
    }
Ejemplo n.º 2
0
    //This is called by our selectDialog using the Dialog.onCompletedCallback. It passes the name of the selected answer.
    public void itemSelected(string answer)
    {
        characterGo.SendMessage("Side", SendMessageOptions.DontRequireReceiver);

        if (type == types.dresserWithClothes)
        {
            if (canChangeColor && answer == changeColorString)
            {
                //Create a color picker and tell it to send us messages about it's state
                GameObject  cpo = Instantiate(colorPicker);
                ColorPicker cp  = cpo.GetComponent <ColorPicker>();
                cp.addMessageObject(gameObject);
                BlubberAnimation ba = characterGo.GetComponent <BlubberAnimation>();
                if (ba)
                {
                    cp.highlightColor(ba.getColor());
                }
            }
            else
            {
                if (answer == nakedString)
                {
                    characterGo.SendMessage("removeNonessentialDresses", SendMessageOptions.DontRequireReceiver);
                }

                DressObject d = dressList.Find(e => e.name == answer);
                if (d)
                {
                    characterGo.SendMessage("removeNonessentialDresses", SendMessageOptions.DontRequireReceiver);
                    GameObject     newDress      = Instantiate(d.gameObject, characterGo.transform);
                    SpriteRenderer dressRenderer = newDress.GetComponent <SpriteRenderer>() as SpriteRenderer;
                    dressRenderer.enabled = true;
                    characterGo.SendMessage("addDressObject", newDress, SendMessageOptions.DontRequireReceiver);
                    if (sceneSettingsGO != null)
                    {
                        sceneSettingsGO.objectCreated(newDress);
                    }
                }
                base.Close("", characterGo);
            }
        }

        if (type == types.spawnItemSelect)
        {
            int index = inventoryNames.IndexOf(answer);
            if (index != -1)
            {
                instantiateInventoryItem(index);
            }
            base.Close("", characterGo);
        }
    }
Ejemplo n.º 3
0
    public void addDressObject(GameObject obj)
    {
        DressObject d = obj.GetComponent <DressObject>() as DressObject;

        if (d)
        {
            dressList.Add(new dress(d));
            executeFacingDirection();
        }
        obj.transform.parent   = gameObject.transform;
        obj.transform.position = new Vector3(0f, 0f, 0f);
        FlipX(controller.isFacingRight());
    }
Ejemplo n.º 4
0
 public dress(DressObject obj)
 {
     this.dressObject = obj;
     Initiate("", "", null); //We don't need the parameters because Initiate will see that we have a predefined dress object and pull the parameters from there.
 }