public void CombineAtom(Atom fromAtom, Atom toAtom) { var preCombineParam = new PreCombineParam() { fromAtom = fromAtom, toAtom = toAtom }; OnPreAtomCombined.Invoke(preCombineParam); if (preCombineParam.canNotCombine) { return; } OnAtomDestroy.Invoke(fromAtom); RemoveAtom(fromAtom); Destroy(fromAtom.gameObject); toAtom.CombineAtom(); OnAtomCombined.Invoke(toAtom); }