/// <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; }
/// <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); } }