FirstGearGames / FishNet

FishNet: Unity Networking Evolved.
Other
1.38k stars 149 forks source link

Better NetworkObjectEditor #741

Closed Canglangzi closed 1 month ago

Canglangzi commented 3 months ago

Can easily access the information in the NetworkObject

The button on the right side of the object can jump to the documentation of NetworkObject and add tabs

8358d0bfc7c5271495122bd2e9169aa9

zcharef commented 3 months ago

Looks nice. I second this :)

Canglangzi commented 3 months ago

3e11123c7114296a467130333fefe84a

Canglangzi commented 3 months ago

e06109689b296e196b9b73d5fc14918e d4a0d0701c167f8cb7cc591a64488e1e It may not be in compliance with the standards, this is my selfishness haha

FirstGearGames commented 3 months ago

This is really nice. My only concern is that I do not speak Chinese, which is obviously on me, so I cannot reliably evaluate the language.

I'd recommend making the classes partial and splitting the Chinese/English methods. EG:

private static void DisplayEnglishNetworkObjectDescription()
{
  // Functional code here...
}

//Placeholder
private static partial void DisplayChineseNetworkObserverDescription();
//Actual file... eg:
//NetworkObserverDrawer.Chinese.cs
private static partial void DisplayChineseNetworkObserverDescription();
{
  //Functional code here..
}

Then where you can switch languages put a notice below the language select tabs... [English] [Chinese] Please note only English is included as default. Other language packs are third party and are not vetted by staff. Download Chinese: git url.

This change will allow your partial classes to survive updates and will let you manage them without a bunch of back and forward.

Canglangzi commented 3 months ago

This is really nice. My only concern is that I do not speak Chinese, which is obviously on me, so I cannot reliably evaluate the language.这真是太好了。我唯一担心的是我不会说中文,这显然是我的责任,所以我无法可靠地评估这门语言。

I'd recommend making the classes partial and splitting the Chinese/English methods. EG:我建议将课程部分化,并将中英文方法分开。例如:

private static void DisplayEnglishNetworkObjectDescription()
{
  // Functional code here...
}

//Placeholder
private static partial void DisplayChineseNetworkObserverDescription();
//Actual file... eg:
//NetworkObserverDrawer.Chinese.cs
private static partial void DisplayChineseNetworkObserverDescription();
{
  //Functional code here..
}

Then where you can switch languages put a notice below the language select tabs...然后,在您可以切换语言的地方,在语言选择选项卡下方放置通知...... [English] [Chinese] [简体中文][中文] Please note only English is included as default. Other language packs are third party and are not vetted by staff.请注意,默认情况下仅包含英语。其他语言包是第三方的,未经工作人员审查。 Download Chinese: git url.下载中文:git url。

This change will allow your partial classes to survive updates and will let you manage them without a bunch of back and forward.此更改将允许您的部分类在更新中幸存下来,并让您能够在没有一堆来回操作的情况下管理它们。

I will continue to improve it may take some time, there are many developers in China, I have been in contact with FN and I complained that FN's documentation is too bad, this is a fact, I will finish it, I have also written some columns, such as https://www.bilibili.com/opus/959596286425694246?spm_id_from=333.999.0.0 and https://www.bilibili.com/opus/962122238281121829?spm_id_from=333.999.0.0

Canglangzi commented 3 months ago

767b68c75fd21e1f219d0bc9f5ec4706 Organize the code

Canglangzi commented 3 months ago

68d7543dd2e0ee2a32cc4f6405be8241 In testing, I always need to modify the parameters of the FN manager. I have to click GO and open the folded component, which is very troublesome. I simply made an editor panel

FirstGearGames commented 2 months ago

I noticed the Chinese is still embedded in the English files. The classes would need to be partial and have a separate one for Chinese. In the English version you can choose Chinese as a language which would instruct developers to grab the Chinese files from your git.

You might want to remove the custom inspector for the NetworkObject fields as well. It does look great but internally the inspectors are being reworked anyway, and we would be fighting each others code. The inspector rework for things such as NetworkObject will look very similar to yours.

Canglangzi commented 2 months ago

I noticed the Chinese is still embedded in the English files. The classes would need to be partial and have a separate one for Chinese. In the English version you can choose Chinese as a language which would instruct developers to grab the Chinese files from your git.我注意到中文仍然嵌入在英文文件中。这些课程需要是部分的,并且有一个单独的中文课程。在英文版本中,您可以选择中文作为语言,这将指示开发人员从您的 git 中获取中文文件。

You might want to remove the custom inspector for the NetworkObject fields as well. It does look great but internally the inspectors are being reworked anyway, and we would be fighting each others code. The inspector rework for things such as NetworkObject will look very similar to yours.您可能还希望删除 NetworkObject 字段的自定义检查器。它看起来确实很棒,但无论如何,内部 Inspector 都在重新设计,我们将互相争论代码。针对 NetworkObject 等内容的 Inspector 返工看起来与您的非常相似。

If FishNet launches a better NetworkObject in the future, this can be turned off. This is just for transition. I will delete the Chinese part first.

Canglangzi commented 2 months ago

I'm busy with other features and haven't paid attention to this yet. I will sort out the code as soon as possible

Canglangzi commented 2 months ago

I noticed the Chinese is still embedded in the English files. The classes would need to be partial and have a separate one for Chinese. In the English version you can choose Chinese as a language which would instruct developers to grab the Chinese files from your git.我注意到中文仍然嵌入在英文文件中。这些课程需要是部分的,并且有一个单独的中文课程。在英文版本中,您可以选择中文作为语言,这将指示开发人员从您的 git 中获取中文文件。

You might want to remove the custom inspector for the NetworkObject fields as well. It does look great but internally the inspectors are being reworked anyway, and we would be fighting each others code. The inspector rework for things such as NetworkObject will look very similar to yours.您可能还希望删除 NetworkObject 字段的自定义检查器。它看起来确实很棒,但无论如何,内部 Inspector 都在重新设计,我们将互相争论代码。针对 NetworkObject 等内容的 Inspector 返工看起来与您的非常相似。

Once it's done you can release it in the next version

FirstGearGames commented 1 month ago

Switched to tabs. If you want the Chinese support in officially please work from the current editor or DM me directly as to what is needed. It would be nice to support user language packs.