Example #1
0
    void OnGUI()
    {
        //set demensions of the buttons
        float buttonW = Screen.width / 3;
        float buttonH = Screen.height / 16;
        float halfScreenW, halfScreenH;
        //set the prebuilt button

        GUIStyle style = new GUIStyle(GUI.skin.button);

        style.fontSize = (int)(buttonH / 2);

        // -430 -290 -170 -50 70 190 310
        for (int i = 0; i < 7; i++)
        {
            halfScreenW = (Screen.width / 2) - buttonW / 2;
            halfScreenH = Screen.height / 6 + (buttonH * 1.5f) * i;
            if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Level: " + (i + 1), style))
            {
                GlobalFlags.setLevel(i + 1);
                Application.LoadLevel("game");
            }
        }

        //set the back button
        halfScreenW = (Screen.width / 2) - buttonW / 2;
        halfScreenH = Screen.height / 6 + (buttonH * 1.5f) * 7;
        if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Back", style))
        {
            Application.LoadLevel("ModeSelectMenu");
        }
    }
Example #2
0
	// Use this for initialization
	void Start () 
	{
		GameObject mGameObject = GameObject.FindGameObjectWithTag("Music");
		music = mGameObject.GetComponent<Music> ();

		GlobalFlags.resetMultiplier();
		GlobalFlags.setScore(0);
		grid = new triangleNode[20,20];
		gridSize = (int)Mathf.Sqrt(grid.Length);
		gridOutline = new System.Collections.Generic.List<triangleNode>();
		
		for(int i=0; i<gridSize; i++)
		{
			for(int j=0; j<gridSize; j++)
			{
				grid[i,j] = null;
			}
		}

		setNode(0, 0, rootTriangle);

		if(doShowGrid)
		{
			showGrid();
		}
		if(!inEditMode)
		{
			loadLevel(1);
		}
	}
    //private List<string> listOfDragonTypes = new List<string>() {
    //    "Basic Drakling", "Earthen Drakling", "Flame Drakling", "Tidal Drakling",
    //    "Basic Wyrm", "Earthen Wyrm", "Flame Wyrm", "Tidal Wyrm",
    //    "Basic Serpent", "Earthen Serpent", "Flame Serpent", "Tidal Serpent"};
    //private int numberOfDragonTypes;


    // Use this for initialization
    void Awake()
    {
        GlobalFlags.GetCombatManagerFlags(out Player, out Dragon, out Enemy);

        if (GlobalFlags.GetBossFlag())
        {
            GameObject.Find("Enemy").GetComponent <Transform>().position = new Vector3(-4.0f, 1.0f, 0f);
        }
        else
        {
            GameObject.Find("Enemy").GetComponent <Transform>().position = new Vector3(-6.0f, 0.6f, 0f);
        }
        GameObject.Find("Enemy").GetComponent <SpriteRenderer>().sprite = Enemy.battleSprite;

        string sceneName = GlobalFlags.GetCurrentOverworldScene();

        if (sceneName == "Overworld")
        {
            bkgdRenderer.sprite = grasslandBkgd;
        }
        if (sceneName == "Overworld - West")
        {
            bkgdRenderer.sprite = skyBkgd;
        }
        if (sceneName == "Caves")
        {
            bkgdRenderer.sprite = cavesBkgd;
        }
        if (sceneName == "Boss")
        {
            bkgdRenderer.sprite = bossBkgd;
        }
    }
Example #4
0
 public BattleTree(GlobalFlags globalFlags, TreeType treeType)
 {
     currentIndex = 0;
          treeNodeDictionary = new Dictionary<long, BattleTreeNode>();
          this.globalFlags = globalFlags;
          this.treeType = treeType;
 }
