package project.baseNetwork;

import project.baseNetwork.world.ExtendedBaseWorldUtility;
import org.mixim.base.connectionManager.ConnectionManager;


module BaseNetwork
{
    parameters:
        double playgroundSizeX @unit(m); // x size of the area the nodes are in (in meters)
        double playgroundSizeY @unit(m); // y size of the area the nodes are in (in meters)
        double playgroundSizeZ @unit(m); // z size of the area the nodes are in (in meters)
        double numNodes; // total number of hosts in the network

        @display("bgb=100,100,#E7EAB9;bgp=0,0;bgs=5");
    submodules:
        connectionManager: ConnectionManager {
            parameters:
                @display("p=20.2,0;i=abstract/multicast");
        }
        world: ExtendedBaseWorldUtility {
            parameters:
                playgroundSizeX = playgroundSizeX;
                playgroundSizeY = playgroundSizeY;
                playgroundSizeZ = playgroundSizeZ;
                numNodes = numNodes;
                @display("p=6,0;i=misc/globe");
        }
        node[numNodes]: BatteryNode {
            parameters:
                @display("i=misc/node,green;is=vs");
        }
        baseStation: BaseStation {
            parameters:
                @display("i=device/pc2;is=s");
                isBS = true;
        }

    connections allowunconnected:

}


// basic example simulation MiXiM
network baseSim extends BaseNetwork
{
    parameters:
        @display("is=vs;bgl=4");
}

