コード例 #1
0
ファイル: Node.cs プロジェクト: SlOneRPC/RPF-Converter
        public void WriteXml(StringBuilder sb, int indent, NodeLink[] allLinks)
        {
            Vector3 p = new Vector3();

            p.X = PositionX / 4.0f;
            p.Y = PositionY / 4.0f;
            p.Z = PositionZ / 32.0f;
            int linkCount    = LinkCountFlags.Value >> 3;
            int linkCountUnk = LinkCountFlags.Value & 7;

            YndXml.ValueTag(sb, indent, "AreaID", AreaID.ToString());
            YndXml.ValueTag(sb, indent, "NodeID", NodeID.ToString());
            YndXml.StringTag(sb, indent, "StreetName", YndXml.HashString(StreetName));
            YndXml.SelfClosingTag(sb, indent, "Position " + FloatUtil.GetVector3XmlString(p));
            YndXml.ValueTag(sb, indent, "Flags0", Flags0.Value.ToString());
            YndXml.ValueTag(sb, indent, "Flags1", Flags1.Value.ToString());
            YndXml.ValueTag(sb, indent, "Flags2", Flags2.Value.ToString());
            YndXml.ValueTag(sb, indent, "Flags3", Flags3.Value.ToString());
            YndXml.ValueTag(sb, indent, "Flags4", Flags4.Value.ToString());
            YndXml.ValueTag(sb, indent, "Flags5", linkCountUnk.ToString());

            NodeLink[] links = null;
            if (linkCount > 0)
            {
                links = new NodeLink[linkCount];
                for (int i = 0; i < linkCount; i++)
                {
                    links[i] = allLinks[LinkID + i];
                }
            }
            YndXml.WriteItemArray(sb, links, indent, "Links");
        }
コード例 #2
0
ファイル: Node.cs プロジェクト: SlOneRPC/RPF-Converter
 public void WriteXml(StringBuilder sb, int indent)
 {
     YndXml.ValueTag(sb, indent, "AreaID", AreaID.ToString());
     YndXml.ValueTag(sb, indent, "NodeID", NodeID.ToString());
     YndXml.ValueTag(sb, indent, "JunctionID", JunctionID.ToString());
     YndXml.ValueTag(sb, indent, "Unk0", Unk0.ToString());
 }
コード例 #3
0
    public static void WriteTilesToJson(SavedTiles tiles, AreaID areaID)
    {
        string content  = JsonUtility.ToJson(tiles);
        string filePath = Application.streamingAssetsPath + ("/Saved/Tiles/SavedTiles_" + areaID.ToString() + ".json");

        File.WriteAllText(filePath, content);
        Debug.Log("Tiles saved to " + filePath);
    }
コード例 #4
0
ファイル: ParallaxManager.cs プロジェクト: Ranackk/Plokoth
    ////////////////////////////////////////////////////////////////

    public override void Initialize()
    {
        JSDK.Events.EventManager.Get().AddListener <SpawnPointReachedEvent>(OnSpawnPointReachedEvent);

        m_ParallaxLayers = new List <ParallaxLayer>();
        m_CurrentAreaID  = (AreaID)123456;
        SetupParallaxLayers();
    }
コード例 #5
0
 public void LoadBgForArea(AreaID areaID)
 {
     ClearCurrentBG();
     curAreaID = areaID;
     if (areaID == AreaID.Player_Ship)
     {
         GenerateSpace();
     }
 }
コード例 #6
0
ファイル: Node.cs プロジェクト: SlOneRPC/RPF-Converter
 public void WriteXml(StringBuilder sb, int indent)
 {
     YndXml.ValueTag(sb, indent, "ToAreaID", AreaID.ToString());
     YndXml.ValueTag(sb, indent, "ToNodeID", NodeID.ToString());
     YndXml.ValueTag(sb, indent, "Flags0", Flags0.Value.ToString());
     YndXml.ValueTag(sb, indent, "Flags1", Flags1.Value.ToString());
     YndXml.ValueTag(sb, indent, "Flags2", Flags2.Value.ToString());
     YndXml.ValueTag(sb, indent, "LinkLength", LinkLength.Value.ToString());
 }