Example #5
0
 // Update is called once per frame
 void Update()
 {
     if (audio != null && !isSoundEffectPlaying(Time.time))
     {
         this.audio.volume = GlobalFlags.getMusicVolume();
     }
 }
    // Use this for initialization
    public void StartGame()
    {
        GameObject ui_holder = GameObject.Find("UI");

        //Find Component classes
        magicController      = GetComponent <MagicController>();
        roundBonusManager    = GetComponent <RoundBonusManager>();
        global               = GetComponent <GlobalFlags>();
        networkedUI          = ui_holder.GetComponent <Networked_UI_Updater>();
        progressTrackManager = ui_holder.GetComponent <TracksInterface>();
        townFoundManager     = GetComponent <TownFoundingBonusManager>();
        wonderController     = GetComponent <WonderController>();
        roundEndBonusManager = GetComponent <RoundEndBonusManager>();
        turnController       = GameObject.Find("TurnController(Clone)").GetComponent <TurnController>(); //Networked object so must be it's own game object separate from GameController.

        //Create component classes
        cultController = new CultController();

        localPlayer = GameObject.FindWithTag("Player_Object").GetComponent <Player>();

        wonderController.SetUp();
        magicController.SetUpSpells();
        networkedUI.SetUpUI();
        progressTrackManager.SetUp();
        townFoundManager.SetUp();
        roundBonusManager.SetUp();
        roundEndBonusManager.SetUp();
        SetUpTracks();
        global.Set_Up();
    }
Example #7
0
 public StoreTree(GlobalFlags globalFlags, TreeType treeType)
 {
     currentIndex       = 0;
     treeNodeDictionary = new Dictionary <long, StoreTreeNode>();
     this.globalFlags   = globalFlags;
     this.treeType      = treeType;
 }
Example #8
0
    public void OnTriggerEnter2D(Collider2D collider)
    {
        Faller faller = collider.gameObject.GetComponent <Faller>();

        if (faller != null && faller.gameObject.tag != "Blockee")
        {
            GlobalFlags.SetFlag(flag, true);
        }
    }
Example #9
0
	/// <summary>
	/// Sets the greater triangle colours to match the center colour
	/// Also increments score
	/// </summary>
	/// <param name="center">The Center Triangle</param>
	private void SetGreaterTriangleColours(triangleNode center)
	{
		GlobalFlags.setScore(GlobalFlags.getScore() + (GlobalFlags.getBaseScoreValue() * GlobalFlags.getMultiplier()));

		center.delayedDestroy = true;
		
		Color c = center.triangleObject.GetComponent<TriangleColour>().GetColour();
		triangleNode n;
		
		if( c != Color.black)
		{
			if(isPointingUp(center))
			{
				//check upper node
				n = getNode(center.x, center.y - 1);
				if(n !=null && 
				   n.triangleObject.GetComponent<TriangleColour>().GetColour() 
				   != Color.black)
				{
					n.triangleObject.GetComponent<TriangleColour>().SetColour(c);
				}
			}
			else
			{
				//check lower node
				n = getNode(center.x, center.y + 1);
				if(n !=null && 
				   n.triangleObject.GetComponent<TriangleColour>().GetColour() 
				   != Color.black)
				{
					n.triangleObject.GetComponent<TriangleColour>().SetColour(c);
				}
			}
		
			//check left node
			n = getNode(center.x - 1, center.y);
			if(n !=null && 
			   n.triangleObject.GetComponent<TriangleColour>().GetColour() 
			   != Color.black)
			{
				n.triangleObject.GetComponent<TriangleColour>().SetColour(c);
			}
		
			//check right node
			n = getNode(center.x + 1, center.y);
			if(n !=null && 
			   n.triangleObject.GetComponent<TriangleColour>().GetColour() 
			   != Color.black)
			{
				n.triangleObject.GetComponent<TriangleColour>().SetColour(c);
			}
		}
		
		CascadeAndClear(center);


	}
Example #10
0
    public override void Interact()
    {
        base.Interact();

        if (GlobalFlags.IsSet(flag) || IsAlternate)
        {
            RoomTracker.MoveToRoom(room);
        }
    }
Example #11
0
    // Use this for initialization
    void Start()
    {
        GlobalFlags.GetDragonFlag(out dragonData);

        if (dragonData != null)
        {
            GetComponent <SpriteRenderer>().sprite = dragonData.battleSprite;
        }
    }
