Beispiel #1
0
 public ImNode NodeForPlacement(NodePlacement placement)
 {
     foreach (ImEntity entity in entities) {
         ImNode node = entity as ImNode;
         if (node.nodePlacement == placement) return node;
     }
     return null;
 }
Beispiel #2
0
 public ImNode NodeForPlacement(NodePlacement placement)
 {
     foreach (ImEntity entity in entities)
     {
         ImNode node = entity as ImNode;
         if (node.nodePlacement == placement)
         {
             return(node);
         }
     }
     return(null);
 }
Beispiel #3
0
    public List<ImVein> VeinsForNodePlacement(NodePlacement nodePlacement)
    {
        List<ImVein> veins = new List<ImVein>();

        foreach (ImEntity entity in entities) {
            ImVein vein = entity as ImVein;
            if (vein.veinEndpoints.fromNodePlacement == nodePlacement ||
                vein.veinEndpoints.toNodePlacement == nodePlacement) {
                veins.Add(vein);
            }
        }

        return veins;
    }
Beispiel #4
0
 public static string NameForNodePlacement(NodePlacement placement)
 {
     switch (placement) {
     case NodePlacement.Brain:
         return "node placement: brain";
     case NodePlacement.ElbowLeft:
         return "node placement: elbow left";
     case NodePlacement.ElbowRight:
         return "node placement: elbow right";
     case NodePlacement.FootLeft:
         return "node placement: foot left";
     case NodePlacement.FootRight:
         return "node placement: foot right";
     case NodePlacement.HandLeft:
         return "node placement: hand left";
     case NodePlacement.HandRight:
         return "node placement: hand right";
     case NodePlacement.Heart:
         return "node placement: heart";
     case NodePlacement.HipLeft:
         return "node placement: hip left";
     case NodePlacement.HipRight:
         return "node placement: hip right";
     case NodePlacement.Intestines:
         return "node placement: intestines";
     case NodePlacement.KneeLeft:
         return "node placement: knee left";
     case NodePlacement.KneeRight:
         return "node placement: knee right";
     case NodePlacement.Liver:
         return "node placement: liver";
     case NodePlacement.LungLeft:
         return "node placement: lung left";
     case NodePlacement.LungRight:
         return "node placement: lung right";
     case NodePlacement.Neck:
         return "node placement: neck";
     case NodePlacement.ShoulderLeft:
         return "node placement: shoulder left";
     case NodePlacement.ShoulderRight:
         return "node placement: shoulder right";
     case NodePlacement.Stomach:
         return "node placement: stomach";
     default:
         Debug.Log("Bad nodePlacement");
         return "";
     }
 }
Beispiel #5
0
    public List <ImVein> VeinsForNodePlacement(NodePlacement nodePlacement)
    {
        List <ImVein> veins = new List <ImVein>();

        foreach (ImEntity entity in entities)
        {
            ImVein vein = entity as ImVein;
            if (vein.veinEndpoints.fromNodePlacement == nodePlacement ||
                vein.veinEndpoints.toNodePlacement == nodePlacement)
            {
                veins.Add(vein);
            }
        }

        return(veins);
    }
Beispiel #6
0
    public ImNode(NodePlacement nodePlacement, string name = "a node")
        : base(name)
    {
        name = string.Format("node: a node at " + ImConfig.NameForNodePlacement(nodePlacement));

        this.nodePlacement = nodePlacement;

        ImSpriteComponent sc = new ImSpriteComponent("baseSpriteComponent", "circle.psd");
        sc.sprite.scale = 0.5f;
        sc.sprite.color = Color.blue;
        AddComponent(sc);

        ImRadialWipeSpriteComponent ssc = new ImRadialWipeSpriteComponent("diseaseRadialWipeComponent", "circle.psd");
        ssc.sprite.scale = 0.5f;
        ssc.sprite.color = Color.red;
        ssc.sprite.percentage = 0;
        AddComponent(ssc);

        AddComponent(new ImHealthComponent("healthComponent", 100));
    }
Beispiel #7
0
    public static OrganType OrganTypeForNodePlacement(NodePlacement nodePlacement)
    {
        OrganType organType;

        switch (nodePlacement)
        {
        case NodePlacement.Brain:
            organType = OrganType.Brain;
            break;

        case NodePlacement.Heart:
            organType = OrganType.Heart;
            break;

        case NodePlacement.Intestines:
            organType = OrganType.Intestines;
            break;

        case NodePlacement.Liver:
            organType = OrganType.Liver;
            break;

        case NodePlacement.LungLeft:
            organType = OrganType.LungLeft;
            break;

        case NodePlacement.LungRight:
            organType = OrganType.LungRight;
            break;

        case NodePlacement.Stomach:
            organType = OrganType.Stomach;
            break;

        default:
            organType = OrganType.None;
            break;
        }

        return(organType);
    }
