Ejemplo n.º 1
0
    public void SetDecoration()
    {
        decorationObject decoration = deployableDec[decDropdown.value];

        RemoveDecoration();
        deployableDec.Remove(decoration);
        deployedDec.Add(decoration);
        curDecSpot.GetComponent <decSpotHandling>().curDec = decoration;
        curDecSpot.GetComponent <SpriteRenderer>().sprite  = decoration.decSprite;
        RefreshDec(decDropdown, deployableDec);
    }
Ejemplo n.º 2
0
    public void RemoveDecoration()
    {
        decorationObject decoration = curDecSpot.curDec;

        if (decoration != null)
        {
            deployedDec.Remove(decoration);
            deployableDec.Add(decoration);
            curDecSpot.GetComponent <SpriteRenderer>().sprite = decoration.baseSprite;
            decoration = null;
            RefreshDec(decDropdown, deployableDec);
        }
    }
Ejemplo n.º 3
0
    public override void OnInspectorGUI()
    {
        globalLists myGlobalLists = (globalLists)target;

        typeToAdd = (listType)EditorGUILayout.EnumPopup("Type to Add:", typeToAdd);
        switch (typeToAdd)
        {
        case listType.species:
            #region Add Species
            speciesName  = EditorGUILayout.TextField("Species Name:", speciesName);
            speciesDesc  = EditorGUILayout.TextField("Species Description:", speciesName);
            baseStats[4] = EditorGUILayout.IntField("Base Max HP Stat:", baseStats[4]);
            baseStats[5] = EditorGUILayout.IntField("Base Attack Stat:", baseStats[5]);
            baseStats[6] = EditorGUILayout.IntField("Base Defense Stat:", baseStats[6]);
            baseStats[7] = EditorGUILayout.IntField("Base Speed Stat:", baseStats[7]);

            overworldSprite = EditorGUILayout.ObjectField("Overworld Sprite", overworldSprite, typeof(Sprite), allowSceneObjects: false) as Sprite;
            speciesPortrait = EditorGUILayout.ObjectField("Species Portrait Sprite", speciesPortrait, typeof(Sprite), allowSceneObjects: false) as Sprite;
            EditorGUI.BeginChangeCheck();
            evoNum = EditorGUILayout.DelayedIntField("Number of Evolutions:", evoNum);
            if (EditorGUI.EndChangeCheck())
            {
                evos = new int[evoNum];
            }
            if (evos != null && evos.Length > 0)
            {
                for (int i = 0; i < evos.Length; i++)
                {
                    evos[i] = EditorGUILayout.IntField("Evolution " + i + ":", evos[i]);
                }
            }

            statReqs[4] = EditorGUILayout.IntField("Minimum Max HP:", statReqs[4]);
            statReqs[5] = EditorGUILayout.IntField("Minimum Attack:", statReqs[5]);
            statReqs[6] = EditorGUILayout.IntField("Minimum Defense:", statReqs[6]);
            statReqs[7] = EditorGUILayout.IntField("Minimum Speed:", statReqs[7]);

            decReq           = EditorGUILayout.ObjectField("Required Decoration", decReq, typeof(decorationObject), allowSceneObjects: false) as decorationObject;
            timeReq          = (timeOfDay)EditorGUILayout.EnumPopup("Time Requirement:", timeReq);
            levelCoefficient = EditorGUILayout.Slider("Level Coefficient:", levelCoefficient, .5f, 2f);
            seenMon          = EditorGUILayout.ObjectField("Required Decoration", decReq, typeof(baseSpecies), allowSceneObjects: false) as baseSpecies;

            egg = EditorGUILayout.Toggle("Is Egg:", egg);
            if (egg)
            {
                hatchTime = EditorGUILayout.IntField("Hatch Time in Sec:", hatchTime);
            }


            if (overworldSprite != null && speciesPortrait != null)
            {
                if (GUILayout.Button("New Species"))
                {
                    baseSpecies newSpecies = ScriptableObject.CreateInstance("baseSpecies") as baseSpecies;
                    newSpecies.speciesNumber = myGlobalLists.speciesList.Count;
                    newSpecies.speciesName   = speciesName == "" ? "Error" : speciesName;
                    newSpecies.speciesDesc   = speciesDesc == "" ? "Error" : speciesDesc;
                    for (int i = 0; i < 9; i++)
                    {
                        newSpecies.baseStats[i] = baseStats[i] < 0 ? 0: baseStats[i];
                    }
                    newSpecies.overworld       = overworldSprite;
                    newSpecies.speciesPortrait = speciesPortrait;
                    newSpecies.evolutions      = new int[evoNum];
                    for (int i = 0; i < evoNum; i++)
                    {
                        newSpecies.evolutions[i] = evos[i] < 0 ? 0: evos[i];
                    }
                    for (int i = 0; i < 9; i++)
                    {
                        newSpecies.statReqs[i] = statReqs[i] < 0 ? 0: statReqs[i];
                    }
                    newSpecies.decReq           = decReq;
                    newSpecies.timeReq          = (int)timeReq;
                    newSpecies.levelCoefficient = levelCoefficient;
                    newSpecies.seenMon          = seenMon;
                    newSpecies.egg = egg;
                    if (egg)
                    {
                        newSpecies.hatchtime = hatchTime < 0? 0:hatchTime;
                    }
                    else
                    {
                        newSpecies.hatchtime = 0;
                    }
                    myGlobalLists.speciesList.Add(newSpecies);
                    if (speciesName != "")
                    {
                        AssetDatabase.CreateAsset(newSpecies, "Assets/Monsters/" + speciesName + ".asset");
                    }
                    else
                    {
                        AssetDatabase.CreateAsset(newSpecies, "Assets/Monsters/Error.asset");
                    }
                }
            }
            #endregion
            break;

        case listType.decoration:
            #region Add Decoration
            decName        = EditorGUILayout.TextField("Decoration Name:", decName);
            decDescription = EditorGUILayout.TextField("Decoration Description:", decDescription);
            statBoosts[2]  = EditorGUILayout.IntField("XP Boost:", statBoosts[2]);
            statBoosts[4]  = EditorGUILayout.IntField("Max HP Boost:", statBoosts[4]);
            statBoosts[5]  = EditorGUILayout.IntField("Attack Boost:", statBoosts[5]);
            statBoosts[6]  = EditorGUILayout.IntField("Defense Boost:", statBoosts[6]);
            statBoosts[7]  = EditorGUILayout.IntField("Speed Boost:", statBoosts[7]);
            statBoosts[8]  = EditorGUILayout.IntField("Happiness Boost:", statBoosts[8]);

            decSprite = EditorGUILayout.ObjectField("Overworld Sprite", decSprite, typeof(Sprite), allowSceneObjects: false) as Sprite;

            if (decSprite != null)
            {
                if (GUILayout.Button("New Decoration"))
                {
                    decorationObject newDecoration = ScriptableObject.CreateInstance("decorationObject") as decorationObject;
                    newDecoration.decorationNumber = myGlobalLists.decorationList.Count;
                    newDecoration.decName          = decName == "" ? "Error" : decName;
                    newDecoration.decDescription   = decDescription == "" ? "Error" : decDescription;
                    for (int i = 0; i < 9; i++)
                    {
                        newDecoration.statBoosts[i] = statBoosts[i] < 0 ? 0: statBoosts[i];
                    }
                    newDecoration.decSprite = decSprite;
                    if (decName != "")
                    {
                        AssetDatabase.CreateAsset(newDecoration, "Assets/Decorations/" + decName + ".asset");
                    }
                    else
                    {
                        AssetDatabase.CreateAsset(newDecoration, "Assets/Decorations/Error.asset");
                    }
                    myGlobalLists.decorationList.Add(newDecoration);
                }
            }
            #endregion
            break;

        case listType.none:
            break;
        }

        DrawDefaultInspector();
    }