예제 #1
0
    /// <summary>
    /// 取得した証拠物をこの容疑者は持っているかを判定
    /// </summary>
    /// <param name="_hitvalue"></param>証拠品の評価値をいれる
    /// <param name="_arrayevidence"></param>容疑者に関連付けした証拠品配列
    /// <param name="_hitevidence"></param>取得した証拠品のE_EVIDENCE型を入れてください
    /// <returns></returns>持っていたら_hitvalueがそのままないなら0が返される
    int DecreaseEvidenceValue(int _hitvalue, E_EVIDENCE[] _arrayevidence, E_EVIDENCE _hitevidence)
    {
        int k = 0;

        for (int i = 0; i < _arrayevidence.Length; ++i)
        {
            if (_arrayevidence[i] == _hitevidence)
            {//この容疑者は取得した証拠品を持っているので
                k = _hitvalue;
            }
        }
        Debug.Log(_hitevidence + "(" + k + ")が対象から引かれました");
        return(k);
    }
예제 #2
0
    /// <summary>
    /// 当たった証拠品から各評価値を計算するメソッド
    /// TODO 当たったときに呼んでください
    /// </summary>
    /// <param name="_evidence"></param>当たったメソッドのE_EVIDENCE型をいれてください
    public void CheckHitEvidence(E_EVIDENCE _evidence)
    {
        Debug.Log(_evidence + "が計算されました");
        int stage = DataManager.Instance.stage;

        tagStageSuspectData arraysuspect = suspect.m_arraySuspectData[stage];

        //取得した証拠品を取得
        GameObject obj = GameObject.Find("EvidenceFactory").GetComponent <EvidenceFactory>().GetEvidence(_evidence);

        //証拠品の点数を取得
        int evidencevalue = obj.GetComponent <EvidenceData>().GetEvidenceValue(stage);


        //犯人はこの証拠品の対象?か
        m_evidenceValue[0] -= DecreaseEvidenceValue(evidencevalue, arraysuspect.Guilty.evidence, _evidence);

        //無実の人たちはこの
        for (int i = 0; i < suspect.m_arraySuspectData[stage].NoGuilty.Length; ++i)
        {
            m_evidenceValue[i + 1] -= DecreaseEvidenceValue(evidencevalue, arraysuspect.NoGuilty[i].evidence, _evidence);
        }
    }
예제 #3
0
    // Update is called once per frame
    void Update()
    {
        if (canGetFlag)
        {
            if (Input.GetKey(KeyCode.E))
            {
                //証拠品の取得
                if (DataManager.Instance.getEvidenceNum >= 3)
                {
                    return;
                }

                se_getEvidence.Play();
                m_evidenceImage[DataManager.Instance.getEvidenceNum].sprite = thisSprite;
                DataManager.Instance.getEvidenceNum++;

                this.gameObject.SetActive(false);
                E_EVIDENCE evidence = GameObject.Find("EvidenceFactory").GetComponent <EvidenceFactory>().GetEvidence(this.gameObject);
                GameObject.Find("GameManager").GetComponent <CalculationValue>().CheckHitEvidence(evidence);

                canGetFlag = false;
            }
        }
    }
 public GameObject GetEvidence(E_EVIDENCE num)
 {
     return(m_evidences[(int)num]);
 }