//////////////////////////////////////////////// //////////////////////////////////////////////// void Awake() { if (_instance != null && _instance != this) { Destroy(gameObject); } else { _instance = this; } }
//////////////////////////////////////////////// //////////////////////////////////////////////// public static void BuildEnvironmentNodes() { WorldNodeBuilder.CalculateWorldNodeVects(); WorldNodeBuilder.CreateWorldNodes(); WorldNodeBuilder.CalculateWorldNodeNeighbours(); foreach (WorldNode worldNode in WorldNodeBuilder.GetWorldNodes().Values) { if (worldNode.NodeData != null) { MapNodeBuilder.CreateMapNodesForWorldNode(worldNode); } } // LayerManager.AssignLayerCountsToWorldAndMapNodes(WorldNodeBuilder.GetWorldNodes()); }
//////////////////////////////////////////////// //////////////////////////////////////////////// public static void CreatePlayerShip(NetworkNodeStruct nodeStruct, int playerID) { Vector3Int nodeID = new Vector3Int(Mathf.FloorToInt(nodeStruct.NodeID.x), Mathf.FloorToInt(nodeStruct.NodeID.y), Mathf.FloorToInt(nodeStruct.NodeID.z)); WorldNodeStruct worldNodeData = new WorldNodeStruct() { NodeID = nodeID, CurrLoc = new Vector3Int(Mathf.FloorToInt(nodeStruct.CurrLoc.x), Mathf.FloorToInt(nodeStruct.CurrLoc.y), Mathf.FloorToInt(nodeStruct.CurrLoc.z)), CurrRot = new Vector3Int(Mathf.FloorToInt(nodeStruct.CurrRot.x), Mathf.FloorToInt(nodeStruct.CurrRot.y), Mathf.FloorToInt(nodeStruct.CurrRot.z)), }; WorldNode worldNode = WorldBuilder._nodeBuilder.CreateWorldNode(worldNodeData); LocationManager.SaveNodeTo_CLIENT(nodeID, worldNode); BasePlayerData playerData = PlayerManager.GetPlayerData(playerID); worldNode.transform.eulerAngles = new Vector3Int(0, 90, 0); worldNode.NodeData.worldNodeMapPieces = playerData.shipMapPieces; MapNodeBuilder.CreateMapNodesForWorldNode(worldNode); Dictionary <Vector3Int, WorldNode> dict = new Dictionary <Vector3Int, WorldNode>(); dict.Add(nodeID, worldNode); //LayerManager.AssignLayerCountsToWorldAndMapNodes(dict); //if (playerID == PlayerManager.PlayerID) //{ foreach (MapNode mapNode in worldNode.mapNodes) { mapNode.ActivateMapPiece(true); } //} if (playerData.playerID == PlayerManager.PlayerID) { MoveShip(playerData, worldNode); worldNode.transform.Find("RotationalNode").GetComponent <RotationalNode>()._rotate = true; PlayerManager.PlayersShipLoaded(); } }
//////////////////////////////////////////////// //////////////////////////////////////////////// public static void BuildWorldNodes() { List <Vector3> worldVects; Dictionary <WorldNode, List <MapNode> > worldAndWrapperNodes; Dictionary <WorldNode, List <ConnectorNode> > worldAndconnectorNodes; Dictionary <WorldNode, List <KeyValuePair <Vector3, int> > > connectorVectsAndRotations; List <List <Vector3> > container = WorldNodeBuilder.GetWorld_Outer_DockingVects(); worldVects = container[0]; WorldNodeBuilder.CreateWorldNodes(worldVects); List <WorldNode> worldNodes = WorldNodeBuilder.GetWorldNodes(); WorldNodeBuilder.GetWorldNodeNeighbours(); MapNodeBuilder.CreateMapNodes(worldNodes); connectorVectsAndRotations = ConnectorNodeBuilder.GetConnectorVects(worldNodes); worldAndconnectorNodes = ConnectorNodeBuilder.CreateConnectorNodes(connectorVectsAndRotations); }