示例#1
0
 public ElementsHolderAnimator init(FightScreen fightScreen, Element[,] elements)
 {
     this.fightScreen = fightScreen;
     this.elements    = elements;
     enabled          = false;
     return(this);
 }
示例#2
0
    public FightInterface init(FightScreen fightScreen)
    {
        this.fightScreen      = fightScreen;
        enemyHealthBar        = transform.Find("Enemy Health Bar").Find("Bar");
        playerHealthBar       = transform.Find("Player Health Bar").Find("Bar");
        enemyArmorValue       = transform.Find("Enemy Armor Value").GetComponent <StrokeText>().init("default", 5);
        enemyBarScale         = enemyHealthBar.localScale;
        playerBarScale        = playerHealthBar.localScale;
        Player.fightInterface = this;

        Transform statusEffectHolder = transform.Find("Player Statuses");

        for (int i = 0; i < statusEffectHolder.childCount; i++)
        {
            fightScreen.playerStatusEffects.Add(statusEffectHolder.GetChild(i).GetComponent <StatusEffect>().init());
        }
        statusEffectHolder = transform.Find("Enemy Statuses");
        for (int i = 0; i < statusEffectHolder.childCount; i++)
        {
            fightScreen.enemyStatusEffects.Add(statusEffectHolder.GetChild(i).GetComponent <StatusEffect>().init());
        }

        gameObject.SetActive(true);

        return(this);
    }
	public void init (FightScreen fightScreen, PotionBag potionBag) {
		this.fightScreen = fightScreen;
		this.potionBag = potionBag;
		location = GameObject.FindGameObjectWithTag("LocationScreen").GetComponent<Location>();
		render = transform.Find("WinImage").GetComponent<SpriteRenderer>();
		bg = transform.Find("BG");
		valuesHolder = transform.Find("ValuesHolder");
//		rankPointsValue = valuesHolder.Find("RankPointsValue").GetComponent<TextMesh>();
		goldValue = valuesHolder.Find("GoldValue").GetComponent<TextMesh>();
		newLevelLabel = valuesHolder.Find("NewLevelLabel").GetComponent<TextMesh>();

//		MeshRenderer mesh = valuesHolder.Find("RankPointsLabel").GetComponent<MeshRenderer>();
//		mesh.sortingLayerName = "FightResultLayer";
//		mesh.sortingOrder = 2;
		MeshRenderer mesh = valuesHolder.Find("GoldLabel").GetComponent<MeshRenderer>();
		mesh.sortingLayerName = "FightResultLayer";
		mesh.sortingOrder = 2;
//		mesh = rankPointsValue.GetComponent<MeshRenderer>();
//		mesh.sortingLayerName = "FightResultLayer";
//		mesh.sortingOrder = 2;
		mesh = goldValue.GetComponent<MeshRenderer>();
		mesh.sortingLayerName = "FightResultLayer";
		mesh.sortingOrder = 2;
		mesh = newLevelLabel.GetComponent<MeshRenderer>();
		mesh.sortingLayerName = "FightResultLayer";
		mesh.sortingOrder = 2;

		newLevelLabel.gameObject.SetActive(false);
		valuesHolder.gameObject.SetActive(false);

		transform.Find("ClickText").GetComponent<StrokeText>().init("FightResultLayer", 10);
		gameObject.SetActive(false);
	}
示例#4
0
    void Awake() {
        Vars.gameplay = this;
		Hero.init();
		GetComponent<Imager>().init();
		WorkbenchSchemeDescriptor.fillSchemesMap();
		GameObject.FindGameObjectWithTag("UserInterface").GetComponent<UserInterface>().init();
        GetComponent<ItemFactory>().init();

        itemDescriptor = GameObject.FindGameObjectWithTag("ItemDescriptor").GetComponent<ItemDescriptor>();
        itemDescriptor.init();

		potionBag = GameObject.FindGameObjectWithTag("PotionBag").GetComponent<PotionBag>();
		potionBag.init();

		inventory = GameObject.FindGameObjectWithTag("Inventory").GetComponent<Inventory>();
		inventory.init();
        
        GameObject[] scrs = GameObject.FindGameObjectsWithTag("GameScreen");

        foreach (GameObject gameObj in scrs) {
            GameScreen screen = gameObj.GetComponent<GameScreen>();
            switch (screen.getScreenType()) {
				case ScreenType.CITY: city = screen as CityScreen; break;
				case ScreenType.GUILD: guild = screen as GuildScreen; break;
				case ScreenType.BLACKSMITH: blacksmith = screen as BlacksmithScreen; break;
				case ScreenType.HEALER: healer = screen as HealerScreen; break;
				case ScreenType.HOME: home = screen as HomeScreen; break;
            }
            screens.Add(screen);
            screen.init();
            screen.hideScreen();
        }

		GetComponent<InputProcessor>().init(screens);

        fightScreen = GameObject.FindGameObjectWithTag("FightScreen").GetComponent<FightScreen>();
        equipmentScreen = GameObject.FindGameObjectWithTag("EquipmentScreen").GetComponent<EquipmentScreen>();

        fightScreen.init();
        equipmentScreen.init();

		buffShop = healer.getBuffShop();
		questBoard = guild.getQuestBoard();

		equipmentScreen.setBuffShop(buffShop);
		equipmentScreen.setQuestInformation(questBoard.getQuestInformation());

        worldMap = GameObject.FindGameObjectWithTag("WorldMap").GetComponent<WorldMap>();
        worldMap.init();

        QuestParser.parseQuests(questsFile);

        showScreen(ScreenType.CITY);
    }
	public void init (FightScreen fightScreen, Enemy enemy) {
		this.fightScreen = fightScreen;
		this.enemy = enemy;

		while (elementEffects.Count <= 3) {
			ElementEffect effect = Instantiate<Transform>(elementEffectPrefab).GetComponent<ElementEffect>();
			effect.init(fightScreen, enemy);
			effect.gameObject.SetActive(false);
			elementEffects.Add(effect);
		}
	}
