示例#1
0
    public void EnterCombat()
    {
        needToTalk = true;
        typeTalk   = CombatTalk.EnterCombat;

        currentTurn = null;
        index       = 0;
        roundIt     = 0;

        if (iteration == 0)
        {
            customTalk.NewTalkScripted(ScriptText, 2, 2);
        }
        if (iteration == 1)
        {
            customTalk.NewTalkScripted(ScriptText, 15, 15);
        }
        else
        {
        }

        iteration++;

        GameObject g = GameObject.FindGameObjectWithTag("CombatManager");

        if (g != null && g.GetComponent <CombatManager>().talkManager != null)
        {
            TalkManager sm = g.GetComponent <CombatManager>().talkManager;
            monsters      = sm.customTalk;
            combatManager = g.GetComponent <CombatManager>();
        }
    }
示例#2
0
 public void NextTurn()
 {
     if (indexLine < lTurnInfo.Count + 1)
     {
         currentTurn = lTurnInfo[indexLine - 1];
         indexLine++;
     }
     else
     {
         currentTurn = null;
     }
 }
示例#3
0
    private void LoadScript()
    {
        string   categorie = "Draft";
        JsonData turn;

        for (int i = 0; i < jsScript[categorie].Count; i++)
        {
            turn = jsScript[categorie][i];

            ScriptTurnInfo turnInfo = new ScriptTurnInfo();
            turnInfo.indexLineStart = int.Parse(turn["indexLineStart"].ToString());

            string action = turn["action"].ToString();

            if (action == ActionType.ATTACK.sName)
            {
                turnInfo.actionType = ActionType.ATTACK;
            }
            if (action == ActionType.FEAR.sName)
            {
                turnInfo.actionType = ActionType.FEAR;
            }
            if (action == ActionType.TALK.sName)
            {
                turnInfo.actionType = ActionType.TALK;
            }

            turnInfo.fRoll = float.Parse(turn["result"].ToString());

            lTurnInfo.Add(turnInfo);
        }


        categorie = "Fighters";
        JsonData order;

        for (int i = 0; i < jsScript[categorie].Count; i++)
        {
            order = jsScript[categorie][i];

            ScriptOrder scriptOrder = new ScriptOrder();

            scriptOrder.nId   = int.Parse(order["id"].ToString());
            scriptOrder.nRoll = int.Parse(order["initiative"].ToString());

            lOrder.Add(scriptOrder);
        }
    }
示例#4
0
 // Update is called once per frame
 void Update()
 {
     if (combatManager.currentFighter.eCreatureType == CreatureType.Monster)
     {
         if (scriptedCombat != null)
         {
             ScriptTurnInfo turnInfo = scriptedCombat.currentTurn;
             if (turnInfo != null)
             {
                 OnlyAction(ActionType.GetActionTypeWithID(turnInfo.ActionCode));
             }
         }
         else
         {
             if (!combatManager.currentFighter.bHasTookDamage)
             {
                 BlockOneAction(ActionType.ATTACK);
             }
         }
     }
 }
示例#5
0
    public void NextTurn()
    {
        List <ScriptTurnInfo> turnList = new List <ScriptTurnInfo>();

        if (iteration == 1)
        {
            turnList = lTurnInfo;
        }
        if (iteration == 2)
        {
            turnList = lTurnInfo2;
        }

        if (index < turnList.Count)
        {
            currentTurn = turnList[index];
            index++;
        }
        else
        {
            currentTurn = null;
        }
    }