Example #12
0
    // Use this for initialization
    void Start()
    {
        GameObject go = GameObject.FindGameObjectWithTag("SoundEffect");

        se = go.GetComponent <SoundEffects>();
        if (audio != null)
        {
            this.audio.volume = GlobalFlags.getMusicVolume();
        }
    }
Example #13
0
        public static ShaderRequiresFlags GlobalFlagsToRequireFlags(GlobalFlags flags)
        {
            ShaderRequiresFlags result = ShaderRequiresFlags.None;

            if (flags.HasFlag(GlobalFlags.ForceEarlyDepthStencilTest))
            {
                result |= ShaderRequiresFlags.EarlyDepthStencil;
            }
            return(result);
        }
Example #14
0
    void ShowMainMenu(bool active)
    {
        //MainPanel.SetActive(active);

        if (PlayerQueued)
        {
            PlayerButton.interactable = false;
        }
        else
        {
            PlayerButton.interactable = active;
        }

        if (DragonQueued || CM.Player.AllDragonsDead())
        {
            DragonButton.interactable = false;
        }
        else
        {
            DragonButton.interactable = active;
        }

        if (CM.Dragon == null)
        {
            DragonButton.interactable = false;
        }

        if (PlayerQueued || DragonQueued || GlobalFlags.GetBossFlag() == true)
        {
            CaptureButton.interactable = false;
        }
        else
        {
            CaptureButton.interactable = active;
        }

        if (GlobalFlags.GetBossFlag() == true)
        {
            FleeButton.interactable = false;
        }
        else
        {
            FleeButton.interactable = active;
        }

        if (DragonCaptured)
        {
            PlayerButton.interactable  = false;
            DragonButton.interactable  = false;
            CaptureButton.interactable = false;
            FleeButton.interactable    = false;
        }

        //ES.SetSelectedGameObject(PlayerButton.gameObject);
    }
Example #15
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Debug.LogError("You've put another Global Flags somewhere...");
     }
 }
Example #16
0
 /// <summary>
 /// Reset all fields.
 /// </summary>
 public void Reset()
 {
     options       = new Options();
     characters    = new List <Character>();
     interactables = new List <Interactable>();
     inventory     = new Inventory();
     globalFlags   = new GlobalFlags();
     quests        = new Quest[0];
     talkLogs      = new TalkLog[0];
     OnATalk       = false;
     ReadJSONs();
 }
        //public ScriptableObject PlayerData = Resources.Load<ScriptableObject>("ScriptableObjects/Player");
        //public ScriptableObject DragonData = Resources.Load<ScriptableObject>("ScriptableObjects/Dragon");
        //public ScriptableObject EnemyData = Resources.Load<ScriptableObject>("ScriptableObjects/ExampleEnemy");

        public void OnStateEnter(params object[] parameters)
        {
            SceneManager.LoadScene(GlobalFlags.GetCurrentBattleScene());
            if (GlobalFlags.GetBossFlag() == false)
            {
                SoundManager.Instance.PlayMusic("SuperHero_original", 0.55f);
            }
            else
            {
                SoundManager.Instance.PlayMusic("Boss Battle", 0.55f);
            }
        }
Example #18
0
    void OnGUI()
    {
        //set demensions of the buttons
        float buttonW = Screen.width / 3;
        float buttonH = Screen.height / 15;

        GUIStyle style = new GUIStyle(GUI.skin.button);

        style.fontSize = (int)(buttonH / 2);

        //set the prebuilt button
        float halfScreenW = (Screen.width / 2) - buttonW / 2;
        float halfScreenH = 5 * Screen.height / 12;

        if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Original", style))
        {
            Application.LoadLevel("LevelSelectPreMenu");
        }

        //set the random button
        halfScreenW = (Screen.width / 2) - buttonW / 2;
        halfScreenH = 6 * Screen.height / 12;
        if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Random", style))
        {
            GlobalFlags.setRandLevel(true);
            Application.LoadLevel("game");
        }

        halfScreenW = (Screen.width / 2) - buttonW / 2;
        halfScreenH = 7 * Screen.height / 12;
        if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Infinite", style))
        {
            GlobalFlags.setRandLevel(true);
            GlobalFlags.infiniteRandomMode = true;
            Application.LoadLevel("game");
        }

        //set the user made button
//		halfScreenW = (Screen.width/2) - buttonW/2;
//		halfScreenH = 7 * Screen.height/12 + 0;
//		if (GUI.Button(new Rect(halfScreenW,halfScreenH,buttonW,buttonH),"User Made", style)){
//			Application.LoadLevel("LevelSelectUserMenu");
//		}

        //set the option button
        halfScreenW = (Screen.width / 2) - buttonW / 2;
        halfScreenH = 10 * Screen.height / 12 + 0;
        if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Options", style))
        {
            Application.LoadLevel("OptionsMenu");
        }
    }
