How to style (give color) Link from group to generic node?

201 views Asked by At

In my CGA assignment, I have to create the state transition animation. the rule is look like this,

  1. All attack animation have to grouped in a group.
  2. Each animation state could be attacked
  3. If the current state get attacked, link to attacked state / die state. don't forget to red the link.

This is what I have done so far. The current Graph

  <Links>
    <Link Source="3e976216-d619-4f14-8b08-8da4e7f379521" Target="Screape" Bounds="1087,237.214996337891,0,21" />
    <Link Source="Appear" Target="Stand(withTheBoomerang)" Bounds="309.151636760238,210.242525068815,439.431978723561,316.737466386263" />
    <Link Source="BoomerangAttack" Target="GrabBommerang" Category="Contains" />
    <Link Source="BoomerangAttack" Target="PullBack" Category="Contains" />
    <Link Source="BoomerangAttack" Target="Throw" Category="Contains" />
    <Link Source="BoomerangTraverse" Target="ReachesLimit" Category="Contains" />
    <Link Source="BoomerangTraverse" Target="ShadowFar" Category="Contains" />
    <Link Source="BoomerangTraverse" Target="TrunBack" Category="Contains" />
    <Link Source="DIsappear" Target="Appear" Bounds="785,237.214996337891,0,21" />
    <Link Source="Dash" Target="FiringUp" Category="Contains" />
    <Link Source="Dash" Target="ShadowNear" Category="Contains" />
    <Link Source="DashWithinBoomerang" Target="FiringUp1" Category="Contains" />
    <Link Source="DashWithinBoomerang" Target="ShadowFar1" Category="Contains" />
    <Link Source="DashWithinBoomerang" Target="ShadowMedium" Category="Contains" />
    <Link Source="DashWithinBoomerang" Target="ShadowNear1" Category="Contains" />
    <Link Source="FiringUp" Target="Death" Bounds="153.410771929107,640.389949389648,170.829079771653,384.948674972214" Stroke="#FFFF0000" />
    <Link Source="FiringUp" Target="HighDamage" Bounds="330,640.389949389648,0,212.587539624023" Stroke="#FFFF0000" />
    <Link Source="FiringUp" Target="MediumDamage" Bounds="129.325950664791,640.389949389648,189.240385272064,214.834036339142" Stroke="#FFFF0000" />
    <Link Source="FiringUp" Target="ShadowNear" Bounds="330,640.390014648438,0,21" />
    <Link Source="FiringUp1" Target="DeathWithHorn" Bounds="71.6964560271613,93.331101985172,586.433172566203,433.648919987484" Stroke="#FFFF0000" />
    <Link Source="FiringUp1" Target="HighDamageReceived" Bounds="66.5870827316161,94.4767422023521,414.635769076656,432.503279770304" Stroke="#FFFF0000" />
    <Link Source="FiringUp1" Target="LowDamageReceived" Bounds="72.8701896674046,249.106957647919,400.901023610208,277.873064324737" Stroke="#FFFF0000" />
    <Link Source="FiringUp1" Target="ShadowNear1" Bounds="803,813.997497558594,0,21" />
    <Link Source="GrabBommerang" Target="DeathWithHorn" Bounds="693.738851200869,95.9788491081319,222.28514772422,431.001142346946" Stroke="#FFFF0000" />
    <Link Source="GrabBommerang" Target="HighDamageReceived" Bounds="517.753764769821,94.6385165042595,393.160860524371,432.341474950819" Stroke="#FFFF0000" />
    <Link Source="GrabBommerang" Target="LowDamageReceived" Bounds="524.925355606142,249.289854878264,380.029351062582,277.690136576814" Stroke="#FFFF0000" />
    <Link Source="GrabBommerang" Target="PullBack" Bounds="489,181.255004882813,0,21" />
    <Link Source="HighDamage" Target="Death" Bounds="164.685348510742,887.9375,151.244400024414,139.525024414063" Stroke="#FFFF0000" />
    <Link Source="HighDamageReceived" Target="DeathWithHorn" Bounds="840.498352050781,1059.52502441406,63.2306518554688,28.0390625" />
    <Link Source="HighDamageReceived" Target="Stand(withTheBoomerang)" Bounds="895.03466796875,86.6981735229492,42.264404296875,946.866767883301" />
    <Link Source="HighDamageReceived" Target="Stand(withTheBoomerang)" Index="1" Bounds="909.752075195313,85.6729888916016,63.2479248046875,947.891952514648" />
    <Link Source="HornAttack" Target="3e976216-d619-4f14-8b08-8da4e7f379521" Category="Contains" />
    <Link Source="HornAttack" Target="Screape" Category="Contains" />
    <Link Source="HornAttack" Target="Steady" Category="Contains" />
    <Link Source="Introduction" Target="Stand(withTheBoomerang)" Bounds="842,25.9599990844727,0,22.6875" />
    <Link Source="Invisible" Target="Appear" Category="Contains" />
    <Link Source="Invisible" Target="DIsappear" Category="Contains" />
    <Link Source="Invisible" Target="Preparation" Category="Contains" />
    <Link Source="LowDamageReceived" Target="DeathWithHorn" Bounds="692.972961425781,1059.52502441406,69.715087890625,28.3021240234375" Stroke="#FFFF0000" />
    <Link Source="LowDamageReceived" Target="Stand(withTheBoomerang)" Bounds="661,85.0226440429688,90.6051025390625,948.542297363281" />
    <Link Source="LowDamageReceived" Target="Stand(withTheBoomerang)" Index="1" Bounds="642.910217285156,83.2177352905273,106.051208496094,950.347206115723" />
    <Link Source="LowDamageReceived" Target="Stand(withTheBoomerang)" Index="2" Bounds="577,81.6166076660156,171.593322753906,951.948333740234" />
    <Link Source="MediumDamage" Target="Death" Bounds="114.420692443848,887.9375,25.5086288452148,136.780029296875" Stroke="#FFFF0000" />
    <Link Source="Preparation" Target="DIsappear" Bounds="785,181.255004882813,0,21" />
    <Link Source="PullBack" Target="Throw" Bounds="489,237.214996337891,0,21" />
    <Link Source="ReachesLimit" Target="TrunBack" Bounds="389,466.782501220703,0,21" />
    <Link Source="Screape" Target="Stand(withTheBoomerang)" Bounds="377.305908037669,169.858770616673,575.599948082123,19.0482499933895" />
    <Link Source="ShadowFar" Target="ReachesLimit" Bounds="389,410.822509765625,0,21" />
    <Link Source="ShadowFar1" Target="DeathWithHorn" Bounds="421.27556225604,95.7690531260061,249.620770294168,431.210907811494" Stroke="#FFFF0000" />
    <Link Source="ShadowFar1" Target="HighDamageReceived" Bounds="416.166188289789,96.8294370931967,79.6849065032721,430.150523844303" Stroke="#FFFF0000" />
    <Link Source="ShadowFar1" Target="LowDamageReceived" Bounds="417.380284655776,252.649405995363,76.4791939009677,274.330554942136" Stroke="#FFFF0000" />
    <Link Source="ShadowFar1" Target="Stand(withTheBoomerang)" Bounds="291.836979006693,213.411454016639,117.078285917828,313.568506920861" />
    <Link Source="ShadowMedium" Target="HighDamageReceived" Bounds="296.053936525064,96.1842337142338,194.287038701418,430.795757740844" Stroke="#FFFF0000" />
    <Link Source="ShadowMedium" Target="LowDamageReceived" Bounds="299.009699779168,251.426794009052,187.021385131186,275.553197446026" Stroke="#FFFF0000" />
    <Link Source="ShadowMedium" Target="ShadowFar1" Bounds="803,925.91748046875,0,21" />
    <Link Source="ShadowNear" Target="Death" Bounds="154.750304858282,696.350049389648,168.601989786389,329.204396171572" Stroke="#FFFF0000" />
    <Link Source="ShadowNear" Target="HighDamage" Bounds="330,696.350049389648,0,156.627439624023" Stroke="#FFFF0000" />
    <Link Source="ShadowNear" Target="MediumDamage" Bounds="133.477685741069,696.350049389648,181.749031748431,159.687085819811" Stroke="#FFFF0000" />
    <Link Source="ShadowNear" Target="ShadowMedium" Bounds="356.743942733421,696.350049389648,411.415361771638,199.677790557131" />
    <Link Source="ShadowNear" Target="Stand(withoutBoomerang)" Bounds="285.506747927214,34.9388868907694,43.6026063954882,635.451162498879" />
    <Link Source="ShadowNear1" Target="DeathWithHorn" Bounds="176.525980820885,93.9729849754526,485.136093448623,433.007006479625" Stroke="#FFFF0000" />
    <Link Source="ShadowNear1" Target="HighDamageReceived" Bounds="171.416607189987,95.2604199889829,313.754020820132,431.719571466095" Stroke="#FFFF0000" />
    <Link Source="ShadowNear1" Target="LowDamageReceived" Bounds="176.179652644707,250.053053219777,302.876896324405,276.926938235301" Stroke="#FFFF0000" />
    <Link Source="ShadowNear1" Target="ShadowMedium" Bounds="803,869.95751953125,0,21" />
    <Link Source="Stand(withTheBoomerang)" Target="DeathWithHorn" Bounds="864.695556640625,78.0730514526367,304.304443359375,1021.26068878174" Stroke="#FFFF0000" />
    <Link Source="Stand(withTheBoomerang)" Target="FiringUp1" Bounds="67.6700754344305,204.979992370605,207.603923489677,314.488997191735" />
    <Link Source="Stand(withTheBoomerang)" Target="GrabBommerang" Bounds="307.674572054988,204.979992370605,583.307926291001,317.695267032438" Stroke="#FFFF0000" />
    <Link Source="Stand(withTheBoomerang)" Target="HighDamageReceived" Bounds="915.402648925781,83.6074981689453,93.3822631835938,945.772262573242" Stroke="#FFFF0000" />
    <Link Source="Stand(withTheBoomerang)" Target="LowDamageReceived" Bounds="661.742492675781,83.6074981689453,113.159362792969,940.962692260742" Stroke="#FFFF0000" />
    <Link Source="Stand(withTheBoomerang)" Target="Preparation" Bounds="294.274787946945,204.979992370605,253.159773344754,314.984928543335" />
    <Link Source="Stand(withTheBoomerang)" Target="Steady" Bounds="368.31083211263,170.543945466326,408.340197299595,17.7784390519996" />
    <Link Source="Stand(withoutBoomerang)" Target="Death" Bounds="1,21.4541492462158,199.79833984375,1010.26508903503" Stroke="#FFFF0000" />
    <Link Source="Stand(withoutBoomerang)" Target="FiringUp" Bounds="284.971762525815,25.9599995422363,43.3845600584128,579.495066540056" />
    <Link Source="Stand(withoutBoomerang)" Target="HighDamage" Bounds="210,25.9599990844727,103.298706054688,829.12801361084" Stroke="#FFFF0000" />
    <Link Source="Stand(withoutBoomerang)" Target="MediumDamage" Bounds="112,25.9599990844727,94.54443359375,827.017478942871" Stroke="#FFFF0000" />
    <Link Source="Stand(withoutBoomerang)" Target="Stand(withTheBoomerang)" Bounds="367.20166015625,21.5756416320801,381.377624511719,39.4004821777344" />
    <Link Source="Steady" Target="3e976216-d619-4f14-8b08-8da4e7f379521" Bounds="1087,181.255004882813,0,21" />
    <Link Source="Throw" Target="ShadowFar" Bounds="151.445832112794,542.878058815194,955.474168701008,105.305475958209" />
    <Link Source="Throw" Target="Stand(withoutBoomerang)" Bounds="161.611781121287,358.63083684352,945.308219692515,176.388769500625" />
    <Link Source="TrunBack" Target="ShadowNear" Bounds="337.307173441353,522.742600406899,47.2816103090722,139.126097450076" />
    <Link Source="TrunBack" Target="Stand(withoutBoomerang)" Bounds="99.106827314368,364.027867148967,221.498419986497,278.912146278768" />
  </Links>

I can't find the link from group to the red node, so I can't change the stroke of the link. and the color link from group the red node still in default.

For example the dashwithouthorn group to the lowdamage, highdamage and death : The link group to the node still default

The link didn't change to red, but all members in group has red link.

All member has red-link to the red node

Note : The rest of the nodes is hided

How could I change the color of the group to node?? Thanks for help. :)

1

There are 1 answers

0
Chris On

Try removing all the properties that look like this: Stroke="#FFFF0000" and add a Category on the links instead, like this (use any category value you want to invent):

Category="Critical"

Then use a style to color those links:

<Styles>
  <Style TargetType="Link" GroupLabel="High" ValueLabel="True">
    <Condition Expression="HasCategory('Critical')" />
    <Setter Property="Stroke" Value="#FFFF0000" />
  </Style>
</Styles>

Then it should work. The generated link from the Group picks up the link categories but not the link's immediate properties.