示例#6
0
    public ScanningScreen init(ExploreScreen exploreScreen, StatusScreen statusScreen, ItemDescriptor itemDescriptor)
    {
        this.exploreScreen = exploreScreen;

        fightScreen = GameObject.Find("Fight Screen").GetComponent <FightScreen>().init(this, statusScreen, itemDescriptor);

        scanningDetails = transform.Find("Scanning Details").GetComponent <ScanningDetails>().init(this);

        statusScreen.cabin.scanningScreen = this;

        cursor = transform.Find("Cursor").transform;
        cursor.gameObject.SetActive(true);
        closeBtn = transform.Find("Close Button").GetComponent <Button>().init();
        transform.Find("Background").gameObject.SetActive(true);

        markersHolder = transform.Find("Markers Holder");
        holderCenter  = markersHolder.localPosition;

        Transform barsHolder = transform.Find("Bars Holder");

        barBlocks = new GameObject[barsHolder.childCount];
        char[] separ = new char[] { ' ' };
        int    pos;

        for (int i = 0; i < barsHolder.childCount; i++)
        {
            pos          = int.Parse(barsHolder.GetChild(i).name.Split(separ, int.MaxValue)[2]);
            barBlocks[i] = barsHolder.GetChild(i).gameObject;
        }
        barsHolder.gameObject.SetActive(true);

//		Transform blockHolder = transform.Find("Enemy Blocks");
//		enemyBlocks = new EnemyBlock[blockHolder.childCount];
//		EnemyBlock block;
//		for (int i = 0; i < blockHolder.childCount; i++) {
//			block = blockHolder.GetChild(i).GetComponent<EnemyBlock>().init(this);
//			enemyBlocks[block.index] = block;
//		}
//		blockHolder.gameObject.SetActive(true);
        markersHolder.gameObject.SetActive(true);

        foreach (EnemyType eType in Enum.GetValues(typeof(EnemyType)))
        {
            if (eType.planet() == Vars.planetType)
            {
                enemyTypes.Add(eType);
            }
        }

        isActive = true;

        close();
        return(this);
    }
示例#7
0
    public void init(FightScreen fightScreen, Enemy enemy)
    {
        this.fightScreen = fightScreen;
        this.enemy       = enemy;

        while (elementEffects.Count <= 3)
        {
            ElementEffect effect = Instantiate <Transform>(elementEffectPrefab).GetComponent <ElementEffect>();
            effect.init(fightScreen, enemy);
            effect.gameObject.SetActive(false);
            elementEffects.Add(effect);
        }
    }
	public void init () {
		fightScreen = transform.parent.GetComponent<FightScreen>();
		fightProcessor = fightScreen.getFightProcessor();
		Element element = null;
		for (int i = 0; i < ROWS; i++) {
			for (int j = 0; j < COLUMNS; j++) {
				element = Instantiate<Transform>(elementPrefab).GetComponent<Element>();
				element.transform.SetParent(transform);
				elements[i,j] = element;
				element.setRowAndColumn(i, j);
				element.getRender().sortingOrder = i + START_SORT_ORDER;
			}
		}
	}
示例#9
0
	public Location init (WorldMap worldMap) {
		this.worldMap = worldMap;
		fightScreen = Vars.gameplay.getFightScreen();
		enemyRender = transform.Find("EnemyImage").GetComponent<SpriteRenderer>();
		questMarker = enemyRender.transform.Find("QuestMarker").gameObject;
		huntBtn = transform.Find("HuntBtn").GetComponent<Button>();
		leaveBtn = transform.Find("LeaveBtn").GetComponent<Button>();
		attackBtn = transform.Find("AttackBtn").GetComponent<Button>();
		backBtn = transform.Find("BackBtn").GetComponent<Button>();
		background = transform.Find("BG").GetComponent<Background>();
		background.init(this);
		enemyRender.gameObject.SetActive(true);
		gameObject.SetActive(false);
		return this;
	}
