コード例 #1
0
ファイル: AnimControl.cs プロジェクト: eniac/FDP
 void RemoveHoldBackPackets(string pid, Global.PacketType pType)
 {
     if (pType == Global.PacketType.Parity)
     {
         if (HoldBackParity.ContainsKey(pid) == true)
         {
             Destroy(HoldBackParity[pid]);
             HoldBackParity.Remove(pid);
         }
     }
     else
     {
         if (HoldbackPackets.ContainsKey(pid) == true)
         {
             Destroy(HoldbackPackets[pid]);
             HoldbackPackets.Remove(pid);
         }
     }
 }
コード例 #2
0
ファイル: ColorControl.cs プロジェクト: eniac/FDP
    public Color GetPacketColor(string origin, string destination, string pid, Global.PacketType pType, Color pColor)
    {
        Color color = Color.yellow;

        // Packet type is mcd
        if (pType == Global.PacketType.MCD)
        {
            string org = "MCD" + origin;
            if (ColorsByOrigin.ContainsKey(org) == true)
            {
                color = ColorsByOrigin[org];
            }
            else
            {
                // Debug.Log("MCD = " + org + " : " + mcdColorIndex);
                ColorsByOrigin.Add(org, mcdColor[mcdColorIndex]);
                color = ColorsByOrigin[org];
                mcdColorIndex++;
            }
            // Debug.Log("COLOR = " + color + " : " + pid);
            return(color);
        }
        // If packet is NAK
        else if (pType == Global.PacketType.NAK)
        {
            return(new Color(0.925f, 0.066f, 0.6156f));
        }

        // If packet type is MCD cache
        else if (pType == Global.PacketType.MCDcache)
        {
            return(mcdCacheColor);
        }
        else if (pType == Global.PacketType.Parity)
        {
            return(Color.white);
        }
        // Packet type is HC
        else if (pType == Global.PacketType.HC)
        {
            return(new Color(1f, 0, 1f));
        }

        // Packet type is qos
        if (pType == Global.PacketType.Qos)
        {
            string org = "QOS" + origin;
            if (ColorsByOrigin.ContainsKey(org) == true)
            {
                color = ColorsByOrigin[org];
            }
            else
            {
                ColorsByOrigin.Add(org, qosColor[qosColorIndex]);
                color = ColorsByOrigin[org];
                qosColorIndex++;
            }
            // Debug.Log("COLOR = " + color + " : " + pid);
            return(color);
        }
        // FOr all normal packets
        switch (colorPatternIndex)
        {
        case Global.ColorPattern.OriginBased:
            // Color Pattern 1
            string org = pType.ToString() + origin;
            if (ColorsByOrigin.ContainsKey(org) == true)
            {
                color = ColorsByOrigin[org];
            }
            else
            {
                // ColorsByOrigin.Add(origin, UnityEngine.Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f));
                ColorsByOrigin.Add(org, originColor[originColorIndex]);
                color            = ColorsByOrigin[org];
                originColorIndex = (originColorIndex + 1) % originColor.Count;
            }
            break;

        case Global.ColorPattern.RequestReply:
            // Color Pattern 2
            Tuple <string, string, string> fwdPair = new Tuple <string, string, string>(origin, destination, pid);
            Tuple <string, string, string> revPair = new Tuple <string, string, string>(destination, origin, pid);

            if (paths.Contains(fwdPair) == true)
            {
                color = colorRequest;
            }
            else if (paths.Contains(revPair) == true)
            {
                color = colorReply;
            }
            else
            {
                paths.Add(fwdPair);
                color = colorRequest;
            }
            break;

        case Global.ColorPattern.PathBased:
            // Color Pattern 3
            Tuple <string, string> pair = new Tuple <string, string>(origin, destination);
            // If the pair of origin and destination is found in dictionary, return the color
            if (ColorsByPath.ContainsKey(pair) == true)
            {
                color = ColorsByPath[pair];
            }
            else
            {
                // ColorsByPath.Add(pair, UnityEngine.Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f));
                ColorsByPath.Add(pair, pathColor[pathColorIndex]);
                color          = ColorsByPath[pair];
                pathColorIndex = (pathColorIndex + 1) % pathColor.Count;
            }
            break;

        case Global.ColorPattern.None:
            color = Color.blue;
            break;
        }
        return(color);
    }