Example #19
0
    public override void Interact()
    {
        base.Interact();

        if (GlobalFlags.IsSet(switchable))
        {
            GlobalFlags.SetFlag(flag, !GlobalFlags.IsSet(flag));
        }
        else
        {
            GlobalFlags.SetFlag(flag, true);
        }
    }
Example #20
0
    void OnGUI()
    {
        //button dimensions
        float buttonW = Screen.width / 2;
        float buttonH = Screen.height / 10;

        GUIStyle style = new GUIStyle(GUI.skin.button);

        style.fontSize = (int)(buttonH / 2.5f);

        GUIStyle labelStyle = new GUIStyle(GUI.skin.label);

        labelStyle.fontSize  = (int)(buttonH / 2.5f);
        labelStyle.alignment = TextAnchor.UpperCenter;

        GUI.skin        = skin;
        style.alignment = TextAnchor.UpperCenter;
        GUI.Box(backWindow, "Game Over!", style);        //title the menu
        style.alignment = TextAnchor.MiddleCenter;

        GUI.Label(label, "Score: " + GlobalFlags.getScore(), labelStyle);

        // set the resume button and functionality
        float halfScreenW = (Screen.width / 2) - buttonW / 2;
        float halfScreenH = Screen.height / 2 - 80;

        /*if (GUI.Button(new Rect(halfScreenW,halfScreenH,buttonW,buttonH),"Resume")){
         *      paused = false;
         *      GlobalFlags.setPaused(false);
         * }*/

        //set the restart button and functionality
        halfScreenW = (Screen.width / 2) - buttonW / 2;
        halfScreenH = backWindow.y + Screen.height / 5;
        if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Restart", style))
        {
            //GlobalFlags.canFire = true;
            Application.LoadLevel("game");
            GlobalFlags.setPaused(false);
        }

        //set the back to menu button and functionality
        halfScreenW = (Screen.width / 2) - buttonW / 2;
        halfScreenH = Screen.height / 2 + buttonH * 1.2f;
        if (GUI.Button(new Rect(halfScreenW, halfScreenH, buttonW, buttonH), "Back To Menu", style))
        {
            //GlobalFlags.canFire = true;
            Application.LoadLevel("LevelSelectPreMenu");
            GlobalFlags.setPaused(false);
        }
    }
Example #21
0
    void OnGUI()
    {
        int height = Screen.height / 15;

        GUIStyle style = new GUIStyle(GUI.skin.label);

        style.fontSize = (int)(height / 2);

        GUI.Label(new Rect(0, 0, Screen.width, height), "Score: " + GlobalFlags.getScore(), style);
        GUI.Label(new Rect(0, 1 * Screen.height / 15, Screen.width, height), "Multiplier: " + GlobalFlags.getMultiplier(), style);
        if (!GlobalFlags.infiniteRandomMode)
        {
            GUI.Label(new Rect(0, 2 * Screen.height / 15, Screen.width, height), "Queue Bonus: " + GlobalFlags.getQueueBounusTotal(), style);
        }
    }
Example #22
0
    // Use this for initialization
    void Awake()
    {
        Vector2 pos = GlobalFlags.GetPlayerPosition();

        transform.position = new Vector3(pos.x, pos.y, transform.position.z);

        P = (EntityData)entityData;
        //if (P.GetNumDragons() == 0)
        //    P.AddDragon("Basic Drakling", -1);

        lookDirection = new Vector2Int(0, 0);
        state         = PlayerState.Exploring;
        rigidbody     = GetComponent <Rigidbody2D>();
        animator      = GetComponent <Animator2D>();
    }
