Esempio n. 1
0
        public WorldForm()
        {
            InitializeComponent();
            Icon = Resources.IconWorld;

            treeManager = new ObjectTreeManager();
            treeManager.InitIcons(worldTree);

            InitWorldTree();
        }
Esempio n. 2
0
        public SpoForm(Pointer <SuperObject> spo)
        {
            InitializeComponent();
            SuperObject = spo;

            string spoNameRaw = Acp.XHIE_fn_szGetObjectName(SuperObject, Acp.XHIE_OI_TYPE.TOI_INSTANCE);

            spoNameUsable = spoNameRaw ?? $"{SuperObject.StructPtr->type} [{(int)SuperObject:X8}]";

            Text = $"{spoNameUsable} - Properties";
            Icon = Resources.IconSpo;

            familyName = ctbFamily.Text =
                Acp.XHIE_fn_szGetObjectName(SuperObject, Acp.XHIE_OI_TYPE.TOI_FAMILY) ?? "(Unknown)";

            modelName = ctbModel.Text =
                Acp.XHIE_fn_szGetObjectName(SuperObject, Acp.XHIE_OI_TYPE.TOI_MODEL) ?? "(Unknown)";

            instanceName = ctbInstance.Text = spoNameRaw ?? "(Unknown)";

            ctbAddress.Text = $"0x{(int)SuperObject:X8}";
            ctbType.Text    = $"{SuperObject.StructPtr->type} (0x{(int)SuperObject.StructPtr->type:X})";

            treeManager = new ObjectTreeManager();
            treeManager.InitIcons(ctvChildren);

            if (SuperObject.StructPtr->type == SuperObjectType.Perso)
            {
                dsgvarManager = new DsgVarListManager();
                dsgvarManager.InitIcons(clvDsgVars);
                Acp.XAI_fn_lEnumSpoDsgVars(SuperObject, dsgvarManager.GetInitDsgVarsCallback(clvDsgVars));

                if (SuperObject.StructPtr->PersoData->dynam != null)
                {
                    dynamManager = new DynamManager(SuperObject);
                    dynamManager.InitListView(clvDynamBase, DynamicsBlockBase.DynamicsType.Base);
                    dynamManager.InitListView(clvDynamAdvanced, DynamicsBlockBase.DynamicsType.Advanced);
                    dynamManager.InitListView(clvDynamComplex, DynamicsBlockBase.DynamicsType.Complex);

                    switch (dynamManager.DynamType)
                    {
                    case DynamicsBlockBase.DynamicsType.Base:
                        crbDynamTypeBase.Checked = true;
                        break;

                    case DynamicsBlockBase.DynamicsType.Advanced:
                        crbDynamTypeAdvanced.Checked = true;
                        break;

                    case DynamicsBlockBase.DynamicsType.Complex:
                        crbDynamTypeComplex.Checked = true;
                        break;
                    }
                }
                else
                {
                    ctpDynamics.Enabled = false;
                }
            }
            else
            {
                ctpDsgVars.Enabled  = false;
                ctpDynamics.Enabled = false;
            }

            parentNode = treeManager.NewTreeNode("Children", IconId.List);
            ctvChildren.Nodes.Add(parentNode);

            MainFrame.Instance.LevelChanged += OnLevelChanged;
            UpdateSpoData();
        }