コード例 #1
0
ファイル: FinishMap.cs プロジェクト: dorog/onlab
    private void OnTriggerEnter(Collider other)
    {
        StartActions.inStart = false;

        if (other.gameObject.tag != SharedData.playerTag)
        {
            BoxController bc = other.GetComponent <BoxController>();
            if (bc != null)
            {
                doorHighData.RemoveTopBox();
            }
            Destroy(other.gameObject);
            return;
        }

        int realCommandsNumber = commandPanel.GetRealCommandsNumber();

        int scarabNumber = ScarabCalculate(realCommandsNumber);

        int thisGameScore = ScoreCalculate(realCommandsNumber, scarabNumber);

        ActualMapData.solvedMap = new MapResultData(thisGameScore, scarabNumber, ActualMapData.HaveItem ? 1 : 0, ActualMapData.solvedMap.ItemType);

        if (!normalGame)
        {
            SceneManager.LoadScene(GameStructure.resultScene);
            return;
        }

        if (CurrentGameDatas.mapDatas[ActualMapData.mapNumber - 1].Scarab < scarabNumber)
        {
            CurrentGameDatas.mapDatas[ActualMapData.mapNumber - 1].Scarab = scarabNumber;
        }
        if ((CurrentGameDatas.mapDatas[ActualMapData.mapNumber - 1].Score) < thisGameScore)
        {
            CurrentGameDatas.mapDatas[ActualMapData.mapNumber - 1].Score = thisGameScore;
        }

        Save();
        CurrentGameDatas.mapDatas[ActualMapData.mapNumber - 1].Item     = (CurrentGameDatas.mapDatas[ActualMapData.mapNumber - 1].Item == SharedData.HaveItemNumber || ActualMapData.HaveItem) ? 1:0;
        CurrentGameDatas.mapDatas[ActualMapData.mapNumber - 1].ItemType = ActualMapData.solvedMap.ItemType;

        ActualMapData.HaveItem = false;

        SceneManager.LoadScene(GameStructure.resultScene);
    }