Beispiel #8
0
    public ImNode(NodePlacement nodePlacement, string name = "a node") : base(name)
    {
        name = string.Format("node: a node at " + ImConfig.NameForNodePlacement(nodePlacement));

        this.nodePlacement = nodePlacement;

        ImSpriteComponent sc = new ImSpriteComponent("baseSpriteComponent", "circle.psd");

        sc.sprite.scale = 0.5f;
        sc.sprite.color = Color.blue;
        AddComponent(sc);

        ImRadialWipeSpriteComponent ssc = new ImRadialWipeSpriteComponent("diseaseRadialWipeComponent", "circle.psd");

        ssc.sprite.scale      = 0.5f;
        ssc.sprite.color      = Color.red;
        ssc.sprite.percentage = 0;
        AddComponent(ssc);

        AddComponent(new ImHealthComponent("healthComponent", 100));
    }
Beispiel #9
0
 public VeinEndpoints(NodePlacement fromNode, NodePlacement toNode)
 {
     fromNodePlacement = fromNode;
     toNodePlacement   = toNode;
 }
Beispiel #10
0
    public static Vector2 PositionForNodePlacement(NodePlacement placement)
    {
        float maxWidth  = 105 * 2.6f;
        float maxHeight = 305 * 2.6f;

        switch (placement)
        {
        case NodePlacement.Brain:
            return(new Vector2(-0.076f * maxWidth, 0.99f * maxHeight));

        case NodePlacement.ElbowLeft:
            return(new Vector2(-0.79f * maxWidth, 0.267f * maxHeight));

        case NodePlacement.ElbowRight:
            return(new Vector2(0.695f * maxWidth, 0.262f * maxHeight));

        case NodePlacement.FootLeft:
            return(new Vector2(-0.457f * maxWidth, -0.983f * maxHeight));

        case NodePlacement.FootRight:
            return(new Vector2(0.79f * maxWidth, -1.0f * maxHeight));

        case NodePlacement.HandLeft:
            return(new Vector2(-1.0f * maxWidth, -0.141f * maxHeight));

        case NodePlacement.HandRight:
            return(new Vector2(0.981f * maxWidth, -0.121f * maxHeight));

        case NodePlacement.Heart:
            return(new Vector2(0.029f * maxWidth, 0.475f * maxHeight));

        case NodePlacement.HipLeft:
            return(new Vector2(-0.381f * maxWidth, -0.148f * maxHeight));

        case NodePlacement.HipRight:
            return(new Vector2(0.352f * maxWidth, -0.125f * maxHeight));

        case NodePlacement.Intestines:
            return(new Vector2(-0.029f * maxWidth, 0.033f * maxHeight));

        case NodePlacement.KneeLeft:
            return(new Vector2(-0.41f * maxWidth, -0.498f * maxHeight));

        case NodePlacement.KneeRight:
            return(new Vector2(0.524f * maxWidth, -0.485f * maxHeight));

        case NodePlacement.Liver:
            return(new Vector2(-0.114f * maxWidth, 0.338f * maxHeight));

        case NodePlacement.LungLeft:
            return(new Vector2(-0.333f * maxWidth, 0.508f * maxHeight));

        case NodePlacement.LungRight:
            return(new Vector2(0.352f * maxWidth, 0.518f * maxHeight));

        case NodePlacement.Neck:
            return(new Vector2(-0.076f * maxWidth, 0.744f * maxHeight));

        case NodePlacement.ShoulderLeft:
            return(new Vector2(-0.686f * maxWidth, 0.59f * maxHeight));

        case NodePlacement.ShoulderRight:
            return(new Vector2(0.552f * maxWidth, 0.63f * maxHeight));

        case NodePlacement.Stomach:
            return(new Vector2(0.219f * maxWidth, 0.256f * maxHeight));

        default:
            Debug.Log("Bad nodePlacement");
            return(new Vector2(0, 0));
        }
    }
Beispiel #11
0
    public static string NameForNodePlacement(NodePlacement placement)
    {
        switch (placement)
        {
        case NodePlacement.Brain:
            return("node placement: brain");

        case NodePlacement.ElbowLeft:
            return("node placement: elbow left");

        case NodePlacement.ElbowRight:
            return("node placement: elbow right");

        case NodePlacement.FootLeft:
            return("node placement: foot left");

        case NodePlacement.FootRight:
            return("node placement: foot right");

        case NodePlacement.HandLeft:
            return("node placement: hand left");

        case NodePlacement.HandRight:
            return("node placement: hand right");

        case NodePlacement.Heart:
            return("node placement: heart");

        case NodePlacement.HipLeft:
            return("node placement: hip left");

        case NodePlacement.HipRight:
            return("node placement: hip right");

        case NodePlacement.Intestines:
            return("node placement: intestines");

        case NodePlacement.KneeLeft:
            return("node placement: knee left");

        case NodePlacement.KneeRight:
            return("node placement: knee right");

        case NodePlacement.Liver:
            return("node placement: liver");

        case NodePlacement.LungLeft:
            return("node placement: lung left");

        case NodePlacement.LungRight:
            return("node placement: lung right");

        case NodePlacement.Neck:
            return("node placement: neck");

        case NodePlacement.ShoulderLeft:
            return("node placement: shoulder left");

        case NodePlacement.ShoulderRight:
            return("node placement: shoulder right");

        case NodePlacement.Stomach:
            return("node placement: stomach");

        default:
            Debug.Log("Bad nodePlacement");
            return("");
        }
    }
