From 703dcb1b4d524126fe5d81d24787e94f99ea9cd4 Mon Sep 17 00:00:00 2001 From: GladFox <9006003@gmail.com> Date: Mon, 14 Mar 2016 00:01:10 +0600 Subject: [PATCH 1/8] Fix NullReference --- Core/Simulation/Grid/Influence/LSInfluencer.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Core/Simulation/Grid/Influence/LSInfluencer.cs b/Core/Simulation/Grid/Influence/LSInfluencer.cs index 8d7246e7..32cfe83a 100644 --- a/Core/Simulation/Grid/Influence/LSInfluencer.cs +++ b/Core/Simulation/Grid/Influence/LSInfluencer.cs @@ -44,6 +44,9 @@ public void Simulate () if (Body.PositionChangedBuffer) { tempNode = GridManager.GetNode (Body._position.x, Body._position.y); + if (tempNode.IsNull()) + return; + if (System.Object.ReferenceEquals (tempNode, LocatedNode) == false) { LocatedNode.Remove (this); tempNode.Add (this); From 46813e4e350c814a1dc760a32b1a9c8b2280cc35 Mon Sep 17 00:00:00 2001 From: SnpM Date: Sun, 13 Mar 2016 12:51:10 -0600 Subject: [PATCH 2/8] Fix null EventSystem bugs --- Core/Game/Agents/Visuals/Materials/Hex.mat | 14 +++++++------- Core/Game/Agents/Visuals/Textures/Circle.png | Bin 11007 -> 9256 bytes .../Agents/Visuals/Textures/Circle.png.meta | 2 +- Core/Game/Player/RTSInterfacing.cs | 4 +--- Core/Game/Player/SelectionManager.cs | 2 +- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Core/Game/Agents/Visuals/Materials/Hex.mat b/Core/Game/Agents/Visuals/Materials/Hex.mat index a182b187..67af3ada 100644 --- a/Core/Game/Agents/Visuals/Materials/Hex.mat +++ b/Core/Game/Agents/Visuals/Materials/Hex.mat @@ -8,11 +8,11 @@ Material: m_PrefabInternal: {fileID: 0} m_Name: Hex m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON + m_ShaderKeywords: _ALPHATEST_ON m_LightmapFlags: 5 - m_CustomRenderQueue: 3000 + m_CustomRenderQueue: 2450 stringTagMap: - RenderType: Transparent + RenderType: TransparentCutout m_SavedProperties: serializedVersion: 2 m_TexEnvs: @@ -83,11 +83,11 @@ Material: data: first: name: _SrcBlend - second: 5 + second: 1 data: first: name: _DstBlend - second: 10 + second: 0 data: first: name: _Cutoff @@ -99,7 +99,7 @@ Material: data: first: name: _ZWrite - second: 0 + second: 1 data: first: name: _Glossiness @@ -123,7 +123,7 @@ Material: data: first: name: _Mode - second: 2 + second: 1 data: first: name: _Metallic diff --git a/Core/Game/Agents/Visuals/Textures/Circle.png b/Core/Game/Agents/Visuals/Textures/Circle.png index f4709823cd978920d046a01bb47cf794ab72778b..5b8358e98063bd1ed506df2a25b99aac49140004 100755 GIT binary patch literal 9256 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 b?*qNPg>ejZg0ueplJibhRi;wPEablcWQ2~v literal 11007 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 diff --git a/Core/Game/Agents/Visuals/Textures/Circle.png.meta b/Core/Game/Agents/Visuals/Textures/Circle.png.meta index f8503522..90a40f6d 100644 --- a/Core/Game/Agents/Visuals/Textures/Circle.png.meta +++ b/Core/Game/Agents/Visuals/Textures/Circle.png.meta @@ -24,7 +24,7 @@ TextureImporter: cubemapConvolutionSteps: 7 cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 4 maxTextureSize: 1024 textureSettings: filterMode: -1 diff --git a/Core/Game/Player/RTSInterfacing.cs b/Core/Game/Player/RTSInterfacing.cs index 57c09aed..929bac93 100644 --- a/Core/Game/Player/RTSInterfacing.cs +++ b/Core/Game/Player/RTSInterfacing.cs @@ -56,9 +56,7 @@ public static LSAgent GetScreenAgent (Vector2 screenPos, Func con public static void Visualize () { - if (EventSystem.current.IsPointerOverGameObject()) { - return; - } + if (mainCamera .IsNotNull ()) { CachedRay = mainCamera.ScreenPointToRay (Input.mousePosition); CachedDidHit = NDRaycast.Raycast (CachedRay, out CachedHit); diff --git a/Core/Game/Player/SelectionManager.cs b/Core/Game/Player/SelectionManager.cs index 262233b7..3b1769bd 100644 --- a/Core/Game/Player/SelectionManager.cs +++ b/Core/Game/Player/SelectionManager.cs @@ -296,7 +296,7 @@ public static float DotEdge() private static void GetMousedAgent() { - if (EventSystem.current.IsPointerOverGameObject()) { + if (EventSystem.current != null && EventSystem.current.IsPointerOverGameObject()) { return; } From ee0b4046b525af4791ea92ab30b20f2eacbe0cb4 Mon Sep 17 00:00:00 2001 From: SnpM Date: Mon, 14 Mar 2016 17:14:25 -0600 Subject: [PATCH 3/8] Refactor --- Core/Game/Abilities/Ability.cs | 4 +--- Core/Game/Abilities/Essential/Move.cs | 1 + Core/Game/Player/Commands/Command.cs | 21 +++++++++++++++---- .../Game/Player/Commands/Default/EmptyData.cs | 15 +++++++++++++ .../Player/Commands/Default/EmptyData.cs.meta | 12 +++++++++++ Core/Game/Player/RTSInterfacingHelper.cs | 11 +++++++--- Core/Utility/Fast/FastQueue.cs | 9 ++++++++ 7 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 Core/Game/Player/Commands/Default/EmptyData.cs create mode 100644 Core/Game/Player/Commands/Default/EmptyData.cs.meta diff --git a/Core/Game/Abilities/Ability.cs b/Core/Game/Abilities/Ability.cs index 1c95b98d..a0113691 100644 --- a/Core/Game/Abilities/Ability.cs +++ b/Core/Game/Abilities/Ability.cs @@ -64,9 +64,7 @@ protected set } } } - - - + internal void Setup(LSAgent agent, int id) { System.Type mainType = this.GetType(); diff --git a/Core/Game/Abilities/Essential/Move.cs b/Core/Game/Abilities/Essential/Move.cs index fcf3be27..8f32321f 100644 --- a/Core/Game/Abilities/Essential/Move.cs +++ b/Core/Game/Abilities/Essential/Move.cs @@ -335,6 +335,7 @@ protected override void OnSimulate() protected override void OnExecute(Command com) { + if (com.ContainsData ()) { Agent.StopCast(ID); diff --git a/Core/Game/Player/Commands/Command.cs b/Core/Game/Player/Commands/Command.cs index ed386840..33c74643 100644 --- a/Core/Game/Player/Commands/Command.cs +++ b/Core/Game/Player/Commands/Command.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using UnityEngine; +using System.Linq; +using System.Reflection; namespace Lockstep { public partial class Command @@ -21,22 +23,33 @@ public static void Setup () { private static BiDictionary RegisteredData = new BiDictionary(); static void RegisterDefaults () { - Register (); + /*Register (); Register (); Register (); Register (); Register (); Register(); + Register ();*/ + foreach (Type t in Assembly.GetCallingAssembly().GetTypes()) + { + if (t.GetInterface("ICommandData") != null) + { + Register (t); + } + } } - public static void Register() where TData : ICommandData + private static void Register() where TData : ICommandData { + Register (typeof(TData)); + } + private static void Register (Type t) { if (RegisterCount > ushort.MaxValue) { throw new System.Exception(string.Format("Cannot register more than {0} types of data.", ushort.MaxValue + 1)); } - if (RegisteredData.ContainsKey(typeof(TData))) return; - RegisteredData.Add(typeof(TData), RegisterCount++); + if (RegisteredData.ContainsKey(t)) return; + RegisteredData.Add(t, RegisterCount++); } public byte ControllerID; diff --git a/Core/Game/Player/Commands/Default/EmptyData.cs b/Core/Game/Player/Commands/Default/EmptyData.cs new file mode 100644 index 00000000..fb2dca0b --- /dev/null +++ b/Core/Game/Player/Commands/Default/EmptyData.cs @@ -0,0 +1,15 @@ +using UnityEngine; +using System.Collections; +using Lockstep.Data; +namespace Lockstep +{ + public struct EmptyData : ICommandData + { + public void Read (Reader reader) { + + } + public void Write (Writer writer) { + + } + } +} \ No newline at end of file diff --git a/Core/Game/Player/Commands/Default/EmptyData.cs.meta b/Core/Game/Player/Commands/Default/EmptyData.cs.meta new file mode 100644 index 00000000..fbdf89ca --- /dev/null +++ b/Core/Game/Player/Commands/Default/EmptyData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d7c4de017b366416db8ea6295734e19f +timeCreated: 1457988007 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Core/Game/Player/RTSInterfacingHelper.cs b/Core/Game/Player/RTSInterfacingHelper.cs index 3556dbe2..8d4a1704 100644 --- a/Core/Game/Player/RTSInterfacingHelper.cs +++ b/Core/Game/Player/RTSInterfacingHelper.cs @@ -103,12 +103,12 @@ protected override void OnVisualize() } } - public static void ProcessInterfacer(AbilityDataItem facer) + public static Command GetProcessInterfacer(AbilityDataItem facer) { if (facer == null) { Debug.LogError("Boom"); - return; + return null; } switch (facer.InformationGather) { @@ -138,8 +138,13 @@ public static void ProcessInterfacer(AbilityDataItem facer) break; } - Send(curCom); + return curCom; } + public static void ProcessInterfacer (AbilityDataItem facer) { + Command com = GetProcessInterfacer (facer); + Send(com); + } + protected virtual void OnGUI() { diff --git a/Core/Utility/Fast/FastQueue.cs b/Core/Utility/Fast/FastQueue.cs index ad356c5f..f3b3aea8 100644 --- a/Core/Utility/Fast/FastQueue.cs +++ b/Core/Utility/Fast/FastQueue.cs @@ -41,6 +41,14 @@ public T Pop() { Count--; return ret; } + public T Peek () { + return innerArray[head]; + } + public T PeekTail () { + int tailIndex = tail - 1; + if (tailIndex < 0) tailIndex = this.Capacity - 1; + return innerArray[tailIndex]; + } public void SetCapacity(int min) { if (Capacity < min) { @@ -80,5 +88,6 @@ public T[] ToArray() { } return result; } + } } \ No newline at end of file From 0811f7c882bdb61114c5536a01c45a6641c0ea76 Mon Sep 17 00:00:00 2001 From: SnpM Date: Mon, 14 Mar 2016 17:39:21 -0600 Subject: [PATCH 4/8] Add onStartMove --- Core/Game/Abilities/Essential/Move.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Core/Game/Abilities/Essential/Move.cs b/Core/Game/Abilities/Essential/Move.cs index 8f32321f..5457b240 100644 --- a/Core/Game/Abilities/Essential/Move.cs +++ b/Core/Game/Abilities/Essential/Move.cs @@ -69,6 +69,8 @@ private int StraightRepathRate //Called when unit arrives at destination public event Action onArrive; + public event Action onStartMove; + //Called whenever movement is stopped... i.e. to attack public event Action OnStopMove; @@ -440,6 +442,8 @@ public void StartMove(Vector2d destination) IsCasting = true; stuckTick = 0; forcePathfind = false; + if (onStartMove != null) + onStartMove (); } } From 37584dd18d5d982cdaaba9f6fdfa0c0174611e94 Mon Sep 17 00:00:00 2001 From: SnpM Date: Tue, 15 Mar 2016 09:02:02 -0600 Subject: [PATCH 5/8] Clean up movemnment --- Core/Game/Abilities/Essential/Move.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/Game/Abilities/Essential/Move.cs b/Core/Game/Abilities/Essential/Move.cs index 5457b240..edeb8ad4 100644 --- a/Core/Game/Abilities/Essential/Move.cs +++ b/Core/Game/Abilities/Essential/Move.cs @@ -6,7 +6,7 @@ namespace Lockstep public class Move : ActiveAbility { public const long FormationStop = FixedMath.One / 8; - public const long GroupDirectStop = FixedMath.One / 2; + public const long GroupDirectStop = FixedMath.One; public const long DirectStop = FixedMath.One / 8; private const int MinimumOtherStopTime = (int)(LockstepManager.FrameRate / 4); private const int repathRate = (int)LockstepManager.FrameRate * 4 / 4; From 7d6b3fee49b07e1432969bef68e198181714bbb8 Mon Sep 17 00:00:00 2001 From: SnpM Date: Tue, 15 Mar 2016 09:12:14 -0600 Subject: [PATCH 6/8] Add SlowArrival toggle --- Core/Game/Abilities/Essential/Move.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Core/Game/Abilities/Essential/Move.cs b/Core/Game/Abilities/Essential/Move.cs index edeb8ad4..aeaf7bd2 100644 --- a/Core/Game/Abilities/Essential/Move.cs +++ b/Core/Game/Abilities/Essential/Move.cs @@ -106,6 +106,12 @@ public long timescaledSpeed private long closingDistance; private long stuckTolerance; + [Lockstep (true)] + public bool SlowArrival { + get; + set; + } + #region Serialized [SerializeField] @@ -144,6 +150,7 @@ protected override void OnSetup() stuckTolerance = ((Agent.Body.Radius * Speed) >> FixedMath.SHIFT_AMOUNT) / LockstepManager.FrameRate; stuckTolerance *= stuckTolerance; CanPathfind = _canPathfind; + this.SlowArrival = true; } protected override void OnInitialize() @@ -307,7 +314,12 @@ protected override void OnSimulate() Arrive(); return; } - desiredVelocity = (movementDirection * (distance) / (closingDistance)); + if (this.SlowArrival) { + desiredVelocity = (movementDirection * (distance) / (closingDistance)); + } + else { + desiredVelocity = (movementDirection); + } } From b07af18ebae029994c04a1dda617be235c6c31fa Mon Sep 17 00:00:00 2001 From: SnpM Date: Tue, 15 Mar 2016 13:09:31 -0600 Subject: [PATCH 7/8] Add PathObjectDataItem --- .../DataItemTemplates/PathObjectDataItem.cs | 14 ++++++++++++++ .../DataItemTemplates/PathObjectDataItem.cs.meta | 12 ++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs create mode 100644 Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs.meta diff --git a/Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs b/Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs new file mode 100644 index 00000000..cd83f021 --- /dev/null +++ b/Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs @@ -0,0 +1,14 @@ +using UnityEngine; +using System.Collections; + +namespace Lockstep.Data +{ + [System.Serializable] + public class PathObjectDataItem : MetaDataItem + { + [SerializeField] + private PathObject _object; + + public PathObject Object { get { return _object; } } + } +} \ No newline at end of file diff --git a/Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs.meta b/Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs.meta new file mode 100644 index 00000000..47d636af --- /dev/null +++ b/Database/Scripts/Default/DataItemTemplates/PathObjectDataItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 601d99c1646e04be19dade82d47fd754 +timeCreated: 1458067610 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 55c4eca02843dabfc4e5100183979871e6ce70d8 Mon Sep 17 00:00:00 2001 From: SnpM Date: Tue, 22 Mar 2016 10:29:32 -0600 Subject: [PATCH 8/8] Implement onRemove on clear --- Core/Game/Player/Utility/Selector.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Core/Game/Player/Utility/Selector.cs b/Core/Game/Player/Utility/Selector.cs index 52c7a613..889231a7 100644 --- a/Core/Game/Player/Utility/Selector.cs +++ b/Core/Game/Player/Utility/Selector.cs @@ -66,6 +66,7 @@ public static void Clear() if (selectedAgents.arrayAllocation [j]) { selectedAgents [j].IsSelected = false; + onRemove (selectedAgents[j]); } } selectedAgents.FastClear();