Example #23
0
        public void WriteTo(BinaryStream stream, int baseOffset = 0)
        {
            var value = Value;

            switch (Type)
            {
            case DescriptorType.None:
                stream.WriteByte(value);
                break;

            case DescriptorType.BigValue:
            case DescriptorType.Reference:
            {
                var code = (byte)~Type;

                if (ReferenceType == ReferenceType.Offset)
                {
                    var ptr    = (int)stream.Position + baseOffset;
                    var offset = (ptr - value);

                    if (offset < 0)
                    {
                        throw new InvalidOperationException("Cannot write a forward-offset!");
                    }

                    value = offset;
                }

                if (GlobalFlags.HasFlag(DescriptorFlags.Use24Bit))
                {
                    if ((value & 0xFFFFFF) != value)
                    {
                        throw new InvalidOperationException($"Descriptor value '{value}' too large, cannot fit into 24-bits!");
                    }

                    value <<= 8;
                    value  |= code;

                    stream.Write(value);
                }
                else
                {
                    stream.WriteByte(code);
                    stream.Write(value);
                }
            } break;
            }
        }
Example #24
0
        /// <summary>
        /// Get the JSON's data.
        /// </summary>
        public void ReadJSONs()
        {
            // Reset objects.
            options     = new Options();
            inventory   = new Inventory();
            globalFlags = new GlobalFlags();
            quests      = new Quest[0];

            // Read JSON's.
            options     = ReadJSON <Options>("preferences", "Diplomata");
            inventory   = ReadJSON <Inventory>("inventory", "Diplomata");
            globalFlags = ReadJSON <GlobalFlags>("globalFlags", "Diplomata");
            quests      = ReadJSON <Quests>("quests", "Diplomata").GetQuests();

            // Update characters and interactables.
            UpdateList();
        }
        public static string GetDescription(this GlobalFlags value)
        {
            string result = string.Empty;

            foreach (Enum enumValue in Enum.GetValues(typeof(GlobalFlags)))
            {
                if ((int)value > 0 && value.HasFlag(enumValue))
                {
                    if (!string.IsNullOrEmpty(result))
                    {
                        result += " | ";
                    }
                    result += enumValue.GetDescription();
                }
            }
            return(result);
        }
Example #26
0
        public static DescriptorTag CreateReference(int value, ReferenceType refType)
        {
            if (refType == ReferenceType.None)
            {
                throw new InvalidOperationException("ID:10T error -- why the f**k are you creating a reference with no type?!");
            }

            if (GlobalFlags.HasFlag(DescriptorFlags.Use24Bit))
            {
                if ((value & 0xFFFFFF) != value)
                {
                    throw new InvalidOperationException($"Descriptor offset '{value}' too large, cannot fit into 24-bits!");
                }
            }

            return(new DescriptorTag(value, DescriptorType.Reference, refType));
        }
