Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
a8af7db
standards job added per sample project
fernando-cortez Mar 4, 2024
8bfff55
indentation
fernando-cortez Mar 4, 2024
90fc5cf
descriptive job name per project
fernando-cortez Mar 4, 2024
ff8d135
relative path to projects
fernando-cortez Mar 4, 2024
b3d3ca9
path backslash change
fernando-cortez Mar 5, 2024
ffe2cd4
path changes
fernando-cortez Mar 5, 2024
a09bd3f
test client driven job
fernando-cortez Mar 5, 2024
e3b8e95
path format
fernando-cortez Mar 5, 2024
d7088ad
trailing folder
fernando-cortez Mar 5, 2024
0d2dab4
current path?
fernando-cortez Mar 5, 2024
06c9e97
path change
fernando-cortez Mar 6, 2024
d3bbdb1
path change
fernando-cortez Mar 6, 2024
ce7437f
lowercase?
fernando-cortez Mar 6, 2024
ad9f21c
editorconfig added
fernando-cortez Mar 6, 2024
d5bf140
actual netcode standards csproj file
fernando-cortez Mar 6, 2024
b344572
actual path
fernando-cortez Mar 6, 2024
8509bc1
removing test job, paths sorted
fernando-cortez Mar 6, 2024
9caed20
Invaders formatted
fernando-cortez Mar 6, 2024
59352df
2DSpaceShooter formatted
fernando-cortez Mar 6, 2024
d41e3b5
ClientDriven formatted
fernando-cortez Mar 6, 2024
0b53c70
DynamicAddressablesNetworkPrefabs formatted
fernando-cortez Mar 6, 2024
f62cacb
MultiplayerUseCases formatted
fernando-cortez Mar 6, 2024
d1c64a1
changelog addition
fernando-cortez Mar 6, 2024
cd73ca1
test: update editorconfig
fernando-cortez Mar 11, 2024
c3ffbd5
line separators change
fernando-cortez Mar 11, 2024
d3a5622
file in Addressables project formatted
fernando-cortez Mar 11, 2024
cf8cffc
formatted stragler scripts in invaders
fernando-cortez Mar 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
200 changes: 200 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
; see http://editorconfig.org/ for docs on this file

root = true

[*]
ignore_if_in_header = This code was generated by a tool|<auto-generated>
indent_style = space
indent_size = 4
; uncomment to help with sharing files across os's (i.e. network share or through local vm)
#end_of_line = lf
; avoid a bom, which causes endless problems with naive text tooling
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
; keeping auto-format enabled helps avoid merge hell for projects without CI-based format validation
#disable_auto_format = true

[*.cs]
; uncomment to enable full formatting of c# files
formatters = generic, uncrustify

[*.asmdef]
scrape_api = true

