Exemplo n.º 1
0
 public void ShowWindow(GOAP_Character.CharacterData characterData)
 {
     this.characterData = characterData;
     characterData.InitBaseActions(allActions);
     characterData.RemoveWrongActions(allActions);
     UpdateWindowAndActions();
     base.ShowWindow();
 }
    public static void ShowWindow(ref GOAP_Character.CharacterData characterData)
    {
        AvailableActionsEditorWindow window = (AvailableActionsEditorWindow)EditorWindow.GetWindow(typeof(AvailableActionsEditorWindow));

        window.characterData = characterData;

        //Add all actions to the list
        window.allActions = GOAP_Action.GetAllActionNames();
        characterData.InitBaseActions(window.allActions);
        characterData.RemoveWrongActions(window.allActions);
    }
Exemplo n.º 3
0
    public void SpawnCharacter(GOAP_Character.CharacterData characterData)
    {
        Vector3 spawnPosition = InfoBlackBoard.instance.campFireLocation.GetPosition();

        spawnPosition.y = 0.611f;
        Vector2 randomOffset = Random.insideUnitCircle * MaxSpawnDistance;

        spawnPosition += new Vector3(randomOffset.x, 0, randomOffset.y);
        GOAP_Character character = Instantiate(characterPrefab, spawnPosition, Quaternion.identity).GetComponent <GOAP_Character>();

        character.SetCharacterData(new GOAP_Character.CharacterData(characterData));
    }
Exemplo n.º 4
0
 public void SetContent(GOAP_Character.CharacterData characterData, List <TMP_Dropdown.OptionData> optionData, int dropDownValue = 0, string value = "")
 {
     this.characterData = characterData;
     if (dropDown != null)
     {
         dropDown.options = optionData;
         dropDown.value   = dropDownValue;
     }
     if (valueField != null)
     {
         valueField.text = value;
     }
 }
Exemplo n.º 5
0
 public void SetContent(GOAP_Character.CharacterData characterData, List <TMP_Dropdown.OptionData> worldStateOptions, List <TMP_Dropdown.OptionData> boolOptions, List <TMP_Dropdown.OptionData> itemOptions, List <ItemType> itemTypes, int stateKeyValue = 0, int valueValue = 0)
 {
     stateKey.options   = worldStateOptions;
     this.characterData = characterData;
     this.boolOptions   = boolOptions;
     this.itemOptions   = itemOptions;
     this.itemTypes     = itemTypes;
     stateKey.value     = stateKeyValue;
     if (stateKey.options[stateKey.value].text == "eHasItem")
     {
         SetItemDropdown();
     }
     else
     {
         SetBoolDropdown();
     }
     value.value = valueValue;
 }
    public void SetContent(GOAP_Character.CharacterData characterData)
    {
        Debug.Log("Setting content for character " + characterData.characterName);
        this.characterData = characterData;

        nameField.text = characterData.characterName;

        for (int i = 0; i < characterData.skills.Count; i++)
        {
            AddSkill(characterData.skills[i]);
        }
        for (int i = 0; i < characterData.goals.Count; i++)
        {
            AddGoal(characterData.goals[i]);
        }
        for (int i = 0; i < characterData.startingInventory.Count; i++)
        {
            AddInventory(characterData.startingInventory[i]);
        }

        UpdateActions();
    }
Exemplo n.º 7
0
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        EditorGUI.PropertyField(position, property, label, true);

        object obj = fieldInfo.GetValue(property.serializedObject.targetObject);

        characterData = obj as GOAP_Character.CharacterData;
        if (obj.GetType().IsArray || (obj is IList && obj.GetType().IsGenericType))
        {
            index = Convert.ToInt32(new string(property.propertyPath.Where(c => char.IsDigit(c)).ToArray()));
            if (index >= 0)
            {
                if (obj.GetType().IsArray)
                {
                    characterData = ((GOAP_Character.CharacterData[])obj)[index];
                }
                else
                {
                    characterData = ((List <GOAP_Character.CharacterData>)obj)[index];
                }
            }
        }


        if (property.isExpanded && characterData != null)
        {
            GUI.Label(new Rect(position.xMin, position.yMax - 20f * (characterData.availableActions.Count + 2), position.width - 30f, 20f), "Available Actions:");
            for (int i = 0; i < characterData.availableActions.Count; i++)
            {
                GUI.Label(new Rect(position.xMin + 30f, position.yMax - 20f * (characterData.availableActions.Count - i + 1), position.width - 30f, 20f), characterData.availableActions[i]);
            }
            if (GUI.Button(new Rect(position.xMin + 30f, position.yMax - 20, position.width - 30f, 20f), "Edit Available Actions"))
            {
                AvailableActionsEditorWindow.ShowWindow(ref characterData);
            }
        }
    }
Exemplo n.º 8
0
 public void SetContent(List <ItemType> itemTypes, GOAP_Character.CharacterData characterData, List <TMP_Dropdown.OptionData> optionData, int dropDownValue = 0, string value = "")
 {
     this.itemTypes = itemTypes;
     base.SetContent(characterData, optionData, dropDownValue, value);
 }
Exemplo n.º 9
0
 public GOAP_Character.CharacterData NewCharacter()
 {
     GOAP_Character.CharacterData data = new GOAP_Character.CharacterData(defaultCharacter);
     characterDatas.Add(data);
     return(data);
 }