public void SetArrowSelection(int i)
    {
        //Buttons use this function

        selection = (ArrowSelection)i;
        InitializeArrows((ArrowSelection)i);
    }
Пример #2
0
 void Start()
 {
     db         = GetComponent <DatabaseBattle>();
     selection  = GetComponent <ArrowSelection>();
     logic      = GetComponent <BattleLogic>();
     activeTime = transform.FindChild("PlayerInfo/ActiveTimeBar").GetComponent <ActiveTime>();
 }
    public void InitializeArrows(ArrowSelection s)
    {
        Color      newColor    = Color.white;
        float      newAngle    = 0;
        Vector2Int inputVector = Vector2Int.one * -1;

        switch (s)
        {
        case ArrowSelection.NONE:
            inputVector = Vector2Int.one * -1;
            newColor    = new Color(0, 0, 0, 0);
            newAngle    = 0;
            break;

        case ArrowSelection.IN1:
            inputVector = currentlySelectedComponent.GetComponent <Receiver>().InputDirection1;
            newColor    = input1Color;
            newAngle    = 90;
            break;

        case ArrowSelection.IN2:
            inputVector = currentlySelectedComponent.GetComponent <Receiver>().InputDirection2;
            newColor    = input2Color;
            newAngle    = 90;
            break;

        case ArrowSelection.OUT:
            inputVector = currentlySelectedComponent.GetComponent <Transmitter>().OutputDirection;
            newColor    = outputColor;
            newAngle    = -90;
            break;
        }
        if (inputVector == Vector2Int.right)
        {
            SetActiveSprite(0);
        }
        else if (inputVector == Vector2Int.up)
        {
            SetActiveSprite(1);
        }
        else if (inputVector == Vector2Int.left)
        {
            SetActiveSprite(2);
        }
        else
        {
            SetActiveSprite(3);
        }
        for (int i = 0; i < directionButtons.Length; i++)
        {
            directionButtons[i].GetComponent <Image>().color = newColor;
            directionButtons[i].transform.localRotation      = Quaternion.Euler(new Vector3(0, 0, newAngle));
        }
    }
 public void SetArrowSelection(ArrowSelection a)
 {
     SetArrowSelection((int)a);
 }
Пример #5
0
    // Instead of start function, call this with a little delay (maybe .1s).
    // This will assign everything from infoDump. Delay is used to make sure Info dump has been assigned.
    void startFromDump()
    {
        attack     = GetComponent <BattleAttackHandler>();
        state      = GetComponent <BattleScreenStates>();
        selection  = GetComponent <ArrowSelection>();
        stateQueue = new List <BattleScreenStates.FightStates>();
        stateQueue.Add(BattleScreenStates.FightStates.BEGINNING);
        activeTime = transform.FindChild("PlayerInfo/ActiveTimeBar").GetComponent <ActiveTime>();


        enemies = new Monster[3];
        if (infoDump != null)
        {
            enemies[0] = infoDump.enemy0;
            enemies[1] = infoDump.enemy1;
            enemies[2] = infoDump.enemy2;
            activeTime.setEnemyMaxTime(infoDump.info.enemy0Max);
            activeTime.setEnemySeconds(infoDump.info.enemy0Sec);

            if (infoDump.info.numEnemies > 2)
            {
                enemy2ActiveTime.setEnemyMaxTime(infoDump.info.enemy1Max);
                enemy2ActiveTime.setEnemySeconds(infoDump.info.enemy1Sec);
                enemy3ActiveTime.setEnemyMaxTime(infoDump.info.enemy2Max);
                enemy3ActiveTime.setEnemySeconds(infoDump.info.enemy2Sec);
            }
            else if (infoDump.info.numEnemies > 1)
            {
                enemy2ActiveTime.setEnemyMaxTime(infoDump.info.enemy1Max);
                enemy2ActiveTime.setEnemySeconds(infoDump.info.enemy1Sec);
            }

            numPlayers = infoDump.info.numPlayers;
            numEnemies = infoDump.info.numEnemies;
            playerNum  = infoDump.info.numPlayers - 1;
            setEnemyHP();

            switch (playerNum)
            {
            case 0:
                character = infoDump.player0;
                break;

            case 1:
                character = infoDump.player1;
                break;

            case 2:
                character = infoDump.player2;
                break;

            default:
                print("Character still null in Battle Logic");
                break;
            }
            playerMaxHP = character.getHP();
            setPlayerHP();

            enemyAttackFlag = infoDump.info.enemyAttackFlag;


            setEnemyMaxTime();
            setEnemyTime();
            GetComponent <BattleScreenGUI>().fillSkillButtons();
        }
        else
        {
            print("infoDUmp null");
        }
        dumpLoad = false;
        for (int i = 0; i < enemies.Length; i++)
        {
            //enemies[i].setDead(false);
        }
    }