예제 #1
0
 // Start is called before the first frame update
 void Start()
 {
     character       = GetComponent <DynamicCharacterAvatar>();
     savedCharacters = FindObjectOfType <SavedCharacters>();
     character.ClearSlots();
     character.LoadFromRecipeString(savedCharacters.savedCharacter);
 }
예제 #2
0
 public void LoadRecipeForEdit()
 {
     myRecipe       = File.ReadAllText(Application.persistentDataPath + "/characterSaves/" + SelectedCharacterName + ".txt");
     nameField.text = SelectedCharacterName;
     avatar.LoadFromRecipeString(myRecipe);
     avatar.BuildCharacter();
 }
예제 #3
0
 public void LoadUMA()
 {
     if (string.IsNullOrEmpty(saveString))
     {
         return;
     }
     Avatar.LoadFromRecipeString(saveString);
 }
예제 #4
0
 /***************************************************************************
 *  Name: LoadChar
 *  Description: Loads all of the current attributes of the player from a text
 *  file into the player avatar in Unity.
 *  Input: None
 *  Output: None
 ***************************************************************************/
 public void LoadChar()
 {
     //read the data from the saved text file into variable
     customChar = File.ReadAllText(Application.persistentDataPath + "/customChar.txt");
     //clear any current modifications that the player avatar has
     player.ClearSlots();
     //load the recipe into the player avatar
     player.LoadFromRecipeString(customChar);
 }
예제 #5
0
    void Start()
    {
        ClientManager.CharacterSelection();

        var Characters = ClientManager.CharacterSelection().Characters;

        foreach (var chars in Characters)
        {
            //    CharButton.text = chars.CharName;

            var charname = chars.CharName;
            var umdata   = chars.UmaData;

            GameObject button = (GameObject)Instantiate(buttonPrefab);
            button.transform.SetParent(panelToAttachButtonsTo.transform);//Setting button parent
            button.GetComponent <Button>().onClick.AddListener(() =>
            {
                //    //  characterAvatar.LoadDNAFromRecipeString(chars.UmaData);

                //    //   characterAvatar.LoadFromRecipeString(chars.UmaData.ToString());
                //    characterAvatar.LoadColorsFromRecipeString(umdata);
                //    //  characterAvatar.ImportSettings(UMATextRecipe.PackedLoadDCS(characterAvatar.context, umdata));
                characterAvatar.LoadFromRecipeString(umdata, DynamicCharacterAvatar.LoadOptions.useDefaults);
                characterAvatar.BuildCharacter();
            });                                                                 //Setting what button does when clicked
            //Next line assumes button has child with text as first gameobject like button created from GameObject->UI->Button
            button.transform.GetChild(0).GetComponent <Text>().text = charname; //Changing text
        }
        characterAvatar.CharacterUpdated.AddListener(OnCharacterUpdated);
        characterAvatar.CharacterCreated.AddListener(OnCharacterCreated);
        // ToDO CharButtons  per Script anlegen..
        // ToDO UMA Dynamic CharacterAvatar Laden
        // TODO WorldServer Button



        //    var canvas = GameObject.FindObjectsOfType(typeof(ScrollView)).Cast<Canvas>().FirstOrDefault((c) => c.name == "CharacterList");
        //foreach (string str in CharacterList)
        //{
        //    //GameObject go = Instantiate(Button_Template) as GameObject;
        //    //go.SetActive(true);
        //    //Tutorial_Button TB = go.GetComponent<Tutorial_Button>();
        //    //TB.SetName(str);
        //    //go.transform.SetParent(Button_Template.transform.parent);
        //}
        ////GameObject canvas = GameObject.Find("CharacterSelection");
        //charbtn.text = packgeData1.CharName;
        //var characterButton = GameObject.Find("CharacterButton");
        //characterButton.SetActive(true);
        //characterButton.GetComponent<Text>().text = packgeData1.CharName;
        //   var characterButton = GameObject.Find("CharacterButton");
        // GameObject ScrollView = GameObject.FindObjectOfType<ScrollView>()
    }
예제 #6
0
    void Awake()
    {
        if (PhotonNetwork.connected)
        {
            imageTarget      = GameObject.FindWithTag("ImageTarget").transform;
            transform.parent = imageTarget;

            DynamicCharacterAvatar loadedAvatar = GetComponent <DynamicCharacterAvatar>();
            string myRecipe = (string)photonView.instantiationData[0];
            loadedAvatar.LoadFromRecipeString(myRecipe);
            loadedAvatar.BuildCharacter();
        }
    }
    public void RefreshUma()
    {
        if (umaDna == "")
        {
            return;
        }

        DynamicCharacterAvatar avatar = GetComponentInChildren <DynamicCharacterAvatar>();

        if (GetComponentInChildren <DynamicCharacterAvatar>() == null)
        {
            return;
        }

        string decompressed = CompressUMA.Compressor.DecompressDna(umaDna);

        avatar.ClearSlots();
        avatar.LoadFromRecipeString(decompressed);

        for (int i = 0; i < equipment.Count; i++)
        {
            ItemSlot      slot = equipment[i];
            EquipmentInfo info = equipmentInfo[i];

            //  valid item?
            if (slot.amount > 0)
            {
                EquipmentItem itemData = (EquipmentItem)slot.item.data;

                UMATextRecipe maleRecipe   = itemData.maleUmaRecipe;
                UMATextRecipe femaleRecipe = itemData.femaleUmaRecipe;

                if (avatar == null)
                {
                    return;
                }

                if (maleRecipe != null)
                {
                    avatar.SetSlot(maleRecipe);
                }

                if (femaleRecipe != null)
                {
                    avatar.SetSlot(femaleRecipe);
                }
            }
        }
    }
