Exemple #1
0
 /// <summary>
 /// 按下选择后,进行反应
 /// </summary>
 /// <param name="playerIndex">作为玩家的序号</param>
 private void MakeReaction(int playerIndex)
 {
     //序号超出范围,return
     if (cmtEqus[activeEquIndex.Value].output.Count - 1 < playerIndex)
     {
         return;
     }
     //Debug.Log("WD");
     //遍历output来进行生成
     for (int i = 0; i < cmtEqus[activeEquIndex.Value].output.Count; i++)
     {
         //判断是不是玩家
         if (i == playerIndex)
         {
             mctMng.CreateMatterObject(cmtEqus[activeEquIndex.Value].output[i], this.transform, CreatMatterType.Player);
         }
         else
         {
             mctMng.CreateMatterObject(cmtEqus[activeEquIndex.Value].output[i], this.transform, CreatMatterType.Matter);
         }
     }
     //自反应不需要删除另一个反应物
     if (cmtEqus[activeEquIndex.Value].input.Count != 1)
     {
         GameObject obj = objList.Find(x => x.GetComponent <MatterName>().matterName == cmtEqus[activeEquIndex.Value].input[1].name);
         //Debug.Log("WDNMD");
         Destroy(obj);
     }
     //Debug.Log("liziqidong");
     GetComponent <ReactionParticle>().FinalParticle();
     //Destroy(this.gameObject);
     return;
 }
Exemple #2
0
    /// <summary>
    /// 按下选择后,进行反应
    /// </summary>
    private void MakeReaction()
    {
        int index = 0;

        if (cmtEqus.Exists(x => x.input.Count > 1))
        {
            index = cmtEqus.FindLastIndex(x => x.input.Count > 1);
        }

        if (cmtEqus[index].input.Count == 1 || string.Compare(cmtEqus[index].input[1].name, thisMatter.matterName) > 0)
        {
            //遍历output来进行生成
            for (int i = 0; i < cmtEqus[index].output.Count; i++)
            {
                mctMng.CreateMatterObject(cmtEqus[index].output[i], this.transform, CreatMatterType.Matter);
            }
            //自反应不需要删除另一个反应物
            if (cmtEqus[index].input.Count != 1)
            {
                GameObject obj = objList.Find(x => x.GetComponent <MatterName>().matterName == cmtEqus[index].input[1].name);
                //Debug.Log("WDNMD");
                Destroy(obj);
            }
            GetComponent <ReactionParticle>().FinalParticle();
            //Destroy(this.gameObject);
        }
    }