示例#10
0
    public FightResultScreen init(FightScreen fightScreen, StasisChambersHolder chambersHolder, Enemy enemy)
    {
        this.fightScreen    = fightScreen;
        this.chambersHolder = chambersHolder;
        this.enemy          = enemy;

        render = transform.Find("Enemy Image").GetComponent <SpriteRenderer>();
//		background = transform.Find("Background");
//		middleground = transform.Find("Middleground");
        foreground        = transform.Find("Foreground");
        chambersAvailable = transform.Find("Chambers Available").GetComponent <StrokeText>().init("FightResultScreen", 5);

        captureBtn = transform.Find("Capture Button").GetComponent <Button>().init();
        releaseBtn = transform.Find("Release Button").GetComponent <Button>().init();

//		this.potionBag = potionBag;
//		location = GameObject.FindGameObjectWithTag("LocationScreen").GetComponent<Location>();
//		valuesHolder = transform.Find("ValuesHolder");
//		rankPointsValue = valuesHolder.Find("RankPointsValue").GetComponent<TextMesh>();
//		goldValue = valuesHolder.Find("GoldValue").GetComponent<TextMesh>();
//		newLevelLabel = valuesHolder.Find("NewLevelLabel").GetComponent<TextMesh>();

//		MeshRenderer mesh = valuesHolder.Find("RankPointsLabel").GetComponent<MeshRenderer>();
//		mesh.sortingLayerName = "FightResultLayer";
//		mesh.sortingOrder = 2;
//		MeshRenderer mesh = valuesHolder.Find("GoldLabel").GetComponent<MeshRenderer>();
//		mesh.sortingLayerName = "FightResultLayer";
//		mesh.sortingOrder = 2;
//		mesh = rankPointsValue.GetComponent<MeshRenderer>();
//		mesh.sortingLayerName = "FightResultLayer";
//		mesh.sortingOrder = 2;
//		mesh = goldValue.GetComponent<MeshRenderer>();
//		mesh.sortingLayerName = "FightResultLayer";
//		mesh.sortingOrder = 2;
//		mesh = newLevelLabel.GetComponent<MeshRenderer>();
//		mesh.sortingLayerName = "FightResultLayer";
//		mesh.sortingOrder = 2;

//		newLevelLabel.gameObject.SetActive(false);
//		valuesHolder.gameObject.SetActive(false);

        clickText = transform.Find("Click Text").GetComponent <StrokeText>().init("FightResultScreen", 6);
        gameObject.SetActive(false);

        return(this);
    }
示例#11
0
    public ElementsHolder init(FightScreen fightScreen)
    {
        fightScreen    = transform.parent.GetComponent <FightScreen>();
        fightProcessor = fightScreen.getFightProcessor();
        Element element = null;

        for (int i = 0; i < ROWS; i++)
        {
            for (int j = 0; j < COLUMNS; j++)
            {
                element = Instantiate <Transform>(elementPrefab).GetComponent <Element>().init();
                element.transform.SetParent(transform);
                elements[i, j] = element;
                element.setRowAndColumn(i, j);
                element.getRender().sortingOrder = i + START_SORT_ORDER;
            }
        }
        holderAnimator = GetComponent <ElementsHolderAnimator> ().init(fightScreen, elements);
        return(this);
    }
示例#12
0
	public void init (FightScreen fightScreen, Enemy enemy) {
		this.fightScreen = fightScreen;
		this.enemy = enemy;
		trans = transform;
		elementTrans = trans.Find("EffectSprite");
		BG = trans.Find("BG");
		emitter = trans.Find("EffectTrail");
		element = elementTrans.GetComponent<SpriteRenderer>();
		effectHit = trans.Find("HitSprite").GetComponent<SpriteRenderer>();
		trans.SetParent(fightScreen.transform);
		fightInterface = fightScreen.transform.Find("FightInterface").GetComponent<FightInterface>();
		hitTextHolder = trans.Find("HitTextHolder");
		hitText = hitTextHolder.Find("HitText").GetComponent<TextMesh>();
		hitTextBG = hitTextHolder.Find("HitTextBG").GetComponent<TextMesh>();
		MeshRenderer mesh = hitText.GetComponent<MeshRenderer>();
		mesh.sortingLayerName = "FightEffectLayer";
		mesh.sortingOrder = 4;
		mesh = hitTextBG.GetComponent<MeshRenderer>();
		mesh.sortingLayerName = "FightEffectLayer";
		mesh.sortingOrder = 3;
	}