Example #27
0
        public M2(BinaryReader br)
        {
            Magic   = br.ReadString(4);
            Version = br.ReadUInt32();

            InternalName             = br.ReadM2Array <byte>(Version)?.AsString();
            GlobalFlags              = br.ReadEnum <GlobalFlags>();
            GlobalSequenceTimestamps = br.ReadM2Array <uint>(Version);
            Sequences               = br.ReadM2Array <M2Sequence>(Version);
            SequenceLookup          = br.ReadM2Array <short>(Version);
            PlayableAnimationLookup = br.ReadM2Array <M2PlayableAnimationLookup>(Version);
            Bones                    = br.ReadM2Array <M2Bone>(Version);
            KeyBoneLookup            = br.ReadM2Array <KeyBone>(Version);
            Vertices                 = br.ReadM2Array <M2Vertex>(Version);
            SkinProfiles             = br.ReadM2Array <M2SkinProfile>(Version);
            Colors                   = br.ReadM2Array <M2Color>(Version);
            Textures                 = br.ReadM2Array <M2Texture>(Version);
            TextureWeights           = br.ReadM2Array <FixedPoint_0_15>(Version);
            TextureFlipbook          = br.ReadM2Array <byte>(Version);
            TextureTransforms        = br.ReadM2Array <M2TextureTransform>(Version);
            TextureReplacementLookup = br.ReadM2Array <short>(Version);
            Materials                = br.ReadM2Array <M2Material>(Version);
            BoneLookup               = br.ReadM2Array <short>(Version);
            TextureLookup            = br.ReadM2Array <short>(Version);
            TexUnitLookup            = br.ReadM2Array <short>(Version);
            TransparencyLookup       = br.ReadM2Array <short>(Version);
            TexTransformsLookup      = br.ReadM2Array <short>(Version);
            BoundingBox              = br.ReadStruct <CExtent>();
            CollisionBox             = br.ReadStruct <CExtent>();
            CollisionTriangles       = br.ReadM2Array <ushort>(Version);
            CollisionVertices        = br.ReadM2Array <C3Vector>(Version);
            CollisionNormals         = br.ReadM2Array <C3Vector>(Version);
            Attachments              = br.ReadM2Array <M2Attachment>(Version);
            AttachmentLookupTable    = br.ReadM2Array <ushort>(Version);
            Events                   = br.ReadM2Array <M2Event>(Version);
            Lights                   = br.ReadM2Array <M2Light>(Version);
            Cameras                  = br.ReadM2Array <M2Camera>(Version);
            CameraLookupTable        = br.ReadM2Array <short>(Version);
            Ribbons                  = br.ReadM2Array <M2Ribbon>(Version);
            Particles                = br.ReadM2Array <M2Particle>(Version);

            if (TextureFlipbook != null)
            {
                throw new Exception("TextureFlipbook has data");
            }
        }
Example #28
0
    void FixedUpdate()
    {
        if (!GlobalFlags.getPaused())
        {
            GameObject cannon = GameObject.FindGameObjectWithTag("Player");
            if (Input.GetMouseButton(0))
            {
                Plane playerPlane = new Plane(Vector3.forward, transform.position);
                Ray   ray         = Camera.main.ScreenPointToRay(Input.mousePosition);
                float hitdist     = 0;

                if (playerPlane.Raycast(ray, out hitdist))
                {
                    Vector3 target = ray.GetPoint(hitdist);

                    float mouseDist  = Vector3.Distance(transform.position, target);
                    float cannonDist = Vector3.Distance(transform.position, cannon.transform.position);

                    if (mouseDist < cannonDist - sizeOffset)
                    {
                        if (GlobalFlags.trianglesStatic)
                        {
                            GlobalFlags.canFire = true;
                            GlobalFlags.bandAidFixToDefeatAllOtherBandAidFixes = true;
                        }

                        float y    = (target.y - cannon.transform.position.y);
                        float x    = (target.x - cannon.transform.position.x);
                        float atan = Mathf.Atan2(y, x);

                        cannon.transform.rotation = Quaternion.Euler(new Vector3(0, 0, atan * Mathf.Rad2Deg - 90));
                    }
                    else if (Vector3.Distance(target, cannon.transform.position) < moveOffset)
                    {
                        GlobalFlags.canFire = false;
                        float y    = (target.y - transform.position.y);
                        float x    = (target.x - transform.position.x);
                        float atan = Mathf.Atan2(y, x);

                        transform.rotation = Quaternion.Euler(new Vector3(0, 0, atan * Mathf.Rad2Deg - 90));
                    }
                }
            }
        }
    }