コード例 #7
0
    public SavedTiles LoadSavedTiles(AreaID areaID)
    {
        path = Application.streamingAssetsPath + ("/Saved/Tiles/SavedTiles_" + areaID.ToString() + ".json");
        if (File.Exists(path) == false)
        {
            return(new SavedTiles());
        }

        return(LoadFromJason <SavedTiles>(path));
    }
コード例 #8
0
 public override void OnInspectorGUI()
 {
     base.OnInspectorGUI();
     currentArea = (AreaID)EditorGUILayout.EnumPopup("Current Area: ", currentArea);
     if (GUILayout.Button("Load Background"))
     {
         BGVisuals_Manager manager = (BGVisuals_Manager)target;
         manager.LoadBgForArea(currentArea);
     }
 }
コード例 #9
0
    public void ChangeArea(AreaID newAreaID)
    {
        if (newAreaID == AreaID.NULL)
        {
            return;
        }

        // Change Tiles
        TileManager.instance.EnterArea(newAreaID);
        Character_Manager.instance.EnterNewArea();
    }
コード例 #10
0
ファイル: TileManager.cs プロジェクト: cesarrac/WeeklyJam-23
 void SetCurrentArea(AreaID areaID)
 {
     foreach (Area area in tile_areas)
     {
         if (area.id == areaID)
         {
             currentArea = area;
             break;
         }
     }
     currentArea.tilemap.gameObject.SetActive(true);
 }
コード例 #11
0
ファイル: Node.cs プロジェクト: rt-2/CodeWalker
        public override string ToString()
        {
            //return Unused0.ToString() + ", " + Unused1.ToString() + ", " + Unused2.ToString() + ", " +
            //       Unused3.ToString() + ", " + AreaID.ToString() + ", " + NodeID.ToString() + ", " +
            //       UnknownInterp.ToString() + ", " + HeuristicCost.ToString() + ", " + LinkID.ToString() + ", " +
            //       PositionX.ToString() + ", " + PositionY.ToString() + ", " + Unk20.ToString() + ", " + Unk21.ToString() + ", " +
            //       Unk22.ToString() + ", " + Unk24.ToString() + ", " + Unk26.ToString();

            return(AreaID.ToString() + ", " + NodeID.ToString() + ", " + StreetName.ToString());// + ", X:" +
            //PositionX.ToString() + ", Y:" + PositionY.ToString() + ", " + PositionZ.ToString();// + ", " +
            //Flags0.ToString() + ", " + Flags1.ToString() + ", Z:" +
            //Flags2.ToString() + ", " + LinkCountFlags.ToString() + ", " +
            //Flags3.ToString() + ", " + Flags4.ToString();
        }
コード例 #12
0
ファイル: Nav.cs プロジェクト: SlOneRPC/RPF-Converter
        //public uint UnkFlags0 { get { return (uint)((PolyFlags0 >> 8) & 0xFF); } } //always 0
        //public uint UnkFlags1 { get { return (uint)((PolyFlags1 >> 17) & 0xFFFF); } } //always 0
        //public uint UnkFlags2 { get { return (uint)((PolyFlags2 >> 24) & 0xFF); } } //always 0


        public override string ToString()
        {
            return
                (PolyFlags0.ToString() + ", " +
                 //IndexFlags.ToString() + ", " +
                 IndexCount.ToString() + ", " + //IndexUnk.ToString() + ", " +
                 IndexID.ToString() + ", " + AreaID.ToString() + ", " +
                 CellAABB.ToString() + ", " +
                 //PolyFlags1.ToString() + ", " +
                 //PolyFlags2.ToString() + ", " +
                 //PartFlags.ToString() + ", " + //PartUnk1.ToString() + ", " +
                 PartID.ToString() + ", " +
                 PortalLinkCount.ToString() + ", " +
                 PortalLinkID.ToString());
        }