Beispiel #12
0
 public VeinEndpoints(NodePlacement fromNode, NodePlacement toNode)
 {
     fromNodePlacement = fromNode;
     toNodePlacement = toNode;
 }
Beispiel #13
0
    public static Vector2 PositionForNodePlacement(NodePlacement placement)
    {
        float maxWidth = 105 * 2.6f;
        float maxHeight = 305 * 2.6f;

        switch (placement) {
        case NodePlacement.Brain:
            return new Vector2(-0.076f * maxWidth, 0.99f * maxHeight);
        case NodePlacement.ElbowLeft:
            return new Vector2(-0.79f * maxWidth, 0.267f * maxHeight);
        case NodePlacement.ElbowRight:
            return new Vector2(0.695f * maxWidth, 0.262f * maxHeight);
        case NodePlacement.FootLeft:
            return new Vector2(-0.457f * maxWidth, -0.983f * maxHeight);
        case NodePlacement.FootRight:
            return new Vector2(0.79f * maxWidth, -1.0f * maxHeight);
        case NodePlacement.HandLeft:
            return new Vector2(-1.0f * maxWidth, -0.141f * maxHeight);
        case NodePlacement.HandRight:
            return new Vector2(0.981f * maxWidth, -0.121f * maxHeight);
        case NodePlacement.Heart:
            return new Vector2(0.029f * maxWidth, 0.475f * maxHeight);
        case NodePlacement.HipLeft:
            return new Vector2(-0.381f * maxWidth, -0.148f * maxHeight);
        case NodePlacement.HipRight:
            return new Vector2(0.352f * maxWidth, -0.125f * maxHeight);
        case NodePlacement.Intestines:
            return new Vector2(-0.029f * maxWidth, 0.033f * maxHeight);
        case NodePlacement.KneeLeft:
            return new Vector2(-0.41f * maxWidth, -0.498f * maxHeight);
        case NodePlacement.KneeRight:
            return new Vector2(0.524f * maxWidth, -0.485f * maxHeight);
        case NodePlacement.Liver:
            return new Vector2(-0.114f * maxWidth, 0.338f * maxHeight);
        case NodePlacement.LungLeft:
            return new Vector2(-0.333f * maxWidth, 0.508f * maxHeight);
        case NodePlacement.LungRight:
            return new Vector2(0.352f * maxWidth, 0.518f * maxHeight);
        case NodePlacement.Neck:
            return new Vector2(-0.076f * maxWidth, 0.744f * maxHeight);
        case NodePlacement.ShoulderLeft:
            return new Vector2(-0.686f * maxWidth, 0.59f * maxHeight);
        case NodePlacement.ShoulderRight:
            return new Vector2(0.552f * maxWidth, 0.63f * maxHeight);
        case NodePlacement.Stomach:
            return new Vector2(0.219f * maxWidth, 0.256f * maxHeight);
        default:
            Debug.Log("Bad nodePlacement");
            return new Vector2(0, 0);
        }
    }
Beispiel #14
0
    public static OrganType OrganTypeForNodePlacement(NodePlacement nodePlacement)
    {
        OrganType organType;

        switch (nodePlacement) {
        case NodePlacement.Brain:
            organType = OrganType.Brain;
            break;
        case NodePlacement.Heart:
            organType = OrganType.Heart;
            break;
        case NodePlacement.Intestines:
            organType = OrganType.Intestines;
            break;
        case NodePlacement.Liver:
            organType = OrganType.Liver;
            break;
        case NodePlacement.LungLeft:
            organType = OrganType.LungLeft;
            break;
        case NodePlacement.LungRight:
            organType = OrganType.LungRight;
            break;
        case NodePlacement.Stomach:
            organType = OrganType.Stomach;
            break;
        default:
            organType = OrganType.None;
            break;
        }

        return organType;
    }
Beispiel #15
0
    public ImNode CorrespondingNodeInNodeLayer(ImNodeLayer nodeLayer)
    {
        NodePlacement nodePlacement = ImConfig.NodePlacementForOrganType(organType_);

        return(nodeLayer.NodeForPlacement(nodePlacement));
    }