public void Execute(int index)
            {
                var aMod    = mods[index];
                var entLink = aMod.entLink;

                // mod link's strength
                var cpRel = rw_rel[entLink];

                cpRel.strength  = math.clamp(cpRel.strength + aMod.str_mod, -max_relation_strength, max_relation_strength);
                rw_rel[entLink] = cpRel;

                rw_isDirty[entLink] = new CpIsDirty {
                    dirty = true
                };
            }
            public void ExecuteNext(Entity ent_target, bool _)
            {
                var start_att = orig_attitude[ent_target];
                var cur_att   = acc_att[ent_target].attitude;

                if (math.abs(cur_att - start_att) > NODE_THRES)
                {
                    var rel_buf = accbuf_relation[ent_target];
                    int len_buf = rel_buf.Length;
                    for (int i = 0; i < len_buf; ++i)
                    {
                        var ent_relation = rel_buf[i].entRelation;
                        acc_dirty[ent_relation] = new CpIsDirty {
                            dirty = true
                        };
                    }
                }
            }
            public void Execute(int index)
            {
                var aMod    = mods[index];
                var entNode = aMod.entMindImageTargetNode;

                // modify the node's attitude field
                var cpAtt = rw_att[entNode];

                cpAtt.attitude  = math.clamp(cpAtt.attitude + aMod.att_mod, -1f, 1f);
                rw_att[entNode] = cpAtt;

                //set dirty on each link from this node
                var cpLstRel     = ro_relation_buf[entNode];
                int len_relation = cpLstRel.Length;

                for (int i = 0; i < len_relation; ++i)
                {
                    var entRel = cpLstRel[i].entRelation;
                    rw_isDirty[entRel] = new CpIsDirty {
                        dirty = true
                    };
                }
            }