예제 #8
0
        public void LoadListedFile(string filename, string filepath = "")
        {
            cancelLoadItem.onClick.Invoke();
            string recipeText = "";

            if (filepath != "")
            {
                recipeText = FileUtils.ReadAllText(filepath);
            }
            else
            {
                recipeText = (UMAContext.Instance.dynamicCharacterSystem as DynamicCharacterSystem).CharacterRecipes[filename];
            }
            if (recipeText != "")
            {
                DynamicCharacterAvatar.LoadOptions thisLoadOptions = DynamicCharacterAvatar.LoadOptions.useDefaults;
                if (_loadRace || _loadDNA || _loadWardrobe || _loadBodyColors || _loadWardrobeColors)
                {
                    if (_loadRace)
                    {
                        thisLoadOptions |= DynamicCharacterAvatar.LoadOptions.loadRace;
                    }
                    if (_loadDNA)
                    {
                        thisLoadOptions |= DynamicCharacterAvatar.LoadOptions.loadDNA;
                    }
                    if (_loadWardrobe)
                    {
                        thisLoadOptions |= DynamicCharacterAvatar.LoadOptions.loadWardrobe;
                    }
                    if (_loadBodyColors)
                    {
                        thisLoadOptions |= DynamicCharacterAvatar.LoadOptions.loadBodyColors;
                    }
                    if (_loadWardrobeColors)
                    {
                        thisLoadOptions |= DynamicCharacterAvatar.LoadOptions.loadWardrobeColors;
                    }

                    thisLoadOptions &= ~DynamicCharacterAvatar.LoadOptions.useDefaults;
                }

                Avatar.LoadFromRecipeString(recipeText, thisLoadOptions);
            }
        }
예제 #9
0
    public void LoadCharacterForPlay()
    {
        if (SelectedCharacterName != "")
        {
            myRecipe = File.ReadAllText(Application.persistentDataPath + "/characterSaves/" + SelectedCharacterName + ".txt");

            if (PhotonNetwork.connected)
            {
                loadedCharacter = PhotonNetwork.Instantiate("New Character Prefab", loadedCharacterPrefab.transform.position, loadedCharacterPrefab.transform.rotation, 0, new object[] { myRecipe });
                Debug.Log(loadedCharacter);
            }
            else
            {
                loadedCharacter      = Instantiate(loadedCharacterPrefab);
                loadedCharacter.name = SelectedCharacterName;
                DynamicCharacterAvatar loadedAvatar = loadedCharacter.GetComponent <DynamicCharacterAvatar>();
                loadedAvatar.LoadFromRecipeString(myRecipe);
                loadedAvatar.BuildCharacter();

                foreach (GameObject t in UDTEH.targets)
                {
                    if (t.name == UDTEH.SelectedTarget)
                    {
                        TargetToSetAsParent = t;
                    }
                }

                loadedCharacter.transform.parent = TargetToSetAsParent.transform;

                if (loadedCharacter.transform.parent == null)
                {
                    Debug.Log(imageTarget.name);
                    //open up the placer menu and let them set the character to load onto a image target
                    //change the accessor for place button to work after adding fx here
                }

                float xyz = (loadedCharacter.transform.localScale.x * imageTarget.localScale.x) / 10;
                loadedCharacter.transform.localScale = new Vector3(xyz, xyz, xyz);
            }
            charactersDictionary.Add(loadedCharacter, myRecipe);
            characters.Add(loadedCharacter);
        }
    }
예제 #10
0
 public void LoadUMA()
 {
     if (string.IsNullOrEmpty(saveString))
     {
         return;
     }
     if (useCompressedString)
     {
         AvatarDefinition adf = AvatarDefinition.FromCompressedString(compressedString, '|');
         Avatar.LoadAvatarDefinition(adf);
         Avatar.BuildCharacter(false); // don't restore old DNA...
     }
     else if (useAvatarDefinition)
     {
         Avatar.LoadAvatarDefinition(avatarString);
         Avatar.BuildCharacter(false); // We must not restore the old DNA
     }
     else
     {
         Avatar.LoadFromRecipeString(saveString);
     }
 }
예제 #11
0
파일: Human.cs 프로젝트: connorc1/ProjectAI
    //Loads a human
    public void loadHuman(HumanSave load)
    {
        gameObject.name = load.Name;
        Debug.Log(load.Name);
        gameObject.layer = load.layer;
        gameObject.tag   = load.tag;
        Debug.Log("Fully loaded");
        //Load Human and inherited Entity class
        type             = load.type;
        entityController = new EntityTaskController(load);
        lastUpdate       = load.lastUpdate;

        entityType  = new HumanType(load);
        entityNeeds = new HumanNeeds(load);
        psyche      = new HumanPsyche(load);

        recipe = load.recipe;
        avatar.LoadFromRecipeString(recipe);

        //recipe = load.recipe;
        navAgent.Warp(new Vector3(load.xloc, load.yloc, load.zloc));
        //gameObject.transform.position = new Vector3(load.xloc, load.yloc, load.zloc);
        gameObject.transform.localEulerAngles = new Vector3(load.xrot, load.yrot, load.zrot);
    }
예제 #12
0
 public void LoadChar()
 {
     MyCharacter = File.ReadAllText(Application.persistentDataPath + "/dude.txt");
     avatar.ClearSlots();
     avatar.LoadFromRecipeString(MyCharacter);
 }
예제 #13
0
 private void LoadAvatar(string recipe)
 {
     Debug.Log("Loading Avatar");
     avatar.ClearSlots();
     avatar.LoadFromRecipeString(recipe);
 }