示例#13
0
    public void init(FightScreen fightScreen, Enemy enemy)
    {
        this.fightScreen = fightScreen;
        this.enemy       = enemy;
        trans            = transform;
        elementTrans     = trans.Find("EffectSprite");
        BG        = trans.Find("BG");
        emitter   = trans.Find("EffectTrail");
        element   = elementTrans.GetComponent <SpriteRenderer>();
        effectHit = trans.Find("HitSprite").GetComponent <SpriteRenderer>();
        trans.SetParent(fightScreen.transform);
        fightInterface = fightScreen.transform.Find("Fight Interface").GetComponent <FightInterface>();
        hitTextHolder  = trans.Find("HitTextHolder");
        hitText        = hitTextHolder.Find("HitText").GetComponent <TextMesh>();
        hitTextBG      = hitTextHolder.Find("HitTextBG").GetComponent <TextMesh>();
        MeshRenderer mesh = hitText.GetComponent <MeshRenderer>();

        mesh.sortingLayerName = "FightEffectLayer";
        mesh.sortingOrder     = 4;
        mesh = hitTextBG.GetComponent <MeshRenderer>();
        mesh.sortingLayerName = "FightEffectLayer";
        mesh.sortingOrder     = 3;
    }
示例#14
0
	public void init (FightScreen fightScreen, ElementsHolder elementsHolder, Enemy enemy, PotionBag potionBag) {
		this.fightScreen = fightScreen;
		this.elementsHolder = elementsHolder;
		this.enemy = enemy;
		this.potionBag = potionBag;
	}
示例#15
0
        public void Run()
        {
            ConsoleKeyInfo key;
            bool           isRunning    = true;
            bool           rerenderFlag = true;

            do
            {
                if (rerenderFlag)
                {
                    switch (_currentState)
                    {
                    case GameState.World:
                        _gameScreen.Render();
                        break;

                    case GameState.Inventory:
                        break;

                    case GameState.Stats:
                        _statScreen.Render();
                        break;

                    case GameState.Fight:
                        _fightScreen.Render();
                        break;

                    case GameState.GameOver:
                        Console.Clear();
                        _gameLog.Render();
                        Console.WriteLine("Press any key to exit.");
                        break;
                    }

                    rerenderFlag = false;
                }

                // In case of a fight, don't ask for the key, if we are waiting for someone else's turn.
                if (_currentState == GameState.Fight && !_fightScreen.Manual)
                {
                    key = new ConsoleKeyInfo();
                }
                else
                {
                    key = Console.ReadKey(intercept: true);
                }


                switch (_currentState)
                {
                case GameState.World:
                {
                    var processResult = _gameScreen.ProcessInput(key.Key);
                    rerenderFlag = processResult.RerenderFlag;
                    if (processResult.SwitchState != null)
                    {
                        _currentState = processResult.SwitchState.Value;
                    }
                    if (_currentState == GameState.Fight)
                    {
                        var fightChars = new List <FightCharacter>
                        {
                            new FightCharacter(_currentCharacter, FightCharacterFaction.Player)
                        };

                        fightChars.AddRange(
                            _currentCharacter.CurrentScene.Characters
                            .Except(new [] { _currentCharacter })
                            .Select(c => new FightCharacter(c, FightCharacterFaction.Enemy))
                            );

                        _fightScreen = new FightScreen(new Fight(fightChars), _gameLog, _currentCharacter);
                    }
                    break;
                }

                case GameState.Inventory:
                    break;

                case GameState.Stats:
                {
                    var processResult = _statScreen.ProcessInput(key.Key);
                    rerenderFlag = processResult.RerenderFlag;
                    if (processResult.SwitchState != null)
                    {
                        _currentState = processResult.SwitchState.Value;
                    }
                    _statScreen.Update();
                    break;
                }

                case GameState.Fight:
                {
                    var processResult = _fightScreen.ProcessInput(key.Key);
                    rerenderFlag = processResult.RerenderFlag;
                    if (processResult.SwitchState != null)
                    {
                        _currentState = processResult.SwitchState.Value;
                    }
                    break;
                }

                case GameState.GameOver:
                {
                    isRunning = false;
                    break;
                }
                }
            }while (key.Key != KeyMapping.ExitGame && isRunning);

            Console.Clear();
            Console.WriteLine("You have left the game.");
        }
示例#16
0
 public void init(FightScreen fightScreen, ElementsHolder elementsHolder, Enemy enemy)
 {
     this.fightScreen    = fightScreen;
     this.elementsHolder = elementsHolder;
     this.enemy          = enemy;
 }
示例#17
0
 public void init(FightScreen fightScreen)
 {
     this.fightScreen = fightScreen;
     render           = GetComponent <SpriteRenderer>();
 }