Compare commits

...
10 Commits
Author SHA1 Message Date
david b01eb1bfff add unreal project for networking 2025-12-09 18:36:41 +01:00
david 9faac54f58 add unity project for networking 2025-12-08 18:38:33 +01:00
david 6709c79863 add slides for network programming 2025-12-01 18:37:20 +01:00
david 9284c52926 add performance optimization unity project 2025-12-01 18:37:09 +01:00
david bc4b9f1691 add casts
add inline
add template
2025-09-23 18:17:48 +02:00
david 3b35b973c9 add smart pointers
add polymorphism
add destructor & copy constructor
add pointer-pointer
2025-09-22 18:22:03 +02:00
david d8f6014fab add collections
add pointers
2025-09-16 18:10:24 +02:00
david 27a9acdee6 add forward declaration
add classes
2025-09-15 18:17:50 +02:00
david 6cc9643a3d add c++ project 2025-09-08 18:22:59 +02:00
david cb25a42295 add c++ slides 2025-09-08 18:22:48 +02:00
1230 changed files with 34354 additions and 0 deletions
+421
View File
@@ -0,0 +1,421 @@
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Nuget personal access tokens and Credentials
nuget.config
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
# JetBrains Rider
.idea/
*.sln.iml
+93
View File
@@ -0,0 +1,93 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36414.22
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Intro", "Intro\Intro.vcxproj", "{87B7A7C3-105C-4950-9FFE-A7B05AA70780}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Forward_Declaration", "Forward_Declaration\Forward_Declaration.vcxproj", "{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Classes", "Classes\Classes.vcxproj", "{6254C365-0DB4-44EB-A7FD-3AFA5980A219}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Collections", "Collections\Collections.vcxproj", "{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pointers", "Pointers\Pointers.vcxproj", "{2706F4B0-BA3F-49A4-BC54-59F9764A974F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Debug|ARM64.ActiveCfg = Debug|ARM64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Debug|ARM64.Build.0 = Debug|ARM64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Debug|x64.ActiveCfg = Debug|x64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Debug|x64.Build.0 = Debug|x64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Debug|x86.ActiveCfg = Debug|Win32
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Debug|x86.Build.0 = Debug|Win32
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Release|ARM64.ActiveCfg = Release|ARM64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Release|ARM64.Build.0 = Release|ARM64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Release|x64.ActiveCfg = Release|x64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Release|x64.Build.0 = Release|x64
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Release|x86.ActiveCfg = Release|Win32
{87B7A7C3-105C-4950-9FFE-A7B05AA70780}.Release|x86.Build.0 = Release|Win32
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Debug|ARM64.Build.0 = Debug|ARM64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Debug|x64.ActiveCfg = Debug|x64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Debug|x64.Build.0 = Debug|x64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Debug|x86.ActiveCfg = Debug|Win32
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Debug|x86.Build.0 = Debug|Win32
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Release|ARM64.ActiveCfg = Release|ARM64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Release|ARM64.Build.0 = Release|ARM64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Release|x64.ActiveCfg = Release|x64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Release|x64.Build.0 = Release|x64
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Release|x86.ActiveCfg = Release|Win32
{D70D8E56-EB48-42A1-8F65-D6D9F66E3736}.Release|x86.Build.0 = Release|Win32
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Debug|ARM64.ActiveCfg = Debug|ARM64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Debug|ARM64.Build.0 = Debug|ARM64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Debug|x64.ActiveCfg = Debug|x64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Debug|x64.Build.0 = Debug|x64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Debug|x86.ActiveCfg = Debug|Win32
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Debug|x86.Build.0 = Debug|Win32
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Release|ARM64.ActiveCfg = Release|ARM64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Release|ARM64.Build.0 = Release|ARM64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Release|x64.ActiveCfg = Release|x64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Release|x64.Build.0 = Release|x64
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Release|x86.ActiveCfg = Release|Win32
{6254C365-0DB4-44EB-A7FD-3AFA5980A219}.Release|x86.Build.0 = Release|Win32
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Debug|ARM64.ActiveCfg = Debug|ARM64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Debug|ARM64.Build.0 = Debug|ARM64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Debug|x64.ActiveCfg = Debug|x64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Debug|x64.Build.0 = Debug|x64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Debug|x86.ActiveCfg = Debug|Win32
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Debug|x86.Build.0 = Debug|Win32
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Release|ARM64.ActiveCfg = Release|ARM64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Release|ARM64.Build.0 = Release|ARM64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Release|x64.ActiveCfg = Release|x64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Release|x64.Build.0 = Release|x64
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Release|x86.ActiveCfg = Release|Win32
{7F3BDA2C-AB30-4D85-8C4E-ABF7B99EA179}.Release|x86.Build.0 = Release|Win32
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Debug|ARM64.ActiveCfg = Debug|ARM64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Debug|ARM64.Build.0 = Debug|ARM64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Debug|x64.ActiveCfg = Debug|x64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Debug|x64.Build.0 = Debug|x64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Debug|x86.ActiveCfg = Debug|Win32
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Debug|x86.Build.0 = Debug|Win32
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Release|ARM64.ActiveCfg = Release|ARM64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Release|ARM64.Build.0 = Release|ARM64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Release|x64.ActiveCfg = Release|x64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Release|x64.Build.0 = Release|x64
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Release|x86.ActiveCfg = Release|Win32
{2706F4B0-BA3F-49A4-BC54-59F9764A974F}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C7AAD865-3E29-4BA3-9896-AB02E96C3FB7}
EndGlobalSection
EndGlobal
+197
View File
@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{6254c365-0db4-44eb-a7fd-3afa5980a219}</ProjectGuid>
<RootNamespace>Classes</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Entity.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="Monster.cpp" />
<ClCompile Include="Ork.cpp" />
<ClCompile Include="Troll.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Entity.h" />
<ClInclude Include="ICompareable.h" />
<ClInclude Include="Monster.h" />
<ClInclude Include="Ork.h" />
<ClInclude Include="Troll.h" />
<ClInclude Include="Vector3.h" />
<ClInclude Include="Weapon.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+57
View File
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Entity.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Monster.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Ork.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Troll.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Entity.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Monster.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Ork.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Vector3.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ICompareable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Weapon.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Troll.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+12
View File
@@ -0,0 +1,12 @@
#include "Entity.h" // project header files, pre compiler will search in project folder first
#include <iostream> // system header files, pre compiler will search in system folders first
Entity::Entity() // defined
{
}
Entity::Entity(std::string name) : _name(name)
{
//_name = name;
}
+17
View File
@@ -0,0 +1,17 @@
#pragma once
#include <string>
class Entity
{
public:
Entity(); // declared
Entity(std::string name);
virtual std::string toString() { return "Entity"; } // declared & defined, only use that for one liners
const std::string& getName() const { return _name; }
void setName(const std::string& name) { _name = name; }
protected:
std::string _name = "";
}; // IMPORTANT: always end with a semicolon
+13
View File
@@ -0,0 +1,13 @@
#pragma once
// only for demonstration
#include <iostream>
class ICompareable
{
public:
ICompareable() { std::cout << "ICompareable::ICompareable()" << std::endl; } // only for demonstration
virtual ~ICompareable() { std::cout << "ICompareable::~ICompareable()" << std::endl; } // only for demonstration
virtual int Compare(ICompareable* pOther) = 0;
};
+35
View File
@@ -0,0 +1,35 @@
#include "Monster.h"
#include <iostream>
Monster::Monster() : _pWeapon(new Weapon())
{
//toString();
std::cout << "Monster::Monster()" << std::endl;
}
Monster::Monster(const Monster& other)
{
// shallow copy
this->_name = other._name;
//this->_pWeapon = other._pWeapon;
// deep copy
this->_pWeapon = new Weapon(*other._pWeapon);
}
Monster::~Monster()
{
std::cout << "Monster::~Monster()" << std::endl;
if (_pWeapon != nullptr)
{
delete _pWeapon;
_pWeapon = nullptr;
}
}
int Monster::Compare(ICompareable* pOther)
{
return 0;
}
+24
View File
@@ -0,0 +1,24 @@
#pragma once
#include "Entity.h"
#include "ICompareable.h"
#include "Vector3.h"
#include "Weapon.h"
class Monster : public Entity, public ICompareable
{
public:
// default constructor, copy constructor & destructor if you need one you'll need all of them
// internal pointers often requires default & copy constructor & a destructor at the same time
Monster();
Monster(const Monster& other); // copy constructor
virtual ~Monster();
std::string toString() override { return "Monster"; }
virtual void Move(Vector3 move) = 0;
int Compare(ICompareable* pOther) override;
private:
Weapon* _pWeapon = nullptr;
};
+18
View File
@@ -0,0 +1,18 @@
#include "Ork.h"
#include <iostream>
Ork::Ork()
{
//toString();
std::cout << "Ork::Ork()" << std::endl;
}
Ork::~Ork()
{
std::cout << "Ork::~Ork()" << std::endl;
}
void Ork::Move(Vector3 move)
{
}
+14
View File
@@ -0,0 +1,14 @@
#pragma once
#include "Monster.h"
class Ork : public Monster
{
public:
Ork(); // constructor
virtual ~Ork(); // destructor
std::string toString() override { return "Ork"; }
void Move(Vector3 move) override;
};
+5
View File
@@ -0,0 +1,5 @@
#include "Troll.h"
void Troll::Move(Vector3 move)
{
}
+11
View File
@@ -0,0 +1,11 @@
#pragma once
#include "Monster.h"
class Troll : public Monster
{
std::string toString() override { return "Troll"; }
// Inherited via Monster
void Move(Vector3 move) override;
};
+11
View File
@@ -0,0 +1,11 @@
#pragma once
struct Vector3
{
float x;
float y;
float z;
Vector3() : x(0.0f), y(0.0f), z(0.0f) {}
Vector3(float _x, float _y, float _z) : x(_x), y(_y), z(_z) {}
};
+4
View File
@@ -0,0 +1,4 @@
#pragma once
class Weapon
{ };
+102
View File
@@ -0,0 +1,102 @@
#include <iostream>
#include "Entity.h"
#include "Monster.h"
#include "Vector3.h"
#include "ICompareable.h"
#include "Ork.h"
#include "Troll.h"
using namespace std;
int main()
{
Entity entity; // this is an entity instance
cout << entity.toString() << endl;
// can't be instantiated because of abstract method
//Monster monster;
//cout << monster.toString() << endl;
Vector3 position;
Vector3 position2(1.0f, 0.0f, -10.0f);
Vector3 position3 = Vector3();
Vector3 position4{}; // list-initializer
Vector3 position5 = {}; // list-initializer assigned
Ork ork;
ICompareable* pComparable = nullptr;
pComparable = &ork;
pComparable->Compare(&ork);
(*pComparable).Compare(&ork); // same as line above, but more complicated to write
ICompareable* pComparables[] = { new Ork, new Ork, new Ork };
for (size_t i = 0; i < size(pComparables); i++)
{
pComparables[i]->Compare(&ork);
delete pComparables[i];
pComparables[i] = nullptr;
}
// creates an "dynamic" heap pointer array
ICompareable** pHeapComparables = new ICompareable*[10];
delete[] pHeapComparables;
pHeapComparables = nullptr;
Ork ork2 = ork; // should be a individual instances with their own values and weapons
// casts
// c cast
int number = -10000000;
unsigned short smallPositiveNumber = (unsigned short)number;
int* pNumber = &number;
unsigned short* pSmallPositiveNumber = (unsigned short*)pNumber;
float fNumber = (float)number;
float* pFNumber = (float*)pNumber;
int* pNumbers = new int[10];
void** ppVoids = (void**)&pNumbers;
Monster* pMonster = new Ork();
Ork* pOrk = (Ork*)pMonster;
std::string toString = pOrk->toString();
// static_cast
smallPositiveNumber = static_cast<unsigned short>(number);
//pSmallPositiveNumber = static_cast<unsigned short*>(pNumber);
fNumber = static_cast<float>(number);
//pFNumber = static_cast<float*>(pNumber);
//ppVoids = static_cast<void**>(&pNumbers);
pOrk = static_cast<Ork*>(pMonster);
//Weapon* weapon = static_cast<Weapon*>(pMonster);
Monster* pMonster2 = new Troll();
pOrk = static_cast<Ork*>(pMonster2); // is running, but it is not the same type
toString = pOrk->toString();
// dynamic cast
pOrk = dynamic_cast<Ork*>(pMonster2); // better use for polymorphic cast, because of runtime check
//toString = pOrk->toString();
// reinterpret cast
//smallPositiveNumber = reinterpret_cast<unsigned short>(number);
pSmallPositiveNumber = reinterpret_cast<unsigned short*>(pNumber);
pFNumber = reinterpret_cast<float*>(pNumber);
// const cast
const char* sz = "Test";
//char* sz2 = sz;
char* sz2 = const_cast<char*>(sz);
const std::string str = "Test";
std::string str2 = str;
str.c_str(); // if you need a zero terminated string
delete[] pNumbers;
pNumbers = nullptr;
delete pMonster;
pMonster = nullptr;
pOrk = nullptr;
delete pMonster2;
pMonster2 = nullptr;
return 0;
}
+188
View File
@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{7f3bda2c-ab30-4d85-8c4e-abf7b99ea179}</ProjectGuid>
<RootNamespace>Collections</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="grid.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="grid.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="grid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="grid.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+6
View File
@@ -0,0 +1,6 @@
#include "grid.h"
int calculateIndex(int x, int y)
{
return x + y * COLUMNS;
}
+6
View File
@@ -0,0 +1,6 @@
#pragma once
#define COLUMNS 10
#define ROWS 5
int calculateIndex(int x, int y);
+148
View File
@@ -0,0 +1,148 @@
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
#include "grid.h"
using namespace std;
void printArray(int numbers[]);
void printArray(int numbers[], size_t count);
int main()
{
// C arrays
int numbers[10];
for (size_t i = 0; i < 10; i++)
{
numbers[i] = 0;
}
int numbers2[] = { 0, 1, 2, 3, 4 };
int numbers3[10] = { 0, 1, 2, 3, 4 };
numbers[0] = 10;
cout << "numbers[5]: " << numbers[5] << endl;
// 2D array - 10 columns, 5 rows
int grid[COLUMNS * ROWS] = {};
grid[calculateIndex(3, 2)] = 10; // 4th column, 3rd row
//int grid2[10][10];
// size has to be always constant
const int count = 10;
int numbers4[count] = {};
int length = sizeof(numbers) / sizeof(numbers[0]); // works only with local constant sized arrays
for (size_t i = 0; i < size(numbers); i++) // works only with local constant sized arrays, but it is safer than sizeof
{
cout << numbers[i] << " ";
}
cout << endl;
printArray(numbers);
printArray(numbers, size(numbers));
// "dynamic" (heap) arrays
int count2 = 10;
int* pNumbers = new int[count2];
pNumbers[0] = 10;
int* pNumbers2 = pNumbers; // pointer looks onto first element
for (size_t i = 0; i < count2; i++) // size can't be used for heap arrays
{
cout << pNumbers2 << ": " << *pNumbers2 << endl;
pNumbers2++;
}
delete[] pNumbers; // CAUTION - heap arrays have to be deleted with delete[]
pNumbers = pNumbers2 = nullptr;
// 2d heap array
int** pGrid = new int*[10];
cout << "grid starts at " << pGrid << endl;
for (size_t i = 0; i < 10; i++)
{
pGrid[i] = new int[10];
cout << i << ". row: " << &pGrid[i] << endl;
for (size_t j = 0; j < 10; j++)
{
cout << i << "/" << j << ": " << &pGrid[i][j] << endl;
}
}
// delete inner arrays first
for (size_t i = 0; i < 10; i++)
{
delete[] pGrid[i];
pGrid[i] = nullptr;
}
delete[] pGrid; // delete outer array second
pGrid = nullptr;
// stl collections
vector<int> numbers5;
vector<int> numbers6 = { 0, 1, 2, 3, 4 };
numbers5.push_back(10); // add an item at the end
numbers5.pop_back(); // remove the last item
numbers6[1] *= 2;
vector<int> numbers7;
numbers7.reserve(100);
numbers7.shrink_to_fit();
printArray(numbers6.data(), numbers6.size());
list<int> numbersList;
numbersList.push_back(10);
numbersList.push_front(0);
//numbersList[0] = 5; // random access is not available for lists
list<int>::iterator it = numbersList.begin();
for (; it != numbersList.end(); it++)
{
cout << *it << " ";
}
cout << endl;
numbersList.insert(--it, 20);
for (it = numbersList.begin(); it != numbersList.end(); it++)
{
cout << *it << " ";
}
cout << endl;
for (int n : numbersList)
{
}
for_each(numbers6.begin(), numbers6.end(), [](const int& n) {
cout << n << " ";
});
cout << endl;
return 0;
}
void printArray(int numbers[])
{
int length = sizeof(numbers) / sizeof(numbers[0]); // works not outside of the local scope
cout << "sizeof(numbers): " << sizeof(numbers) << endl;
//for (size_t i = 0; i < size(numbers); i++) // size is not working outside of the local scope
//{
// cout << numbers[i] << " ";
//}
//cout << endl;
}
void printArray(int numbers[], size_t count)
{
for (size_t i = 0; i < count; i++)
{
cout << numbers[i] << " ";
}
cout << endl;
}
@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{d70d8e56-eb48-42a1-8f65-d6d9f66e3736}</ProjectGuid>
<RootNamespace>ForwardDeclaration</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="functions.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="functions.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="functions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="functions.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -0,0 +1,3 @@
#include "functions.h"
void functionE() {} // defined
+10
View File
@@ -0,0 +1,10 @@
#pragma once
#ifndef _FUNCTIONS_H_
#define _FUNCTIONS_H_
void functionE(); // declared
//void functionF() {} // declared & defined, linker error when included multiple times
#endif // !_FUNCTIONS_H_
+20
View File
@@ -0,0 +1,20 @@
#include "functions.h"
void functionB() {} // declared & defined
void functionC(); // declared
void functionD(); // declared
int main()
{
//functionA(); // compiler error, because function is declared & defined after this call
functionB(); // no error
//functionC(); // linker error, because function is declared, but not defined
functionD(); // no error
functionE(); // no error
return 0;
}
void functionA() {} // declared & defined
void functionD() {} // defined
+184
View File
@@ -0,0 +1,184 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{87b7a7c3-105c-4950-9ffe-a7b05aa70780}</ProjectGuid>
<RootNamespace>Intro</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+31
View File
@@ -0,0 +1,31 @@
#include <iostream>
using namespace std;
int main()
{
// console output
std::cout << "Hello World" << std::endl;
std::cout << 1234 << std::endl;
std::cout << "Another test!\n";
cout << "Is also working std::" << endl;
int number = 10;
cout << "number: " << number << endl;
cout << L"Hello World" << endl; // wide character string literal, can not be handled by cout
// console input
cin >> number;
cout << "input: " << number << endl;
char c;
cin >> c;
cout << "input: " << c << endl;
cin >> c >> number;
cout << c << ": " << number << endl;
return 0;
}
+188
View File
@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{2706f4b0-ba3f-49a4-bc54-59f9764a974f}</ProjectGuid>
<RootNamespace>Pointers</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="functions.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="functions.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="functions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="functions.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+40
View File
@@ -0,0 +1,40 @@
#include "functions.h"
void changeInteger(int n)
{
n *= 2;
}
int changeIntegerPerReturn(int n)
{
return n * 2;
}
bool changeIntegerPerPointer(int* pN)
{
if (pN == nullptr) return false;
*pN *= 2;
return true;
}
bool changeIntegerPerReference(int& n)
{
n *= 2;
return true;
}
bool createInteger(int* pN)
{
pN = new int(0); // BAD BAD - creates a memory leak
return false;
}
bool createIntegerWithPointerPointer(int** ppN)
{
*ppN = new int(0);
return true;
}
+17
View File
@@ -0,0 +1,17 @@
#pragma once
void changeInteger(int n);
int changeIntegerPerReturn(int n);
bool changeIntegerPerPointer(int* pN);
bool changeIntegerPerReference(int& n);
bool createInteger(int* pN);
bool createIntegerWithPointerPointer(int** ppN);
template<typename T>
void safeDelete(T*& pObj)
{
if (pObj == nullptr) return;
delete pObj;
pObj = nullptr;
}
+108
View File
@@ -0,0 +1,108 @@
#include <iostream>
#include <memory>
#include "functions.h"
using namespace std;
int main()
{
// general
int* pNumber = nullptr; // pointer definition, always initialize a pointer (at least with nullptr)
pNumber = new int(0); // creates a new integer value on the heap
cout << "size of pointer: " << sizeof(pNumber) << endl;
cout << "size of pointer data: " << sizeof(*pNumber) << endl;
*pNumber = 789;
//pNumber = new int(0); // BAD BAD - memory leak, because we override an existin g pointer address with a new one without saving or deleting the old one
// here are 100s lines of code
if (pNumber != nullptr)
{
delete pNumber;
pNumber = nullptr;
}
safeDelete(pNumber);
// pointer as references outside local scope
int number = 10;
changeInteger(number);
number = changeIntegerPerReturn(number);
changeIntegerPerPointer(&number);
changeIntegerPerPointer(pNumber);
changeIntegerPerReference(number);
// smart pointer
// unique_ptr - only one owner exist for the object
// shared_ptr - can have multiple owners
// weak_ptr - is a loose connection to a shared pointer
unique_ptr<int> pNumber2 = make_unique<int>(10);
*pNumber2 = 100;
//unique_ptr<int> pNumber3 = pNumber2; // compiler error- you can't create a copy of an unique pointer
unique_ptr<int> pNumber4 = make_unique<int>(*pNumber2);
shared_ptr<int> pNumber5 = make_shared<int>(10);
shared_ptr<int> pNumber6 = pNumber5;
*pNumber6 = 100;
pNumber5.reset();
weak_ptr<int> pNumber7 = pNumber6;
//*pNumber7 = 1000; // compiler error, weak pointer has no direct access to a shared pointer, you have to create a new shared pointer
if (!pNumber7.expired())
{
shared_ptr<int> tmpSharedNumber = pNumber7.lock();
*tmpSharedNumber = 10000;
}
pNumber6.reset();
shared_ptr<int> tmpSharedNumber2 = pNumber7.lock();
if (tmpSharedNumber2 != nullptr) *tmpSharedNumber2 = 100000;
// pointer-pointer
createInteger(pNumber);
createIntegerWithPointerPointer(&pNumber);
if (pNumber != nullptr)
{
delete pNumber;
pNumber = nullptr;
}
// const example
const int constNumber = 10;
//constNumber = 20; // a const value can not be changed
const int* constNumberPointer = new int(10);
//*constNumberPointer = 20; // this is a const value
constNumberPointer = new int(20); // but not a const pointer
int const* numberConstPointer = new int(10);
//*numberConstPointer = 20; // this is a const value
numberConstPointer = new int(20); // but not a const pointer
int* const numberPointerConst = new int(10);
*numberPointerConst = 20; // the value is not const
//numberPointerConst = new int(20); // but the pointer is const
const int* const constNumberPointerConst = new int(10);
//*constNumberPointerConst = 20; // this is a const value
//constNumberPointerConst = new int(20); // and the pointer as well
int const* const numberConstPointerConst = new int(10);
//*numberConstPointerConst = 20; // this is a const value
//numberConstPointerConst = new int(20); // and the pointer as well
const int const* const constNumberConstPointerConst = new int(10);
//*constNumberConstPointerConst = 20; // this is a const value
//constNumberConstPointerConst = new int(20); // and the pointer as well
return 0;
}
+71
View File
@@ -0,0 +1,71 @@
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
+8
View File
@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/contentModel.xml
/projectSettingsUpdater.xml
/.idea.Networking.iml
/modules.xml
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8c498d857ecdd4fb7823947f3af381a8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0fd8a6b3336fb7549a2beea9eec67b94
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: e7285dc6dc6cf4e41821900252041a87
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/.DS_Store
uploadId: 814574
@@ -0,0 +1,53 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19101, guid: 0000000000000000e000000000000000, type: 0}
m_Name: BlocksPanelSettings
m_EditorClassIdentifier:
themeUss: {fileID: -4733365628477956816, guid: 2e74663645b63fe43ad48957a2398ce5, type: 3}
m_DisableNoThemeWarning: 0
m_TargetTexture: {fileID: 0}
m_RenderMode: 0
m_ColliderUpdateMode: 0
m_ColliderIsTrigger: 1
m_ScaleMode: 2
m_ReferenceSpritePixelsPerUnit: 100
m_PixelsPerUnit: 100
m_Scale: 1
m_ReferenceDpi: 96
m_FallbackDpi: 96
m_ReferenceResolution: {x: 1200, y: 800}
m_ScreenMatchMode: 0
m_Match: 0
m_SortingOrder: 0
m_TargetDisplay: 0
m_BindingLogLevel: 0
m_ClearDepthStencil: 1
m_ClearColor: 0
m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
m_VertexBudget: 0
m_TextureSlotCount: 8
m_DynamicAtlasSettings:
m_MinAtlasSize: 64
m_MaxAtlasSize: 4096
m_MaxSubTextureSize: 64
m_ActiveFilters: -1
m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeWorldShader: {fileID: 9102, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeGaussianBlurShader: {fileID: 20300, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeColorEffectShader: {fileID: 20301, guid: 0000000000000000f000000000000000, type: 0}
m_SDFShader: {fileID: 19011, guid: 0000000000000000f000000000000000, type: 0}
m_BitmapShader: {fileID: 9001, guid: 0000000000000000f000000000000000, type: 0}
m_SpriteShader: {fileID: 19012, guid: 0000000000000000f000000000000000, type: 0}
m_ICUDataAsset: {fileID: 0}
forceGammaRendering: 0
textSettings: {fileID: 0}
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 7a38f2dd4a52f3c43802f4f88af54bfe
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/BlocksPanelSettings.asset
uploadId: 814574
@@ -0,0 +1,26 @@
@import url("unity-theme://default");
@import url("Content/stylesheets/core.uss");
@import url("Content/stylesheets/modals.uss");
@import url("Content/stylesheets/labels.uss");
@import url("Content/stylesheets/buttons.uss");
@import url("Content/stylesheets/icons.uss");
@import url("Content/stylesheets/inputs.uss");
@import url("Content/stylesheets/scroll-view.uss");
@import url("Content/stylesheets/progressbar.uss");
@import url("Content/stylesheets/utilities.uss");
@import url("Content/composites/numeric-list-element.uss");
@import url("Content/composites/card-component.uss");
@import url("Content/stylesheets/copy-session--header.uss");
@import url("Content/stylesheets/list-view.uss");
VisualElement {}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 2e74663645b63fe43ad48957a2398ce5
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12388, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/BlocksRuntimeTheme.tss
uploadId: 814574
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 21faf7cf08d244af6b983caad63ea6b1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: e2eafc5e951f14078b75a83971875d2b
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/.DS_Store
uploadId: 814574
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 2140af3b5bc949218d7c4568001a6de1
timeCreated: 1746544289
@@ -0,0 +1,95 @@
.blocks-base-achievement {
background-color: var(--color-card-background);
margin: var(--margin-sm);
padding: var(--padding-md);
border-radius: var(--radius-sm);
border-width: var(--width-border-md);
border-color: var(--color-border);
flex-grow: 1;
flex-shrink: 1;
}
.blocks-card-component {
--width-card: 300px;
--height-card: 350px;
min-height: var(--height-card);
max-height: var(--height-card);
min-width: var(--width-card);
max-width: var(--width-card);
}
.blocks-notification-transition {
transition-duration: 0.5s;
transition-timing-function: ease-in-out;
}
.blocks-notification {
width: 300px;
height: 200px;
flex-grow: 0;
position: absolute;
right: 0;
bottom: 0;
}
.blocks-notification__hidden {
translate: 0 250px 0;
}
.blocks-card-component__title {
margin-top: var(--margin-md);
margin-bottom: var(--margin-sm);
-unity-text-align: middle-center;
font-size: var(--text-md);
color: var(--color-default);
-unity-font-style: bold;
white-space: normal;
}
.blocks-card-component__thumbnail {
background-image: url("../textures/thumbnail.png");
flex-grow: 1;
-unity-background-scale-mode: scale-to-fit;
}
.blocks-card-component__description {
color: grey;
-unity-text-align: middle-center;
overflow: initial;
white-space: normal;
margin-bottom: var(--margin-md);
}
.blocks-card-component__unlocked-label {
-unity-text-align: middle-center;
font-size: var(--text-md);
color: var(--color-default);
-unity-font-style: bold;
white-space: normal;
margin-bottom: 12px;
display: none;
}
.blocks-card-component__progress-bar {
display: flex;
}
.blocks-card-component__progress-bar__top-container {
align-items: center;
align-self: center;
flex-direction: row;
}
.blocks-scroll-view {
flex-grow: 1;
}
.blocks-grid-view {
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-items: flex-start;
align-content: flex-start;
min-height: auto;
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: ac8a6514e30d5487e8c3597727f1e1ff
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/composites/card-component.uss
uploadId: 814574
@@ -0,0 +1,12 @@
:root{
padding-top: var(--padding-md);
width: 100%;
}
.blocks-chat-message__text {
padding-top: var(--padding-sm);
padding-bottom: var(--padding-md);
border-bottom-color: var(--color-border);
white-space: normal;
border-width: var(--width-border-md);
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: a7fadc2a4fb2e466699f40e49e8984b9
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/composites/chat-message.uss
uploadId: 814574
@@ -0,0 +1,7 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Style src="./chat-message.uss" />
<ui:VisualElement>
<ui:Label text="Robi" name="sender" class="headline-small chat-message__sender" />
<ui:Label text="Yes i really like what you are writing me here its awesome." name="message" class="chat-message__text blocks-chat-message__text" />
</ui:VisualElement>
</ui:UXML>
@@ -0,0 +1,17 @@
fileFormatVersion: 2
guid: 80bf5492419f84805a36cf30c440f229
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/composites/chat-message.uxml
uploadId: 814574
@@ -0,0 +1,30 @@
.blocks-number-list-element{
flex-grow: 1;
flex-direction: row;
width: 100%;
-unity-text-align: middle-left;
border-bottom-color: var(--color-border);
border-width: var(--width-border-md);
height: var(--base-unit-lg);
min-width: 500px;
}
.current-user.blocks-number-list-element {
background-color: rgba(30,128,188,0.61);
}
.blocks-number-list-element__number{
font-size: var(--text-md);
-unity-font-style: bold;
width: var(--base-unit-xl);
}
.blocks-number-list-element__text{
font-size: var(--text-sm);
}
.blocks-number-list-element__right{
font-size: var(--text-sm);
margin-left: auto;
padding-left: var(--base-unit-md);
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 1fa5a86ec0f684068824bc35f2bb6f27
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/composites/numeric-list-element.uss
uploadId: 814574
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fe92f77c76574398bc569bc8d4022def
timeCreated: 1746544204
@@ -0,0 +1,115 @@
.blocks-button {
height: var(--base-unit-xl);
min-width: var(--width-min-input);
padding: 0 var(--padding-lg);
letter-spacing: var(--letterspacing-lg);
color: var(--color-default);
background-color: transparent;
border-color: var(--color-default);
border-width: var(--width-border-md);
border-radius: var(--radius-lg);
-unity-font-style: bold;
flex-grow: 0;
}
.blocks-button:hover:enabled,
.blocks-button:focus:enabled {
background-color: var(--color-default);
border-color: var(--color-default);
color: var(--color-dark-content);
}
.blocks-button:active:enabled {
background-color: var(--color-active);
border-color: var(--color-active);
color: var(--color-dark-content);
}
.blocks-button:disabled {
color: var(--color-inactive);
border-color: var(--color-inactive);
background-color: transparent;
}
.blocks-button--xs {
height: var(--base-unit-lg);
border-radius: var(--radius-sm);
padding: 0;
min-width: var(--base-unit-lg);
}
.blocks-button--sm {
height: var(--base-unit-lg);
border-radius: var(--radius-sm);
}
.blocks-button--round {
color: transparent;
height: var(--base-unit-xl);
width: var(--base-unit-xl);
min-width: var(--base-unit-xl);
max-width: var(--base-unit-xl);
min-height: var(--base-unit-xl);
max-height: var(--base-unit-xl);
border-radius: var(--radius-lg);
padding: 0;
background-size: 50% 50%;
}
.blocks-button--round:hover {
color: transparent;
-unity-background-image-tint-color: var(--color-dark-content);
}
.blocks-button--round:focus {
color: transparent;
}
/* Buttons to use for Tab Selection */
.blocks-tab-button {
border-width: var(--width-border-md);
color: var(--color-inactive);
padding-left: var(--padding-md);
padding-right: var(--padding-md);
background-color: transparent;
border-color: transparent;
height: var(--base-unit-xl);
-unity-text-align: middle-center;
letter-spacing: var(--letterspacing-lg);
}
.blocks-tab-button__underline {
visibility: hidden;
}
.blocks-tab-button:focus:enabled{
border-color: transparent;
background-color: transparent;
color: var(--color-default);
border-bottom-color: var(--color-default);
}
.blocks-tab-button:hover:enabled {
background-color: transparent;
border-color: transparent;
color: var(--color-default);
}
.blocks-tab-button:checked:hover:enabled {
background-color: transparent;
border-color: transparent;
color: var(--color-default);
border-bottom-color: var(--color-default);
}
.blocks-tab-button:checked:enabled {
border-color: transparent;
background-color: transparent;
color: var(--color-active);
border-bottom-color: var(--color-default);
}
.blocks-tab-button .unity-toggle__checkmark {
display: none;
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 24a81c4df0f34b7f8c53416ae3f8d529
timeCreated: 1746543912
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/buttons.uss
uploadId: 814574
@@ -0,0 +1,29 @@
.blocks-copy-session--header {
width: auto;
}
.blocks-copy-session--header > .blocks-button {
background-image: url("../textures/icon_copy.png");
background-size: 16px 16px;
border-width: 0;
font-size: 0;
max-height: 16px;
min-width: 16px;
max-width: 16px;
padding: 0;
}
.blocks-copy-session--header > .blocks-textfield {
min-width: auto;
min-height: auto;
border-width: 0;
flex-grow: 0;
padding: 4px 2px 4px 1px;
margin: 4px 4px 2px 2px;
}
.blocks-copy-session--header > .blocks-textfield > .unity-base-field__input {
-unity-text-align: middle-right;
justify-content: flex-end;
padding: 0;
}
@@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: 6d0fe8ff6f2a1ef4fb1af3a5e8584135
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
unsupportedSelectorAction: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/copy-session--header.uss
uploadId: 814574
@@ -0,0 +1,63 @@
:root {
/* font and text */
--font-sans: "Inter", sans-serif;
--text-sm: 14px;
--text-md: 18px;
--text-lg: 24px;
--text-xl: 32px;
--letterspacing-md: 2px;
--letterspacing-lg: 4px;
/* colors */
--color-modal-background: rgba(16, 16, 16, 0.96);
--color-card-background: rgb(31, 31, 31);
--color-dropdown-selection-background: rgb(63, 63, 63);
--color-default: rgb(255, 255, 255);
--color-inactive: rgba(255, 255, 255, 0.5);
--color-neutral: rgb(171, 171, 171);
--color-active: rgb(199, 199, 199);
--color-dark-content: rgb(0, 0, 0);
--color-border: rgb(66, 66, 66);
/* spacing and sizing */
--base-unit-xs:4px;
--base-unit-sm:8px;
--base-unit-md:16px;
--base-unit-lg:32px;
--base-unit-xls:40px;
--base-unit-xl:56px;
--base-unit-xxl:96px;
/* paddings */
--padding-sm: 8px;
--padding-md: 18px;
--padding-lg: 32px;
--padding-xl: 48px;
--padding-xxl: 64px;
/* margin */
--margin-xs: 4px;
--margin-sm: 16px;
--margin-md: 24px;
--margin-lg: 32px;
--margin-xl: 48px;
/* border-radius */
--radius-xs: 4px;
--radius-sm: 16px;
--radius-md: 24px;
--radius-lg: 28px;
--radius-xl: 32px;
--width-min-input: 156px;
--width-border-md: 2px;
}
* {
margin: 0;
padding: 0;
-unity-font: var(--font-sans);
font-size: var(--text-md);
letter-spacing: var(--letterspacing-md);
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 579ba5ca033b24b4a963ed035c497332
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/core.uss
uploadId: 814574
@@ -0,0 +1,47 @@
.blocks-icon-triangle{
background-image: url("../textures/icon_triangle.png");
}
.blocks-icon-x{
background-image: url("../textures/icon_x.png");
}
.blocks-icon-arrow{
background-image: url("../textures/icon_triangle.png");
}
.blocks-reticle-cross{
background-image: url("../textures/reticle_cross.png");
}
.blocks-reticle-opencircular{
background-image: url("../textures/reticle_opencircular.png");
}
.blocks-reticle-tcross{
background-image: url("../textures/reticle_tcross.png");
}
.blocks-reticle-circularcross{
background-image: url("../textures/reticle_circularcross.png");
}
.blocks-icon-pistol{
background-image: url("../textures/icon_pistol.png");
}
.blocks-icon-shotgun{
background-image: url("../textures/icon_shotgun.png");
}
.blocks-icon-machinegun{
background-image: url("../textures/icon_machinegun.png");
}
.blocks-icon-rocketlauncher{
background-image: url("../textures/icon_rocketlauncher.png");
}
.blocks-icon-reload{
background-image: url("../textures/reticle_reload_circle.png");
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 9a4825ea77704dd099e1cf197a3f9728
timeCreated: 1746616051
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/icons.uss
uploadId: 814574
@@ -0,0 +1,141 @@
.blocks-textfield,
.blocks-dropdown{
min-width: var(--width-min-input);
min-height: var(--base-unit-xl);
letter-spacing: var(--letterspacing-md);
border-radius: var(--radius-sm);
border-color: var(--color-neutral);
border-width: var(--width-border-md);
white-space: normal;
flex-grow: 1;
}
.blocks-textfield > .unity-base-field__input,
.blocks-dropdown:hover:enabled > .unity-base-popup-field__input,
.blocks-dropdown > .unity-base-popup-field__input,
.blocks-dropdown:active:enabled > .unity-base-popup-field__input{
--unity-cursor-color: rgb(255, 255, 255);
background-color: transparent;
border-width: 0;
color: var(--color-default);
padding: var(--padding-md);
}
.blocks-textfield > .unity-base-text-field__input--placeholder {
color: var(--color-neutral);
}
.blocks-textfield > .unity-base-field__label,
.blocks-dropdown > .unity-base-field__label{
display: none;
}
.blocks-dropdown > .unity-base-popup-field__input > .unity-base-popup-field__arrow{
background-image: url("../textures/icon_triangle.png");
width: var(--base-unit-md);
height: var(--base-unit-md);
margin-left: var( --margin-sm);
-unity-background-image-tint-color: var(--color-default);
}
.blocks-toggle {
align-items: center;
}
.blocks-toggle > .unity-toggle__label{
color: var(--color-active);
font-size: var( --text-xl);
align-items: center;
letter-spacing: var(--letterspacing-lg);
flex-grow: 1;
}
.blocks-toggle:checked > .unity-toggle__label,
.blocks-toggle:focus:enabled > .unity-toggle__label {
color: var(--color-default);
font-size: var( --text-xl);
align-items: center;
letter-spacing: var(--letterspacing-lg);
flex-grow: 1;
}
.blocks-toggle > .unity-toggle__input{
margin-left: var( --margin-sm);
min-height: var(--base-unit-xl);
min-width: var(--base-unit-xxl);
max-width: var(--base-unit-xxl);
border-radius: var(--radius-lg);
border-color: darkgrey;
border-width: var(--width-border-md);
}
.blocks-toggle > .unity-toggle__input > .unity-toggle__checkmark{
transition: left 0.1s ease-in-out, scale 0.1s ease-in-out;
left: 8px;
min-width: var( --base-unit-lg);
min-height: var( --base-unit-lg);
background-color: var(--color-inactive);
background-image: none;
border-width: 0;
border-radius: var(--radius-sm);
}
.blocks-toggle:checked > .unity-toggle__input > .unity-toggle__checkmark{
scale: 1.2;
left: 48px;
background-color: var(--color-default);
}
.blocks-toggle > .unity-toggle__input:checked > .unity-toggle__checkmark,
.blocks-toggle > .unity-toggle__input:focus:enabled:checked > .unity-toggle__checkmark,
.blocks-toggle > .unity-toggle__input:hover:enabled:checked > .unity-toggle__checkmark{
background-image: none;
}
.blocks-toggle:focus:enabled > .unity-toggle__input,
.blocks-textfield:focus,
.blocks-dropdown:active:enabled,
.blocks-dropdown:focus{
border-color: var(--color-default);
}
/* Unfortunately we have to style the global dropdown as it has no custom class
this is shown when the dropdown is open.
*/
.unity-base-dropdown__container-outer{
border-color: transparent;
}
.unity-base-dropdown__container-inner{
padding: 2px;
background-color: var(--color-card-background);
border-radius: var(--radius-sm);
}
.unity-base-dropdown__item{
margin: var(--base-unit-xs);
color: var(--color-inactive);
}
.unity-base-dropdown__item:hover:enabled{
background-color: var(--color-dropdown-selection-background);
border-radius: var(--radius-sm);
}
.unity-base-dropdown__item:checked:enabled{
background-color: var(--color-dropdown-selection-background);
border-radius: var(--radius-sm);
color: var(--color-default);
}
.unity-base-dropdown__item > .unity-base-dropdown__item-content > .unity-base-dropdown__checkmark{
display: none;
}
.unity-base-dropdown__item > .unity-base-dropdown__item-content > .unity-base-dropdown__label,
.unity-base-dropdown__item:checked > .unity-base-dropdown__item-content > .unity-base-dropdown__label{
padding-left: var(--base-unit-xs);
padding-right: var(--base-unit-xs);
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: e01aade3b4d44466be1a74cda2e4b773
timeCreated: 1746544115
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/inputs.uss
uploadId: 814574
@@ -0,0 +1,26 @@
.blocks-label{
color: var(--color-default);
}
.blocks-header {
font-size: var(--text-lg);
-unity-font-style: bold;
color: var(--color-neutral);
-unity-text-align: middle-center;
padding: 0 var(--padding-lg);
margin: 0;
width: 100%;
}
.blocks-header--sm {
font-size: var(--text-md);
}
.blocks-header--xs {
font-size: var(--text-sm);
}
.blocks-header--space-bottom {
margin-bottom: var(--margin-xl);
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 3967daf31cdfb2d4b8326839de2c378e
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/labels.uss
uploadId: 814574
@@ -0,0 +1,4 @@
.blocks-list-view--no-hover .unity-collection-view__item:hover
{
background-color: transparent;
}
@@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: 0c25414d17a91d14e85428d6e27917f9
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
unsupportedSelectorAction: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/list-view.uss
uploadId: 814574
@@ -0,0 +1,54 @@
.blocks-modal {
background-color: var(--color-modal-background);
border-radius: var(--radius-md);
justify-content: flex-start;
align-items: center;
flex-grow: 0;
flex-shrink: 1;
padding: var(--padding-lg) var(--padding-xl);
}
.blocks-modal__close-button {
position: absolute;
top: var(--padding-lg);
right: var(--padding-xl);
}
.blocks-menu
{
align-content: center;
justify-content: center;
align-items: center;
align-self: center;
flex-grow: 1;
}
.blocks-debug-menu
{
flex-grow: 1;
flex-shrink: 1;
flex-direction: row;
justify-content: center;
align-items: center;
align-content: center;
width: 100%;
}
.blocks-menu--left-panel {
height: 100%;
}
.blocks-menu--left-panel > .blocks-modal
{
flex-grow: 1;
}
.blocks-modal--left-aligned-text {}
.blocks-modal--left-aligned-text .blocks-label,
.blocks-modal--left-aligned-text .blocks-header {
-unity-text-align: middle-left;
padding: 0;
width: auto;
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: cef182fc9fb448339fe32a55e8ba31b6
timeCreated: 1746544465
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/modals.uss
uploadId: 814574
@@ -0,0 +1,57 @@
:root{
--color-progressbar-background: rgba(16, 16, 16, 0.75);
--color-progressbar-border-color: rgba(0, 0, 0, 0);
--color-progressbar-fill: rgba(145, 213, 97, 0.75);
--color-progressbar-text: rgb(255, 255, 255);
--color-progressbar-text-low: rgb(255, 0, 0);
--color-progressbar-ammo-blue: rgba(19, 181, 231, 0.75);
}
.blocks-progress-bar .unity-progress-bar{
position: relative;
width: 100%;
background-color: black;
border-radius: 10px;
min-height: 16px;
max-height: 16px;
overflow: hidden;
justify-content: center;
}
.blocks-progress-bar .unity-progress-bar__container {
justify-content: center;
}
.blocks-progress-bar .unity-progress-bar__background {
position: absolute;
width: 100%;
min-height: 16px;
max-height: 16px;
background-color: var(--color-progressbar-background);
border-radius: 10px;
overflow: hidden;
border-width: 4px;
border-color: var(--color-progressbar-border-color);
}
.blocks-progress-bar .unity-progress-bar__progress {
position: absolute;
height: 8px;
margin: 0px;
border-radius: 5px;
padding: 0px;
top: 0;
left: 0;
background-color: var(--color-progressbar-fill);
transition: width 0.3s ease-in-out;
}
.blocks-progress-bar .unity-progress-bar__title {
display: none;
}
.blocks-ammo-bar .unity-progress-bar__progress {
background-color: var(--color-progressbar-ammo-blue);
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 560ab0d72fae04873ba6435f044289eb
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/progressbar.uss
uploadId: 814574
@@ -0,0 +1,51 @@
.blocks-scroll-view {
width: 100%;
}
.blocks-scroll-view .unity-scroll-view__content-container {
align-items: center;
}
.blocks-modal--left-aligned-text .unity-scroll-view__content-container {
justify-content: flex-start;
align-items: flex-start;
color: red;
}
.blocks-scroll-view .unity-scroller {
margin-left: 10px;
margin-right: -10px;
}
.blocks-scroll-view .unity-base-slider__dragger {
left: auto;
align-self: center;
width: var(--base-unit-xs);
border-radius: var(--radius-xs);
background-color: var(--color-default);
}
.blocks-scroll-view .unity-base-slider__tracker {
display: none;
}
.blocks-scroll-view .unity-base-slider__dragger-border {
display: none;
}
.blocks-scroll-view .unity-scroller__high-button {
display: none;
}
.blocks-scroll-view .unity-scroller__low-button {
display: none;
}
.blocks-scroll-view__element{
width: 100%;
height: var(--base-unit-xl);
-unity-text-align: middle-left;
border-bottom-color: var(--color-border);
border-width: var(--width-border-md);
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 8367ea085d4c40fa91a394d241392f22
timeCreated: 1755704769
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/scroll-view.uss
uploadId: 814574
@@ -0,0 +1,51 @@
.blocks-container--horizontal {
flex-grow: 0;
flex-shrink: 0;
flex-direction: row;
justify-content: center;
align-items: center;
align-content: center;
width: 100%;
}
.blocks-container--horizontal--grow {
flex-grow: 1;
}
.blocks-container--space-between {
justify-content: space-between;
}
.blocks-container--stretch {
align-self: stretch;
}
.blocks-container--right {
justify-content: flex-end;
}
.blocks-element--space-right {
margin-right: var(--margin-lg);
}
.blocks-element--space-left {
margin-left: var(--margin-lg);
}
.blocks-element--space-bottom {
margin-bottom: var(--margin-sm);
}
.blocks-element--space-bottom-sm {
margin-bottom: var(--margin-xs);
}
.blocks-element--border-bottom {
border-bottom-width: var(--base-unit-xs);
border-bottom-color: var(--color-border);
}
.blocks-element--full-width {
width: 100%;
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c4c8f1a4b06149cba4827009b662075d
timeCreated: 1746544393
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/stylesheets/utilities.uss
uploadId: 814574
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8af2b6a690ed4c4485e99915cf45231c
timeCreated: 1746544768
Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: 6f32ef91cb40afc4aaa897ac7acc5ba7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/icon_copy.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: d2af5de8321b14ea895549be3e2482e2
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/icon_machinegun.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: 3b5072ab3d04743bdb476633780e7d85
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/icon_pistol.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: 6b200ab23c0194d55bddae14c53d3069
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/icon_rocketlauncher.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: df27af4ba9765418b996241565443e0f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/icon_shotgun.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: 2e420d5e686954d1984835153e7faa8b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/icon_triangle.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: 147568b8dabcc45fbafca989d3e2b494
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/icon_x.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: c957e948b81d34cc38ace0a4d898348f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/reticle_circularcross.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

@@ -0,0 +1,124 @@
fileFormatVersion: 2
guid: ce642e64c261f4108a7153fa8cda2397
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 341930
packageName: Unity Building Block - Multiplayer Session
packageVersion: 1.0
assetPath: Assets/Blocks/Common/Content/textures/reticle_cross.png
uploadId: 814574
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show More