Compare commits

...
18 Commits
Author SHA1 Message Date
david c00ddb866c add unity project for networking 2025-12-08 14:26:01 +01:00
david e031ff4bb0 add slides for network programming 2025-12-01 12:56:53 +01:00
david 5894f4008e add pointer in classes
add interfaces
2025-09-23 12:42:50 +02:00
david 89459f9cfc add pointer
add smart pointer
2025-09-22 12:47:22 +02:00
david 2dc23a4efc add collections 2025-09-16 12:33:48 +02:00
david 33af26ed44 add forward declaration examples
add classes
2025-09-15 12:39:48 +02:00
david 478a876e37 add c++ project 2025-09-08 12:50:45 +02:00
david 4ed571df69 add c++ slides 2025-09-08 12:50:34 +02:00
david ddee61efc5 add particle systems
add vfx graph
2025-06-06 12:48:53 +02:00
david 9180b3c835 add shader graph samples 2025-05-26 21:32:58 +02:00
david d9375709c5 add unity project for simulation
add examples for lighting
add examples for lightmapping
add examples for reflection probes
add examples for light probes
add examples for adaptive probe volumes
2025-05-20 21:33:39 +02:00
david 840f061d99 add slides for celluar automata 2025-05-14 08:22:03 +02:00
david 8f15627bc1 add slides for complex algorithms
add unity project for complex algorithms
add example for bezier curves
add example for game of life
2025-05-13 14:23:35 +02:00
david 954abad662 add missing & non updated files 2025-04-23 12:34:22 +02:00
david d9fb5ee7bc add unity behavior tree package & examples
add start of own implementation of a behavior tree
2025-04-23 12:33:28 +02:00
david 8a01366c35 update example behavior tree 2025-04-22 18:26:31 +02:00
david 9afc61866f add slides for behavior tree 2025-04-22 12:43:12 +02:00
david e00d37300d add lesson whiteboard 2025-04-08 13:05:01 +02:00
2751 changed files with 2208956 additions and 18 deletions
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 27b069aa92fa24495b78babc4b476f8a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 60b9dd743988c4734a44374ee30dd14b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,632 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1872226967922087649
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: 11500000, guid: db920e62f70f420bb33c771449926fa4, type: 3}
m_Name: FindPlayerByTagGraph
m_EditorClassIdentifier:
Graphs:
- rid: 9070097346152890635
RootGraph:
rid: 9070097346152890635
m_DebugInfo: {fileID: -66127798546245300}
references:
version: 2
RefIds:
- rid: -2
type: {class: , ns: , asm: }
- rid: 9070097346152890635
type: {class: BehaviorGraphModule, ns: Unity.Behavior, asm: Unity.Behavior}
data:
AuthoringAssetID:
m_Value0: 17209399148746025082
m_Value1: 11457628430124124954
m_DebugInfo: {fileID: -66127798546245300}
Root:
rid: 9070097346152890636
BlackboardReference:
rid: 9070097346152890637
BlackboardGroupReferences: []
m_ActiveNodes: []
m_NodesToTick: []
m_NodesToEnd:
rid: 9070097346152890638
m_EndedNodes:
rid: 9070097346152890639
m_VersionTimestamp: 638810019835453670
- rid: 9070097346152890636
type: {class: Start, ns: Unity.Behavior, asm: Unity.Behavior}
data:
ID:
m_Value0: 7817950178160810133
m_Value1: 14040910649258929402
Graph:
rid: 9070097346152890635
m_Parent:
rid: -2
m_Child:
rid: 9070097346152890640
Repeat: 1
AllowMultipleRepeatsPerTick: 0
- rid: 9070097346152890637
type: {class: BlackboardReference, ns: Unity.Behavior, asm: Unity.Behavior}
data:
m_Blackboard:
rid: 9070097346152890641
m_Source: {fileID: 8614250170573106848}
- rid: 9070097346152890638
type: {class: 'Stack`1[[Unity.Behavior.Node, Unity.Behavior]]', ns: System.Collections.Generic, asm: mscorlib}
data:
- rid: 9070097346152890639
type: {class: 'HashSet`1[[Unity.Behavior.Node, Unity.Behavior]]', ns: System.Collections.Generic, asm: System.Core}
data:
- rid: 9070097346152890640
type: {class: SequenceComposite, ns: Unity.Behavior, asm: Unity.Behavior}
data:
ID:
m_Value0: 3171459101936826821
m_Value1: 7933408212489212887
Graph:
rid: 9070097346152890635
m_Parent:
rid: 9070097346152890636
m_Children:
- rid: 9070097346152890642
- rid: 9070097346152890643
- rid: 9070097346152890641
type: {class: Blackboard, ns: Unity.Behavior, asm: Unity.Behavior}
data:
m_Variables:
- rid: 9070097346152890644
- rid: 9070097346152890645
- rid: 9070097346152890642
type: {class: FindClosestWithTagAction, ns: Unity.Behavior, asm: Unity.Behavior}
data:
ID:
m_Value0: 13710423678013893457
m_Value1: 2212741001850971260
Graph:
rid: 9070097346152890635
m_Parent:
rid: 9070097346152890640
Target:
rid: 9070097346152890645
Agent:
rid: 9070097346152890644
Tag:
rid: 9070097346152890646
- rid: 9070097346152890643
type: {class: LogMessageToConsoleAction, ns: Unity.Behavior, asm: Unity.Behavior}
data:
ID:
m_Value0: 2670597939843796158
m_Value1: 16801890063687294027
Graph:
rid: 9070097346152890635
m_Parent:
rid: 9070097346152890640
Message:
rid: 9070097346152890647
LogLevel:
rid: 9070097346152890648
- rid: 9070097346152890644
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 1
m_Value1: 0
Name: Self
m_Value: {fileID: 0}
- rid: 9070097346152890645
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 2086142384752862979
m_Value1: 5034159126875861342
Name: Target
m_Value: {fileID: 0}
- rid: 9070097346152890646
type: {class: 'BlackboardVariable`1[[System.String, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: Player
- rid: 9070097346152890647
type: {class: 'BlackboardVariable`1[[System.String, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: See Player
- rid: 9070097346152890648
type: {class: 'BlackboardVariable`1[[Unity.Behavior.LogMessageToConsoleAction/LogType, Unity.Behavior]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: 0
--- !u!114 &-66127798546245300
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: 11500000, guid: 5b27bb6d9a2c8d540a10dff10acc543e, type: 3}
m_Name: FindPlayerByTagGraph Debug Info
m_EditorClassIdentifier:
m_CodeBreakPointsList: []
--- !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: 11500000, guid: bad8f2220607dac4db5082ff333fafb8, type: 3}
m_Name: FindPlayerByTagGraph
m_EditorClassIdentifier:
Blackboard: {fileID: 7730618722200875529}
m_Description:
m_Nodes:
- rid: 9070097346152890558
- rid: 9070097346152890590
- rid: 9070097346152890593
- rid: 9070097346152890628
m_VersionTimestamp: 638810019835453670
m_DebugInfo: {fileID: -66127798546245300}
m_RuntimeGraph: {fileID: -1872226967922087649}
AssetID:
m_Value0: 17209399148746025082
m_Value1: 11457628430124124954
Story:
Story:
StoryVariableNames: []
Variables: []
m_NodeModelsInfo:
- Name: On Start
Story:
RuntimeTypeID:
m_Value0: 3335272451348827663
m_Value1: 11549843281177505721
Variables: []
NamedChildren: []
- Name: Sequence
Story:
RuntimeTypeID:
m_Value0: 10181448252506100447
m_Value1: 8737116843063128493
Variables: []
NamedChildren: []
- Name: Find Closest With Tag
Story: 'Find [Target] closest to [Agent] with tag: [Tag]'
RuntimeTypeID:
m_Value0: 1272391661889856870
m_Value1: 10362915794162135082
Variables:
- Name: Target
Type:
m_SerializableType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
Tooltip:
- Name: Agent
Type:
m_SerializableType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
Tooltip:
- Name: Tag
Type:
m_SerializableType: System.String, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
Tooltip:
NamedChildren: []
- Name: Log Message
Story: Log [message] to the console
RuntimeTypeID:
m_Value0: 14362779694071371193
m_Value1: 7851297057022692581
Variables:
- Name: Message
Type:
m_SerializableType: System.String, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
Tooltip:
- Name: LogLevel
Type:
m_SerializableType: Unity.Behavior.LogMessageToConsoleAction+LogType, Unity.Behavior,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Tooltip:
NamedChildren: []
- Name: Wait For All
Story:
RuntimeTypeID:
m_Value0: 7660367652061089412
m_Value1: 18313906318609194151
Variables: []
NamedChildren: []
- Name: Try In Order
Story:
RuntimeTypeID:
m_Value0: 11477120919463386923
m_Value1: 7730102824742023565
Variables: []
NamedChildren: []
- Name: Repeat
Story:
RuntimeTypeID:
m_Value0: 3696095273264312494
m_Value1: 14191201703811421854
Variables: []
NamedChildren: []
m_Blackboards: []
m_MainBlackboardAuthoringAsset: {fileID: 7730618722200875529}
m_CommandBuffer:
m_Commands: []
m_SubgraphsInfo: []
references:
version: 2
RefIds:
- rid: -2
type: {class: , ns: , asm: }
- rid: 9070097346152890558
type: {class: StartNodeModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
Position: {x: -196.80002, y: 2.3999865}
ID:
m_Value0: 7817950178160810133
m_Value1: 14040910649258929402
Parents: []
PortModels:
- rid: 9070097346152890559
NodeType:
m_SerializableType: Unity.Behavior.Start, Unity.Behavior, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
NodeTypeID:
m_Value0: 3335272451348827663
m_Value1: 11549843281177505721
m_FieldValues: []
Repeat: 1
AllowMultipleRepeatsPerTick: 0
- rid: 9070097346152890559
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
m_Name: OutputPort
m_PortDataFlowType: 1
m_IsFloating: 0
m_NodeModel:
rid: 9070097346152890558
m_Connections:
- rid: 9070097346152890591
- rid: 9070097346152890590
type: {class: CompositeNodeModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
Position: {x: -196.09998, y: 170.09995}
ID:
m_Value0: 3171459101936826821
m_Value1: 7933408212489212887
Parents: []
PortModels:
- rid: 9070097346152890591
- rid: 9070097346152890592
NodeType:
m_SerializableType: Unity.Behavior.SequenceComposite, Unity.Behavior, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
NodeTypeID:
m_Value0: 10181448252506100447
m_Value1: 8737116843063128493
m_FieldValues: []
- rid: 9070097346152890591
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
m_Name: InputPort
m_PortDataFlowType: 0
m_IsFloating: 0
m_NodeModel:
rid: 9070097346152890590
m_Connections:
- rid: 9070097346152890559
- rid: 9070097346152890592
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
m_Name: OutputPort
m_PortDataFlowType: 1
m_IsFloating: 0
m_NodeModel:
rid: 9070097346152890590
m_Connections:
- rid: 9070097346152890594
- rid: 9070097346152890629
- rid: 9070097346152890593
type: {class: ActionNodeModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
Position: {x: -370.49997, y: 304.49997}
ID:
m_Value0: 13710423678013893457
m_Value1: 2212741001850971260
Parents: []
PortModels:
- rid: 9070097346152890594
- rid: 9070097346152890595
NodeType:
m_SerializableType: Unity.Behavior.FindClosestWithTagAction, Unity.Behavior,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
NodeTypeID:
m_Value0: 1272391661889856870
m_Value1: 10362915794162135082
m_FieldValues:
- rid: 9070097346152890596
- rid: 9070097346152890597
- rid: 9070097346152890598
- rid: 9070097346152890594
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
m_Name: InputPort
m_PortDataFlowType: 0
m_IsFloating: 0
m_NodeModel:
rid: 9070097346152890593
m_Connections:
- rid: 9070097346152890592
- rid: 9070097346152890595
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
m_Name: OutputPort
m_PortDataFlowType: 1
m_IsFloating: 0
m_NodeModel:
rid: 9070097346152890593
m_Connections: []
- rid: 9070097346152890596
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
FieldName: Target
Type:
m_SerializableType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
LocalValue:
rid: 9070097346152890599
LinkedVariable:
rid: 9070097346152890607
- rid: 9070097346152890597
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
FieldName: Agent
Type:
m_SerializableType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
LocalValue:
rid: 9070097346152890600
LinkedVariable:
rid: 9070097346152890603
- rid: 9070097346152890598
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
FieldName: Tag
Type:
m_SerializableType: System.String, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
LocalValue:
rid: 9070097346152890601
LinkedVariable:
rid: -2
- rid: 9070097346152890599
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: {fileID: 0}
- rid: 9070097346152890600
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: {fileID: 0}
- rid: 9070097346152890601
type: {class: 'BlackboardVariable`1[[System.String, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: Player
- rid: 9070097346152890603
type: {class: 'TypedVariableModel`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
ID:
m_Value0: 1
m_Value1: 0
Name: Self
IsExposed: 1
m_IsShared: 0
m_Value: {fileID: 0}
- rid: 9070097346152890607
type: {class: 'TypedVariableModel`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
ID:
m_Value0: 2086142384752862979
m_Value1: 5034159126875861342
Name: Target
IsExposed: 0
m_IsShared: 0
m_Value: {fileID: 0}
- rid: 9070097346152890628
type: {class: ActionNodeModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
Position: {x: -46.499996, y: 302.90018}
ID:
m_Value0: 2670597939843796158
m_Value1: 16801890063687294027
Parents: []
PortModels:
- rid: 9070097346152890629
- rid: 9070097346152890630
NodeType:
m_SerializableType: Unity.Behavior.LogMessageToConsoleAction, Unity.Behavior,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
NodeTypeID:
m_Value0: 14362779694071371193
m_Value1: 7851297057022692581
m_FieldValues:
- rid: 9070097346152890631
- rid: 9070097346152890632
- rid: 9070097346152890629
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
m_Name: InputPort
m_PortDataFlowType: 0
m_IsFloating: 0
m_NodeModel:
rid: 9070097346152890628
m_Connections:
- rid: 9070097346152890592
- rid: 9070097346152890630
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
m_Name: OutputPort
m_PortDataFlowType: 1
m_IsFloating: 0
m_NodeModel:
rid: 9070097346152890628
m_Connections: []
- rid: 9070097346152890631
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
FieldName: Message
Type:
m_SerializableType: System.String, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
LocalValue:
rid: 9070097346152890633
LinkedVariable:
rid: -2
- rid: 9070097346152890632
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
data:
FieldName: LogLevel
Type:
m_SerializableType: Unity.Behavior.LogMessageToConsoleAction+LogType, Unity.Behavior,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
LocalValue:
rid: 9070097346152890634
LinkedVariable:
rid: -2
- rid: 9070097346152890633
type: {class: 'BlackboardVariable`1[[System.String, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: See Player
- rid: 9070097346152890634
type: {class: 'BlackboardVariable`1[[Unity.Behavior.LogMessageToConsoleAction/LogType, Unity.Behavior]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 0
m_Value1: 0
Name:
m_Value: 0
--- !u!114 &7730618722200875529
MonoBehaviour:
m_ObjectHideFlags: 1
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: 11500000, guid: 2dd922ae02c94c87a66e46a10a7319b9, type: 3}
m_Name: FindPlayerByTagGraph Blackboard
m_EditorClassIdentifier:
AssetID:
m_Value0: 17209399148746025082
m_Value1: 11457628430124124954
m_Variables:
- rid: 9070097346152890560
- rid: 9070097346152890604
m_VersionTimestamp: 638810019617317850
m_CommandBuffer:
m_Commands: []
m_RuntimeBlackboardAsset: {fileID: 8614250170573106848}
references:
version: 2
RefIds:
- rid: 9070097346152890560
type: {class: 'TypedVariableModel`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
ID:
m_Value0: 1
m_Value1: 0
Name: Self
IsExposed: 1
m_IsShared: 0
m_Value: {fileID: 0}
- rid: 9070097346152890604
type: {class: 'TypedVariableModel`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
data:
ID:
m_Value0: 2086142384752862979
m_Value1: 5034159126875861342
Name: Target
IsExposed: 0
m_IsShared: 0
m_Value: {fileID: 0}
--- !u!114 &8614250170573106848
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: 11500000, guid: 5c02bb70996b49eba31d0c206e28da24, type: 3}
m_Name: FindPlayerByTagGraph Blackboard
m_EditorClassIdentifier:
VersionTimestamp: 638810019617317850
AssetID:
m_Value0: 0
m_Value1: 0
m_Blackboard:
m_Variables:
- rid: 9070097346152890568
- rid: 9070097346152890649
m_SharedBlackboardVariableGuids: []
references:
version: 2
RefIds:
- rid: 9070097346152890568
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 1
m_Value1: 0
Name: Self
m_Value: {fileID: 0}
- rid: 9070097346152890649
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 2086142384752862979
m_Value1: 5034159126875861342
Name: Target
m_Value: {fileID: 0}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7aa8eab25811d4ee1a0bf7215aac019f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+30 -1
View File
@@ -671,6 +671,7 @@ GameObject:
- component: {fileID: 1581308642} - component: {fileID: 1581308642}
- component: {fileID: 1581308641} - component: {fileID: 1581308641}
- component: {fileID: 1581308640} - component: {fileID: 1581308640}
- component: {fileID: 1581308645}
m_Layer: 0 m_Layer: 0
m_Name: Enemy m_Name: Enemy
m_TagString: Untagged m_TagString: Untagged
@@ -685,7 +686,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1581308639} m_GameObject: {fileID: 1581308639}
m_Enabled: 1 m_Enabled: 0
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 57f3192b52a14940bca9ed3e3f3cc9e0, type: 3} m_Script: {fileID: 11500000, guid: 57f3192b52a14940bca9ed3e3f3cc9e0, type: 3}
m_Name: m_Name:
@@ -782,6 +783,34 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1581308645
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1581308639}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f0038c16c34866b4f9e25c9c0dc0f7e6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Graph: {fileID: -1872226967922087649, guid: 60b9dd743988c4734a44374ee30dd14b, type: 2}
m_BlackboardVariableOverridesList:
- rid: 9070097346152890650
m_IsInitialised: 0
m_IsStarted: 0
references:
version: 2
RefIds:
- rid: 9070097346152890650
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
data:
GUID:
m_Value0: 1
m_Value1: 0
Name: Self
m_Value: {fileID: 1581308639}
--- !u!1 &2040240482 --- !u!1 &2040240482
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 2c6bdc0b9db0433e939c2e77844106f1
timeCreated: 1745402938
+9
View File
@@ -0,0 +1,9 @@
namespace DefaultNamespace.BehaviorTree
{
public abstract class Action : Node
{
public Action()
{
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d658db48a0944051aa2a4a2fa02e089c
timeCreated: 1745403146
@@ -0,0 +1,17 @@
using System.Collections.Generic;
namespace DefaultNamespace.BehaviorTree
{
public class Composite : Node
{
public Composite(List<Node> nodes)
{
_nodes.AddRange(nodes);
}
public Composite(params Node[] nodes)
{
_nodes.AddRange(nodes);
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 975b1d6c26eb459d9a8cdd3e042b6674
timeCreated: 1745403206
@@ -0,0 +1,7 @@
namespace DefaultNamespace.BehaviorTree
{
public abstract class Condition : Action
{
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a2d064fe5d964df7aa50ae36e8551561
timeCreated: 1745403415
@@ -0,0 +1,19 @@
namespace DefaultNamespace.BehaviorTree
{
public class Decorator : Node
{
public Node Node
{
get
{
if (_nodes != null && _nodes.Count > 0) return _nodes[0];
return null;
}
}
public Decorator(Node node)
{
_nodes.Add(node);
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f064dd30dc4940009b32f253d2f6ec34
timeCreated: 1745403277
+31
View File
@@ -0,0 +1,31 @@
using System.Collections.Generic;
namespace DefaultNamespace.BehaviorTree
{
public abstract class Node
{
protected List<Node> _nodes = new();
public virtual void Start()
{
}
public virtual Status Update()
{
return Status.Success;
}
public virtual void End()
{
}
}
public enum Status
{
Success,
Failure,
Running,
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: bb191187e8a246b29358c9eca60e18ea
timeCreated: 1745403053
@@ -0,0 +1,42 @@
using System;
namespace DefaultNamespace.BehaviorTree
{
public class Sequence : Composite
{
protected int _currentIndex;
protected Node _currentNode;
public override void Start()
{
_currentIndex = 0;
_currentNode = _currentIndex >= _nodes.Count ? null : _nodes[_currentIndex];
_currentNode?.Start();
}
public override Status Update()
{
if (_currentNode == null) return Status.Failure;
Status status = _currentNode.Update();
switch (status)
{
case Status.Success:
_currentNode.End();
_currentIndex++;
if (_currentIndex >= _nodes.Count) return Status.Success;
_currentNode = _nodes[_currentIndex];
_currentNode.Start();
return Status.Running;
case Status.Failure:
_currentNode.End();
return Status.Failure;
case Status.Running:
return Status.Running;
default:
throw new ArgumentOutOfRangeException();
}
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 39476da0e0a54e429221ed45a8c2cf0f
timeCreated: 1745403452
+28
View File
@@ -0,0 +1,28 @@
using System;
using UnityEngine;
namespace DefaultNamespace.BehaviorTree
{
public class Tree : MonoBehaviour
{
private Node _rootNode;
private void OnEnable()
{
if (_rootNode == null) return;
_rootNode.Start();
}
private void Update()
{
if (_rootNode == null) return;
_rootNode.Update();
}
private void OnDisable()
{
if (_rootNode == null) return;
_rootNode.End();
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1de9a2c205bb40fb9770d0639fb89abe
timeCreated: 1745402959
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c63ace1e1936b410886ee60b58d83462
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,45 @@
using System;
using DefaultNamespace;
using DefaultNamespace.FSM;
using Unity.Behavior;
using UnityEngine;
using Action = Unity.Behavior.Action;
using Unity.Properties;
[Serializable, GeneratePropertyBag]
[NodeDescription(name: "FindPlayerControllerByRaycast", story: "Find [Target] with racyast from [Agent]", category: "Action", id: "d762456f044989271ec06e8848cbfa15")]
public partial class FindPlayerControllerByRaycastAction : Action
{
[SerializeReference] public BlackboardVariable<GameObject> Target;
[SerializeReference] public BlackboardVariable<GameObject> Agent;
[SerializeReference] public BlackboardVariable<float> MaxDistance = new(10);
protected override Status OnStart()
{
if (Agent.Value == null) return Status.Failure;
// setup your node
return Status.Running;
}
protected override Status OnUpdate()
{
if (Physics.Raycast(Agent.Value.transform.position, Agent.Value.transform.forward, out RaycastHit hit, MaxDistance))
{
if (hit.transform.GetComponent<PlayerController>() != null)
{
Target.Value = hit.transform.gameObject;
return Status.Success;
}
}
Target.Value = null;
return Status.Failure;
}
protected override void OnEnd()
{
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9250f5d746bf949019e434d1373f0275
@@ -0,0 +1,24 @@
using System;
using Unity.Behavior;
using UnityEngine;
[Serializable, Unity.Properties.GeneratePropertyBag]
[Condition(name: "GameObject Null", story: "[Object] is [IsNull] null", category: "Conditions", id: "0136a874fb9b9066a1c71f05e9b92e63")]
public partial class ObjectNullCondition : Condition
{
[SerializeReference] public BlackboardVariable<GameObject> Object;
[SerializeReference] public BlackboardVariable<bool> IsNull;
public override bool IsTrue()
{
return (Object.Value == null && IsNull) || (Object.Value != null && !IsNull);
}
public override void OnStart()
{
}
public override void OnEnd()
{
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5cc690ef45e0547ff930c67885e426c1
+5 -4
View File
@@ -1,10 +1,11 @@
{ {
"dependencies": { "dependencies": {
"com.unity.ai.navigation": "2.0.6", "com.unity.ai.navigation": "2.0.7",
"com.unity.behavior": "1.0.9",
"com.unity.collab-proxy": "2.7.1", "com.unity.collab-proxy": "2.7.1",
"com.unity.ide.rider": "3.0.31", "com.unity.ide.rider": "3.0.35",
"com.unity.ide.visualstudio": "2.0.22", "com.unity.ide.visualstudio": "2.0.23",
"com.unity.inputsystem": "1.13.1", "com.unity.inputsystem": "1.14.0",
"com.unity.multiplayer.center": "1.0.0", "com.unity.multiplayer.center": "1.0.0",
"com.unity.render-pipelines.universal": "17.0.4", "com.unity.render-pipelines.universal": "17.0.4",
"com.unity.test-framework": "1.5.1", "com.unity.test-framework": "1.5.1",
+47 -11
View File
@@ -1,7 +1,7 @@
{ {
"dependencies": { "dependencies": {
"com.unity.ai.navigation": { "com.unity.ai.navigation": {
"version": "2.0.6", "version": "2.0.7",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
@@ -9,9 +9,26 @@
}, },
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.behavior": {
"version": "1.0.9",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.burst": "1.7.2",
"com.unity.dt.app-ui": "2.0.0-pre.16",
"com.unity.modules.ai": "1.0.0",
"com.unity.collections": "2.1.4",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.nuget.newtonsoft-json": "3.2.1",
"com.unity.modules.particlesystem": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.burst": { "com.unity.burst": {
"version": "1.8.19", "version": "1.8.21",
"depth": 2, "depth": 1,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
"com.unity.mathematics": "1.2.1", "com.unity.mathematics": "1.2.1",
@@ -28,7 +45,7 @@
}, },
"com.unity.collections": { "com.unity.collections": {
"version": "2.5.1", "version": "2.5.1",
"depth": 2, "depth": 1,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
"com.unity.burst": "1.8.17", "com.unity.burst": "1.8.17",
@@ -38,6 +55,18 @@
}, },
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.dt.app-ui": {
"version": "2.0.0-pre.16",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.uielements": "1.0.0",
"com.unity.modules.screencapture": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.ext.nunit": { "com.unity.ext.nunit": {
"version": "2.0.5", "version": "2.0.5",
"depth": 1, "depth": 1,
@@ -45,7 +74,7 @@
"dependencies": {} "dependencies": {}
}, },
"com.unity.ide.rider": { "com.unity.ide.rider": {
"version": "3.0.31", "version": "3.0.35",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
@@ -54,7 +83,7 @@
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.ide.visualstudio": { "com.unity.ide.visualstudio": {
"version": "2.0.22", "version": "2.0.23",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
@@ -63,7 +92,7 @@
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.inputsystem": { "com.unity.inputsystem": {
"version": "1.13.1", "version": "1.14.0",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
@@ -88,7 +117,14 @@
}, },
"com.unity.nuget.mono-cecil": { "com.unity.nuget.mono-cecil": {
"version": "1.11.4", "version": "1.11.4",
"depth": 3, "depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.nuget.newtonsoft-json": {
"version": "3.2.1",
"depth": 1,
"source": "registry", "source": "registry",
"dependencies": {}, "dependencies": {},
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
@@ -179,11 +215,11 @@
} }
}, },
"com.unity.test-framework.performance": { "com.unity.test-framework.performance": {
"version": "3.0.3", "version": "3.1.0",
"depth": 3, "depth": 2,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
"com.unity.test-framework": "1.1.31", "com.unity.test-framework": "1.1.33",
"com.unity.modules.jsonserialize": "1.0.0" "com.unity.modules.jsonserialize": "1.0.0"
}, },
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
+26
View File
@@ -0,0 +1,26 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 53
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: 11500000, guid: 6118340bc55d5fc4b88ef6970b16d122, type: 3}
m_Name:
m_EditorClassIdentifier:
m_GraphOwnerName: Self
m_AutoSaveLastSaveLocation: 1
m_SaveFolder: Scripts/BehaviorTree
m_UseSeparateSaveFolders: 0
m_SaveFolderAction:
m_SaveFolderModifier:
m_SaveFolderFlow:
m_SaveFolderCondition:
m_SaveFolderEventChannels:
m_SaveFolderEnum:
m_AutoOpenNodeScriptsInExternalEditor: 1
m_Namespace:
@@ -9,5 +9,6 @@ EditorBuildSettings:
path: Assets/Scenes/SampleScene.unity path: Assets/Scenes/SampleScene.unity
guid: 99c9720ab356a0642a771bea13969a05 guid: 99c9720ab356a0642a771bea13969a05
m_configObjects: m_configObjects:
com.unity.dt.app-ui: {fileID: 11400000, guid: 99f9c9493070a9d4c979a8fec7c5a8d3, type: 2}
com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
m_UseUCBPForAssetBundles: 0 m_UseUCBPForAssetBundles: 0
+2 -2
View File
@@ -1,2 +1,2 @@
m_EditorVersion: 6000.0.44f1 m_EditorVersion: 6000.0.47f1
m_EditorVersionWithRevision: 6000.0.44f1 (101c91f3a8fb) m_EditorVersionWithRevision: 6000.0.47f1 (2ad1ed33fd3b)
+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", "{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Forward_Declaration", "Forward_Declaration\Forward_Declaration.vcxproj", "{1A004ECB-CBB0-4769-90B8-5CAF2554D283}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Classes", "Classes\Classes.vcxproj", "{4949E46C-8711-4BEF-8919-4B818B823520}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Collections", "Collections\Collections.vcxproj", "{34173AE8-DCD5-46FE-AF4D-85FB110721BA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pointer", "Pointer\Pointer.vcxproj", "{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}"
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
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Debug|ARM64.ActiveCfg = Debug|ARM64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Debug|ARM64.Build.0 = Debug|ARM64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Debug|x64.ActiveCfg = Debug|x64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Debug|x64.Build.0 = Debug|x64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Debug|x86.ActiveCfg = Debug|Win32
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Debug|x86.Build.0 = Debug|Win32
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Release|ARM64.ActiveCfg = Release|ARM64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Release|ARM64.Build.0 = Release|ARM64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Release|x64.ActiveCfg = Release|x64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Release|x64.Build.0 = Release|x64
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Release|x86.ActiveCfg = Release|Win32
{9DDBE4CE-3B06-4877-8D9C-5F0FFD755DD5}.Release|x86.Build.0 = Release|Win32
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Debug|ARM64.ActiveCfg = Debug|ARM64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Debug|ARM64.Build.0 = Debug|ARM64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Debug|x64.ActiveCfg = Debug|x64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Debug|x64.Build.0 = Debug|x64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Debug|x86.ActiveCfg = Debug|Win32
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Debug|x86.Build.0 = Debug|Win32
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Release|ARM64.ActiveCfg = Release|ARM64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Release|ARM64.Build.0 = Release|ARM64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Release|x64.ActiveCfg = Release|x64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Release|x64.Build.0 = Release|x64
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Release|x86.ActiveCfg = Release|Win32
{1A004ECB-CBB0-4769-90B8-5CAF2554D283}.Release|x86.Build.0 = Release|Win32
{4949E46C-8711-4BEF-8919-4B818B823520}.Debug|ARM64.ActiveCfg = Debug|ARM64
{4949E46C-8711-4BEF-8919-4B818B823520}.Debug|ARM64.Build.0 = Debug|ARM64
{4949E46C-8711-4BEF-8919-4B818B823520}.Debug|x64.ActiveCfg = Debug|x64
{4949E46C-8711-4BEF-8919-4B818B823520}.Debug|x64.Build.0 = Debug|x64
{4949E46C-8711-4BEF-8919-4B818B823520}.Debug|x86.ActiveCfg = Debug|Win32
{4949E46C-8711-4BEF-8919-4B818B823520}.Debug|x86.Build.0 = Debug|Win32
{4949E46C-8711-4BEF-8919-4B818B823520}.Release|ARM64.ActiveCfg = Release|ARM64
{4949E46C-8711-4BEF-8919-4B818B823520}.Release|ARM64.Build.0 = Release|ARM64
{4949E46C-8711-4BEF-8919-4B818B823520}.Release|x64.ActiveCfg = Release|x64
{4949E46C-8711-4BEF-8919-4B818B823520}.Release|x64.Build.0 = Release|x64
{4949E46C-8711-4BEF-8919-4B818B823520}.Release|x86.ActiveCfg = Release|Win32
{4949E46C-8711-4BEF-8919-4B818B823520}.Release|x86.Build.0 = Release|Win32
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Debug|ARM64.ActiveCfg = Debug|ARM64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Debug|ARM64.Build.0 = Debug|ARM64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Debug|x64.ActiveCfg = Debug|x64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Debug|x64.Build.0 = Debug|x64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Debug|x86.ActiveCfg = Debug|Win32
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Debug|x86.Build.0 = Debug|Win32
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Release|ARM64.ActiveCfg = Release|ARM64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Release|ARM64.Build.0 = Release|ARM64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Release|x64.ActiveCfg = Release|x64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Release|x64.Build.0 = Release|x64
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Release|x86.ActiveCfg = Release|Win32
{34173AE8-DCD5-46FE-AF4D-85FB110721BA}.Release|x86.Build.0 = Release|Win32
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Debug|ARM64.ActiveCfg = Debug|ARM64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Debug|ARM64.Build.0 = Debug|ARM64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Debug|x64.ActiveCfg = Debug|x64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Debug|x64.Build.0 = Debug|x64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Debug|x86.ActiveCfg = Debug|Win32
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Debug|x86.Build.0 = Debug|Win32
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Release|ARM64.ActiveCfg = Release|ARM64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Release|ARM64.Build.0 = Release|ARM64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Release|x64.ActiveCfg = Release|x64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Release|x64.Build.0 = Release|x64
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Release|x86.ActiveCfg = Release|Win32
{2A8A01E9-D0E6-4D69-83EE-D05C81829EDB}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8F24B156-DB15-417F-BC2D-3C32D7A522E6}
EndGlobalSection
EndGlobal
+196
View File
@@ -0,0 +1,196 @@
<?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>{4949e46c-8711-4bef-8919-4b818b823520}</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="Weapon.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Entity.h" />
<ClInclude Include="ICompareable.h" />
<ClInclude Include="Monster.h" />
<ClInclude Include="Ork.h" />
<ClInclude Include="Vector3.h" />
<ClInclude Include="Weapon.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+54
View File
@@ -0,0 +1,54 @@
<?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="Weapon.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="Weapon.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Vector3.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ICompareable.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+10
View File
@@ -0,0 +1,10 @@
#include "Entity.h"
using namespace MyNamespace;
Entity::Entity() // constructor definition
{ }
Entity::Entity(std::string n) : _name(n)
{
//_name = n;
}
+19
View File
@@ -0,0 +1,19 @@
#pragma once
#include <string>
namespace MyNamespace
{
class Entity
{
public:
Entity(); // constructor declaration
Entity(std::string n);
virtual std::string ToString() { return "Entity"; } // defined
void setName(std::string n) { _name = n; } // defined
std::string getName() { return _name; }
protected:
std::string _name = "";
}; // IMPORTANT: semicolon at the end
}
+13
View File
@@ -0,0 +1,13 @@
#pragma once
// only for demonstration
#include <iostream>
class ICompareable
{
public:
ICompareable() { std::cout << "ICompareable::ICompareable()" << std::endl; } // constructor, only for demonstration
virtual ~ICompareable() { std::cout << "ICompareable::~ICompareable()" << std::endl; } // destructor
virtual bool Compare(const ICompareable* pOther) = 0; // pure virtual - abstract method
};
+30
View File
@@ -0,0 +1,30 @@
#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;
}
}
+25
View File
@@ -0,0 +1,25 @@
#pragma once
#include "Entity.h"
#include "Vector3.h"
#include "ICompareable.h"
#include "Weapon.h"
class Monster : public MyNamespace::Entity, public ICompareable
{
public:
// constructor, copy-constructor & destructor,
// if you need one, you'll need all of them
// internal pointers often requires constrcutor, copy-constructor & destructor
Monster();
//Monster(Weapon* weapon);
Monster(const Monster& other);
virtual ~Monster();
std::string ToString() override { return "Monster"; }
virtual void Move(const Vector3& move) = 0;
bool Compare(const ICompareable* pOther) override;
protected:
Weapon* _pWeapon = nullptr;
};
+23
View File
@@ -0,0 +1,23 @@
#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(const Vector3& move)
{
}
bool Monster::Compare(const ICompareable* pOther)
{
return false;
}
+13
View File
@@ -0,0 +1,13 @@
#pragma once
#include "Monster.h"
class Ork : public Monster
{
public:
Ork();
~Ork();
std::string ToString() override { return "Ork"; }
void Move(const 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) {}
};
+1
View File
@@ -0,0 +1 @@
#include "Weapon.h"
+6
View File
@@ -0,0 +1,6 @@
#pragma once
class Weapon
{
};
+40
View File
@@ -0,0 +1,40 @@
#include <iostream>
#include "Entity.h"
#include "Monster.h"
#include "Vector3.h"
#include "Ork.h"
using namespace MyNamespace;
using namespace std;
int main()
{
Entity entity; // this is an instance
cout << entity.ToString() << endl;
// can't be instantiated, because it is abstract
//Monster monster;
//cout << monster.ToString() << endl;
Vector3 position(1.0f, 0.0f, 2.0f);
Vector3 position2 = Vector3();
Vector3 position3{}; // list-initializer
Ork ork;
ork.Move(position);
Monster* pMonster = new Ork();
delete pMonster;
pMonster = nullptr;
ICompareable* pCompareables[] = { new Ork, new Ork, new Ork };
for (size_t i = 0; i < size(pCompareables); i++)
{
delete pCompareables[i];
pCompareables[i] = nullptr;
}
Ork ork2 = ork;
return 0;
}
+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>{34173ae8-dcd5-46fe-af4d-85fb110721ba}</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="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -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>
+146
View File
@@ -0,0 +1,146 @@
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
using namespace std;
int calculateIndex(int x, int y);
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;
}
numbers[0] = 10;
cout << "numbers[5]: " << numbers[5] << endl;
int numbers2[] = { 0, 1, 2, 3, 4 };
int numbers3[10] = { 0, 1, 2, 3, 4 };
// 2d array - 10 rows & 5 columns
int grid[10 * 5];
grid[calculateIndex(3, 7)] = 10; // 4th column, 8th row
// size/count have to be always const
const int count = 10;
int numbers4[count];
int length = sizeof(numbers) / sizeof(numbers[0]); // works locally only, arrays with const length
for (size_t i = 0; i < size(numbers2); i++) // std::size is working with locally const length arrays only
{
cout << numbers2[i] << " ";
}
cout << endl;
printArray(numbers4);
printArray(numbers4, size(numbers4));
// "dynamic" heap arrays
int count2 = 10;
int* pNumbers = new int[count2];
pNumbers[0] = 10;
int* pNumber = pNumbers; // pNumber points onto the first element
//pNumber++; // pNumber points onto the second element
//pNumber--;
//pNumber += 2;
cout << "\"dynamic\" heap arrays" << endl;
for (size_t i = 0; i < count2; i++) // CAUTION - size is not working with heap arrays, we have to remember the size of the array
{
cout << pNumber << ": " << *pNumber << endl;
pNumber++;
}
delete[] pNumbers; // CAUTION - heap arrays have to be deleted with delete[]
pNumbers = pNumber = nullptr;
// 2d arrays
int** p2dArray = new int* [10];
for (size_t i = 0; i < 10; i++)
{
p2dArray[i] = new int[10];
}
// for delete -> delete inner arrays first
for (size_t i = 0; i < 10; i++)
{
delete[] p2dArray[i];
p2dArray[i] = nullptr;
}
delete[] p2dArray; // then outer array
p2dArray = 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(); // removed an item at the end
numbers6[2] *= 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] = 100; // 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)
{ }
// https://cppreference.com/w/cpp/algorithm.html
for_each(numbersList.begin(), numbersList.end(), [](const int& n) {
});
return 0;
}
int calculateIndex(int x, int y)
{
return x + y * 5;
}
void printArray(int numbers[])
{
int length = sizeof(numbers) / sizeof(numbers[0]); // works not outside of local scope
cout << "sizeof(numbers) (printArray): " << sizeof(numbers) << endl;
//for (size_t i = 0; i < size(numbers); i++) // std::size is not working outside of 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>{1a004ecb-cbb0-4769-90b8-5caf2554d283}</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,5 @@
#include "functions.h" // project based includes, project wide search first
#include <iostream> // system based includes, system wide search first
void functionE() // defined
{ }
@@ -0,0 +1,9 @@
#pragma once
#ifndef _FUNCTIONS_H_
#define _FUNCTIONS_H_
void functionE(); // declare
//void functionF() {} // declare & defined, linker error when included in multiple source files
#endif // _FUNCTIONS_H_
+20
View File
@@ -0,0 +1,20 @@
#include "functions.h"
void functionB() {} // declared & defined
void functionC(); // declare
void functionD(); // declare
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() {} // declare & 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>{9ddbe4ce-3b06-4877-8d9c-5f0ffd755dd5}</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>
+26
View File
@@ -0,0 +1,26 @@
#include <iostream>
using namespace std;
int main()
{
// console output
std::cout << "Hello World" << std::endl;
std::cout << 1234 << std::endl;
std::cout << L"Noch ein Test!\n"; // wide string literal, cout can not handle this
std::cout << "Hello World" - 1234 << std::endl; // see pointer
int number = 10;
cout << "number: " << number << endl;
// console input
cin >> number;
cout << "input: " << number << endl;
char c;
cin >> c;
cout << "input: " << c << 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>{2a8a01e9-d0e6-4d69-83ee-d05c81829edb}</ProjectGuid>
<RootNamespace>Pointer</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>
+30
View File
@@ -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>
+18
View File
@@ -0,0 +1,18 @@
#include "functions.h"
void changeInteger(int n)
{
n *= 2;
}
void changeIntegerPerPointer(int* pN)
{
if (pN == nullptr) return; // BE CAREFUL - a pointer can always be nullptr
*pN *= 2;
}
void changeIntegerPerReference(int& n)
{
n *= 2;
}
+5
View File
@@ -0,0 +1,5 @@
#pragma once
void changeInteger(int n);
void changeIntegerPerPointer(int* pN);
void changeIntegerPerReference(int& n);
+83
View File
@@ -0,0 +1,83 @@
#include <iostream>
#include <memory> // smart pointer header
#include "functions.h"
using namespace std;
int main()
{
// general
int* pNumber = nullptr;
pNumber = new int(0);
cout << "pNumber: " << pNumber << endl;
cout << "*pNumber: " << *pNumber << endl;
cout << "size of pointer: " << sizeof(pNumber) << endl;
cout << "size of *pointer: " << sizeof(*pNumber) << endl;
*pNumber = 567;
//pNumber = new int(0); // BAD BAD - Memory Leak, because we overriding an existing pointer address with a new one
// here are 100s line of code OR at different position
if (pNumber != nullptr)
{
delete pNumber;
pNumber = nullptr;
}
// pointer as references
int number = 10;
changeInteger(number);
changeIntegerPerPointer(&number);
changeIntegerPerPointer(pNumber);
changeIntegerPerReference(number);
//changeIntegerPerReference(10); // doesn't work, because you need an existing & initialized variable for a reference
// 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_ptr
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, because a weak pointer has no direct access to the shared pointer, you have to create a shared pointer object
if (!pNumber7.expired())
{
shared_ptr<int> pTmpSharedPointer = pNumber7.lock();
*pTmpSharedPointer = 10000;
}
pNumber6.reset();
shared_ptr<int> pTmpSharedPointer2 = pNumber7.lock();
if (pTmpSharedPointer2 != nullptr) *pTmpSharedPointer2 = 10; // smart pointer are no guarantee for a valid object behind the pointer
// const exercise
// int *
// const int *
// int const *
// int * const
// const int * const
// int const * const
// const int const * const
// const int const const * const
// const int* pNumber = new int(0);
// *pNumber = 10; // is this working
// pNumber = new int(0); // is this working
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
/projectSettingsUpdater.xml
/contentModel.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

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