Example #29
0
    //DEPRECATED
    public static ITree getTreeFromFile(string path, TreeType treeType, GlobalFlags gf)
    {
        ITree            t            = null;
        List <ITreeNode> treeNodeList = null;

        switch (treeType)
        {
        case TreeType.World:
            WorldTree worldTree = new WorldTree(gf, treeType);
            treeNodeList = getTreeNodeListFromFile(path, treeType);
            worldTree.treeNodeDictionary = getWorldTreeNodeFromList(treeNodeList);
            worldTree.currentIndex       = treeNodeList[0].index;
            t = worldTree;
            break;

        case TreeType.Zone:
            ZoneTree zoneTree = new ZoneTree(gf, treeType);
            treeNodeList = getTreeNodeListFromFile(path, treeType);
            zoneTree.treeNodeDictionary = getZoneTreeNodeFromList(treeNodeList);
            zoneTree.currentIndex       = treeNodeList[0].index;
            t = zoneTree;
            break;

        case TreeType.Dialog:
            DialogTree dialogTree = new DialogTree(gf, treeType);
            treeNodeList = getTreeNodeListFromFile(path, treeType);
            dialogTree.treeNodeDictionary = getDialogTreeNodeFromList(treeNodeList);
            dialogTree.currentIndex       = treeNodeList[0].index;
            t = dialogTree;
            break;

        case TreeType.Quest:
            QuestTree questTree = new QuestTree(gf, treeType);
            treeNodeList = getTreeNodeListFromFile(path, treeType);
            questTree.treeNodeDictionary = getQuestTreeNodeFromList(treeNodeList);
            questTree.currentIndex       = treeNodeList[0].index;
            t = questTree;
            break;

        default:
            break;
        }
        return(t);
    }
    public void OnNewGamePressed()
    {
        SerializationManager.CreateNewSaveFile();


        ShopKeeperData weaponsShop = Resources.Load <ShopKeeperData>("ScriptableObjects/Shops/ArmorShop");

        weaponsShop.Gold = 2000;
        weaponsShop.items.ResetInventory(player: false);
        weaponsShop.items.Insert("Axe", 1);
        weaponsShop.items.Insert("Helmet", 1);
        weaponsShop.items.Insert("Chest Plate", 1);
        weaponsShop.items.Insert("Gloves", 1);
        weaponsShop.items.Insert("Boots", 1);

        weaponsShop.items.Insert("Sword", 1);
        weaponsShop.items.Insert("Great Axe", 1);
        weaponsShop.items.Insert("Steel Helmet", 1);
        weaponsShop.items.Insert("Steel Chest Plate", 1);
        weaponsShop.items.Insert("Steel Gloves", 1);
        weaponsShop.items.Insert("Steel Boots", 1);

        weaponsShop.items.Insert("Knight Sword", 1);
        weaponsShop.items.Insert("Lance", 1);
        weaponsShop.items.Insert("Platinum Helmet", 1);
        weaponsShop.items.Insert("Platinum Chest Plate", 1);
        weaponsShop.items.Insert("Platinum Gloves", 1);
        weaponsShop.items.Insert("Platinum Boots", 1);

        ShopKeeperData goodsShop = Resources.Load <ShopKeeperData>("ScriptableObjects/Shops/Goods Shop");

        goodsShop.Gold = 2000;
        goodsShop.items.ResetInventory(player: false);
        goodsShop.items.Insert("Apple", 15);
        goodsShop.items.Insert("Lesser Potion", 5);
        goodsShop.items.Insert("Potion", 5);
        goodsShop.items.Insert("Greater Potion", 5);

        GlobalFlags.SetCurrentOverworldScene("Town");
        GlobalFlags.SetPlayerPosition(new Vector2(0.5f, -11f));
        GameManager.instance.PushState(StateManagement.GameStateType.Overworld, "Town");

        GlobalFlags.SetFirstTimeFlag(false);
    }
    // Use this for initialization
    void Awake()
    {
        Screen.SetResolution(1280, 720, true);

        if (instance != null)
        {
            return;
        }

        instance = this;
        DontDestroyOnLoad(this);

        //GlobalFlags.LoadGlobalFlags();
        GlobalFlags.SetCurrentOverworldScene("Overworld");
        GlobalFlags.SetCurrentBattleScene("Battle");

        InitializeManagers();
        InitializeGameStates();
    }
 public static ITree getTreeFromFile(string path,TreeType treeType,  GlobalFlags gf)
 {
     ITree t = null;
         List<ITreeNode> treeNodeList = null;
         switch (treeType)
         {
             case TreeType.World:
                 WorldTree worldTree = new WorldTree(gf, treeType);
                     treeNodeList = getTreeNodeListFromFile(path,treeType);
                    worldTree.treeNodeDictionary = getWorldTreeNodeFromList(treeNodeList);
                    worldTree.currentIndex = treeNodeList[0].index;
                 t = worldTree;
                 break;
             case TreeType.Zone:
                 ZoneTree zoneTree = new ZoneTree(gf, treeType);
                    treeNodeList = getTreeNodeListFromFile(path,treeType);
                    zoneTree.treeNodeDictionary = getZoneTreeNodeFromList(treeNodeList);
                    zoneTree.currentIndex = treeNodeList[0].index;
                    t = zoneTree;
                 break;
             case TreeType.Dialog:
                 DialogTree dialogTree = new DialogTree(gf, treeType);
                     treeNodeList = getTreeNodeListFromFile(path,treeType);
                     dialogTree.treeNodeDictionary = getDialogTreeNodeFromList(treeNodeList);
                     dialogTree.currentIndex = treeNodeList[0].index;
                     t = dialogTree;
                 break;
             case TreeType.Quest:
                 QuestTree questTree = new QuestTree(gf, treeType);
                     treeNodeList = getTreeNodeListFromFile(path,treeType);
                     questTree.treeNodeDictionary = getQuestTreeNodeFromList(treeNodeList);
                     questTree.currentIndex = treeNodeList[0].index;
                     t = questTree;
                 break;
             default:
                 break;
         }
         return t;
 }
 public static ITree getTreeFromString(string data, TreeType treeType, GlobalFlags gf)
 {
     ITree t = null;
         List<ITreeNode> treeNodeList = null;
         switch (treeType)
         {
             case TreeType.World:
                 WorldTree worldTree = new WorldTree(gf, treeType);
                 treeNodeList = getTreeNodeListFromString(data, treeType);
                 worldTree.treeNodeDictionary = getWorldTreeNodeFromList(treeNodeList);
                 worldTree.currentIndex = treeNodeList[0].index;
                 t = worldTree;
                 break;
             case TreeType.Zone:
                 ZoneTree zoneTree = new ZoneTree(gf, treeType);
                 treeNodeList = getTreeNodeListFromString(data, treeType);
                 zoneTree.treeNodeDictionary = getZoneTreeNodeFromList(treeNodeList);
                 zoneTree.currentIndex = treeNodeList[0].index;
                 t = zoneTree;
                 break;
             case TreeType.Dialog:
                 DialogTree dialogTree = new DialogTree(gf, treeType);
                 treeNodeList = getTreeNodeListFromString(data, treeType);
                 dialogTree.treeNodeDictionary = getDialogTreeNodeFromList(treeNodeList);
                 dialogTree.currentIndex = treeNodeList[0].index;
                 t = dialogTree;
                 break;
             case TreeType.Quest:
                 QuestTree questTree = new QuestTree(gf, treeType);
                 treeNodeList = getTreeNodeListFromString(data, treeType);
                 questTree.treeNodeDictionary = getQuestTreeNodeFromList(treeNodeList);
                 questTree.currentIndex = treeNodeList[0].index;
                 t = questTree;
                 break;
             case TreeType.Battle:
                 BattleTree battleTree = new BattleTree(gf, treeType);
                 treeNodeList = getTreeNodeListFromString(data, treeType);
                 battleTree.treeNodeDictionary = getBattleTreeNodeFromList(treeNodeList);
                 battleTree.currentIndex = treeNodeList[0].index;
                 t = battleTree;
                 break;
             case TreeType.Info:
                 InfoTree infoTree = new InfoTree(gf, treeType);
                 treeNodeList = getTreeNodeListFromString(data, treeType);
                 infoTree.treeNodeDictionary = getInfoTreeNodeFromList(treeNodeList);
                 infoTree.currentIndex = treeNodeList[0].index;
                 t = infoTree;
                 break;
             default:
                 break;
         }
         return t;
 }