コード例 #13
0
 public override string ToString()
 {
     return
         //Unknown_28h.Bin + ", (" + Unknown_28h_8a.ToString() + ", " + Unknown_28h_8b.ToString() + "), " +
         (Unknown_00h.ToString() + ", " +
          //IndexFlags.ToString() + ", " +
          IndexCount.ToString() + ", " + //IndexUnk.ToString() + ", " +
          IndexID.ToString() + ", " + AreaID.ToString() + ", " +
          CellAABB.ToString() + ", " +
          Unknown_24h.Hex + ", " +
          Unknown_28h.Hex + ", " +
          //PartFlags.ToString() + ", " + //PartUnk1.ToString() + ", " +
          PartID.ToString() + ", " +
          PartUnk2.ToString() + ", " +
          PortalID.ToString());
 }
コード例 #14
0
ファイル: TileManager.cs プロジェクト: cesarrac/WeeklyJam-23
    public void EnterArea(AreaID areaID)
    {
        ExitArea();

        // Load background, if any
        BGVisuals_Manager.instance.LoadBgForArea(areaID);

        // Load from Saved Tiles, if any
        SetSavedTiles(areaID);
        if (savedAreaTiles.savedTiles != null && savedAreaTiles.savedTiles.Length > 0)
        {
            LoadSavedTiles();
            return;
        }
        // Generate new Tile Data
        SetCurrentArea(areaID);
        SetupGrid();
        SetGridFromTileMap();
    }