[**/Tests/**.asmdef]
scrape_api = false

[*.Tests.asmdef]
scrape_api = false

[*.md]
indent_size = 2
; trailing whitespace is unfortunately significant in markdown
trim_trailing_whitespace = false
; uncomment to enable basic formatting of markdown files
#formatters = generic

[{Makefile,makefile}]
; tab characters are part of the Makefile format
indent_style = tab

[*.asmdef]
indent_size = 4

[*.json]
indent_size = 2

[*.{vcproj,bat,cmd,xaml,tt,t4,ttinclude}]
end_of_line = crlf

; this VS-specific stuff is based on experiments to see how VS will modify a file after it has been manually edited.
; the settings are meant to closely match what VS does to minimize unnecessary diffs.
[*.{vcxproj,vcxproj.filters}]
indent_style = space
indent_size = 2
end_of_line = crlf
charset = utf-8-bom
trim_trailing_whitespace = true
insert_final_newline = false
; must be broken out because of 51-char bug (https://github.com/editorconfig/editorconfig-visualstudio/issues/21)
[*.{csproj,pyproj,props,targets}]
indent_style = space
indent_size = 2
end_of_line = crlf
charset = utf-8-bom
trim_trailing_whitespace = true
insert_final_newline = false
[*.{sln,sln.template}]
indent_style = tab
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false

#### naming styles ####

# naming rules
[*.cs]
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.method_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.method_should_be_pascal_case.symbols = method
dotnet_naming_rule.method_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.private_or_internal_field_should_be_begins_with_m_.severity = suggestion
dotnet_naming_rule.private_or_internal_field_should_be_begins_with_m_.symbols = private_or_internal_field
dotnet_naming_rule.private_or_internal_field_should_be_begins_with_m_.style = begins_with_m_

dotnet_naming_rule.private_or_internal_static_field_should_be_begins_with_s_.severity = suggestion
dotnet_naming_rule.private_or_internal_static_field_should_be_begins_with_s_.symbols = private_or_internal_static_field
dotnet_naming_rule.private_or_internal_static_field_should_be_begins_with_s_.style = begins_with_s_

dotnet_naming_rule.non_public_const_fields_should_be_begins_with_k_.severity = suggestion
dotnet_naming_rule.non_public_const_fields_should_be_begins_with_k_.symbols = non_public_const_fields
dotnet_naming_rule.non_public_const_fields_should_be_begins_with_k_.style = begins_with_k_

dotnet_naming_rule.non_public_static_readonly_fields_should_be_begins_with_k_.severity = suggestion
dotnet_naming_rule.non_public_static_readonly_fields_should_be_begins_with_k_.symbols = non_public_static_readonly_fields
dotnet_naming_rule.non_public_static_readonly_fields_should_be_begins_with_k_.style = begins_with_k_

dotnet_naming_rule.event_should_be_camel_case.severity = suggestion
dotnet_naming_rule.event_should_be_camel_case.symbols = event
dotnet_naming_rule.event_should_be_camel_case.style = camel_case

dotnet_naming_rule.method_parameters_should_be_camel_case.severity = suggestion
dotnet_naming_rule.method_parameters_should_be_camel_case.symbols = method_parameters
dotnet_naming_rule.method_parameters_should_be_camel_case.style = camel_case

dotnet_naming_rule.local_should_be_camel_case.severity = suggestion
dotnet_naming_rule.local_should_be_camel_case.symbols = local
dotnet_naming_rule.local_should_be_camel_case.style = camel_case

# symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.event.applicable_kinds = event
dotnet_naming_symbols.event.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.event.required_modifiers =

dotnet_naming_symbols.method.applicable_kinds = method
dotnet_naming_symbols.method.applicable_accessibilities = public
dotnet_naming_symbols.method.required_modifiers =

dotnet_naming_symbols.private_or_internal_field.applicable_kinds = field
dotnet_naming_symbols.private_or_internal_field.applicable_accessibilities = internal, private, private_protected
dotnet_naming_symbols.private_or_internal_field.required_modifiers =

dotnet_naming_symbols.private_or_internal_static_field.applicable_kinds = field
dotnet_naming_symbols.private_or_internal_static_field.applicable_accessibilities = internal, private, private_protected
dotnet_naming_symbols.private_or_internal_static_field.required_modifiers = static

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

dotnet_naming_symbols.non_public_const_fields.applicable_kinds = field
dotnet_naming_symbols.non_public_const_fields.applicable_accessibilities = internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_public_const_fields.required_modifiers = const

dotnet_naming_symbols.non_public_static_readonly_fields.applicable_kinds = field
dotnet_naming_symbols.non_public_static_readonly_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_public_static_readonly_fields.required_modifiers = readonly, static

dotnet_naming_symbols.method_parameters.applicable_kinds = parameter
dotnet_naming_symbols.method_parameters.applicable_accessibilities =
dotnet_naming_symbols.method_parameters.required_modifiers =

dotnet_naming_symbols.local.applicable_kinds = local
dotnet_naming_symbols.local.applicable_accessibilities = local
dotnet_naming_symbols.local.required_modifiers =

# naming styles

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.begins_with_m_.required_prefix = m_
dotnet_naming_style.begins_with_m_.required_suffix =
dotnet_naming_style.begins_with_m_.word_separator =
dotnet_naming_style.begins_with_m_.capitalization = pascal_case

dotnet_naming_style.begins_with_s_.required_prefix = s_
dotnet_naming_style.begins_with_s_.required_suffix =
dotnet_naming_style.begins_with_s_.word_separator =
dotnet_naming_style.begins_with_s_.capitalization = pascal_case

dotnet_naming_style.begins_with_k_.required_prefix = k_
dotnet_naming_style.begins_with_k_.required_suffix =
dotnet_naming_style.begins_with_k_.word_separator =
dotnet_naming_style.begins_with_k_.capitalization = pascal_case

dotnet_naming_style.camel_case.required_prefix =
dotnet_naming_style.camel_case.required_suffix =
dotnet_naming_style.camel_case.word_separator =
dotnet_naming_style.camel_case.capitalization = camel_case
1 change: 1 addition & 0 deletions .yamato/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ develop_pull_request_trigger:
name: Develop Branch Triggers
dependencies:
{% for project in projects -%}
- .yamato/project-standards.yml#standards_{{ project.name }}
{% for editor in test_editors -%}
{% for platform in test_platforms -%}
- .yamato/build.yml#build_{{ project.name }}_{{ editor }}_{{ platform.name }}
Expand Down
22 changes: 22 additions & 0 deletions .yamato/project-standards.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{% metadata_file .yamato/project.metafile %}
---

{% for project in projects -%}
{% for editor in test_editors -%}

standards_{{ project.name }}:
name: Standards Check {{ project.name }} - {{ editor }}
agent:
type: Unity::VM
image: desktop/logging-testing-linux:v0.1.2-926285
flavor: b1.large
commands:
- dotnet --version
- dotnet format --version
- pip install unity-downloader-cli --upgrade --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
- unity-downloader-cli -u {{ test_editors.first }} -c editor --wait --fast
- .Editor/Unity -batchmode -nographics -logFile - -executeMethod Packages.Rider.Editor.RiderScriptEditor.SyncSolution -projectPath {{ project.path }} -quit
- dotnet run --project dotnet-tools/netcode.standards -- --project={{ project.path }} --check

{% endfor -%}
{% endfor -%}
2 changes: 1 addition & 1 deletion .yamato/project.metafile
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ projects:
- name: dynamicaddressablesnetworkprefabs
path: Basic/DynamicAddressablesNetworkPrefabs
- name: multiplayerusecases
path: Experimental/MultiplayerUsecases
path: Experimental/MultiplayerUseCases
16 changes: 8 additions & 8 deletions Basic/2DSpaceShooter/Assets/Scripts/Asteroid.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
using Unity.Netcode;
using Unity.Netcode;
using UnityEngine;
using UnityEngine.Assertions;

public class Asteroid : NetworkBehaviour
{
static string s_ObjectPoolTag = "ObjectPool";

public static int numAsteroids = 0;

NetworkObjectPool m_ObjectPool;
Expand All @@ -14,7 +14,7 @@ public class Asteroid : NetworkBehaviour

[SerializeField]
private int m_NumCreates = 3;

[HideInInspector]
public GameObject asteroidPrefab;

Expand Down Expand Up @@ -42,9 +42,9 @@ public void Explode()
return;
}
Assert.IsTrue(NetworkManager.IsServer);

numAsteroids -= 1;

var newSize = Size.Value - 1;

if (newSize > 0)
Expand All @@ -56,17 +56,17 @@ public void Explode()
int dx = Random.Range(0, 4) - 2;
int dy = Random.Range(0, 4) - 2;
Vector3 diff = new Vector3(dx * 0.3f, dy * 0.3f, 0);

var go = m_ObjectPool.GetNetworkObject(asteroidPrefab, transform.position + diff, Quaternion.identity);

var asteroid = go.GetComponent<Asteroid>();
asteroid.Size = new NetworkVariable<int>(newSize);
asteroid.asteroidPrefab = asteroidPrefab;
go.GetComponent<NetworkObject>().Spawn();
go.GetComponent<Rigidbody2D>().AddForce(diff * 10, ForceMode2D.Impulse);
}
}

NetworkObject.Despawn(true);
}
}
2 changes: 1 addition & 1 deletion Basic/2DSpaceShooter/Assets/Scripts/Bullet.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using Unity.Netcode;
using UnityEngine;

Expand Down
Loading