GUNS GUNS GUNS
GUESS WHAT
This commit is contained in:
parent
1e273d691e
commit
8aaccac2b5
83 changed files with 15291 additions and 1291 deletions
10
.idea/.idea.Aetheria-Economy/.idea/contentModel.xml
generated
10
.idea/.idea.Aetheria-Economy/.idea/contentModel.xml
generated
|
|
@ -24,6 +24,7 @@
|
|||
</e>
|
||||
</e>
|
||||
</e>
|
||||
<e p="ArticulationPoint.cs" t="Include" />
|
||||
<e p="com.unity.uiextensions" t="Include">
|
||||
<e p="Editor" t="Include">
|
||||
<e p="BezierLineRendererEditor.cs" t="Include" />
|
||||
|
|
@ -65,9 +66,13 @@
|
|||
</e>
|
||||
</e>
|
||||
</e>
|
||||
<e p="EntityPrefab.cs" t="Include" />
|
||||
<e p="FilterTest.cs" t="Include" />
|
||||
<e p="FitToCamera.cs" t="Include" />
|
||||
<e p="GaussianBlurFilter.shader" t="Include" />
|
||||
<e p="GuidedProjectile.cs" t="Include" />
|
||||
<e p="GuidedProjectileManager.cs" t="Include" />
|
||||
<e p="HullCollider.cs" t="Include" />
|
||||
<e p="InventoryCell.cs" t="Include" />
|
||||
<e p="InventoryMenu.cs" t="Include" />
|
||||
<e p="MapMenuInput.cs" t="Include" />
|
||||
|
|
@ -211,6 +216,8 @@
|
|||
</e>
|
||||
</e>
|
||||
</e>
|
||||
<e p="Projectile.cs" t="Include" />
|
||||
<e p="ProjectileManager.cs" t="Include" />
|
||||
<e p="Resources" t="Include">
|
||||
<e p="Sprites" t="Include">
|
||||
<e p="Attribution.txt" t="Include" />
|
||||
|
|
@ -1451,6 +1458,7 @@
|
|||
<e p="Behaviors.cs" t="Include" />
|
||||
<e p="Capacitor.cs" t="Include" />
|
||||
<e p="Cockpit.cs" t="Include" />
|
||||
<e p="ConstantWeapon.cs" t="Include" />
|
||||
<e p="Controller.cs" t="Include" />
|
||||
<e p="Cooldown.cs" t="Include" />
|
||||
<e p="EnergyDraw.cs" t="Include" />
|
||||
|
|
@ -2065,7 +2073,9 @@
|
|||
<e p="EmojiOne Attribution.txt" t="Include" />
|
||||
</e>
|
||||
</e>
|
||||
<e p="ThrusterHardpoint.cs" t="Include" />
|
||||
<e p="UnityHelpers.cs" t="Include" />
|
||||
<e p="WeaponHardpoint.cs" t="Include" />
|
||||
</e>
|
||||
<e p="Economy.Shared.Unity.csproj" t="IncludeRecursive" />
|
||||
<e p="MessagePack.csproj" t="IncludeRecursive" />
|
||||
|
|
|
|||
|
|
@ -696,6 +696,15 @@
|
|||
<Compile Include="Assets\Scripts\NIH\MSAGL\Layout\Layered\IntEdge.cs" />
|
||||
<Compile Include="Assets\Scripts\NIH\MSAGL\Routing\Spline\Bundling\PointPairOrder.cs" />
|
||||
<Compile Include="Assets\SchematicTriggerGroupElement.cs" />
|
||||
<Compile Include="Assets\ArticulationPoint.cs" />
|
||||
<Compile Include="Assets\WeaponHardpoint.cs" />
|
||||
<Compile Include="Assets\ThrusterHardpoint.cs" />
|
||||
<Compile Include="Assets\EntityPrefab.cs" />
|
||||
<Compile Include="Assets\HullCollider.cs" />
|
||||
<Compile Include="Assets\GuidedProjectile.cs" />
|
||||
<Compile Include="Assets\GuidedProjectileManager.cs" />
|
||||
<Compile Include="Assets\ProjectileManager.cs" />
|
||||
<Compile Include="Assets\Projectile.cs" />
|
||||
<None Include="Assets\com.unity.uiextensions\Runtime\Resources\Shaders\UIAdditive.shader" />
|
||||
<None Include="Assets\TextMesh Pro\Resources\Shaders\TMPro.cginc" />
|
||||
<None Include="Assets\TextMesh Pro\Resources\Shaders\TMP_SDF-Mobile Overlay.shader" />
|
||||
|
|
|
|||
27
Assets/ArticulationPoint.cs
Normal file
27
Assets/ArticulationPoint.cs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Unity.Mathematics;
|
||||
using static Unity.Mathematics.math;
|
||||
|
||||
public class ArticulationPoint : MonoBehaviour
|
||||
{
|
||||
public Transform Target;
|
||||
|
||||
public float YawMin;
|
||||
public float YawMax;
|
||||
|
||||
public float PitchMin;
|
||||
public float PitchMax;
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (Target)
|
||||
{
|
||||
var targetLocal = transform.parent.InverseTransformPoint(Target.position);
|
||||
var yaw = Vector2.SignedAngle(new Vector2(0, 1), new Vector2(targetLocal.x, targetLocal.z));
|
||||
var pitch = Vector2.SignedAngle(new Vector2(1, 0), new Vector2(targetLocal.z, targetLocal.y));
|
||||
transform.localRotation = Quaternion.Euler(clamp(-pitch, -PitchMin, -PitchMax), clamp(yaw, YawMin, YawMax), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/ArticulationPoint.cs.meta
Normal file
11
Assets/ArticulationPoint.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4a2c831a00e255547b4261897f5c0b81
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
13
Assets/EntityPrefab.cs
Normal file
13
Assets/EntityPrefab.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class EntityPrefab : MonoBehaviour
|
||||
{
|
||||
public HullCollider[] HullColliders;
|
||||
|
||||
public ThrusterHardpoint[] ThrusterHardpoints;
|
||||
public WeaponHardpoint[] WeaponHardpoints;
|
||||
public ArticulationPoint[] ArticulationPoints;
|
||||
}
|
||||
11
Assets/EntityPrefab.cs.meta
Normal file
11
Assets/EntityPrefab.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 170aefb3b5cd0e444826f3561d38a962
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
119
Assets/GuidedProjectile.cs
Normal file
119
Assets/GuidedProjectile.cs
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Unity.Mathematics;
|
||||
using UnityEngine;
|
||||
using static Unity.Mathematics.math;
|
||||
using static Unity.Mathematics.noise;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
public class GuidedProjectile : MonoBehaviour
|
||||
{
|
||||
public ParticleSystem Particles;
|
||||
public float FadeOutTime;
|
||||
public AnimationCurve ThrustCurve;
|
||||
public AnimationCurve GuidanceCurve;
|
||||
public AnimationCurve LiftCurve;
|
||||
public float Frequency;
|
||||
public float Thrust;
|
||||
public float TopSpeed;
|
||||
public Transform Source;
|
||||
public Transform Target;
|
||||
|
||||
private float _phase;
|
||||
private float _prevDist;
|
||||
private bool _active;
|
||||
private bool _alive;
|
||||
|
||||
public Vector3 Velocity { get; set; }
|
||||
public float Damage { get; set; }
|
||||
public DamageType DamageType { get; set; }
|
||||
public Entity SourceEntity { get; set; }
|
||||
|
||||
void Awake()
|
||||
{
|
||||
}
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
_active = _alive = true;
|
||||
_phase = Random.value * 100;
|
||||
_prevDist = Single.MaxValue;
|
||||
var main = Particles.main;
|
||||
main.startColor = Color.white;
|
||||
Particles.Clear(true);
|
||||
Particles.Play(true);
|
||||
}
|
||||
|
||||
void Update ()
|
||||
{
|
||||
if (SourceEntity == null) return;
|
||||
|
||||
var diff = Target.position - transform.position;
|
||||
var targetDist = diff.magnitude;
|
||||
|
||||
if (_prevDist < targetDist)
|
||||
{
|
||||
StartCoroutine(FadeOut());
|
||||
}
|
||||
_prevDist = targetDist;
|
||||
|
||||
var t = transform;
|
||||
|
||||
if (_active)
|
||||
{
|
||||
var position = (float3) t.position;
|
||||
var sourceDist = length((float3) Source.position - position);
|
||||
var curveLerp = 1 - targetDist / (sourceDist + targetDist);
|
||||
var dir = diff.normalized;
|
||||
var right = cross(dir, float3(0, 1, 0));
|
||||
var up = cross(dir, right);
|
||||
var dodge = normalize(lerp(
|
||||
normalize(right * snoise(position * Frequency + float3(1) * _phase) +
|
||||
up * snoise(position * Frequency + float3(1) * (100 + _phase))),
|
||||
Vector3.up, LiftCurve.Evaluate(curveLerp)));
|
||||
var desired = Vector3.Slerp(dodge, dir, GuidanceCurve.Evaluate(curveLerp)).normalized * TopSpeed;
|
||||
var thrust = Thrust * ThrustCurve.Evaluate(curveLerp);
|
||||
Velocity += (desired-Velocity) * (thrust * Time.deltaTime);
|
||||
}
|
||||
|
||||
var ray = new Ray(t.position, Velocity);
|
||||
if (Physics.Raycast(ray, out var hit, Velocity.magnitude, LayerMask.NameToLayer("Combat")))
|
||||
{
|
||||
var hull = hit.collider.GetComponent<HullCollider>();
|
||||
if (hull)
|
||||
{
|
||||
hull.SendHit(Damage, DamageType, SourceEntity, hit);
|
||||
}
|
||||
StartCoroutine(Kill());
|
||||
}
|
||||
if(_alive)
|
||||
t.position += Velocity;
|
||||
}
|
||||
|
||||
IEnumerator FadeOut()
|
||||
{
|
||||
_active = false;
|
||||
var startTime = Time.time;
|
||||
while (Time.time - startTime < FadeOutTime)
|
||||
{
|
||||
var lerp = 1 - (Time.time - startTime) / FadeOutTime;
|
||||
var main = Particles.main;
|
||||
main.startColor = Color.white * lerp;
|
||||
yield return null;
|
||||
}
|
||||
|
||||
StartCoroutine(Kill());
|
||||
}
|
||||
|
||||
IEnumerator Kill()
|
||||
{
|
||||
_alive = false;
|
||||
Particles.Stop(true, ParticleSystemStopBehavior.StopEmitting);
|
||||
var startTime = Time.time;
|
||||
var lifetime = Particles.main.startLifetime.constant;
|
||||
while (Time.time - startTime < lifetime)
|
||||
yield return null;
|
||||
GetComponent<Prototype>().ReturnToPool();
|
||||
}
|
||||
}
|
||||
11
Assets/GuidedProjectile.cs.meta
Normal file
11
Assets/GuidedProjectile.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 56c973b8f3781c848b6530c2e7efce05
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
29
Assets/GuidedProjectileManager.cs
Normal file
29
Assets/GuidedProjectileManager.cs
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class GuidedProjectileManager : MonoBehaviour
|
||||
{
|
||||
public Prototype ProjectilePrototype;
|
||||
|
||||
public void Launch(LauncherData data, EquippedItem item, EntityInstance source, EntityInstance target)
|
||||
{
|
||||
var p = ProjectilePrototype.Instantiate<GuidedProjectile>();
|
||||
p.Source = source.Transform;
|
||||
p.SourceEntity = source.Entity;
|
||||
p.Target = target.Transform;
|
||||
p.Frequency = data.DodgeFrequency;
|
||||
p.Thrust = source.Entity.ItemManager.Evaluate(data.Thrust, item.EquippableItem, source.Entity);
|
||||
var hp = source.Entity.Hardpoints[item.Position.x, item.Position.y];
|
||||
var barrel = source.GetBarrel(hp);
|
||||
p.transform.position = barrel.position;
|
||||
p.Velocity = barrel.forward * source.Entity.ItemManager.Evaluate(data.LaunchSpeed, item.EquippableItem, source.Entity);
|
||||
p.Damage = source.Entity.ItemManager.Evaluate(data.Damage, item.EquippableItem, source.Entity);
|
||||
p.DamageType = data.DamageType;
|
||||
p.GuidanceCurve = data.GuidanceCurve.ToCurve();
|
||||
p.LiftCurve = data.LiftCurve.ToCurve();
|
||||
p.ThrustCurve = data.ThrustCurve.ToCurve();
|
||||
p.Thrust = source.Entity.ItemManager.Evaluate(data.Thrust, item.EquippableItem, source.Entity);
|
||||
p.TopSpeed = source.Entity.ItemManager.Evaluate(data.MissileSpeed, item.EquippableItem, source.Entity);
|
||||
}
|
||||
}
|
||||
11
Assets/GuidedProjectileManager.cs.meta
Normal file
11
Assets/GuidedProjectileManager.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ee3949bbc28566148b9f661741b6e25d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
33
Assets/HullCollider.cs
Normal file
33
Assets/HullCollider.cs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UniRx;
|
||||
using Unity.Mathematics;
|
||||
using static Unity.Mathematics.math;
|
||||
using UnityEngine;
|
||||
using float2 = Unity.Mathematics.float2;
|
||||
|
||||
public class HullCollider : MonoBehaviour
|
||||
{
|
||||
public Subject<HullHitEventArgs> Hit = new Subject<HullHitEventArgs>();
|
||||
|
||||
public Entity Entity { get; set; }
|
||||
|
||||
public void SendHit(float damage, DamageType damageType, Entity source, RaycastHit hit)
|
||||
{
|
||||
Hit.OnNext(new HullHitEventArgs
|
||||
{
|
||||
Damage = damage,
|
||||
DamageType = damageType,
|
||||
Source = source,
|
||||
Hit = hit
|
||||
});
|
||||
}
|
||||
|
||||
public class HullHitEventArgs
|
||||
{
|
||||
public float Damage;
|
||||
public DamageType DamageType;
|
||||
public Entity Source;
|
||||
public RaycastHit Hit;
|
||||
}
|
||||
}
|
||||
11
Assets/HullCollider.cs.meta
Normal file
11
Assets/HullCollider.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: eff043e6f0a5f834ebfbc7f750260ae0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78
Assets/Materials/Black.mat
Normal file
78
Assets/Materials/Black.mat
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Black
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 1
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/Materials/Black.mat.meta
Normal file
8
Assets/Materials/Black.mat.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 55857aff163e94e458c46d2a778ff5f5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -64,7 +64,7 @@ Material:
|
|||
- _GlossMapScale: 1
|
||||
- _Glossiness: 1
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0.47
|
||||
- _Metallic: 0.9
|
||||
- _Mode: 3
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ Material:
|
|||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _Emission: 50
|
||||
- _Emission: 150
|
||||
- _EmissionFresnel: 0.46
|
||||
- _EmissionRoughnessFresnelPower: 1
|
||||
- _GlossMapScale: 1
|
||||
|
|
|
|||
8
Assets/Materials/Particles.meta
Normal file
8
Assets/Materials/Particles.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3c273e5359c44274ea45cb8ff069dca8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78
Assets/Materials/Particles/Smoke Trail.mat
Normal file
78
Assets/Materials/Particles/Smoke Trail.mat
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Smoke Trail
|
||||
m_Shader: {fileID: 4800000, guid: 46776b9fa35a437448f683f31b04d68d, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 014f8223958fab24583f73350dca0c8c, type: 3}
|
||||
m_Scale: {x: 0.5, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 4, g: 4, b: 4, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/Materials/Particles/Smoke Trail.mat.meta
Normal file
8
Assets/Materials/Particles/Smoke Trail.mat.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 483c8decd432d5e49ac166734cdd9d37
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Materials/Substance/Metal/metal_car_paint 2.sbsar
(Stored with Git LFS)
Normal file
BIN
Assets/Materials/Substance/Metal/metal_car_paint 2.sbsar
(Stored with Git LFS)
Normal file
Binary file not shown.
381
Assets/Materials/Substance/Metal/metal_car_paint 2.sbsar.meta
Normal file
381
Assets/Materials/Substance/Metal/metal_car_paint 2.sbsar.meta
Normal file
|
|
@ -0,0 +1,381 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a1d39ea984432bf44b4a0686afe2bf1a
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
1: 100000
|
||||
second: metal_car_paint/metal_car_paint
|
||||
- first:
|
||||
4: 400000
|
||||
second: metal_car_paint/metal_car_paint/Transform
|
||||
- first:
|
||||
21: 2100000
|
||||
second: mat.Car paint
|
||||
- first:
|
||||
23: 2300000
|
||||
second: metal_car_paint/metal_car_paint/MeshRenderer
|
||||
- first:
|
||||
28: 2800000
|
||||
second: Car paint_baseColor
|
||||
- first:
|
||||
28: 2800002
|
||||
second: Car paint_normal
|
||||
- first:
|
||||
28: 2800004
|
||||
second: Car paint_metallic
|
||||
- first:
|
||||
28: 2800006
|
||||
second: Car paint_ambientOcclusion
|
||||
- first:
|
||||
28: 2800008
|
||||
second: Car paint_height
|
||||
- first:
|
||||
33: 3300000
|
||||
second: metal_car_paint/metal_car_paint/MeshFilter
|
||||
- first:
|
||||
114: 11400000
|
||||
second: sbsar
|
||||
- first:
|
||||
114: 11400002
|
||||
second: graph0
|
||||
- first:
|
||||
135: 13500000
|
||||
second: metal_car_paint/metal_car_paint/SphereCollider
|
||||
- first:
|
||||
1001: 100100000
|
||||
second: metal_car_paint
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 232528478, guid: 43a8bbf65be290d44ba52b94476242b9, type: 3}
|
||||
version: 29
|
||||
projectContext: 0
|
||||
mGraphInstanceData:
|
||||
- graphLabel: Car paint
|
||||
prototypeName: Car paint
|
||||
graphDescIndex: 0
|
||||
generateAllOutputs: 0
|
||||
generateMipMaps: 1
|
||||
preset: " <sbspreset pkgurl=\"pkg://metal_car_paint\" label=\"\" >\n <presetinput
|
||||
identifier=\"$outputsize\" uid=\"2092133592\" type=\"8\" value=\"11,11\" />\n
|
||||
<presetinput identifier=\"normal_intensity\" uid=\"2045651458\" type=\"0\"
|
||||
value=\"0.25\" />\n <presetinput identifier=\"age\" uid=\"2038752334\" type=\"0\"
|
||||
value=\"1\" />\n <presetinput identifier=\"flakes\" uid=\"20245147\" type=\"4\"
|
||||
value=\"1\" />\n <presetinput identifier=\"flakes_scale\" uid=\"20192266\"
|
||||
type=\"0\" value=\"1\" />\n <presetinput identifier=\"paint_scratches\" uid=\"22509202\"
|
||||
type=\"0\" value=\"1\" />\n <presetinput identifier=\"paint_peeling\" uid=\"103560714\"
|
||||
type=\"0\" value=\"0.246\" />\n <presetinput identifier=\"metal_roughness\"
|
||||
uid=\"22504787\" type=\"0\" value=\"0.39\" />\n <presetinput identifier=\"paint_color\"
|
||||
uid=\"105341618\" type=\"2\" value=\"0.5,0,0.228113\" />\n <presetinput identifier=\"paint_roughness\"
|
||||
uid=\"22504606\" type=\"0\" value=\"0\" />\n <presetinput identifier=\"paint_metallic\"
|
||||
uid=\"22503567\" type=\"0\" value=\"1\" />\n </sbspreset>\n"
|
||||
shaderName: Standard
|
||||
materialProperties:
|
||||
shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
shaderKeywords: _MAINTEX _METALLICGLOSSMAP _NORMALMAP _OCCLUSIONMAP _PARALLAXMAP
|
||||
lightmapFlags: 4
|
||||
enableInstancingVariants: 0
|
||||
doubleSidedGI: 0
|
||||
customRenderQueue: -1
|
||||
texEnvs:
|
||||
- name: _BumpMap
|
||||
texture: {fileID: 3068890721646206586, guid: a1d39ea984432bf44b4a0686afe2bf1a,
|
||||
type: 3}
|
||||
scale: {x: 1, y: 1}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _DetailAlbedoMap
|
||||
texture: {instanceID: 0}
|
||||
scale: {x: 1, y: 1}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _DetailMask
|
||||
texture: {instanceID: 0}
|
||||
scale: {x: 1, y: 1}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _DetailNormalMap
|
||||
texture: {instanceID: 0}
|
||||
scale: {x: 1, y: 1}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _EmissionMap
|
||||
texture: {instanceID: 0}
|
||||
scale: {x: 2, y: 2}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _MainTex
|
||||
texture: {fileID: 5917659159057834157, guid: a1d39ea984432bf44b4a0686afe2bf1a,
|
||||
type: 3}
|
||||
scale: {x: 2, y: 2}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _MetallicGlossMap
|
||||
texture: {fileID: -3552914696322007609, guid: a1d39ea984432bf44b4a0686afe2bf1a,
|
||||
type: 3}
|
||||
scale: {x: 1, y: 1}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _OcclusionMap
|
||||
texture: {fileID: -1242281561028671816, guid: a1d39ea984432bf44b4a0686afe2bf1a,
|
||||
type: 3}
|
||||
scale: {x: 1, y: 1}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _ParallaxMap
|
||||
texture: {fileID: -1652887728991447519, guid: a1d39ea984432bf44b4a0686afe2bf1a,
|
||||
type: 3}
|
||||
scale: {x: 1, y: 1}
|
||||
offset: {x: 0, y: 0}
|
||||
floats:
|
||||
- name: _BumpScale
|
||||
float: 1
|
||||
- name: _Cutoff
|
||||
float: 0.5
|
||||
- name: _DetailNormalMapScale
|
||||
float: 1
|
||||
- name: _DstBlend
|
||||
float: 0
|
||||
- name: _GlossMapScale
|
||||
float: 1
|
||||
- name: _Glossiness
|
||||
float: 0.5
|
||||
- name: _GlossyReflections
|
||||
float: 1
|
||||
- name: _Metallic
|
||||
float: 0
|
||||
- name: _Mode
|
||||
float: 0
|
||||
- name: _OcclusionStrength
|
||||
float: 1
|
||||
- name: _Parallax
|
||||
float: 0.005
|
||||
- name: _SmoothnessTextureChannel
|
||||
float: 0
|
||||
- name: _SpecularHighlights
|
||||
float: 1
|
||||
- name: _SrcBlend
|
||||
float: 1
|
||||
- name: _UVSec
|
||||
float: 0
|
||||
- name: _ZWrite
|
||||
float: 1
|
||||
colors:
|
||||
- name: _Color
|
||||
color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- name: _EmissionColor
|
||||
color: {r: 0, g: 0, b: 0, a: 1}
|
||||
outputDescList:
|
||||
- outputName: diffuse
|
||||
identifier: diffuse
|
||||
usageName: diffuse
|
||||
channelStr: diffuse
|
||||
label: Diffuse
|
||||
usage: 0
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 0
|
||||
- outputName: baseColor
|
||||
identifier: basecolor
|
||||
usageName: baseColor
|
||||
channelStr: baseColor
|
||||
label: Base Color
|
||||
usage: 1
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 0
|
||||
- outputName: normal
|
||||
identifier: normal
|
||||
usageName: normal
|
||||
channelStr: normal
|
||||
label: Normal
|
||||
usage: 7
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 1
|
||||
- outputName: specular
|
||||
identifier: specular
|
||||
usageName: specular
|
||||
channelStr: specular
|
||||
label: Specular
|
||||
usage: 11
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 0
|
||||
- outputName: glossiness
|
||||
identifier: glossiness
|
||||
usageName: glossiness
|
||||
channelStr: glossiness
|
||||
label: Glossiness
|
||||
usage: 14
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 1
|
||||
- outputName: roughness
|
||||
identifier: roughness
|
||||
usageName: roughness
|
||||
channelStr: roughness
|
||||
label: Roughness
|
||||
usage: 15
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 1
|
||||
- outputName: metallic
|
||||
identifier: metallic
|
||||
usageName: metallic
|
||||
channelStr: metallic
|
||||
label: Metallic
|
||||
usage: 34
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 1
|
||||
- outputName: ambientOcclusion
|
||||
identifier: ambient_occlusion
|
||||
usageName: ambientOcclusion
|
||||
channelStr: ambientOcclusion
|
||||
label: Ambient Occlusion
|
||||
usage: 5
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 1
|
||||
- outputName: height
|
||||
identifier: height
|
||||
usageName: height
|
||||
channelStr: height
|
||||
label: Height
|
||||
usage: 9
|
||||
bImage: 1
|
||||
bNumerical: 0
|
||||
bLinear: 1
|
||||
texturePackingList:
|
||||
- targetName: diffuse
|
||||
components:
|
||||
- sourceName: diffuse
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: baseColor
|
||||
components:
|
||||
- sourceName: baseColor
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: normal
|
||||
components:
|
||||
- sourceName: normal
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: specular
|
||||
components:
|
||||
- sourceName: specular
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: glossiness
|
||||
components:
|
||||
- sourceName: glossiness
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: roughness
|
||||
components:
|
||||
- sourceName: roughness
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: metallic
|
||||
components:
|
||||
- sourceName: smoothness
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: ambientOcclusion
|
||||
components:
|
||||
- sourceName: ambientOcclusion
|
||||
from: 0
|
||||
to: 3
|
||||
- targetName: height
|
||||
components:
|
||||
- sourceName: height
|
||||
from: 0
|
||||
to: 3
|
||||
textureParameters:
|
||||
- textureName: Car paint_glossiness
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_diffuse
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_baseColor
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_normal
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_specular
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_roughness
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_metallic
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_ambientOcclusion
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint_height
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - diffuse
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - baseColor
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - normal
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - specular
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - glossiness
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - roughness
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - metallic
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - ambientOcclusion
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
- textureName: Car paint - height
|
||||
wrapMode: 0
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
colorSpaceList: []
|
||||
inputTextureMap: []
|
||||
targetSettingList:
|
||||
- label: Default
|
||||
bOverride: 0
|
||||
bLockRatio: 1
|
||||
textureWidth: 2048
|
||||
textureHeight: 2048
|
||||
textureFormatMode: 0
|
||||
normalCompressed: 0
|
||||
bGenerateOnLoad: 1
|
||||
material: {fileID: 3720744386649352057, guid: a1d39ea984432bf44b4a0686afe2bf1a,
|
||||
type: 3}
|
||||
generatedTextures:
|
||||
- {fileID: 5917659159057834157, guid: a1d39ea984432bf44b4a0686afe2bf1a, type: 3}
|
||||
- {fileID: 3068890721646206586, guid: a1d39ea984432bf44b4a0686afe2bf1a, type: 3}
|
||||
- {fileID: -3552914696322007609, guid: a1d39ea984432bf44b4a0686afe2bf1a, type: 3}
|
||||
- {fileID: -1242281561028671816, guid: a1d39ea984432bf44b4a0686afe2bf1a, type: 3}
|
||||
- {fileID: -1652887728991447519, guid: a1d39ea984432bf44b4a0686afe2bf1a, type: 3}
|
||||
|
|
@ -59,16 +59,19 @@ ScriptedImporter:
|
|||
generateAllOutputs: 0
|
||||
generateMipMaps: 1
|
||||
preset: " <sbspreset pkgurl=\"pkg://metal_car_paint\" label=\"\" >\n <presetinput
|
||||
identifier=\"$outputsize\" uid=\"2092133592\" type=\"8\" value=\"10,10\" />\n
|
||||
<presetinput identifier=\"age\" uid=\"2038752334\" type=\"0\" value=\"0.66\"
|
||||
/>\n <presetinput identifier=\"flakes\" uid=\"20245147\" type=\"4\" value=\"1\"
|
||||
/>\n <presetinput identifier=\"flakes_scale\" uid=\"20192266\" type=\"0\"
|
||||
value=\"0.225\" />\n <presetinput identifier=\"paint_scratches\" uid=\"22509202\"
|
||||
identifier=\"$outputsize\" uid=\"2092133592\" type=\"8\" value=\"11,11\" />\n
|
||||
<presetinput identifier=\"normal_intensity\" uid=\"2045651458\" type=\"0\"
|
||||
value=\"0.25\" />\n <presetinput identifier=\"age\" uid=\"2038752334\" type=\"0\"
|
||||
value=\"1\" />\n <presetinput identifier=\"flakes\" uid=\"20245147\" type=\"4\"
|
||||
value=\"1\" />\n <presetinput identifier=\"flakes_scale\" uid=\"20192266\"
|
||||
type=\"0\" value=\"0\" />\n <presetinput identifier=\"paint_scratches\" uid=\"22509202\"
|
||||
type=\"0\" value=\"1\" />\n <presetinput identifier=\"paint_peeling\" uid=\"103560714\"
|
||||
type=\"0\" value=\"0.14\" />\n <presetinput identifier=\"paint_color\" uid=\"105341618\"
|
||||
type=\"2\" value=\"1,0.891509,0.946396\" />\n <presetinput identifier=\"paint_roughness\"
|
||||
uid=\"22504606\" type=\"0\" value=\"0.15\" />\n <presetinput identifier=\"paint_metallic\"
|
||||
uid=\"22503567\" type=\"0\" value=\"0.67\" />\n </sbspreset>\n"
|
||||
type=\"0\" value=\"0.089\" />\n <presetinput identifier=\"metal_roughness\"
|
||||
uid=\"22504787\" type=\"0\" value=\"0.33\" />\n <presetinput identifier=\"paint_color\"
|
||||
uid=\"105341618\" type=\"2\" value=\"1,0.891509,0.946396\" />\n <presetinput
|
||||
identifier=\"paint_roughness\" uid=\"22504606\" type=\"0\" value=\"0\" />\n
|
||||
<presetinput identifier=\"paint_metallic\" uid=\"22503567\" type=\"0\" value=\"0\"
|
||||
/>\n </sbspreset>\n"
|
||||
shaderName: Standard
|
||||
materialProperties:
|
||||
shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
|
|
@ -364,8 +367,8 @@ ScriptedImporter:
|
|||
- label: Default
|
||||
bOverride: 0
|
||||
bLockRatio: 1
|
||||
textureWidth: 1024
|
||||
textureHeight: 1024
|
||||
textureWidth: 2048
|
||||
textureHeight: 2048
|
||||
textureFormatMode: 0
|
||||
normalCompressed: 0
|
||||
bGenerateOnLoad: 1
|
||||
|
|
|
|||
|
|
@ -58,7 +58,11 @@ ScriptedImporter:
|
|||
graphDescIndex: 0
|
||||
generateAllOutputs: 0
|
||||
generateMipMaps: 1
|
||||
preset: " <sbspreset pkgurl=\"pkg://metal_gold\" label=\"\" >\n </sbspreset>\n"
|
||||
preset: " <sbspreset pkgurl=\"pkg://metal_gold\" label=\"\" >\n <presetinput
|
||||
identifier=\"$outputsize\" uid=\"2862216590\" type=\"8\" value=\"9,9\" />\n
|
||||
<presetinput identifier=\"dirt\" uid=\"2947448088\" type=\"0\" value=\"0.766\"
|
||||
/>\n <presetinput identifier=\"scratches\" uid=\"3615194042\" type=\"0\" value=\"1\"
|
||||
/>\n </sbspreset>\n"
|
||||
shaderName: Standard
|
||||
materialProperties:
|
||||
shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
|
|
@ -87,12 +91,12 @@ ScriptedImporter:
|
|||
offset: {x: 0, y: 0}
|
||||
- name: _EmissionMap
|
||||
texture: {instanceID: 0}
|
||||
scale: {x: 1, y: 1}
|
||||
scale: {x: 4, y: 4}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _MainTex
|
||||
texture: {fileID: 2039085267362074300, guid: a74970be876d3554ea0f279f39314c9c,
|
||||
type: 3}
|
||||
scale: {x: 1, y: 1}
|
||||
scale: {x: 4, y: 4}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _MetallicGlossMap
|
||||
texture: {fileID: -8783136193678078058, guid: a74970be876d3554ea0f279f39314c9c,
|
||||
|
|
@ -354,8 +358,8 @@ ScriptedImporter:
|
|||
- label: Default
|
||||
bOverride: 0
|
||||
bLockRatio: 1
|
||||
textureWidth: 256
|
||||
textureHeight: 256
|
||||
textureWidth: 512
|
||||
textureHeight: 512
|
||||
textureFormatMode: 0
|
||||
normalCompressed: 0
|
||||
bGenerateOnLoad: 1
|
||||
|
|
|
|||
|
|
@ -87,12 +87,12 @@ ScriptedImporter:
|
|||
offset: {x: 0, y: 0}
|
||||
- name: _EmissionMap
|
||||
texture: {instanceID: 0}
|
||||
scale: {x: 1, y: 1}
|
||||
scale: {x: 4, y: 4}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _MainTex
|
||||
texture: {fileID: 108215966750249586, guid: cbc61995a46604441ab9de4f1c68e290,
|
||||
type: 3}
|
||||
scale: {x: 1, y: 1}
|
||||
scale: {x: 4, y: 4}
|
||||
offset: {x: 0, y: 0}
|
||||
- name: _MetallicGlossMap
|
||||
texture: {fileID: 4793252353645218242, guid: cbc61995a46604441ab9de4f1c68e290,
|
||||
|
|
|
|||
BIN
Assets/Models/Djinni.fbx
(Stored with Git LFS)
BIN
Assets/Models/Djinni.fbx
(Stored with Git LFS)
Binary file not shown.
|
|
@ -39,16 +39,16 @@ ModelImporter:
|
|||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
importVisibility: 0
|
||||
importBlendShapes: 0
|
||||
importCameras: 0
|
||||
importLights: 0
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
weldVertices: 0
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
|
|
@ -66,12 +66,12 @@ ModelImporter:
|
|||
useFileScale: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 1
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
normalSmoothingSource: 3
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
|
|
|
|||
62
Assets/Projectile.cs
Normal file
62
Assets/Projectile.cs
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Unity.Mathematics;
|
||||
using static Unity.Mathematics.math;
|
||||
using UnityEngine;
|
||||
|
||||
public class Projectile : MonoBehaviour
|
||||
{
|
||||
public TrailRenderer Trail;
|
||||
public float Gravity;
|
||||
|
||||
private bool _alive;
|
||||
public Zone Zone { get; set; }
|
||||
|
||||
public Vector3 Velocity { get; set; }
|
||||
public float Damage { get; set; }
|
||||
public DamageType DamageType { get; set; }
|
||||
public Entity SourceEntity { get; set; }
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_alive = true;
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
if (SourceEntity == null) return;
|
||||
|
||||
var position = transform.position;
|
||||
Velocity += Vector3.up * (sign(Zone.GetHeight(float2(position.x,position.z)) - position.y) * Gravity * Time.deltaTime);
|
||||
var ray = new Ray(position, Velocity);
|
||||
if (Physics.Raycast(ray, out var hit, Velocity.magnitude, LayerMask.NameToLayer("Combat")))
|
||||
{
|
||||
var hull = hit.collider.GetComponent<HullCollider>();
|
||||
if (hull)
|
||||
{
|
||||
hull.SendHit(Damage, DamageType, SourceEntity, hit);
|
||||
}
|
||||
StartCoroutine(Kill());
|
||||
}
|
||||
if(_alive)
|
||||
transform.position += Velocity;
|
||||
}
|
||||
|
||||
IEnumerator Kill()
|
||||
{
|
||||
_alive = false;
|
||||
var startTime = Time.time;
|
||||
var lifetime = Trail.time;
|
||||
while (Time.time - startTime < lifetime)
|
||||
yield return null;
|
||||
GetComponent<Prototype>().ReturnToPool();
|
||||
}
|
||||
}
|
||||
11
Assets/Projectile.cs.meta
Normal file
11
Assets/Projectile.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4528540a139424748a7b6c47bfecc7fd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
22
Assets/ProjectileManager.cs
Normal file
22
Assets/ProjectileManager.cs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class ProjectileManager : MonoBehaviour
|
||||
{
|
||||
public Prototype ProjectilePrototype;
|
||||
|
||||
public void Launch(ProjectileWeaponData data, EquippedItem item, EntityInstance source)
|
||||
{
|
||||
var p = ProjectilePrototype.Instantiate<Projectile>();
|
||||
p.SourceEntity = source.Entity;
|
||||
var hp = source.Entity.Hardpoints[item.Position.x, item.Position.y];
|
||||
var barrel = source.GetBarrel(hp);
|
||||
p.transform.position = barrel.position;
|
||||
p.Velocity = barrel.forward * source.Entity.ItemManager.Evaluate(data.Velocity, item.EquippableItem, source.Entity);
|
||||
p.Damage = source.Entity.ItemManager.Evaluate(data.Damage, item.EquippableItem, source.Entity);
|
||||
p.DamageType = data.DamageType;
|
||||
p.Zone = source.Entity.Zone;
|
||||
p.Trail.Clear();
|
||||
}
|
||||
}
|
||||
11
Assets/ProjectileManager.cs.meta
Normal file
11
Assets/ProjectileManager.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 49c173e3c2313ca4d9d04d0d87ec0f06
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -22,13 +22,53 @@
|
|||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Fire",
|
||||
"name": "Fire Group 1",
|
||||
"type": "Button",
|
||||
"id": "575943b0-4866-4be0-a289-3253973523b1",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Fire Group 2",
|
||||
"type": "Button",
|
||||
"id": "b9bdfa1f-db61-4ec3-883a-fc3f9e88c5f5",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Fire Group 3",
|
||||
"type": "Button",
|
||||
"id": "d79871a2-8565-4cf3-809f-9c979adfcd81",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Fire Group 4",
|
||||
"type": "Button",
|
||||
"id": "59902e9e-1dfb-4624-9599-72ff763ef327",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Fire Group 5",
|
||||
"type": "Button",
|
||||
"id": "80b549c1-7378-48c5-8da2-ce95b9c92913",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Fire Group 6",
|
||||
"type": "Button",
|
||||
"id": "4ba5091e-051a-41df-9985-6c0e082b20a5",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Minimap Zoom",
|
||||
"type": "Button",
|
||||
|
|
@ -36,6 +76,46 @@
|
|||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Next Weapon Group",
|
||||
"type": "Button",
|
||||
"id": "8ed69fe0-d934-44ea-94c0-d5d69cc33b32",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Previous Weapon Group",
|
||||
"type": "Button",
|
||||
"id": "93f19768-6c19-4bab-8b53-4e3e5ba764fc",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Next Weapon",
|
||||
"type": "Button",
|
||||
"id": "09a5e315-6290-4ab5-9e7c-55b7523562b7",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Previous Weapon",
|
||||
"type": "Button",
|
||||
"id": "ed923265-545f-4475-ba7c-885371612325",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Toggle Weapon Group",
|
||||
"type": "Button",
|
||||
"id": "c61da4ef-e0bc-4d17-aab0-8e2979c3de3c",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
}
|
||||
],
|
||||
"bindings": [
|
||||
|
|
@ -200,7 +280,7 @@
|
|||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Gamepad",
|
||||
"action": "Fire",
|
||||
"action": "Fire Group 1",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
|
|
@ -211,18 +291,7 @@
|
|||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Fire",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "886e731e-7071-4ae4-95c0-e61739dad6fd",
|
||||
"path": "<Touchscreen>/primaryTouch/tap",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "",
|
||||
"action": "Fire",
|
||||
"action": "Fire Group 1",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
|
|
@ -233,7 +302,18 @@
|
|||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Joystick",
|
||||
"action": "Fire",
|
||||
"action": "Fire Group 1",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "8c676533-8c53-4b6a-9368-d194b8a997f8",
|
||||
"path": "<Keyboard>/1",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Fire Group 1",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
|
|
@ -247,6 +327,138 @@
|
|||
"action": "Minimap Zoom",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "444b4049-a11e-4bef-8a57-345c3d1a7545",
|
||||
"path": "<Keyboard>/rightArrow",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Next Weapon Group",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "fb6c0d4c-dae6-406b-b35a-c35b5d25022c",
|
||||
"path": "<Keyboard>/leftArrow",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Previous Weapon Group",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "bac8c902-3cad-4a7f-8773-35800a2ee3b9",
|
||||
"path": "<Keyboard>/downArrow",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Next Weapon",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "969aff21-097a-4c35-9c46-2239e5f321f5",
|
||||
"path": "<Keyboard>/upArrow",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Previous Weapon",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "a2bcbfda-f091-433f-8ac9-112396507408",
|
||||
"path": "<Keyboard>/rightCtrl",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Toggle Weapon Group",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "48b8b6ee-8435-439a-96a1-c968254ff605",
|
||||
"path": "<Mouse>/rightButton",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Fire Group 2",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "8ae75721-10ab-4d83-8322-82cbb3fdcc44",
|
||||
"path": "<Keyboard>/2",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Fire Group 2",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "7f89c9af-795b-4b1e-ad43-dac3350cfbe3",
|
||||
"path": "<Mouse>/middleButton",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Fire Group 3",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "c249f018-c10a-4c2c-a4ba-9fba54ed33e9",
|
||||
"path": "<Keyboard>/3",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "Fire Group 3",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "421e49a0-897e-4ea3-af8d-af96989d2957",
|
||||
"path": "<Keyboard>/4",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Fire Group 4",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "1c8a43b7-4200-43b9-925c-c1634554083c",
|
||||
"path": "<Keyboard>/5",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Fire Group 5",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "0680216e-b462-45a3-8050-2b89dcb615aa",
|
||||
"path": "<Keyboard>/6",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Fire Group 6",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,822 +0,0 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &25961229
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 25961230}
|
||||
m_Layer: 0
|
||||
m_Name: Barrel R
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &25961230
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 25961229}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 4.84, y: 2.92, z: -1.64}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &667648200
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 667648201}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Port Fore
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &667648201
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 667648200}
|
||||
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -2.02, y: -0.48, z: 3.39}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 13
|
||||
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
|
||||
--- !u!1 &780806499
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 780806500}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Port Aft
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &780806500
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 780806499}
|
||||
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -3.05, y: 0.89, z: -4.32}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 12
|
||||
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
|
||||
--- !u!1 &805915458
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 805915459}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Starboard Fore
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &805915459
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 805915458}
|
||||
m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 2.02, y: -0.48, z: 3.39}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 11
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
|
||||
--- !u!1 &899813959
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 899813960}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Starboard Aft
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &899813960
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 899813959}
|
||||
m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 3.05, y: 0.89, z: -4.32}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 10
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
|
||||
--- !u!1 &904728024
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 904728025}
|
||||
m_Layer: 0
|
||||
m_Name: Barrel L
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &904728025
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 904728024}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -4.84, y: 2.92, z: -1.64}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1146951630
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1146951631}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Stern 1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1146951631
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1146951630}
|
||||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 4.3, z: -8.56}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
--- !u!1 &1229289401
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1229289402}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Bow
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1229289402
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1229289401}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -0.48, z: 5.57}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1438588954
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1438588955}
|
||||
m_Layer: 0
|
||||
m_Name: Nostril L
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1438588955
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1438588954}
|
||||
m_LocalRotation: {x: -0.23534305, y: -0, z: -0, w: 0.9719124}
|
||||
m_LocalPosition: {x: -1.39, y: 1.16, z: 2.69}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: -27.224, y: 0, z: 0}
|
||||
--- !u!1 &1710933324
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1710933325}
|
||||
m_Layer: 0
|
||||
m_Name: Nostril R
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1710933325
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1710933324}
|
||||
m_LocalRotation: {x: -0.23534305, y: -0, z: -0, w: 0.9719124}
|
||||
m_LocalPosition: {x: 1.39, y: 1.16, z: 2.69}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: -27.224, y: 0, z: 0}
|
||||
--- !u!1 &1988296487
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1988296488}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Stern 2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1988296488
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1988296487}
|
||||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 3.28, z: -8.56}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
--- !u!1 &2130472298
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2130472299}
|
||||
m_Layer: 0
|
||||
m_Name: Thruster Stern 3
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2130472299
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2130472298}
|
||||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 2.3, z: -8.56}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 9
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
--- !u!1 &7930906210874266039
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4651778235258359919}
|
||||
- component: {fileID: 5323651519293148283}
|
||||
- component: {fileID: 6966798770617141827}
|
||||
- component: {fileID: 4190126880558894361}
|
||||
- component: {fileID: 1145083064420361239}
|
||||
m_Layer: 14
|
||||
m_Name: Icon
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4651778235258359919
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7930906210874266039}
|
||||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 723, z: 0}
|
||||
m_LocalScale: {x: 5000, y: 5000, z: 5000}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9106854767781449910}
|
||||
m_RootOrder: 30
|
||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
|
||||
--- !u!33 &5323651519293148283
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7930906210874266039}
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &6966798770617141827
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7930906210874266039}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 658219dea0cf83049b6ab46c2f3436ed, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &4190126880558894361
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7930906210874266039}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &1145083064420361239
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7930906210874266039}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &8784470446643017565
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 0.01
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 0.01
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 0.01
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -7872498167539782088, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -7524481783092393800, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -877.3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -7524481783092393800, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 29
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -6625146999956858958, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 20
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -5992302138083467718, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -315.1107
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -5992302138083467718, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 26
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -5603237755662813462, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -5109641318820812241, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 208
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -5109641318820812241, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 23
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -4599178800458827326, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -3773429692478549711, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -3760179345625366292, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -3660698809900281034, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 18
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -3189018373145680014, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -2722337163479603264, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -2433966980311775918, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -1282338954517755048, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 17
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -932530484554465105, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 16
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 29156028926690448, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 484028901997670921, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -877.2999
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 484028901997670921, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 28
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 919132149155446097, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Djinni Variant
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1165945915133145555, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 21
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1386762414290949414, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -237.9511
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1386762414290949414, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 25
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1425118031933698329, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1529174336690980893, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -877.3001
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1529174336690980893, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 27
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[0]
|
||||
value:
|
||||
objectReference: {fileID: 7852708265981260911, guid: ea7457b9a4f0bcb43becaa33de541cbd,
|
||||
type: 3}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[1]
|
||||
value:
|
||||
objectReference: {fileID: 3720744386649352057, guid: b2bec4b400153d745b2915f1c43e5c96,
|
||||
type: 3}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[5]
|
||||
value:
|
||||
objectReference: {fileID: -905690159841262435, guid: a74970be876d3554ea0f279f39314c9c,
|
||||
type: 3}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[2]
|
||||
value:
|
||||
objectReference: {fileID: 7852708265981260911, guid: ea7457b9a4f0bcb43becaa33de541cbd,
|
||||
type: 3}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[4]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: a76a85450aa271448a72b7dfeec9ff53, type: 2}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[3]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 616adaf59c64a444f8249cc7cf13c527, type: 2}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[6]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 761295ee40506ed489244e2dd3b73158, type: 2}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[7]
|
||||
value:
|
||||
objectReference: {fileID: -741235592913766832, guid: 885e680924fc12c439a842a2142d4b78,
|
||||
type: 3}
|
||||
- target: {fileID: 2115218557376454651, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[8]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: b9036e605cc538943a8c7bec97257e87, type: 2}
|
||||
- target: {fileID: 3513264515266565276, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3530730053176866719, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5341322951705801481, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5520988019811293425, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 19
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5810462305269633799, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 554.7372
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5810462305269633799, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 24
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6947464325843983966, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[0]
|
||||
value:
|
||||
objectReference: {fileID: -741235592913766832, guid: 885e680924fc12c439a842a2142d4b78,
|
||||
type: 3}
|
||||
- target: {fileID: 6947464325843983966, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[1]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 616adaf59c64a444f8249cc7cf13c527, type: 2}
|
||||
- target: {fileID: 7420549073466142295, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7728892125702877259, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7996040519124296810, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 315
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7996040519124296810, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 22
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8736633465395181397, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8984464628394765956, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 15
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9104515542559788959, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 14
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: caefaa8e0cbce524f97eb0db4be80a98, type: 3}
|
||||
--- !u!4 &9106854767781449910 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: caefaa8e0cbce524f97eb0db4be80a98,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8784470446643017565}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
8
Assets/Resources/Prefabs/Ships.meta
Normal file
8
Assets/Resources/Prefabs/Ships.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 53dde11752f9276408c39e32d958afcd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
7200
Assets/Resources/Prefabs/Ships/Djinni.prefab
Normal file
7200
Assets/Resources/Prefabs/Ships/Djinni.prefab
Normal file
File diff suppressed because it is too large
Load diff
8
Assets/Resources/Prefabs/Stations.meta
Normal file
8
Assets/Resources/Prefabs/Stations.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 56bc5c640c0bfb24eaed4a2b3dddf162
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -118,6 +118,7 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7719100217559641643}
|
||||
- component: {fileID: 7110546507900896745}
|
||||
m_Layer: 0
|
||||
m_Name: Zenith
|
||||
m_TagString: Untagged
|
||||
|
|
@ -141,6 +142,22 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7110546507900896745
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5347824108838409208}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 170aefb3b5cd0e444826f3561d38a962, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
HullColliders: []
|
||||
ThrusterHardpoints: []
|
||||
WeaponHardpoints: []
|
||||
ArticulationPoints: []
|
||||
--- !u!1001 &2820167578821308726
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
8
Assets/Resources/Prefabs/Thrusters.meta
Normal file
8
Assets/Resources/Prefabs/Thrusters.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cba540ef9f0ca8746998daad96ac3cd9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Resources/Prefabs/Turrets.meta
Normal file
8
Assets/Resources/Prefabs/Turrets.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c524e9757e3fe4340bee43e431e2c72d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Resources/Prefabs/Weapons.meta
Normal file
8
Assets/Resources/Prefabs/Weapons.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 95b6fc29ca438a247ab3b1aee71b1b61
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
213
Assets/Resources/Prefabs/Weapons/Bullet Manager.prefab
Normal file
213
Assets/Resources/Prefabs/Weapons/Bullet Manager.prefab
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1038711833328602429
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7093708978518643867}
|
||||
- component: {fileID: 4746410263980518329}
|
||||
- component: {fileID: 277178765566372861}
|
||||
- component: {fileID: 654273117314929370}
|
||||
m_Layer: 0
|
||||
m_Name: Bullet
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7093708978518643867
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1038711833328602429}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7887646903913370668}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4746410263980518329
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1038711833328602429}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!96 &277178765566372861
|
||||
TrailRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1038711833328602429}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 9c20b9ccbbbb1b14cb5729e0c8460cd9, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_Time: 2
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: -1
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: -1
|
||||
outSlope: 0
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
colorGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 0.99469995, b: 0.45098042, a: 1}
|
||||
key1: {r: 1, g: 0.3910084, b: 0.049000025, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 0
|
||||
ctime1: 31804
|
||||
ctime2: 65535
|
||||
ctime3: 65535
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 0
|
||||
m_NumColorKeys: 3
|
||||
m_NumAlphaKeys: 2
|
||||
numCornerVertices: 0
|
||||
numCapVertices: 0
|
||||
alignment: 0
|
||||
textureMode: 0
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_MinVertexDistance: 1
|
||||
m_Autodestruct: 0
|
||||
m_Emitting: 1
|
||||
--- !u!114 &654273117314929370
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1038711833328602429}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4528540a139424748a7b6c47bfecc7fd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Trail: {fileID: 277178765566372861}
|
||||
Gravity: 1
|
||||
--- !u!1 &6642079567538326943
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7887646903913370668}
|
||||
- component: {fileID: 4191762351494344457}
|
||||
m_Layer: 0
|
||||
m_Name: Bullet Manager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7887646903913370668
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6642079567538326943}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 7093708978518643867}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4191762351494344457
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6642079567538326943}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 49c173e3c2313ca4d9d04d0d87ec0f06, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ProjectilePrototype: {fileID: 4746410263980518329}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ef449f098500f044e83340f6abe87984
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
4978
Assets/Resources/Prefabs/Weapons/Micromissile Manager.prefab
Normal file
4978
Assets/Resources/Prefabs/Weapons/Micromissile Manager.prefab
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 14fe34ff60351b84aad296874cdc3ea4
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -815,6 +815,36 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 133322211}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &134113270
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 134113271}
|
||||
m_Layer: 0
|
||||
m_Name: Weapon Effects
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &134113271
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 134113270}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &166261016
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -5554,81 +5584,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 697075015}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &711560803
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 711560804}
|
||||
- component: {fileID: 711560806}
|
||||
- component: {fileID: 711560805}
|
||||
m_Layer: 5
|
||||
m_Name: Middle
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &711560804
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 711560803}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1005272801}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 2}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &711560805
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 711560803}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: ea8a1213adadb5a4fba6b1785033a34b, type: 3}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 2
|
||||
--- !u!222 &711560806
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 711560803}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &737569921
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -8073,9 +8028,6 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 1833294217}
|
||||
- {fileID: 2041542910}
|
||||
- {fileID: 1848627100}
|
||||
- {fileID: 1246864144}
|
||||
- {fileID: 711560804}
|
||||
m_Father: {fileID: 7628189704109037581}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
@ -8144,9 +8096,10 @@ MonoBehaviour:
|
|||
GameplayUI: {fileID: 346000246}
|
||||
Menu: {fileID: 1726632268}
|
||||
MenuMap: {fileID: 630131162}
|
||||
SchematicDisplay: {fileID: 7628189704109037584}
|
||||
Inventory: {fileID: 1997243495}
|
||||
ShipPanel: {fileID: 7628189704109037582}
|
||||
ConfirmationDialog: {fileID: 0}
|
||||
ConfirmationDialog: {fileID: 620555924}
|
||||
Sensitivity:
|
||||
x: -0.005
|
||||
y: 0.0025
|
||||
|
|
@ -8176,6 +8129,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: bed3b49fe74863340b2a75f3d0517e86, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
EffectManagerParent: {fileID: 134113271}
|
||||
FogCameraParent: {fileID: 1547889399}
|
||||
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
|
||||
ZoneRoot: {fileID: 2095699057}
|
||||
|
|
@ -9321,81 +9275,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1187424823}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1246864143
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1246864144}
|
||||
- component: {fileID: 1246864146}
|
||||
- component: {fileID: 1246864145}
|
||||
m_Layer: 5
|
||||
m_Name: Bottom
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1246864144
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1246864143}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1005272801}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 2}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1246864145
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1246864143}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: ea8a1213adadb5a4fba6b1785033a34b, type: 3}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 2
|
||||
--- !u!222 &1246864146
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1246864143}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1273980438
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -12318,7 +12197,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 37.07837}
|
||||
m_AnchoredPosition: {x: 0, y: 37.078125}
|
||||
m_SizeDelta: {x: 0, y: 37.07843}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &1698810629
|
||||
|
|
@ -13263,81 +13142,6 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: -0.5, y: 0}
|
||||
m_SizeDelta: {x: -1, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &1848627099
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1848627100}
|
||||
- component: {fileID: 1848627102}
|
||||
- component: {fileID: 1848627101}
|
||||
m_Layer: 5
|
||||
m_Name: Divider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1848627100
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1848627099}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1005272801}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.45, y: 0}
|
||||
m_AnchorMax: {x: 0.45, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 2, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1848627101
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1848627099}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 2
|
||||
--- !u!222 &1848627102
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1848627099}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1850578694
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -19757,8 +19561,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -80, y: 0}
|
||||
m_SizeDelta: {x: -160, y: 0}
|
||||
m_AnchoredPosition: {x: -93, y: 0}
|
||||
m_SizeDelta: {x: -186, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &7628189704016736660
|
||||
MonoBehaviour:
|
||||
|
|
@ -20657,6 +20461,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 296faceaa1771414f8744840ecaa026c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
|
||||
ListElementPrototype: {fileID: 232470599}
|
||||
TriggerGroupPrototype: {fileID: 1564656282}
|
||||
EnergyLabel: {fileID: 804489113}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ using static Unity.Mathematics.math;
|
|||
|
||||
public class SchematicDisplay : MonoBehaviour
|
||||
{
|
||||
private GameSettings Settings;
|
||||
public GameSettings Settings;
|
||||
public Prototype ListElementPrototype;
|
||||
public Prototype TriggerGroupPrototype;
|
||||
|
||||
|
|
@ -129,6 +129,7 @@ public class SchematicDisplay : MonoBehaviour
|
|||
foreach (var group in x.TriggerGroupElement.GroupBackgrounds)
|
||||
group.color = TriggerGroupColor;
|
||||
}
|
||||
UpdateTriggerGroups();
|
||||
}
|
||||
|
||||
public void UpdateTriggerGroups()
|
||||
|
|
@ -219,6 +220,7 @@ public class SchematicDisplay : MonoBehaviour
|
|||
HeatstrokeMeterFill.anchorMax = new Vector2(_cockpit.Heatstroke, 1);
|
||||
HeatstrokeLimitFill.anchorMax = new Vector2(_cockpit.Item.Temperature / Settings.GameplaySettings.HeatstrokeTemperature, 1);
|
||||
|
||||
_hull = _ship.Hull;
|
||||
var hullData = _ship.ItemManager.GetData(_hull);
|
||||
var dur = _hull.Durability / hullData.Durability;
|
||||
HullDurabilityFill.anchorMax = new Vector2(dur, 1);
|
||||
|
|
@ -243,7 +245,7 @@ public class SchematicDisplay : MonoBehaviour
|
|||
x.ListElement.HeatFill.anchorMax = new Vector2(unlerp(itemData.MinimumTemperature,itemData.MaximumTemperature, x.Item.Temperature), 0);
|
||||
if(x.Cooldown!=null)
|
||||
x.ListElement.CooldownFill.anchorMax = new Vector2(x.Cooldown.Progress,1);
|
||||
x.ListElement.DurabilityLabel.text = $"{(x.Item.EquippableItem.Durability / itemData.Durability * 100).SignificantDigits()}%";
|
||||
x.ListElement.DurabilityLabel.text = $"{(int)(x.Item.EquippableItem.Durability / itemData.Durability * 100)}%";
|
||||
if (x.ItemUsage != null)
|
||||
{
|
||||
x.ListElement.AmmoLabel.text = _ship.CountItemsInCargo(((ItemUsageData) x.ItemUsage.Data).Item).ToString();
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ public class ActionGameManager : MonoBehaviour
|
|||
public GameObject GameplayUI;
|
||||
public MenuPanel Menu;
|
||||
public MapRenderer MenuMap;
|
||||
public SchematicDisplay SchematicDisplay;
|
||||
public InventoryMenu Inventory;
|
||||
public InventoryPanel ShipPanel;
|
||||
public ConfirmationDialog ConfirmationDialog;
|
||||
|
|
@ -43,10 +44,9 @@ public class ActionGameManager : MonoBehaviour
|
|||
private AetheriaInput _input;
|
||||
private int _zoomLevelIndex;
|
||||
private Ship _currentShip;
|
||||
private ShipInput _shipInput;
|
||||
// private ShipInput _shipInput;
|
||||
private float2 _shipYawPitch;
|
||||
private float3 _viewDirection;
|
||||
private Transform _lookAt;
|
||||
public List<Ship> PlayerShips { get; } = new List<Ship>();
|
||||
|
||||
public DatabaseCache ItemData { get; private set; }
|
||||
|
|
@ -58,7 +58,7 @@ public class ActionGameManager : MonoBehaviour
|
|||
{
|
||||
// _transposer = DockCamera.GetCinemachineComponent<CinemachineFramingTransposer>();
|
||||
// _composer = DockCamera.GetCinemachineComponent<CinemachineComposer>();
|
||||
_lookAt = new GameObject().transform;
|
||||
//_lookAt = new GameObject().transform;
|
||||
|
||||
ConsoleController.MessageReceiver = this;
|
||||
_filePath = new DirectoryInfo(Application.dataPath).Parent.CreateSubdirectory("GameData");
|
||||
|
|
@ -143,6 +143,206 @@ public class ActionGameManager : MonoBehaviour
|
|||
else Undock();
|
||||
};
|
||||
|
||||
#region Trigger Groups
|
||||
|
||||
_input.Player.PreviousWeaponGroup.performed += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
SchematicDisplay.SelectedGroupIndex--;
|
||||
};
|
||||
|
||||
_input.Player.NextWeaponGroup.performed += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
SchematicDisplay.SelectedGroupIndex++;
|
||||
};
|
||||
|
||||
_input.Player.PreviousWeapon.performed += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
SchematicDisplay.SelectedItemIndex--;
|
||||
};
|
||||
|
||||
_input.Player.NextWeapon.performed += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
SchematicDisplay.SelectedItemIndex++;
|
||||
};
|
||||
|
||||
_input.Player.ToggleWeaponGroup.performed += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
var item = SchematicDisplay.SchematicItems[SchematicDisplay.SelectedItemIndex];
|
||||
if (_currentShip.TriggerGroups[SchematicDisplay.SelectedGroupIndex].Contains(item.Item))
|
||||
_currentShip.TriggerGroups[SchematicDisplay.SelectedGroupIndex].Remove(item.Item);
|
||||
else _currentShip.TriggerGroups[SchematicDisplay.SelectedGroupIndex].Add(item.Item);
|
||||
SchematicDisplay.UpdateTriggerGroups();
|
||||
};
|
||||
|
||||
_input.Player.FireGroup1.started += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[0])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = true;
|
||||
behaviors.Trigger?.Pull();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup1.canceled += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[0])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup2.started += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[1])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = true;
|
||||
behaviors.Trigger?.Pull();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup2.canceled += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[1])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup3.started += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[2])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = true;
|
||||
behaviors.Trigger?.Pull();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup3.canceled += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[2])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup4.started += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[3])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = true;
|
||||
behaviors.Trigger?.Pull();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup4.canceled += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[3])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup5.started += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[4])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = true;
|
||||
behaviors.Trigger?.Pull();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup5.canceled += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[4])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup6.started += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[5])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = true;
|
||||
behaviors.Trigger?.Pull();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_input.Player.FireGroup6.canceled += context =>
|
||||
{
|
||||
if (_currentShip.Parent != null) return;
|
||||
foreach (var item in _currentShip.TriggerGroups[5])
|
||||
{
|
||||
foreach (var behaviors in item.BehaviorGroups)
|
||||
{
|
||||
if (behaviors.Switch != null)
|
||||
behaviors.Switch.Activated = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
// ConsoleController.AddCommand("editmode", _ => ToggleEditMode());
|
||||
ConsoleController.AddCommand("savezone", args =>
|
||||
{
|
||||
|
|
@ -183,6 +383,16 @@ public class ActionGameManager : MonoBehaviour
|
|||
|
||||
var cockpitData = ItemData.GetAll<GearData>().First(x => x.Behaviors.Any(b=>b is CockpitData));
|
||||
ship.TryEquip(ItemManager.CreateInstance(cockpitData, .5f, 1) as EquippableItem);
|
||||
|
||||
var autocannonData = ItemData.GetAll<GearData>().First(x => x.Name == "Autocannon");
|
||||
ship.TryEquip(ItemManager.CreateInstance(autocannonData, .5f, 1) as EquippableItem);
|
||||
ship.TryEquip(ItemManager.CreateInstance(autocannonData, .5f, 1) as EquippableItem);
|
||||
|
||||
var cargoData = ItemData.GetAll<CargoBayData>().First(x => x.Name == "Cargo Bay 4x4");
|
||||
ship.TryEquip(ItemManager.CreateInstance(cargoData, .5f, 1) as EquippableItem);
|
||||
|
||||
var ammoData = ItemData.GetAll<SimpleCommodityData>().First(x => x.Name == "AC2 Ammo");
|
||||
ship.CargoBays.First().TryStore(ItemManager.CreateInstance(ammoData, 100));
|
||||
//dockingCargo.TryStore(ItemManager.CreateInstance(reactorData, .5f, 1));
|
||||
|
||||
Dock();
|
||||
|
|
@ -213,14 +423,13 @@ public class ActionGameManager : MonoBehaviour
|
|||
FollowCamera.enabled = false;
|
||||
_currentShip.Active = false;
|
||||
var orbital = (OrbitalEntity) entity;
|
||||
DockCamera.Follow = SectorRenderer.Orbitals[orbital];
|
||||
DockCamera.Follow = SectorRenderer.EntityInstances[orbital].Transform;
|
||||
var parentOrbit = Zone.Orbits[orbital.OrbitData].Data.Parent;
|
||||
var parentPlanet = SectorRenderer.Planets[Zone.Planets.FirstOrDefault(p => p.Value.Orbit == parentOrbit).Key];
|
||||
DockCamera.LookAt = parentPlanet.Body.transform;
|
||||
Menu.ShowTab(MenuTab.Inventory);
|
||||
Inventory.GetPanel.Display(bay);
|
||||
Inventory.GetPanel.Display(_currentShip);
|
||||
_shipInput = null;
|
||||
Cursor.lockState = CursorLockMode.None;
|
||||
_input.Player.Disable();
|
||||
GameplayUI.SetActive(false);
|
||||
|
|
@ -251,15 +460,16 @@ public class ActionGameManager : MonoBehaviour
|
|||
{
|
||||
Menu.gameObject.SetActive(false);
|
||||
_currentShip.Active = true;
|
||||
_shipInput = new ShipInput(_input.Player, _currentShip);
|
||||
//_shipInput = new ShipInput(_input.Player, _currentShip);
|
||||
DockCamera.enabled = false;
|
||||
FollowCamera.enabled = true;
|
||||
FollowCamera.LookAt = _lookAt;
|
||||
FollowCamera.Follow = SectorRenderer.Ships[_currentShip].Transform;
|
||||
FollowCamera.LookAt = SectorRenderer.EntityInstances[_currentShip].LookAtPoint;
|
||||
FollowCamera.Follow = SectorRenderer.EntityInstances[_currentShip].Transform;
|
||||
Cursor.lockState = CursorLockMode.Locked;
|
||||
GameplayUI.SetActive(true);
|
||||
_input.Player.Enable();
|
||||
ShipPanel.Display(_currentShip);
|
||||
SchematicDisplay.ShowShip(_currentShip);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -308,64 +518,16 @@ public class ActionGameManager : MonoBehaviour
|
|||
{
|
||||
_time += Time.deltaTime;
|
||||
ItemManager.Time = Time.time;
|
||||
if(_shipInput!=null)
|
||||
if(_currentShip.Parent==null)
|
||||
{
|
||||
var look = _input.Player.Look.ReadValue<Vector2>();
|
||||
_shipYawPitch = float2(_shipYawPitch.x + look.x * Sensitivity.x, clamp(_shipYawPitch.y + look.y * Sensitivity.y, -.45f * PI, .45f * PI));
|
||||
_viewDirection = mul(float3(0, 0, 1), Unity.Mathematics.float3x3.Euler(float3(_shipYawPitch.yx, 0), RotationOrder.YXZ));
|
||||
_lookAt.position = SectorRenderer.Ships[_currentShip].Transform.position + (Vector3) _viewDirection * 100;
|
||||
_shipInput.DesiredOrientation = _viewDirection.xz;
|
||||
_shipInput.Update();
|
||||
_currentShip.LookDirection = _viewDirection;
|
||||
_currentShip.MovementDirection = _input.Player.Move.ReadValue<Vector2>();
|
||||
}
|
||||
}
|
||||
Zone.Update(_time, Time.deltaTime);
|
||||
SectorRenderer.Time = _time;
|
||||
}
|
||||
}
|
||||
|
||||
public class ShipInput
|
||||
{
|
||||
private AetheriaInput.PlayerActions _input;
|
||||
private Ship _ship;
|
||||
private Thruster[] _allThrusters;
|
||||
private Thruster[] _forwardThrusters;
|
||||
private Thruster[] _reverseThrusters;
|
||||
private Thruster[] _rightThrusters;
|
||||
private Thruster[] _leftThrusters;
|
||||
private Thruster[] _clockwiseThrusters;
|
||||
private Thruster[] _counterClockwiseThrusters;
|
||||
|
||||
public float2 DesiredOrientation { get; set; }
|
||||
public float DesiredPitch { get; set; }
|
||||
|
||||
public ShipInput(AetheriaInput.PlayerActions input, Ship ship)
|
||||
{
|
||||
_input = input;
|
||||
_ship = ship;
|
||||
_allThrusters = ship.GetBehaviors<Thruster>().ToArray();
|
||||
_forwardThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.Reversed).ToArray();
|
||||
_reverseThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.None).ToArray();
|
||||
_rightThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.CounterClockwise).ToArray();
|
||||
_leftThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.Clockwise).ToArray();
|
||||
_counterClockwiseThrusters = _allThrusters.Where(x => x.Torque < -.05f).ToArray();
|
||||
_clockwiseThrusters = _allThrusters.Where(x => x.Torque > .05f).ToArray();
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
var move = _input.Move.ReadValue<Vector2>();
|
||||
|
||||
foreach (var thruster in _allThrusters) thruster.Axis = 0;
|
||||
foreach (var thruster in _rightThrusters) thruster.Axis += move.x;
|
||||
foreach (var thruster in _leftThrusters) thruster.Axis += -move.x;
|
||||
foreach (var thruster in _forwardThrusters) thruster.Axis += move.y;
|
||||
foreach (var thruster in _reverseThrusters) thruster.Axis += -move.y;
|
||||
|
||||
var deltaRot = dot(normalize(DesiredOrientation), normalize(_ship.Direction).Rotate(ItemRotation.Clockwise));
|
||||
if (abs(deltaRot) < .01) deltaRot = 0;
|
||||
deltaRot = pow(abs(deltaRot), .5f) * sign(deltaRot);
|
||||
|
||||
foreach (var thruster in _clockwiseThrusters) thruster.Axis += deltaRot;
|
||||
foreach (var thruster in _counterClockwiseThrusters) thruster.Axis += -deltaRot;
|
||||
}
|
||||
}
|
||||
|
|
@ -35,13 +35,53 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Fire"",
|
||||
""name"": ""Fire Group 1"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""575943b0-4866-4be0-a289-3253973523b1"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Fire Group 2"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""b9bdfa1f-db61-4ec3-883a-fc3f9e88c5f5"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Fire Group 3"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""d79871a2-8565-4cf3-809f-9c979adfcd81"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Fire Group 4"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""59902e9e-1dfb-4624-9599-72ff763ef327"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Fire Group 5"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""80b549c1-7378-48c5-8da2-ce95b9c92913"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Fire Group 6"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""4ba5091e-051a-41df-9985-6c0e082b20a5"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Minimap Zoom"",
|
||||
""type"": ""Button"",
|
||||
|
|
@ -49,6 +89,46 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Next Weapon Group"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""8ed69fe0-d934-44ea-94c0-d5d69cc33b32"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Previous Weapon Group"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""93f19768-6c19-4bab-8b53-4e3e5ba764fc"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Next Weapon"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""09a5e315-6290-4ab5-9e7c-55b7523562b7"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Previous Weapon"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""ed923265-545f-4475-ba7c-885371612325"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Toggle Weapon Group"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""c61da4ef-e0bc-4d17-aab0-8e2979c3de3c"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
}
|
||||
],
|
||||
""bindings"": [
|
||||
|
|
@ -213,7 +293,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": "";Gamepad"",
|
||||
""action"": ""Fire"",
|
||||
""action"": ""Fire Group 1"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
|
|
@ -224,18 +304,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": "";Keyboard&Mouse"",
|
||||
""action"": ""Fire"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""886e731e-7071-4ae4-95c0-e61739dad6fd"",
|
||||
""path"": ""<Touchscreen>/primaryTouch/tap"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": """",
|
||||
""action"": ""Fire"",
|
||||
""action"": ""Fire Group 1"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
|
|
@ -246,7 +315,18 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Joystick"",
|
||||
""action"": ""Fire"",
|
||||
""action"": ""Fire Group 1"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""8c676533-8c53-4b6a-9368-d194b8a997f8"",
|
||||
""path"": ""<Keyboard>/1"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 1"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
|
|
@ -260,6 +340,138 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
""action"": ""Minimap Zoom"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""444b4049-a11e-4bef-8a57-345c3d1a7545"",
|
||||
""path"": ""<Keyboard>/rightArrow"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Next Weapon Group"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""fb6c0d4c-dae6-406b-b35a-c35b5d25022c"",
|
||||
""path"": ""<Keyboard>/leftArrow"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Previous Weapon Group"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""bac8c902-3cad-4a7f-8773-35800a2ee3b9"",
|
||||
""path"": ""<Keyboard>/downArrow"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Next Weapon"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""969aff21-097a-4c35-9c46-2239e5f321f5"",
|
||||
""path"": ""<Keyboard>/upArrow"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Previous Weapon"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""a2bcbfda-f091-433f-8ac9-112396507408"",
|
||||
""path"": ""<Keyboard>/rightCtrl"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Toggle Weapon Group"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""48b8b6ee-8435-439a-96a1-c968254ff605"",
|
||||
""path"": ""<Mouse>/rightButton"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": "";Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 2"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""8ae75721-10ab-4d83-8322-82cbb3fdcc44"",
|
||||
""path"": ""<Keyboard>/2"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 2"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""7f89c9af-795b-4b1e-ad43-dac3350cfbe3"",
|
||||
""path"": ""<Mouse>/middleButton"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": "";Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 3"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""c249f018-c10a-4c2c-a4ba-9fba54ed33e9"",
|
||||
""path"": ""<Keyboard>/3"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 3"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""421e49a0-897e-4ea3-af8d-af96989d2957"",
|
||||
""path"": ""<Keyboard>/4"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": "";Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 4"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""1c8a43b7-4200-43b9-925c-c1634554083c"",
|
||||
""path"": ""<Keyboard>/5"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": "";Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 5"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""0680216e-b462-45a3-8050-2b89dcb615aa"",
|
||||
""path"": ""<Keyboard>/6"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": "";Keyboard&Mouse"",
|
||||
""action"": ""Fire Group 6"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -828,8 +1040,18 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
m_Player = asset.FindActionMap("Player", throwIfNotFound: true);
|
||||
m_Player_Move = m_Player.FindAction("Move", throwIfNotFound: true);
|
||||
m_Player_Look = m_Player.FindAction("Look", throwIfNotFound: true);
|
||||
m_Player_Fire = m_Player.FindAction("Fire", throwIfNotFound: true);
|
||||
m_Player_FireGroup1 = m_Player.FindAction("Fire Group 1", throwIfNotFound: true);
|
||||
m_Player_FireGroup2 = m_Player.FindAction("Fire Group 2", throwIfNotFound: true);
|
||||
m_Player_FireGroup3 = m_Player.FindAction("Fire Group 3", throwIfNotFound: true);
|
||||
m_Player_FireGroup4 = m_Player.FindAction("Fire Group 4", throwIfNotFound: true);
|
||||
m_Player_FireGroup5 = m_Player.FindAction("Fire Group 5", throwIfNotFound: true);
|
||||
m_Player_FireGroup6 = m_Player.FindAction("Fire Group 6", throwIfNotFound: true);
|
||||
m_Player_MinimapZoom = m_Player.FindAction("Minimap Zoom", throwIfNotFound: true);
|
||||
m_Player_NextWeaponGroup = m_Player.FindAction("Next Weapon Group", throwIfNotFound: true);
|
||||
m_Player_PreviousWeaponGroup = m_Player.FindAction("Previous Weapon Group", throwIfNotFound: true);
|
||||
m_Player_NextWeapon = m_Player.FindAction("Next Weapon", throwIfNotFound: true);
|
||||
m_Player_PreviousWeapon = m_Player.FindAction("Previous Weapon", throwIfNotFound: true);
|
||||
m_Player_ToggleWeaponGroup = m_Player.FindAction("Toggle Weapon Group", throwIfNotFound: true);
|
||||
// UI
|
||||
m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
|
||||
m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
|
||||
|
|
@ -897,16 +1119,36 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
private IPlayerActions m_PlayerActionsCallbackInterface;
|
||||
private readonly InputAction m_Player_Move;
|
||||
private readonly InputAction m_Player_Look;
|
||||
private readonly InputAction m_Player_Fire;
|
||||
private readonly InputAction m_Player_FireGroup1;
|
||||
private readonly InputAction m_Player_FireGroup2;
|
||||
private readonly InputAction m_Player_FireGroup3;
|
||||
private readonly InputAction m_Player_FireGroup4;
|
||||
private readonly InputAction m_Player_FireGroup5;
|
||||
private readonly InputAction m_Player_FireGroup6;
|
||||
private readonly InputAction m_Player_MinimapZoom;
|
||||
private readonly InputAction m_Player_NextWeaponGroup;
|
||||
private readonly InputAction m_Player_PreviousWeaponGroup;
|
||||
private readonly InputAction m_Player_NextWeapon;
|
||||
private readonly InputAction m_Player_PreviousWeapon;
|
||||
private readonly InputAction m_Player_ToggleWeaponGroup;
|
||||
public struct PlayerActions
|
||||
{
|
||||
private @AetheriaInput m_Wrapper;
|
||||
public PlayerActions(@AetheriaInput wrapper) { m_Wrapper = wrapper; }
|
||||
public InputAction @Move => m_Wrapper.m_Player_Move;
|
||||
public InputAction @Look => m_Wrapper.m_Player_Look;
|
||||
public InputAction @Fire => m_Wrapper.m_Player_Fire;
|
||||
public InputAction @FireGroup1 => m_Wrapper.m_Player_FireGroup1;
|
||||
public InputAction @FireGroup2 => m_Wrapper.m_Player_FireGroup2;
|
||||
public InputAction @FireGroup3 => m_Wrapper.m_Player_FireGroup3;
|
||||
public InputAction @FireGroup4 => m_Wrapper.m_Player_FireGroup4;
|
||||
public InputAction @FireGroup5 => m_Wrapper.m_Player_FireGroup5;
|
||||
public InputAction @FireGroup6 => m_Wrapper.m_Player_FireGroup6;
|
||||
public InputAction @MinimapZoom => m_Wrapper.m_Player_MinimapZoom;
|
||||
public InputAction @NextWeaponGroup => m_Wrapper.m_Player_NextWeaponGroup;
|
||||
public InputAction @PreviousWeaponGroup => m_Wrapper.m_Player_PreviousWeaponGroup;
|
||||
public InputAction @NextWeapon => m_Wrapper.m_Player_NextWeapon;
|
||||
public InputAction @PreviousWeapon => m_Wrapper.m_Player_PreviousWeapon;
|
||||
public InputAction @ToggleWeaponGroup => m_Wrapper.m_Player_ToggleWeaponGroup;
|
||||
public InputActionMap Get() { return m_Wrapper.m_Player; }
|
||||
public void Enable() { Get().Enable(); }
|
||||
public void Disable() { Get().Disable(); }
|
||||
|
|
@ -922,12 +1164,42 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
@Look.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook;
|
||||
@Look.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook;
|
||||
@Look.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook;
|
||||
@Fire.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFire;
|
||||
@Fire.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFire;
|
||||
@Fire.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFire;
|
||||
@FireGroup1.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup1;
|
||||
@FireGroup1.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup1;
|
||||
@FireGroup1.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup1;
|
||||
@FireGroup2.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup2;
|
||||
@FireGroup2.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup2;
|
||||
@FireGroup2.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup2;
|
||||
@FireGroup3.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup3;
|
||||
@FireGroup3.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup3;
|
||||
@FireGroup3.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup3;
|
||||
@FireGroup4.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup4;
|
||||
@FireGroup4.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup4;
|
||||
@FireGroup4.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup4;
|
||||
@FireGroup5.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup5;
|
||||
@FireGroup5.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup5;
|
||||
@FireGroup5.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup5;
|
||||
@FireGroup6.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup6;
|
||||
@FireGroup6.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup6;
|
||||
@FireGroup6.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFireGroup6;
|
||||
@MinimapZoom.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMinimapZoom;
|
||||
@MinimapZoom.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMinimapZoom;
|
||||
@MinimapZoom.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMinimapZoom;
|
||||
@NextWeaponGroup.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeaponGroup;
|
||||
@NextWeaponGroup.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeaponGroup;
|
||||
@NextWeaponGroup.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeaponGroup;
|
||||
@PreviousWeaponGroup.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeaponGroup;
|
||||
@PreviousWeaponGroup.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeaponGroup;
|
||||
@PreviousWeaponGroup.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeaponGroup;
|
||||
@NextWeapon.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeapon;
|
||||
@NextWeapon.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeapon;
|
||||
@NextWeapon.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnNextWeapon;
|
||||
@PreviousWeapon.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeapon;
|
||||
@PreviousWeapon.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeapon;
|
||||
@PreviousWeapon.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnPreviousWeapon;
|
||||
@ToggleWeaponGroup.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnToggleWeaponGroup;
|
||||
@ToggleWeaponGroup.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnToggleWeaponGroup;
|
||||
@ToggleWeaponGroup.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnToggleWeaponGroup;
|
||||
}
|
||||
m_Wrapper.m_PlayerActionsCallbackInterface = instance;
|
||||
if (instance != null)
|
||||
|
|
@ -938,12 +1210,42 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
@Look.started += instance.OnLook;
|
||||
@Look.performed += instance.OnLook;
|
||||
@Look.canceled += instance.OnLook;
|
||||
@Fire.started += instance.OnFire;
|
||||
@Fire.performed += instance.OnFire;
|
||||
@Fire.canceled += instance.OnFire;
|
||||
@FireGroup1.started += instance.OnFireGroup1;
|
||||
@FireGroup1.performed += instance.OnFireGroup1;
|
||||
@FireGroup1.canceled += instance.OnFireGroup1;
|
||||
@FireGroup2.started += instance.OnFireGroup2;
|
||||
@FireGroup2.performed += instance.OnFireGroup2;
|
||||
@FireGroup2.canceled += instance.OnFireGroup2;
|
||||
@FireGroup3.started += instance.OnFireGroup3;
|
||||
@FireGroup3.performed += instance.OnFireGroup3;
|
||||
@FireGroup3.canceled += instance.OnFireGroup3;
|
||||
@FireGroup4.started += instance.OnFireGroup4;
|
||||
@FireGroup4.performed += instance.OnFireGroup4;
|
||||
@FireGroup4.canceled += instance.OnFireGroup4;
|
||||
@FireGroup5.started += instance.OnFireGroup5;
|
||||
@FireGroup5.performed += instance.OnFireGroup5;
|
||||
@FireGroup5.canceled += instance.OnFireGroup5;
|
||||
@FireGroup6.started += instance.OnFireGroup6;
|
||||
@FireGroup6.performed += instance.OnFireGroup6;
|
||||
@FireGroup6.canceled += instance.OnFireGroup6;
|
||||
@MinimapZoom.started += instance.OnMinimapZoom;
|
||||
@MinimapZoom.performed += instance.OnMinimapZoom;
|
||||
@MinimapZoom.canceled += instance.OnMinimapZoom;
|
||||
@NextWeaponGroup.started += instance.OnNextWeaponGroup;
|
||||
@NextWeaponGroup.performed += instance.OnNextWeaponGroup;
|
||||
@NextWeaponGroup.canceled += instance.OnNextWeaponGroup;
|
||||
@PreviousWeaponGroup.started += instance.OnPreviousWeaponGroup;
|
||||
@PreviousWeaponGroup.performed += instance.OnPreviousWeaponGroup;
|
||||
@PreviousWeaponGroup.canceled += instance.OnPreviousWeaponGroup;
|
||||
@NextWeapon.started += instance.OnNextWeapon;
|
||||
@NextWeapon.performed += instance.OnNextWeapon;
|
||||
@NextWeapon.canceled += instance.OnNextWeapon;
|
||||
@PreviousWeapon.started += instance.OnPreviousWeapon;
|
||||
@PreviousWeapon.performed += instance.OnPreviousWeapon;
|
||||
@PreviousWeapon.canceled += instance.OnPreviousWeapon;
|
||||
@ToggleWeaponGroup.started += instance.OnToggleWeaponGroup;
|
||||
@ToggleWeaponGroup.performed += instance.OnToggleWeaponGroup;
|
||||
@ToggleWeaponGroup.canceled += instance.OnToggleWeaponGroup;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1125,8 +1427,18 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
|
|||
{
|
||||
void OnMove(InputAction.CallbackContext context);
|
||||
void OnLook(InputAction.CallbackContext context);
|
||||
void OnFire(InputAction.CallbackContext context);
|
||||
void OnFireGroup1(InputAction.CallbackContext context);
|
||||
void OnFireGroup2(InputAction.CallbackContext context);
|
||||
void OnFireGroup3(InputAction.CallbackContext context);
|
||||
void OnFireGroup4(InputAction.CallbackContext context);
|
||||
void OnFireGroup5(InputAction.CallbackContext context);
|
||||
void OnFireGroup6(InputAction.CallbackContext context);
|
||||
void OnMinimapZoom(InputAction.CallbackContext context);
|
||||
void OnNextWeaponGroup(InputAction.CallbackContext context);
|
||||
void OnPreviousWeaponGroup(InputAction.CallbackContext context);
|
||||
void OnNextWeapon(InputAction.CallbackContext context);
|
||||
void OnPreviousWeapon(InputAction.CallbackContext context);
|
||||
void OnToggleWeaponGroup(InputAction.CallbackContext context);
|
||||
}
|
||||
public interface IUIActions
|
||||
{
|
||||
|
|
|
|||
|
|
@ -691,7 +691,7 @@ public class DatabaseInspector : EditorWindow
|
|||
public float4[] InspectAnimationCurve(string label, float4[] value)
|
||||
{
|
||||
var val = value != null && value.Length > 0
|
||||
? new AnimationCurve(value.Select(v => new Keyframe(v.x, v.y, v.z, v.w)).ToArray())
|
||||
? value.ToCurve()
|
||||
: new AnimationCurve();
|
||||
using (var h = new HorizontalScope())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ using Random = UnityEngine.Random;
|
|||
|
||||
public class SectorRenderer : MonoBehaviour
|
||||
{
|
||||
public Transform EffectManagerParent;
|
||||
public Transform FogCameraParent;
|
||||
public GameSettings Settings;
|
||||
public Transform ZoneRoot;
|
||||
|
|
@ -54,9 +55,7 @@ public class SectorRenderer : MonoBehaviour
|
|||
public Texture2D PlanetIcon;
|
||||
|
||||
[HideInInspector]
|
||||
public Dictionary<OrbitalEntity, Transform> Orbitals = new Dictionary<OrbitalEntity, Transform>();
|
||||
[HideInInspector]
|
||||
public Dictionary<Ship, ShipInstance> Ships = new Dictionary<Ship, ShipInstance>();
|
||||
public Dictionary<Entity, EntityInstance> EntityInstances = new Dictionary<Entity, EntityInstance>();
|
||||
[HideInInspector]
|
||||
public Dictionary<Guid, PlanetObject> Planets = new Dictionary<Guid, PlanetObject>();
|
||||
|
||||
|
|
@ -64,6 +63,8 @@ public class SectorRenderer : MonoBehaviour
|
|||
private Dictionary<Guid, InstancedMesh[]> _beltMeshes = new Dictionary<Guid, InstancedMesh[]>();
|
||||
private Dictionary<Guid, Matrix4x4[][]> _beltMatrices = new Dictionary<Guid, Matrix4x4[][]>();
|
||||
private Dictionary<Guid, float3[]> _beltAsteroidPositions = new Dictionary<Guid, float3[]>();
|
||||
private Dictionary<ProjectileWeaponData, ProjectileManager> _projectileManagers = new Dictionary<ProjectileWeaponData, ProjectileManager>();
|
||||
private Dictionary<LauncherData, GuidedProjectileManager> _guidedProjectileManagers = new Dictionary<LauncherData, GuidedProjectileManager>();
|
||||
private Zone _zone;
|
||||
private float _viewDistance;
|
||||
private float _maxDepth;
|
||||
|
|
@ -172,45 +173,99 @@ public class SectorRenderer : MonoBehaviour
|
|||
void LoadEntity(Entity entity)
|
||||
{
|
||||
var hullData = ItemManager.GetData(entity.Hull) as HullData;
|
||||
EntityInstance instance;
|
||||
if (entity is Ship ship)
|
||||
{
|
||||
var shipInstance = new ShipInstance();
|
||||
shipInstance.Ship = ship;
|
||||
shipInstance.Transform = Instantiate(UnityHelpers.LoadAsset<GameObject>(hullData.Prefab), ZoneRoot).transform;
|
||||
instance = new ShipInstance();
|
||||
instance.Transform = Instantiate(UnityHelpers.LoadAsset<GameObject>(hullData.Prefab), ZoneRoot).transform;
|
||||
instance.Prefab = instance.Transform.GetComponent<EntityPrefab>();
|
||||
var shipInstance = (ShipInstance) instance;
|
||||
shipInstance.Thrusters = ship.GetBehaviors<Thruster>().ToArray();
|
||||
shipInstance.ThrusterParticles = shipInstance.Thrusters
|
||||
.Select(x =>
|
||||
{
|
||||
var particles = Instantiate(UnityHelpers.LoadAsset<ParticleSystem>(((ThrusterData) x.Data).ParticlesPrefab), shipInstance.Transform, false);
|
||||
var particlesShape = particles.shape;
|
||||
particlesShape.meshRenderer = shipInstance.Transform.Find(x.Entity.Hardpoints[x.Item.Position.x, x.Item.Position.y].Transform)
|
||||
.GetComponent<MeshRenderer>();
|
||||
particlesShape.meshRenderer = shipInstance.Prefab.ThrusterHardpoints
|
||||
.FirstOrDefault(t => t.name == x.Entity.Hardpoints[x.Item.Position.x, x.Item.Position.y].Transform)
|
||||
?.Emitter;
|
||||
return particles;
|
||||
})
|
||||
.ToArray();
|
||||
shipInstance.ThrusterBaseEmission = shipInstance.ThrusterParticles.Select(x => x.emission.rateOverTimeMultiplier).ToArray();
|
||||
Ships.Add(ship, shipInstance);
|
||||
}
|
||||
else if (entity is OrbitalEntity orbital)
|
||||
else
|
||||
{
|
||||
Orbitals.Add(orbital,Instantiate(UnityHelpers.LoadAsset<GameObject>(hullData.Prefab)).transform);
|
||||
instance = new EntityInstance();
|
||||
instance.Transform = Instantiate(UnityHelpers.LoadAsset<GameObject>(hullData.Prefab), ZoneRoot).transform;
|
||||
instance.Prefab = instance.Transform.GetComponent<EntityPrefab>();
|
||||
}
|
||||
|
||||
instance.Entity = entity;
|
||||
|
||||
foreach (var item in entity.Equipment)
|
||||
{
|
||||
foreach (var behavior in item.Behaviors)
|
||||
{
|
||||
if (behavior is InstantWeapon instantWeapon)
|
||||
{
|
||||
if (behavior.Data is ProjectileWeaponData projectileWeaponData)
|
||||
{
|
||||
if (!_projectileManagers.ContainsKey(projectileWeaponData))
|
||||
{
|
||||
var managerPrefab = UnityHelpers.LoadAsset<ProjectileManager>(projectileWeaponData.EffectPrefab);
|
||||
if(managerPrefab)
|
||||
{
|
||||
_projectileManagers.Add(projectileWeaponData, Instantiate(managerPrefab, EffectManagerParent));
|
||||
}
|
||||
else Debug.LogError($"No ProjectileManager prefab found at path {projectileWeaponData.EffectPrefab}");
|
||||
}
|
||||
|
||||
instantWeapon.OnFire += () => _projectileManagers[projectileWeaponData].Launch(projectileWeaponData, item, instance);
|
||||
}
|
||||
else if (behavior.Data is LauncherData launcherData)
|
||||
{
|
||||
if (!_guidedProjectileManagers.ContainsKey(launcherData))
|
||||
{
|
||||
var managerPrefab = UnityHelpers.LoadAsset<GuidedProjectileManager>(launcherData.EffectPrefab);
|
||||
if(managerPrefab)
|
||||
{
|
||||
_guidedProjectileManagers.Add(launcherData, Instantiate(managerPrefab, EffectManagerParent));
|
||||
}
|
||||
else Debug.LogError($"No ProjectileManager prefab found at path {launcherData.EffectPrefab}");
|
||||
}
|
||||
|
||||
instantWeapon.OnFire += () =>
|
||||
_guidedProjectileManagers[launcherData].Launch(launcherData, item, instance, EntityInstances[entity.Target]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
instance.Barrels = new Dictionary<HardpointData, Transform[]>();
|
||||
instance.BarrelIndices = new Dictionary<HardpointData, int>();
|
||||
foreach (var hp in hullData.Hardpoints)
|
||||
{
|
||||
var whp = instance.Prefab.WeaponHardpoints.FirstOrDefault(x => x.name == hp.Transform);
|
||||
if(whp)
|
||||
{
|
||||
instance.Barrels.Add(hp, whp.FiringPoint);
|
||||
instance.BarrelIndices.Add(hp, 0);
|
||||
}
|
||||
}
|
||||
|
||||
instance.LookAtPoint = new GameObject().transform;
|
||||
|
||||
foreach (var articulationPoint in instance.Prefab.ArticulationPoints)
|
||||
{
|
||||
articulationPoint.Target = instance.LookAtPoint;
|
||||
}
|
||||
EntityInstances.Add(entity, instance);
|
||||
}
|
||||
|
||||
void UnloadEntity(Entity entity)
|
||||
{
|
||||
if (entity is Ship ship)
|
||||
{
|
||||
Destroy(Ships[ship].Transform.gameObject);
|
||||
foreach(var p in Ships[ship].ThrusterParticles)
|
||||
Destroy(p.gameObject);
|
||||
Ships.Remove(ship);
|
||||
}
|
||||
else if (entity is OrbitalEntity orbital)
|
||||
{
|
||||
Destroy(Orbitals[orbital].gameObject);
|
||||
Orbitals.Remove(orbital);
|
||||
}
|
||||
Destroy(EntityInstances[entity].Transform.gameObject);
|
||||
EntityInstances.Remove(entity);
|
||||
}
|
||||
|
||||
void LoadPlanet(BodyData planetData)
|
||||
|
|
@ -369,35 +424,36 @@ public class SectorRenderer : MonoBehaviour
|
|||
else planet.Value.Body.transform.rotation *= Quaternion.AngleAxis(Settings.PlanetRotationSpeed, Vector3.up);
|
||||
}
|
||||
|
||||
foreach (var ship in Ships)
|
||||
foreach (var entity in EntityInstances)
|
||||
{
|
||||
var hullData = ItemManager.GetData(ship.Key.Hull) as HullData;
|
||||
var h = _zone.GetHeight(ship.Key.Position);
|
||||
ship.Value.Transform.position = new Vector3(ship.Key.Position.x,h + hullData.GridOffset,ship.Key.Position.y);
|
||||
var normal = _zone.GetNormal(ship.Key.Position);
|
||||
var f = new float2(normal.x, normal.z);
|
||||
var fl = lengthsq(f);
|
||||
if(fl > .001)
|
||||
var hullData = ItemManager.GetData(entity.Key.Hull) as HullData;
|
||||
if(entity.Key is Ship ship)
|
||||
{
|
||||
var fa = 1 / (1 - fl) - 1;
|
||||
ship.Key.Velocity += normalize(f) * Settings.PlanetSettings.GravityStrength * fa;
|
||||
}
|
||||
//Debug.Log($"Normal: {normal}");
|
||||
var shipRight = ship.Key.Direction.Rotate(ItemRotation.Clockwise);
|
||||
var forward = Vector3.Cross(new Vector3(shipRight.x,0,shipRight.y), normal);
|
||||
ship.Value.Transform.rotation = Quaternion.LookRotation(forward, normal);
|
||||
for (int i = 0; i < ship.Value.Thrusters.Length; i++)
|
||||
{
|
||||
var emissionModule = ship.Value.ThrusterParticles[i].emission;
|
||||
emissionModule.rateOverTimeMultiplier = ship.Value.ThrusterBaseEmission[i] * ship.Value.Thrusters[i].Axis;
|
||||
}
|
||||
}
|
||||
var shipInstance = entity.Value as ShipInstance;
|
||||
var normal = _zone.GetNormal(ship.Position);
|
||||
var f = new float2(normal.x, normal.z);
|
||||
var fl = lengthsq(f);
|
||||
if (fl > .001)
|
||||
{
|
||||
var fa = 1 / (1 - fl) - 1;
|
||||
entity.Key.Velocity += normalize(f) * Settings.PlanetSettings.GravityStrength * fa;
|
||||
}
|
||||
|
||||
foreach (var orbital in Orbitals)
|
||||
{
|
||||
var hullData = ItemManager.GetData(orbital.Key.Hull) as HullData;
|
||||
var h = _zone.GetHeight(orbital.Key.Position);
|
||||
orbital.Value.position = new Vector3(orbital.Key.Position.x,h + hullData.GridOffset,orbital.Key.Position.y);
|
||||
//Debug.Log($"Normal: {normal}");
|
||||
var shipRight = ship.Direction.Rotate(ItemRotation.Clockwise);
|
||||
var forward = Vector3.Cross(new Vector3(shipRight.x, 0, shipRight.y), normal);
|
||||
entity.Value.Transform.rotation = Quaternion.LookRotation(forward, normal);
|
||||
for (int i = 0; i < shipInstance.Thrusters.Length; i++)
|
||||
{
|
||||
var emissionModule = shipInstance.ThrusterParticles[i].emission;
|
||||
emissionModule.rateOverTimeMultiplier = shipInstance.ThrusterBaseEmission[i] * shipInstance.Thrusters[i].Axis;
|
||||
}
|
||||
}
|
||||
|
||||
entity.Value.LookAtPoint.position = entity.Value.Transform.position + (Vector3) entity.Key.LookDirection * (entity.Key.Target != null
|
||||
? (EntityInstances[entity.Key.Target].Transform.position - entity.Value.Transform.position).magnitude : 100);
|
||||
var h = _zone.GetHeight(entity.Key.Position);
|
||||
entity.Value.Transform.position = new Vector3(entity.Key.Position.x, h + hullData.GridOffset, entity.Key.Position.y);
|
||||
}
|
||||
|
||||
var fogPos = FogCameraParent.position;
|
||||
|
|
@ -416,13 +472,32 @@ public class SectorRenderer : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
public class ShipInstance
|
||||
public class EntityInstance
|
||||
{
|
||||
public Entity Entity;
|
||||
public Transform Transform;
|
||||
public EntityPrefab Prefab;
|
||||
public Dictionary<HardpointData, Transform[]> Barrels;
|
||||
public Dictionary<HardpointData, int> BarrelIndices;
|
||||
public Transform LookAtPoint;
|
||||
public Transform GetBarrel(HardpointData hardpoint)
|
||||
{
|
||||
if (Barrels.ContainsKey(hardpoint))
|
||||
{
|
||||
var barrel = Barrels[hardpoint][BarrelIndices[hardpoint]];
|
||||
BarrelIndices[hardpoint] = (BarrelIndices[hardpoint] + 1) % Barrels[hardpoint].Length;
|
||||
return barrel;
|
||||
}
|
||||
|
||||
return Transform;
|
||||
}
|
||||
}
|
||||
|
||||
public class ShipInstance : EntityInstance
|
||||
{
|
||||
public ParticleSystem[] ThrusterParticles;
|
||||
public Thruster[] Thrusters;
|
||||
public float[] ThrusterBaseEmission;
|
||||
public Ship Ship;
|
||||
public Transform Transform;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
|
|
|||
74
Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs
Normal file
74
Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
using System;
|
||||
using MessagePack;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
||||
public class ConstantWeaponData : WeaponData
|
||||
{
|
||||
public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
|
||||
{
|
||||
return new ConstantWeapon(context, this, entity, item);
|
||||
}
|
||||
}
|
||||
|
||||
public class ConstantWeapon : IBehavior, IAlwaysUpdatedBehavior
|
||||
{
|
||||
private ConstantWeaponData _data;
|
||||
|
||||
public int _burstCount;
|
||||
public float _burstTimer;
|
||||
|
||||
private Entity Entity { get; }
|
||||
private EquippedItem Item { get; }
|
||||
private ItemManager Context { get; }
|
||||
|
||||
public BehaviorData Data => _data;
|
||||
|
||||
public event Action OnStartFiring;
|
||||
public event Action OnStopFiring;
|
||||
|
||||
private bool _firing;
|
||||
private bool _stoppedFiring;
|
||||
|
||||
public ConstantWeapon(ItemManager context, ConstantWeaponData c, Entity entity, EquippedItem item)
|
||||
{
|
||||
Context = context;
|
||||
_data = c;
|
||||
Entity = entity;
|
||||
Item = item;
|
||||
}
|
||||
|
||||
public bool Update(float delta)
|
||||
{
|
||||
if (!_firing)
|
||||
{
|
||||
_firing = true;
|
||||
OnStartFiring?.Invoke();
|
||||
}
|
||||
|
||||
_stoppedFiring = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public void AlwaysUpdate(float delta)
|
||||
{
|
||||
// Update executes after AlwaysUpdate,
|
||||
// so if the stop flag didn't get disabled previous frame,
|
||||
// we know the weapon has stopped firing
|
||||
if (_firing)
|
||||
{
|
||||
if (_stoppedFiring)
|
||||
{
|
||||
_firing = false;
|
||||
_stoppedFiring = false;
|
||||
OnStopFiring?.Invoke();
|
||||
}
|
||||
else
|
||||
_stoppedFiring = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs.meta
Normal file
11
Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f437aa69c4d96524cbe4caedd16678b6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -7,11 +7,8 @@ using Newtonsoft.Json;
|
|||
using Unity.Mathematics;
|
||||
|
||||
[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
||||
public class LauncherData : WeaponData
|
||||
public class LauncherData : InstantWeaponData
|
||||
{
|
||||
[InspectablePrefab, JsonProperty("missile"), Key(6)]
|
||||
public string MissilePrefab;
|
||||
|
||||
[InspectableAnimationCurve, JsonProperty("guidance"), Key(7)]
|
||||
public float4[] GuidanceCurve;
|
||||
|
||||
|
|
@ -41,7 +38,7 @@ public class LauncherData : WeaponData
|
|||
|
||||
public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
|
||||
{
|
||||
return new Launcher(context, this, entity, item);
|
||||
return new InstantWeapon(context, this, entity, item);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,15 +2,13 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
using System;
|
||||
using MessagePack;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
||||
public class ProjectileWeaponData : WeaponData
|
||||
public class ProjectileWeaponData : InstantWeaponData
|
||||
{
|
||||
[InspectablePrefab, JsonProperty("bullet"), Key(6)]
|
||||
public string BulletPrefab;
|
||||
|
||||
[InspectableField, JsonProperty("spread"), Key(7)]
|
||||
public PerformanceStat Spread = new PerformanceStat();
|
||||
|
||||
|
|
@ -22,46 +20,6 @@ public class ProjectileWeaponData : WeaponData
|
|||
|
||||
public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
|
||||
{
|
||||
return new ProjectileWeapon(context, this, entity, item);
|
||||
}
|
||||
}
|
||||
|
||||
public class ProjectileWeapon : IBehavior
|
||||
{
|
||||
private ProjectileWeaponData _data;
|
||||
private Entity Entity { get; }
|
||||
private EquippedItem Item { get; }
|
||||
private ItemManager Context { get; }
|
||||
|
||||
public BehaviorData Data => _data;
|
||||
|
||||
public ProjectileWeapon(ItemManager context, ProjectileWeaponData c, Entity entity, EquippedItem item)
|
||||
{
|
||||
Context = context;
|
||||
_data = c;
|
||||
Entity = entity;
|
||||
Item = item;
|
||||
}
|
||||
|
||||
// private void Fire()
|
||||
// {
|
||||
// Hardpoint.Temperature += _projectileWeapon.Heat.Evaluate(Hardpoint) / Hardpoint.HeatCapacity;
|
||||
// var inst = GameObject.Instantiate(_projectileWeapon.BulletPrefab).transform;
|
||||
// Physics.IgnoreCollision(Hardpoint.Ship.Ship.GetComponent<Collider>(), inst.GetComponent<Collider>());
|
||||
// var bullet = inst.GetComponent<Bullet>();
|
||||
// bullet.Target = Hardpoint.Ship.Ship.Target;
|
||||
// bullet.Source = Hardpoint.Ship.Ship.Hitpoints;
|
||||
// bullet.Lifetime = _projectileWeapon.Range.Evaluate(Hardpoint) / _projectileWeapon.Velocity.Evaluate(Hardpoint);
|
||||
// bullet.Damage = _projectileWeapon.Damage.Evaluate(Hardpoint);
|
||||
// inst.position = Hardpoint.Proxy.position;
|
||||
// inst.rotation = Hardpoint.Proxy.rotation;
|
||||
// inst.GetComponent<Rigidbody>().velocity = _projectileWeapon.Velocity.Evaluate(Hardpoint) * Vector3.RotateTowards(-inst.forward, Hardpoint.Ship.Ship.Direction, _projectileWeapon.Deflection * Mathf.Deg2Rad, 1);
|
||||
// Hardpoint.Ship.Ship.AudioSource.PlayOneShot(_projectileWeapon.Sounds.RandomElement());
|
||||
// Debug.Log($"Firing bullet {b}");
|
||||
// }
|
||||
|
||||
public bool Update(float delta)
|
||||
{
|
||||
return true;
|
||||
return new InstantWeapon(context, this, entity, item);
|
||||
}
|
||||
}
|
||||
|
|
@ -51,8 +51,11 @@ public class Visibility : IBehavior, IAlwaysUpdatedBehavior
|
|||
public void AlwaysUpdate(float delta)
|
||||
{
|
||||
// TODO: Time independent decay?
|
||||
Entity.VisibilitySources[this] *= Context.Evaluate(_data.VisibilityDecay, Item.EquippableItem, Entity);
|
||||
|
||||
if (Entity.VisibilitySources[this] < 0.01f) Entity.VisibilitySources.Remove(this);
|
||||
if(Entity.VisibilitySources.ContainsKey(this))
|
||||
{
|
||||
Entity.VisibilitySources[this] *= Context.Evaluate(_data.VisibilityDecay, Item.EquippableItem, Entity);
|
||||
|
||||
if (Entity.VisibilitySources[this] < 0.01f) Entity.VisibilitySources.Remove(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,11 +2,13 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
using System;
|
||||
using MessagePack;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
[Union(0, typeof(ProjectileWeaponData)),
|
||||
Union(1, typeof(LauncherData))]
|
||||
Union(1, typeof(LauncherData)),
|
||||
Union(2, typeof(ConstantWeaponData))]
|
||||
public abstract class WeaponData : BehaviorData
|
||||
{
|
||||
[InspectableField, JsonProperty("damageType"), Key(1)]
|
||||
|
|
@ -17,10 +19,93 @@ public abstract class WeaponData : BehaviorData
|
|||
|
||||
[InspectableField, JsonProperty("range"), Key(3)]
|
||||
public PerformanceStat Range = new PerformanceStat();
|
||||
|
||||
[InspectablePrefab, JsonProperty("effect"), Key(4)]
|
||||
public string EffectPrefab;
|
||||
}
|
||||
|
||||
[InspectableField, JsonProperty("burstCount"), Key(4)]
|
||||
[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
||||
public abstract class InstantWeaponData : WeaponData
|
||||
{
|
||||
[InspectableField, JsonProperty("burstCount"), Key(5)]
|
||||
public int BurstCount;
|
||||
|
||||
[InspectableField, JsonProperty("burstTime"), Key(5)]
|
||||
[InspectableField, JsonProperty("burstTime"), Key(6)]
|
||||
public PerformanceStat BurstTime = new PerformanceStat();
|
||||
}
|
||||
|
||||
public class InstantWeapon : IBehavior, IAlwaysUpdatedBehavior
|
||||
{
|
||||
private InstantWeaponData _data;
|
||||
|
||||
public int _burstCount;
|
||||
public float _burstTimer;
|
||||
|
||||
private Entity Entity { get; }
|
||||
private EquippedItem Item { get; }
|
||||
private ItemManager Context { get; }
|
||||
|
||||
public BehaviorData Data => _data;
|
||||
|
||||
public event Action OnFire;
|
||||
|
||||
private float _burstTime;
|
||||
|
||||
public InstantWeapon(ItemManager context, InstantWeaponData c, Entity entity, EquippedItem item)
|
||||
{
|
||||
Context = context;
|
||||
_data = c;
|
||||
Entity = entity;
|
||||
Item = item;
|
||||
}
|
||||
|
||||
// private void Fire()
|
||||
// {
|
||||
// Hardpoint.Temperature += _projectileWeapon.Heat.Evaluate(Hardpoint) / Hardpoint.HeatCapacity;
|
||||
// var inst = GameObject.Instantiate(_projectileWeapon.BulletPrefab).transform;
|
||||
// Physics.IgnoreCollision(Hardpoint.Ship.Ship.GetComponent<Collider>(), inst.GetComponent<Collider>());
|
||||
// var bullet = inst.GetComponent<Bullet>();
|
||||
// bullet.Target = Hardpoint.Ship.Ship.Target;
|
||||
// bullet.Source = Hardpoint.Ship.Ship.Hitpoints;
|
||||
// bullet.Lifetime = _projectileWeapon.Range.Evaluate(Hardpoint) / _projectileWeapon.Velocity.Evaluate(Hardpoint);
|
||||
// bullet.Damage = _projectileWeapon.Damage.Evaluate(Hardpoint);
|
||||
// inst.position = Hardpoint.Proxy.position;
|
||||
// inst.rotation = Hardpoint.Proxy.rotation;
|
||||
// inst.GetComponent<Rigidbody>().velocity = _projectileWeapon.Velocity.Evaluate(Hardpoint) * Vector3.RotateTowards(-inst.forward, Hardpoint.Ship.Ship.Direction, _projectileWeapon.Deflection * Mathf.Deg2Rad, 1);
|
||||
// Hardpoint.Ship.Ship.AudioSource.PlayOneShot(_projectileWeapon.Sounds.RandomElement());
|
||||
// Debug.Log($"Firing bullet {b}");
|
||||
// }
|
||||
|
||||
public bool Update(float delta)
|
||||
{
|
||||
_burstTime = Context.Evaluate(_data.BurstTime, Item.EquippableItem, Entity) / _burstCount;
|
||||
if (_burstTime < .01f)
|
||||
{
|
||||
for(int i=0; i<_data.BurstCount; i++)
|
||||
OnFire?.Invoke();
|
||||
}
|
||||
else
|
||||
{
|
||||
_burstCount = _data.BurstCount;
|
||||
Fire();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void Fire()
|
||||
{
|
||||
_burstCount--;
|
||||
_burstTimer = _burstTime;
|
||||
OnFire?.Invoke();
|
||||
}
|
||||
|
||||
public void AlwaysUpdate(float delta)
|
||||
{
|
||||
if(_burstCount > 0)
|
||||
{
|
||||
_burstTimer -= delta;
|
||||
if(_burstTimer < 0)
|
||||
Fire();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -38,6 +38,9 @@ public abstract class Entity
|
|||
|
||||
public Entity Parent;
|
||||
public List<Entity> Children = new List<Entity>();
|
||||
public Entity Target;
|
||||
|
||||
public float3 LookDirection;
|
||||
|
||||
public string Name;
|
||||
|
||||
|
|
@ -56,7 +59,7 @@ public abstract class Entity
|
|||
public HardpointData[,] Hardpoints;
|
||||
|
||||
private EquippedItem[] _orderedEquipment;
|
||||
private bool _active;
|
||||
protected bool _active;
|
||||
|
||||
public ItemManager ItemManager { get; }
|
||||
public int AssignedPopulation => PopulationAssignments.Sum(pa => pa.AssignedPopulation);
|
||||
|
|
@ -77,10 +80,13 @@ public abstract class Entity
|
|||
if(behavior is IInitializableBehavior initializableBehavior)
|
||||
initializableBehavior.Initialize();
|
||||
}
|
||||
OnActivate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void OnActivate(){}
|
||||
|
||||
public Entity(ItemManager itemManager, Zone zone, EquippableItem hull)
|
||||
{
|
||||
ItemManager = itemManager;
|
||||
|
|
@ -231,9 +237,10 @@ public abstract class Entity
|
|||
foreach (var i in itemData.Shape.Coordinates)
|
||||
{
|
||||
// If there is any gear already occupying that space, it won't fit
|
||||
// If there's a hardpoint there, it won't fit
|
||||
// Thermal items have their own layer and do not collide with gear
|
||||
var itemCoord = hullCoord + itemData.Shape.Rotate(i, item.Rotation);
|
||||
if (!hullData.InteriorCells[itemCoord] || (itemData.HardpointType == HardpointType.Thermal ? ThermalOccupancy : GearOccupancy)[itemCoord.x, itemCoord.y] != null) return false;
|
||||
if (!hullData.InteriorCells[itemCoord] || (itemData.HardpointType == HardpointType.Tool && Hardpoints[itemCoord.x, itemCoord.y] != null) || (itemData.HardpointType == HardpointType.Thermal ? ThermalOccupancy : GearOccupancy)[itemCoord.x, itemCoord.y] != null) return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -661,6 +668,9 @@ public class EquippedItem
|
|||
// EquippableItem.Durability -= delta;
|
||||
// return;
|
||||
// }
|
||||
|
||||
foreach (var behavior in Behaviors.Where(b => b is IAlwaysUpdatedBehavior).Cast<IAlwaysUpdatedBehavior>())
|
||||
behavior.AlwaysUpdate(delta);
|
||||
|
||||
foreach (var group in BehaviorGroups)
|
||||
{
|
||||
|
|
@ -670,9 +680,6 @@ public class EquippedItem
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var behavior in Behaviors.Where(b => b is IAlwaysUpdatedBehavior).Cast<IAlwaysUpdatedBehavior>())
|
||||
behavior.AlwaysUpdate(delta);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,27 @@ public class Ship : Entity
|
|||
// [IgnoreMember] public Dictionary<Targetable, float> Contacts = new Dictionary<Targetable, float>();
|
||||
// [IgnoreMember] public Targetable Target;
|
||||
public Entity HomeEntity;
|
||||
public float2 MovementDirection;
|
||||
|
||||
private Thruster[] _allThrusters;
|
||||
private Thruster[] _forwardThrusters;
|
||||
private Thruster[] _reverseThrusters;
|
||||
private Thruster[] _rightThrusters;
|
||||
private Thruster[] _leftThrusters;
|
||||
private Thruster[] _clockwiseThrusters;
|
||||
private Thruster[] _counterClockwiseThrusters;
|
||||
|
||||
protected override void OnActivate()
|
||||
{
|
||||
_allThrusters = GetBehaviors<Thruster>().ToArray();
|
||||
_forwardThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.Reversed).ToArray();
|
||||
_reverseThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.None).ToArray();
|
||||
_rightThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.CounterClockwise).ToArray();
|
||||
_leftThrusters = _allThrusters.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.Clockwise).ToArray();
|
||||
_counterClockwiseThrusters = _allThrusters.Where(x => x.Torque < -.05f).ToArray();
|
||||
_clockwiseThrusters = _allThrusters.Where(x => x.Torque > .05f).ToArray();
|
||||
}
|
||||
|
||||
public Ship(ItemManager itemManager, Zone zone, EquippableItem hull) : base(itemManager, zone, hull)
|
||||
{
|
||||
}
|
||||
|
|
@ -30,6 +50,21 @@ public class Ship : Entity
|
|||
public override void Update(float delta)
|
||||
{
|
||||
Position += Velocity * delta;
|
||||
if (_active)
|
||||
{
|
||||
foreach (var thruster in _allThrusters) thruster.Axis = 0;
|
||||
foreach (var thruster in _rightThrusters) thruster.Axis += MovementDirection.x;
|
||||
foreach (var thruster in _leftThrusters) thruster.Axis += -MovementDirection.x;
|
||||
foreach (var thruster in _forwardThrusters) thruster.Axis += MovementDirection.y;
|
||||
foreach (var thruster in _reverseThrusters) thruster.Axis += -MovementDirection.y;
|
||||
|
||||
var deltaRot = dot(normalize(LookDirection.xz), normalize(Direction).Rotate(ItemRotation.Clockwise));
|
||||
if (abs(deltaRot) < .01) deltaRot = 0;
|
||||
deltaRot = pow(abs(deltaRot), .5f) * sign(deltaRot);
|
||||
|
||||
foreach (var thruster in _clockwiseThrusters) thruster.Axis += deltaRot;
|
||||
foreach (var thruster in _counterClockwiseThrusters) thruster.Axis += -deltaRot;
|
||||
}
|
||||
base.Update(delta);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using System;
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ConfirmationDialog : PropertiesPanel
|
||||
|
|
@ -55,7 +56,7 @@ public class ConfirmationDialog : PropertiesPanel
|
|||
Confirm.gameObject.SetActive(onConfirm!=null);
|
||||
_onCancel = onCancel;
|
||||
Cancel.gameObject.SetActive(onCancel!=null);
|
||||
transform.position = Input.mousePosition;
|
||||
transform.position = Mouse.current.position.ReadValue();
|
||||
CancelClickCatcher.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,6 +104,11 @@ public static class UnityExtensions
|
|||
grad.colorKeys = keys.Select(k => new GradientColorKey(k.xyz.ToColor(), k.w)).ToArray();
|
||||
return grad;
|
||||
}
|
||||
|
||||
public static AnimationCurve ToCurve(this float4[] keys)
|
||||
{
|
||||
return new AnimationCurve(keys.Select(v => new Keyframe(v.x, v.y, v.z, v.w)).ToArray());
|
||||
}
|
||||
|
||||
public static Color ToColor(this float3 v) => new Color(v.x,v.y,v.z);
|
||||
|
||||
|
|
|
|||
BIN
Assets/Textures/Clouds.tif
(Stored with Git LFS)
Normal file
BIN
Assets/Textures/Clouds.tif
(Stored with Git LFS)
Normal file
Binary file not shown.
118
Assets/Textures/Clouds.tif.meta
Normal file
118
Assets/Textures/Clouds.tif.meta
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 03439e9aaf6fde147b3180cc862cc0d9
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 2
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Textures/SmokePuff04.png
(Stored with Git LFS)
Normal file
BIN
Assets/Textures/SmokePuff04.png
(Stored with Git LFS)
Normal file
Binary file not shown.
118
Assets/Textures/SmokePuff04.png.meta
Normal file
118
Assets/Textures/SmokePuff04.png.meta
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 00c20b20ba76f4c48a789cbe75464292
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Textures/SplatAlbedo.tif
(Stored with Git LFS)
Normal file
BIN
Assets/Textures/SplatAlbedo.tif
(Stored with Git LFS)
Normal file
Binary file not shown.
118
Assets/Textures/SplatAlbedo.tif.meta
Normal file
118
Assets/Textures/SplatAlbedo.tif.meta
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 014f8223958fab24583f73350dca0c8c
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 2
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Textures/wispySmoke.png
(Stored with Git LFS)
Normal file
BIN
Assets/Textures/wispySmoke.png
(Stored with Git LFS)
Normal file
Binary file not shown.
118
Assets/Textures/wispySmoke.png.meta
Normal file
118
Assets/Textures/wispySmoke.png.meta
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fa06303e8ff368c4ab4e9e8c1353f8ea
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 4096
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 4096
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 4096
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Textures/wispySmoke.tif
(Stored with Git LFS)
Normal file
BIN
Assets/Textures/wispySmoke.tif
(Stored with Git LFS)
Normal file
Binary file not shown.
118
Assets/Textures/wispySmoke.tif.meta
Normal file
118
Assets/Textures/wispySmoke.tif.meta
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 94b1ede4b08b71f479951e0ed9d27867
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 2
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 4096
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 4096
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 4096
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/ThrusterHardpoint.cs
Normal file
8
Assets/ThrusterHardpoint.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class ThrusterHardpoint : MonoBehaviour
|
||||
{
|
||||
public MeshRenderer Emitter;
|
||||
}
|
||||
11
Assets/ThrusterHardpoint.cs.meta
Normal file
11
Assets/ThrusterHardpoint.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 50d4c3a9c5db3ce40b91caf2ae88dabe
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/WeaponHardpoint.cs
Normal file
8
Assets/WeaponHardpoint.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class WeaponHardpoint : MonoBehaviour
|
||||
{
|
||||
public Transform[] FiringPoint;
|
||||
}
|
||||
11
Assets/WeaponHardpoint.cs.meta
Normal file
11
Assets/WeaponHardpoint.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2b6f57d9fe9e78c438112332511e7b07
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -513,6 +513,7 @@
|
|||
<Compile Include="Assets\Scripts\ServerShared\ZoneData.cs" />
|
||||
<Compile Include="Assets\Scripts\ServerShared\NIH\LinqFaster\Max.cs" />
|
||||
<Compile Include="Assets\Scripts\ServerShared\Behaviors\Heatsink.cs" />
|
||||
<Compile Include="Assets\Scripts\ServerShared\Behaviors\ConstantWeapon.cs" />
|
||||
<None Include="Assets\Scripts\ServerShared\NIH\LinqFaster\readme.txt" />
|
||||
<None Include="Assets\Scripts\ServerShared\Economy.Shared.Unity.asmdef" />
|
||||
<Reference Include="Unity.Mathematics">
|
||||
|
|
|
|||
BIN
ProjectSettings/TagManager.asset
(Stored with Git LFS)
BIN
ProjectSettings/TagManager.asset
(Stored with Git LFS)
Binary file not shown.
Loading…
Reference in a new issue