コード例 #15
0
        protected void lvMDArea_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            Int64 AreaID;

            Int64.TryParse(e.CommandArgument.ToString(), out AreaID);

            if (AreaID > 0)
            {
                if (string.Equals(e.CommandName, "EditItem"))
                {
                    _AreaID = AreaID;

                    PrepareEditView();

                    cpeEditor.Collapsed   = false;
                    cpeEditor.ClientState = "false";
                }
                else if (string.Equals(e.CommandName, "DeleteItem"))
                {
                    try
                    {
                        Int64 result = -1;

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(MDAreaEntity.FLD_NAME_AreaID, AreaID.ToString(), SQLMatchType.Equal);

                        MDAreaEntity mDAreaEntity = new MDAreaEntity();


                        result = FCCMDArea.GetFacadeCreate().Delete(mDAreaEntity, fe, DatabaseOperationType.Delete, TransactionRequired.No);

                        if (result == 0)
                        {
                            _AreaID       = 0;
                            _MDAreaEntity = new MDAreaEntity();
                            PrepareInitialView();
                            BindMDAreaList();

                            MiscUtil.ShowMessage(lblMessage, "Area has been successfully deleted.", true);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to delete Area.", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                    }
                }
            }
        }
コード例 #16
0
 public override string ToString()
 {
     return(AreaID.ToString() + ", " + Index.ToString());
 }
コード例 #17
0
ファイル: ParallaxManager.cs プロジェクト: Ranackk/Plokoth
    ////////////////////////////////////////////////////////////////

    public void SwitchParallaxLayersToArea(AreaID newAreaID, LevelID rootLevel)
    {
        AssetDataCamera assetDataCamera = AssetManager.GetAssetData <AssetDataCamera>();

        bool success = assetDataCamera._ParallaxLayerDictionary.TryGetValue(newAreaID, out AssetDataCamera.ParallaxAreaData parallaxAreaData);

        if (!success || parallaxAreaData._LayerDatas.Count == 0)
        {
            Debug.LogError("Could not find parallaxAreaData dictionary entry for area " + newAreaID.ToString());
            return;
        }


        ////////////////////////////////////////////////////////////////

        Debug.Assert(parallaxAreaData._LayerDatas.Count <= assetDataCamera._ParallaxMaxLayers, "Area " + newAreaID.ToString() + " defines more parallax layers than _ParallaxMaxLayers allows. Consider changing that!");

        Vector2 cameraDimensionsWS = new Vector2(16.0f / 9.0f * assetDataCamera.SizeY, assetDataCamera.SizeY);

        {
            SceneContext metaContext = SceneContext.MetaContext();

            m_CurrentAreaRootWS       = parallaxAreaData.generated_AreaBoundsForParallax.position;
            m_CurrentAreaDimensionsWS = parallaxAreaData.generated_AreaBoundsForParallax.size;

            for (int i = 0; i < assetDataCamera._ParallaxMaxLayers; i++)
            {
                if (parallaxAreaData._LayerDatas.Count <= i)
                {
                    m_ParallaxLayers[i].Renderer.sprite = null;
                    m_ParallaxLayers[i].Renderer.size   = Vector2.one;
                    m_ParallaxLayers[i].DimensionsWS    = Vector2.one;
                }
                else
                {
                    /*
                     * Parallax Images come in a 4k by 4k format
                     * They always make up 100% of their parallax layers height
                     * They tile in x-Direction
                     *
                     * Parallax Layers are sized by multiplying the area size with a factor
                     * Then, a parallax renderer is scaled up to make sure that the one sprite it renders fills out the full layer.
                     * This scales influence is only for the renderer, all other logic stays the same.
                     */

                    AssetDataCamera.ParallaxLayerData layerData = parallaxAreaData._LayerDatas[i];

                    m_ParallaxLayers[i].Renderer.sprite = layerData._Sprite;

                    if (layerData._Sprite == null)
                    {
                        continue;
                    }

                    Vector2 coveredDimensionsWS = Vector2.one;
                    switch (layerData._OrientLayerSizeAt)
                    {
                    case AssetDataCamera.ParallaxLayerData.OrientSizeAt.Area:
                        coveredDimensionsWS = m_CurrentAreaDimensionsWS * layerData._LayerToAreaSizeRatio; break;

                    case AssetDataCamera.ParallaxLayerData.OrientSizeAt.Screen:
                        coveredDimensionsWS = cameraDimensionsWS * layerData._LayerToScreenSizeRatio; break;

                    default:
                        Debug.LogError("Did you miss a new enum entry here?");
                        break;
                    }

                    float rendererScaleFactor = coveredDimensionsWS.y / cameraDimensionsWS.y;

                    m_ParallaxLayers[i].Renderer.transform.localScale = Vector3.one * rendererScaleFactor;

                    // > Make it so that the sprite renderer renders the sprite exactly once in y axis
                    // > Then, we can just set the width to how wide (/scaleFactor) we want to be and tiling will do the rest for us.
                    Vector2 rendererSize = new Vector2(coveredDimensionsWS.x / rendererScaleFactor, layerData._Sprite.texture.height / layerData._Sprite.pixelsPerUnit);

                    m_ParallaxLayers[i].Renderer.size = rendererSize;
                    m_ParallaxLayers[i].DimensionsWS  = rendererSize * rendererScaleFactor;
                }
            }

            metaContext.Unset();
        }

        m_CurrentAreaID = newAreaID;

        UpdateParallaxLayerPositions();
    }
コード例 #18
0
ファイル: Node.cs プロジェクト: rt-2/CodeWalker
 public override string ToString()
 {
     return(AreaID.ToString() + ", " + NodeID.ToString() + ", " + JunctionID.ToString());
 }
コード例 #19
0
ファイル: Node.cs プロジェクト: rt-2/CodeWalker
 public override string ToString()
 {
     return(AreaID.ToString() + ", " + NodeID.ToString() + ", " + Flags0.Value.ToString() + ", " + Flags1.Value.ToString() + ", " + Flags2.Value.ToString() + ", " + LinkLength.Value.ToString());
 }
コード例 #20
0
ファイル: TileManager.cs プロジェクト: cesarrac/WeeklyJam-23
 public void SetSavedTiles(AreaID areaID)
 {
     savedAreaTiles = JsonLoader.instance.LoadSavedTiles(areaID);
 }