This commit is contained in:
CortexCore 2024-04-19 21:43:30 +08:00
parent e12a6e5a46
commit 3cc6491973
46 changed files with 6792 additions and 23887 deletions

View File

@ -25,7 +25,6 @@ GameObject:
- component: {fileID: 6530587526832555870} - component: {fileID: 6530587526832555870}
- component: {fileID: 5141485661909989827} - component: {fileID: 5141485661909989827}
- component: {fileID: 2332545226796783687} - component: {fileID: 2332545226796783687}
- component: {fileID: 4192408521140958198}
- component: {fileID: 4873303856304307760} - component: {fileID: 4873303856304307760}
- component: {fileID: 3517022774008000001} - component: {fileID: 3517022774008000001}
m_Layer: 6 m_Layer: 6
@ -302,8 +301,8 @@ MonoBehaviour:
allow: 0 allow: 0
value: {fileID: 0} value: {fileID: 0}
aliveRigidbody: aliveRigidbody:
allow: 1 allow: 0
value: {fileID: 4192408521140958198} value: {fileID: 0}
references: references:
version: 2 version: 2
RefIds: RefIds:
@ -449,33 +448,6 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
model: {fileID: 9103769897883780245} model: {fileID: 9103769897883780245}
texture: {fileID: 5284926372428608842} texture: {fileID: 5284926372428608842}
--- !u!54 &4192408521140958198
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1610736432900663163}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 126
m_CollisionDetection: 0
--- !u!114 &4873303856304307760 --- !u!114 &4873303856304307760
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -497,7 +469,7 @@ MonoBehaviour:
debug: 0 debug: 0
transitionOnNextFrame: 0 transitionOnNextFrame: 0
ticker: ticker:
rid: 1450174819340386308 rid: 1450174913482588160
agent: {fileID: 3691802904714930186} agent: {fileID: 3691802904714930186}
rangeSensor: {fileID: 8443497955954441676} rangeSensor: {fileID: 8443497955954441676}
audioSensor: {fileID: 4975421454249292524} audioSensor: {fileID: 4975421454249292524}
@ -507,9 +479,6 @@ MonoBehaviour:
references: references:
version: 2 version: 2
RefIds: RefIds:
- rid: 1450174819340386308
type: {class: GameTick, ns: BITKit, asm: BITKit}
data:
- rid: 1450174819340386310 - rid: 1450174819340386310
type: {class: Idle, ns: BITFALL.AI.States, asm: BITFALL.Entities.AI.Runtime} type: {class: Idle, ns: BITFALL.AI.States, asm: BITFALL.Entities.AI.Runtime}
data: data:
@ -527,6 +496,10 @@ MonoBehaviour:
Service: {fileID: 0} Service: {fileID: 0}
lostTargetTime: 16 lostTargetTime: 16
currentLostTargetTime: 0 currentLostTargetTime: 0
- rid: 1450174913482588160
type: {class: IntervalTick, ns: BITKit, asm: BITKit}
data:
interval: 0.5
--- !u!114 &3517022774008000001 --- !u!114 &3517022774008000001
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -17,7 +17,6 @@ GameObject:
- component: {fileID: 5871123967126007354} - component: {fileID: 5871123967126007354}
- component: {fileID: 1331120198016827624} - component: {fileID: 1331120198016827624}
- component: {fileID: 352663152905563935} - component: {fileID: 352663152905563935}
- component: {fileID: 6002596678981835347}
m_Layer: 0 m_Layer: 0
m_Name: Main Camera m_Name: Main Camera
m_TagString: MainCamera m_TagString: MainCamera
@ -248,18 +247,3 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
source: {fileID: 1331120198016827624} source: {fileID: 1331120198016827624}
blurredScreen: {fileID: 0} blurredScreen: {fileID: 0}
--- !u!114 &6002596678981835347
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6453993093768169961}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f76651cf35e36a143a3bb602cbf9b0e8, type: 3}
m_Name:
m_EditorClassIdentifier:
_raysCount: 1500
_raysDistribution: 1
_autoCheckChanges: 0

View File

@ -1874,12 +1874,12 @@ MonoBehaviour:
- rid: 33718037580611781 - rid: 33718037580611781
type: {class: EdgeClimb, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: EdgeClimb, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
- rid: 33718040048959493 - rid: 33718040048959493
type: {class: Vault, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Vault, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
entryCurve: entryCurve:
serializedVersion: 2 serializedVersion: 2
@ -1922,7 +1922,7 @@ MonoBehaviour:
- rid: 806583144903606804 - rid: 806583144903606804
type: {class: Knockdown, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Knockdown, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
initialCameraPosition: {x: 0, y: 0.5, z: 0} initialCameraPosition: {x: 0, y: 0.5, z: 0}
initialSize: {x: 0.5, y: 0.2} initialSize: {x: 0.5, y: 0.2}
@ -1931,7 +1931,7 @@ MonoBehaviour:
- rid: 806583348413595648 - rid: 806583348413595648
type: {class: Slide, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Slide, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
initialCameraPosition: {x: 0, y: 0.6, z: 0} initialCameraPosition: {x: 0, y: 0.6, z: 0}
initialSize: {x: 0.8, y: 1} initialSize: {x: 0.8, y: 1}
@ -1944,24 +1944,24 @@ MonoBehaviour:
- rid: 806583406218444824 - rid: 806583406218444824
type: {class: Parachute, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Parachute, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
moveDamping: 16 moveDamping: 16
damping: 12 damping: 12
- rid: 806583416685330432 - rid: 806583416685330432
type: {class: Link, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Link, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
- rid: 806583431680491650 - rid: 806583431680491650
type: {class: Fixed, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Fixed, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
- rid: 806583545631342612 - rid: 806583545631342612
type: {class: Dodge, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Dodge, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
costStamina: 16 costStamina: 16
curve: curve:
@ -1992,7 +1992,7 @@ MonoBehaviour:
- rid: 1450174866729730059 - rid: 1450174866729730059
type: {class: Crawl, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Crawl, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
initialCameraPosition: {x: 0, y: 0.5, z: 0} initialCameraPosition: {x: 0, y: 0.5, z: 0}
initialSize: {x: 0.5, y: 0.2} initialSize: {x: 0.5, y: 0.2}
@ -2004,7 +2004,7 @@ MonoBehaviour:
- rid: 6077775334095717143 - rid: 6077775334095717143
type: {class: Crouch, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Crouch, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
initialCameraPosition: {x: 0, y: 1, z: 0.36} initialCameraPosition: {x: 0, y: 1, z: 0.36}
initialSize: {x: 0.8, y: 1.2} initialSize: {x: 0.8, y: 1.2}
@ -2013,7 +2013,7 @@ MonoBehaviour:
- rid: 6077775334095717144 - rid: 6077775334095717144
type: {class: Run, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Run, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
initialCameraPosition: {x: 0, y: 1.45, z: 0.27} initialCameraPosition: {x: 0, y: 1.45, z: 0.27}
initialSize: {x: 0.8, y: 1.6} initialSize: {x: 0.8, y: 1.6}
@ -2022,7 +2022,7 @@ MonoBehaviour:
- rid: 6077775334095717145 - rid: 6077775334095717145
type: {class: Sprint, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Sprint, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
initialCameraPosition: {x: 0, y: 1.4, z: 0.27} initialCameraPosition: {x: 0, y: 1.4, z: 0.27}
initialSize: {x: 0.8, y: 1.6} initialSize: {x: 0.8, y: 1.6}
@ -2033,7 +2033,7 @@ MonoBehaviour:
- rid: 6077775334095717146 - rid: 6077775334095717146
type: {class: Walk, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Walk, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
initialCameraPosition: {x: 0, y: 1.5, z: 0.27} initialCameraPosition: {x: 0, y: 1.5, z: 0.27}
initialSize: {x: 0.8, y: 1.6} initialSize: {x: 0.8, y: 1.6}
@ -2042,7 +2042,7 @@ MonoBehaviour:
- rid: 6077775334095717177 - rid: 6077775334095717177
type: {class: Climb, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Climb, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
lerpDelta: 4 lerpDelta: 4
- rid: 6077775334095717178 - rid: 6077775334095717178
@ -2056,7 +2056,7 @@ MonoBehaviour:
- rid: 7707058125288243240 - rid: 7707058125288243240
type: {class: Clip, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro} type: {class: Clip, ns: BITFALL.Entities.Player.Movement.States, asm: BITFALL.Player.Movement.CharacterControllerPro}
data: data:
characterController: {fileID: 4784073750897180643} self: {fileID: 0}
actor: {fileID: 1821939497119884460} actor: {fileID: 1821939497119884460}
clipAction: {fileID: 0} clipAction: {fileID: 0}
clipEnv: clipEnv:
@ -2121,7 +2121,27 @@ MonoBehaviour:
type: {class: EdgeClimb, ns: BITFALL.Player.Animation.States, asm: BITFALL.Player.AnimationController} type: {class: EdgeClimb, ns: BITFALL.Player.Animation.States, asm: BITFALL.Player.AnimationController}
data: data:
edgeClimbClip: {fileID: 7400000, guid: e7cab9f039fdd224fa2d45d05950a967, type: 3} edgeClimbClip: {fileID: 7400000, guid: e7cab9f039fdd224fa2d45d05950a967, type: 3}
idleClip: {fileID: 7400000, guid: da3421cdca2fe2f4684022fac80a62bb, type: 3}
climbUpClip: {fileID: 7400000, guid: 62e0b613e47cf8346ac0f00392b751e2, type: 3} climbUpClip: {fileID: 7400000, guid: 62e0b613e47cf8346ac0f00392b751e2, type: 3}
moveMixer:
_FadeDuration: 0.25
_Events:
_NormalizedTimes: []
_Callbacks: []
_Names: []
_Speed: 1
_Animations:
- {fileID: 7400000, guid: a43d58b7febd1e24190f8957328daa4e, type: 3}
- {fileID: 7400000, guid: 55b8463b372b3a14c812eb490f0f2879, type: 3}
_Speeds: []
_SynchronizeChildren:
_Thresholds:
- -1
- 1
_DefaultParameter: 0
_ExtrapolateSpeed: 1
leftClip: {fileID: 7400000, guid: 65663d63a3939d043a7d4044bf52a928, type: 3}
rightClip: {fileID: 7400000, guid: c42527eb45545954291521c0e24fb735, type: 3}
- rid: 33718040048959495 - rid: 33718040048959495
type: {class: Vault, ns: BITFALL.Player.Animation.States, asm: BITFALL.Player.AnimationController} type: {class: Vault, ns: BITFALL.Player.Animation.States, asm: BITFALL.Player.AnimationController}
data: data:
@ -2976,7 +2996,7 @@ MonoBehaviour:
m_StreamingVersion: 20170927 m_StreamingVersion: 20170927
m_Priority: 12 m_Priority: 12
m_StandbyUpdate: 2 m_StandbyUpdate: 2
m_LookAt: {fileID: 1454371083438646063} m_LookAt: {fileID: 2648601869858448235}
m_Follow: {fileID: 3113146962952178477} m_Follow: {fileID: 3113146962952178477}
m_Lens: m_Lens:
FieldOfView: 75 FieldOfView: 75
@ -3859,7 +3879,7 @@ MonoBehaviour:
CameraDistance: 1 CameraDistance: 1
CameraCollisionFilter: CameraCollisionFilter:
serializedVersion: 2 serializedVersion: 2
m_Bits: 1 m_Bits: 0
IgnoreTag: IgnoreTag:
CameraRadius: 0.2 CameraRadius: 0.2
DampingIntoCollision: 0 DampingIntoCollision: 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -17,13 +17,19 @@ namespace BITFALL.AI.States
public abstract class AIRuntimeState : AIState public abstract class AIRuntimeState : AIState
{ {
[Inject,HideInInspector] public AIService Service; [Inject,HideInInspector] public AIService Service;
private readonly ConcurrentDictionary<ulong, bool> _friends = new(); private readonly ConcurrentDictionary<int, bool> _friends = new();
private readonly ConcurrentDictionary<ulong, bool> _enemies = new(); private readonly ConcurrentDictionary<int, bool> _enemies = new();
protected readonly HashSet<int> ignoreNoises = new(); protected readonly HashSet<int> ignoreNoises = new();
protected readonly CacheList<IEntity> detectedEnemies = new(); protected readonly CacheList<IEntity> detectedEnemies = new();
protected readonly CacheList<IEntity> hearEnemies = new(); protected readonly CacheList<IEntity> hearEnemies = new();
public bool IsFriend(IEntity target) => _friends.GetOrAdd(target.Id, IsFriendInternal); public bool IsFriend(IEntity target)
public bool IsEnemy(IEntity target) => _enemies.GetOrAdd(target.Id, IsEnemyInternal); {
return _friends.GetOrAdd(target.Id, IsFriendInternal);
}
public bool IsEnemy(IEntity target)
{
return _enemies.GetOrAdd(target.Id, IsEnemyInternal);
}
public override void OnStateUpdate(float deltaTime) public override void OnStateUpdate(float deltaTime)
{ {
base.OnStateUpdate(deltaTime); base.OnStateUpdate(deltaTime);
@ -57,7 +63,7 @@ namespace BITFALL.AI.States
} }
} }
private bool IsEnemyInternal(ulong id) private bool IsEnemyInternal(int id)
{ {
var target = UnityEntitiesService.Get(id); var target = UnityEntitiesService.Get(id);
var tags = target.As<MonoBehaviour>().GetComponent<ITag>().GetTags(); var tags = target.As<MonoBehaviour>().GetComponent<ITag>().GetTags();
@ -69,7 +75,7 @@ namespace BITFALL.AI.States
return false; return false;
} }
private bool IsFriendInternal(ulong id) private bool IsFriendInternal(int id)
{ {
var target = UnityEntitiesService.Get(id); var target = UnityEntitiesService.Get(id);
var tags = target.As<MonoBehaviour>().GetComponent<ITag>().GetTags(); var tags = target.As<MonoBehaviour>().GetComponent<ITag>().GetTags();

View File

@ -322,18 +322,18 @@ namespace BITFALL.Movement.MotionBased.States
} }
//if(colliders.Any(Blocked.IsBlocked)) //if(colliders.Any(Blocked.IsBlocked))
if (movement.colliders.Any(LocalDestinationIsBlocked)) // if (movement.colliders.Any(LocalDestinationIsBlocked))
{ // {
movement.TransitionState<Blocked>(); // movement.TransitionState<Blocked>();
return; // return;
//
} // }
return; // return;
bool LocalDestinationIsBlocked(Collider x) // bool LocalDestinationIsBlocked(Collider x)
{ // {
var direction = agent.nextPosition - movement.Position; // var direction = agent.nextPosition - movement.Position;
return Blocked.DestinationIsBlocked(x, movement.Position+movement.ViewCenter, direction.normalized); // return Blocked.DestinationIsBlocked(x, movement.Position+movement.ViewCenter, direction.normalized);
} // }
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)

View File

@ -2,6 +2,7 @@ using System;
using System.Collections; using System.Collections;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using BITKit; using BITKit;
using BITKit.Entities; using BITKit.Entities;
using BITKit.SubSystems.Quest; using BITKit.SubSystems.Quest;
@ -67,12 +68,11 @@ namespace BITFALL.GameMode
{ {
_quadtree.Remove(new MyInfo{Info = (InfoNpcStart) obj}); _quadtree.Remove(new MyInfo{Info = (InfoNpcStart) obj});
} }
private async void OnTick(float obj) private async void OnTick(float obj)
{ {
try try
{ {
if (_isBusy) return; if (_isBusy || enabled is false) return;
tickCount++; tickCount++;
_isBusy = true; _isBusy = true;
var cameraPosition = Camera.main.transform.position; var cameraPosition = Camera.main.transform.position;
@ -186,5 +186,13 @@ namespace BITFALL.GameMode
NodeQuery.RemoveUnregisterListener(typeof(InfoNpcStart), OnNpcInfoUnRegister); NodeQuery.RemoveUnregisterListener(typeof(InfoNpcStart), OnNpcInfoUnRegister);
ticker.Remove(OnTick); ticker.Remove(OnTick);
} }
private void Reset()
{
foreach (var x in actives.Values.ToArray())
{
x.Health.HealthPoint = -1;
}
}
} }
} }

View File

@ -27,7 +27,7 @@ namespace BITFALL.GameMode
[SerializeField] private int minCapacity; [SerializeField] private int minCapacity;
[SerializeField] private int maxCapacity; [SerializeField] private int maxCapacity;
private readonly HashSet<ulong> _spawnedEntities = new(); private readonly HashSet<int> _spawnedEntities = new();
private int _capacity; private int _capacity;
public IEntity Entity public IEntity Entity
{ {
@ -38,7 +38,7 @@ namespace BITFALL.GameMode
return task.AssetObject.As<GameObject>().GetComponent<IEntity>(); return task.AssetObject.As<GameObject>().GetComponent<IEntity>();
} }
} }
private readonly ConcurrentQueue<ulong> _removeQueue = new(); private readonly ConcurrentQueue<int> _removeQueue = new();
private readonly ValidHandle allowTick = new(); private readonly ValidHandle allowTick = new();
private void OnEnable() private void OnEnable()
{ {

View File

@ -52,7 +52,7 @@ namespace BITFALL.LootSystem
} }
private async void OnTick(float obj) private async void OnTick(float obj)
{ {
if (_isBusy) return; if (_isBusy||enabled is false) return;
_isBusy = true; _isBusy = true;
tickCount++; tickCount++;
var cameraPosition = Camera.main.transform.position; var cameraPosition = Camera.main.transform.position;

View File

@ -57,7 +57,7 @@ namespace BITFALL.Combat
Debug.DrawLine(command.Position, command.Position + command.Forward * command.Range, Color.red, 1f); Debug.DrawLine(command.Position, command.Position + command.Forward * command.Range, Color.red, 1f);
var colliders = Physics.OverlapSphere(command.Position, command.Range,detectLayer); var colliders = Physics.OverlapSphere(command.Position, command.Range,detectLayer);
var _damaged = new Dictionary<ulong, IUnityEntity>(); var _damaged = new Dictionary<int, IUnityEntity>();
var hits = colliders var hits = colliders
.Where(x => x.GetComponent<IDamagable>() is not null) .Where(x => x.GetComponent<IDamagable>() is not null)
//.Where(x => MathV.IsForward(command.Position, command.Forward, x.transform.position)) //.Where(x => MathV.IsForward(command.Position, command.Forward, x.transform.position))

View File

@ -33,7 +33,8 @@ namespace BITFALL.Entities.Player.Movement
[CustomType(typeof(IEntityMovement))] [CustomType(typeof(IEntityMovement))]
[CustomType(typeof(IPlayerMovement))] [CustomType(typeof(IPlayerMovement))]
[CustomType(typeof(ISensorTarget))] [CustomType(typeof(ISensorTarget))]
public class PlayerCharacterController : StateBasedPlayerBehavior<IEntityMovementState> [CustomType(typeof(PlayerCharacterController))]
public class PlayerCharacterController : StateBasedBehavior<IEntityMovementState>
,IEntityMovement ,IEntityMovement
,IPlayerMovement ,IPlayerMovement
,IEntityBinaryComponent ,IEntityBinaryComponent
@ -147,7 +148,7 @@ namespace BITFALL.Entities.Player.Movement
[Inject] [Inject]
private IHealth _health; private IHealth _health;
[Inject] [Inject]
private InputActionGroup _inputActionGroup; internal InputActionGroup inputActionGroup;
[Inject] [Inject]
private IKnockdown _knockdown; private IKnockdown _knockdown;
[Inject] [Inject]
@ -191,12 +192,12 @@ namespace BITFALL.Entities.Player.Movement
TransitionState<Walk>(); TransitionState<Walk>();
_inputActionGroup.RegisterCallback(movementAction, OnMovement); inputActionGroup.RegisterCallback(movementAction, OnMovement);
_inputActionGroup.RegisterCallback(viewAction, OnView); inputActionGroup.RegisterCallback(viewAction, OnView);
_inputActionGroup.RegisterCallback(jumpAction, OnJump); inputActionGroup.RegisterCallback(jumpAction, OnJump);
_inputActionGroup.RegisterCallback(crouchAction, OnCrouch); inputActionGroup.RegisterCallback(crouchAction, OnCrouch);
_inputActionGroup.RegisterCallback(runAction, OnRun); inputActionGroup.RegisterCallback(runAction, OnRun);
_inputActionGroup.RegisterCallback(crawlAction, OnCrawl); inputActionGroup.RegisterCallback(crawlAction, OnCrawl);
} }
private void OnCrawl(InputAction.CallbackContext obj) private void OnCrawl(InputAction.CallbackContext obj)
@ -259,7 +260,7 @@ namespace BITFALL.Entities.Player.Movement
{ {
if (MovementInput.z > 0) if (MovementInput.z > 0)
{ {
if (_inputActionGroup.GetAction(runAction).IsPressed()) if (inputActionGroup.GetAction(runAction).IsPressed())
{ {
ExpectRun.shouldBe = true; ExpectRun.shouldBe = true;
} }
@ -270,7 +271,7 @@ namespace BITFALL.Entities.Player.Movement
ExpectSprint.Reset(); ExpectSprint.Reset();
} }
} }
else if (MovementInput == default && _inputActionGroup.GetAction(runAction).IsPressed() is false) else if (MovementInput == default && inputActionGroup.GetAction(runAction).IsPressed() is false)
{ {
ExpectRun.Reset(); ExpectRun.Reset();
ExpectSprint.Reset(); ExpectSprint.Reset();
@ -279,7 +280,7 @@ namespace BITFALL.Entities.Player.Movement
{ {
ExpectRun.Reset(); ExpectRun.Reset();
ExpectSprint.Reset(); ExpectSprint.Reset();
}else if (MovementInput.z > 0 && _inputActionGroup.GetAction(runAction).IsPressed()) }else if (MovementInput.z > 0 && inputActionGroup.GetAction(runAction).IsPressed())
{ {
ExpectRun.shouldBe = true; ExpectRun.shouldBe = true;
} }
@ -410,6 +411,7 @@ namespace BITFALL.Entities.Player.Movement
{ {
{ interaction: PressInteraction, performed: true } => true, { interaction: PressInteraction, performed: true } => true,
{ interaction: PressInteraction, canceled: true } => false, { interaction: PressInteraction, canceled: true } => false,
_ when CurrentState is EdgeClimb => false,
_ => RequestClimb _ => RequestClimb
}; };

View File

@ -1,4 +1,5 @@
using BITFALL.Player.Movement; using BITFALL.Player.Movement;
using BITKit;
using BITKit.Entities; using BITKit.Entities;
using BITKit.StateMachine; using BITKit.StateMachine;
using Lightbug.CharacterControllerPro.Core; using Lightbug.CharacterControllerPro.Core;
@ -8,13 +9,13 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
public abstract class PlayerCharacterState : IEntityMovementState public abstract class PlayerCharacterState : IEntityMovementState
{ {
[SerializeField] protected PlayerCharacterController characterController; [Inject] public PlayerCharacterController self;
[SerializeField] protected CharacterActor actor; [SerializeField] protected CharacterActor actor;
private IEntityMovementState entryState; private IEntityMovementState entryState;
public bool Enabled { get; set; } public bool Enabled { get; set; }
public virtual void Initialize() public virtual void Initialize()
{ {
characterController.UnityEntity.Inject(this);
} }
public virtual void OnStateEntry(IState old) public virtual void OnStateEntry(IState old)
@ -53,24 +54,24 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
if ( entryState is not null) if ( entryState is not null)
{ {
if ( entryState is IPlayerWalkState or IPlayerRunState or IPlayerSprintState && characterController.topBlocked ) if ( entryState is IPlayerWalkState or IPlayerRunState or IPlayerSprintState && self.topBlocked )
{ {
characterController.TransitionState<Crouch>(); self.TransitionState<Crouch>();
} }
else else
{ {
characterController.TransitionState(entryState); self.TransitionState(entryState);
} }
} }
else else
{ {
if (characterController.topBlocked) if (self.topBlocked)
{ {
characterController.TransitionState<Crouch>(); self.TransitionState<Crouch>();
} }
else else
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
} }
} }
} }

View File

@ -33,29 +33,29 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
actor.SetSize(initialSize,CharacterActor.SizeReferenceType.Bottom); actor.SetSize(initialSize,CharacterActor.SizeReferenceType.Bottom);
characterController.ReferenceSpeed = initialSpeed; self.ReferenceSpeed = initialSpeed;
} }
public override void BeforeUpdateMovement(float deltaTime) public override void BeforeUpdateMovement(float deltaTime)
{ {
characterController.CurrentCameraPosition.shouldBe = initialCameraPosition; self.CurrentCameraPosition.shouldBe = initialCameraPosition;
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
if (knockdown.IsKnockdown) if (knockdown.IsKnockdown)
{ {
characterController.TransitionState<Knockdown>(); self.TransitionState<Knockdown>();
} }
if (knockdown.IsKnockdown is false && characterController.ExpectParachute.shouldBe) if (knockdown.IsKnockdown is false && self.ExpectParachute.shouldBe)
{ {
characterController.TransitionState<Parachute>(); self.TransitionState<Parachute>();
characterController.ExpectParachute.Reset(); self.ExpectParachute.Reset();
} }
if (characterController.RequestClimb is false) return; if (self.RequestClimb is false) return;
if(characterController.topBlocked)return; if(self.topBlocked)return;
// if (characterController.topBlocked is false && characterController.RequestClimb && // if (characterController.topBlocked is false && characterController.RequestClimb &&
// characterController.climbClosePoint.TryGetClosePoint(out var closePoint)) // characterController.climbClosePoint.TryGetClosePoint(out var closePoint))
@ -65,37 +65,37 @@ namespace BITFALL.Entities.Player.Movement.States
// return; // return;
// } // }
if (characterController.vaultPoint.TryGetClosePoint(out var closePoint)) if (self.vaultPoint.TryGetClosePoint(out var closePoint))
{ {
characterController.ExpectClimb.shouldBe = closePoint; self.ExpectClimb.shouldBe = closePoint;
characterController.TransitionState<Vault>(); self.TransitionState<Vault>();
characterController.ExpectJump.Reset(); self.ExpectJump.Reset();
characterController.RequestClimb = false; self.RequestClimb = false;
return; return;
} }
if (characterController.climbClosePoint.TryGetClosePoint(out closePoint)) if (self.climbClosePoint.TryGetClosePoint(out closePoint))
{ {
characterController.ExpectClimb.shouldBe = closePoint; self.ExpectClimb.shouldBe = closePoint;
characterController.TransitionState<Climb>(); self.TransitionState<Climb>();
characterController.ExpectJump.Reset(); self.ExpectJump.Reset();
characterController.RequestClimb = false; self.RequestClimb = false;
return; return;
} }
if (characterController.edgeClimbPoint.TryGetClosePoint(out closePoint)) if (self.edgeClimbPoint.TryGetClosePoint(out closePoint))
{ {
characterController.ExpectClimb.shouldBe = closePoint; self.ExpectClimb.shouldBe = closePoint;
characterController.TransitionState<EdgeClimb>();characterController.ExpectJump.Reset(); self.TransitionState<EdgeClimb>();self.ExpectJump.Reset();
characterController.RequestClimb = false; self.RequestClimb = false;
return; return;
} }
} }
public override void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime) public override void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime)
{ {
var rotation = Quaternion.Euler(0, characterController.LookInput.y, 0); var rotation = Quaternion.Euler(0, self.LookInput.y, 0);
var movementInput = characterController.MovementInput; var movementInput = self.MovementInput;
if (_cameraService?.IsCameraActivated is false) if (_cameraService?.IsCameraActivated is false)
{ {
@ -103,7 +103,7 @@ namespace BITFALL.Entities.Player.Movement.States
} }
var moveVelocity = rotation * new Vector3( var moveVelocity = rotation * new Vector3(
movementInput.x * Mathf.Min(characterController.initialSpeed, initialSpeed), movementInput.x * Mathf.Min(self.initialSpeed, initialSpeed),
0, 0,
movementInput.z * initialSpeed movementInput.z * initialSpeed
); );
@ -112,18 +112,18 @@ namespace BITFALL.Entities.Player.Movement.States
moveVelocity = rotation * movementInput * initialSpeed; moveVelocity = rotation * movementInput * initialSpeed;
} }
if (characterController.limitSpeed.Allow) if (self.limitSpeed.Allow)
{ {
switch (characterController.CurrentState) switch (self.CurrentState)
{ {
case IPlayerWalkState: case IPlayerWalkState:
case IPlayerCrouchState: case IPlayerCrouchState:
moveVelocity = Vector3.ClampMagnitude(moveVelocity, characterController.limitSpeed.Value); moveVelocity = Vector3.ClampMagnitude(moveVelocity, self.limitSpeed.Value);
break; break;
} }
} }
if (characterController.IsGrounded) if (self.IsGrounded)
{ {
var effectiveGroundNormal = actor.GroundStableNormal; var effectiveGroundNormal = actor.GroundStableNormal;
@ -139,7 +139,7 @@ namespace BITFALL.Entities.Player.Movement.States
Vector3.Lerp(currentVelocity, targetMovementVelocity, 1f - Mathf.Exp(-16 * deltaTime)); Vector3.Lerp(currentVelocity, targetMovementVelocity, 1f - Mathf.Exp(-16 * deltaTime));
currentVelocity = newVelocity; currentVelocity = newVelocity;
if (characterController.ExpectJump.shouldBe) if (self.ExpectJump.shouldBe)
{ {
actor.ForceNotGrounded(); actor.ForceNotGrounded();
@ -151,14 +151,14 @@ namespace BITFALL.Entities.Player.Movement.States
currentVelocity.y+= initialJumpForce; currentVelocity.y+= initialJumpForce;
characterController.ExpectJump.Reset(); self.ExpectJump.Reset();
characterController.ExecuteCommand<OnPlayerJumpCommand>(); self.ExecuteCommand<OnPlayerJumpCommand>();
} }
} }
else else
{ {
if (moveVelocity.sqrMagnitude > 0f && characterController.landFreeze.AllowUpdateWithoutReset) if (moveVelocity.sqrMagnitude > 0f && self.landFreeze.AllowUpdateWithoutReset)
{ {
var addedVelocity = moveVelocity * (3 * deltaTime); var addedVelocity = moveVelocity * (3 * deltaTime);
@ -212,7 +212,7 @@ namespace BITFALL.Entities.Player.Movement.States
public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime) public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
{ {
var newRotation = Quaternion.Euler(0, characterController.LookInput.y, 0); var newRotation = Quaternion.Euler(0, self.LookInput.y, 0);
@ -221,36 +221,36 @@ namespace BITFALL.Entities.Player.Movement.States
if (Physics.Raycast(_cameraService.CameraPosition, _cameraService.CameraRotation * Vector3.forward, if (Physics.Raycast(_cameraService.CameraPosition, _cameraService.CameraRotation * Vector3.forward,
out var hit, 256, LayerMask.GetMask("Default"), QueryTriggerInteraction.Ignore)) out var hit, 256, LayerMask.GetMask("Default"), QueryTriggerInteraction.Ignore))
{ {
characterController.ViewForward = (hit.point - (characterController.Position + self.ViewForward = (hit.point - (self.Position +
characterController.Rotation * self.Rotation *
characterController.ViewCenter)).normalized; self.ViewCenter)).normalized;
newRotation = Quaternion.LookRotation(characterController.ViewForward); newRotation = Quaternion.LookRotation(self.ViewForward);
characterController.ViewRotation = newRotation; self.ViewRotation = newRotation;
characterController.FocusPoint = hit.point; self.FocusPoint = hit.point;
Debug.DrawLine(_cameraService.CameraPosition, hit.point, Color.green, 0.1f); Debug.DrawLine(_cameraService.CameraPosition, hit.point, Color.green, 0.1f);
Debug.DrawLine(characterController.Position + characterController.ViewCenter, Debug.DrawLine(self.Position + self.ViewCenter,
characterController.Position + self.Position +
characterController.ViewCenter + characterController.ViewRotation * Vector3.forward self.ViewCenter + self.ViewRotation * Vector3.forward
, Color.blue, 0.1f); , Color.blue, 0.1f);
} }
else else
{ {
characterController.ViewRotation = Quaternion.Euler(characterController.LookInput);; self.ViewRotation = Quaternion.Euler(self.LookInput);;
characterController.FocusPoint = characterController.Position + self.FocusPoint = self.Position +
characterController.ViewRotation * Vector3.forward * 256; self.ViewRotation * Vector3.forward * 256;
Debug.DrawLine(_cameraService.CameraPosition, _cameraService.CameraRotation * Vector3.forward, Debug.DrawLine(_cameraService.CameraPosition, _cameraService.CameraRotation * Vector3.forward,
Color.red, 0.1f); Color.red, 0.1f);
} }
var rotationDirection = _cameraService.CameraRotation * characterController.MovementInput; var rotationDirection = _cameraService.CameraRotation * self.MovementInput;
rotationDirection = Vector3.ProjectOnPlane(rotationDirection, Vector3.up); rotationDirection = Vector3.ProjectOnPlane(rotationDirection, Vector3.up);
if (rotationDirection.sqrMagnitude >= 0.16f) if (rotationDirection.sqrMagnitude >= 0.16f)
{ {
@ -258,7 +258,7 @@ namespace BITFALL.Entities.Player.Movement.States
currentRotation = Quaternion.Lerp(currentRotation, newPlayerRotation, 1f - Mathf.Exp(-16 * deltaTime)); currentRotation = Quaternion.Lerp(currentRotation, newPlayerRotation, 1f - Mathf.Exp(-16 * deltaTime));
} }
if (characterController.allowFocus) if (self.allowFocus)
{ {
currentRotation = currentRotation =
Quaternion.LookRotation(_cameraService.CameraRotation * Vector3.forward, Vector3.up); Quaternion.LookRotation(_cameraService.CameraRotation * Vector3.forward, Vector3.up);
@ -279,16 +279,16 @@ namespace BITFALL.Entities.Player.Movement.States
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
base.AfterUpdateMovement(deltaTime); base.AfterUpdateMovement(deltaTime);
if (characterController.CurrentState != this) return; if (self.CurrentState != this) return;
switch (characterController.ExpectRun.shouldBe, characterController.ExpectCrouch.shouldBe) switch (self.ExpectRun.shouldBe, self.ExpectCrouch.shouldBe)
{ {
case (_,_) when characterController.topBlocked && characterController.IsGrounded: case (_,_) when self.topBlocked && self.IsGrounded:
case (_, true): case (_, true):
characterController.TransitionState<Crouch>(); self.TransitionState<Crouch>();
return; return;
case (true, false) when characterController.pauseRun.Allow is false && case (true, false) when self.pauseRun.Allow is false &&
characterController.MovementInput.z > 0: self.MovementInput.z > 0:
characterController.TransitionState<Run>(); self.TransitionState<Run>();
return; return;
} }
} }
@ -300,17 +300,17 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
_equipService.AllowEquip.AddDisableElements(this); _equipService.AllowEquip.AddDisableElements(this);
characterController.LimitViewAngle = 20; self.LimitViewAngle = 20;
base.OnStateEntry(old); base.OnStateEntry(old);
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
if (actor.IsGrounded is false) if (actor.IsGrounded is false)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
} }
public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime) public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
@ -323,7 +323,7 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateExit(IState old, IState newState) public override void OnStateExit(IState old, IState newState)
{ {
base.OnStateExit(old, newState); base.OnStateExit(old, newState);
characterController.LimitViewAngle = 0; self.LimitViewAngle = 0;
_equipService.AllowEquip.RemoveDisableElements(this); _equipService.AllowEquip.RemoveDisableElements(this);
} }
} }
@ -338,7 +338,7 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
characterController.InvokeOpenParachute(); self.InvokeOpenParachute();
_equipService.AllowEquip.AddDisableElements(this); _equipService.AllowEquip.AddDisableElements(this);
var velocity = actor.Velocity; var velocity = actor.Velocity;
@ -349,20 +349,20 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateExit(IState old, IState newState) public override void OnStateExit(IState old, IState newState)
{ {
base.OnStateExit(old, newState); base.OnStateExit(old, newState);
characterController.InvokeCloseParachute(); self.InvokeCloseParachute();
_equipService.AllowEquip.RemoveDisableElements(this); _equipService.AllowEquip.RemoveDisableElements(this);
} }
public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime) public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
{ {
currentRotation = Quaternion.Euler(0,characterController.LookInput.y,0); currentRotation = Quaternion.Euler(0,self.LookInput.y,0);
} }
public override void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime) public override void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime)
{ {
var rotation = Quaternion.Euler(0,characterController.LookInput.y,0); var rotation = Quaternion.Euler(0,self.LookInput.y,0);
var moveVelocity = rotation * characterController.MovementInput; var moveVelocity = rotation * self.MovementInput;
currentVelocity.y = currentVelocity.y =
Mathf.MoveTowards( Mathf.MoveTowards(
currentVelocity.y, currentVelocity.y,
@ -377,10 +377,10 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
if (actor.IsGrounded) if (actor.IsGrounded)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
} }
characterController.ExpectParachute.Reset(); self.ExpectParachute.Reset();
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
} }
} }
[Serializable] [Serializable]
@ -388,12 +388,12 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
characterController.ExpectRun.being = true; self.ExpectRun.being = true;
} }
public override void OnStateExit(IState old, IState newState) public override void OnStateExit(IState old, IState newState)
{ {
characterController.ExpectRun.being = false; self.ExpectRun.being = false;
} }
public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime) public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
@ -407,7 +407,7 @@ namespace BITFALL.Entities.Player.Movement.States
var baseRotation = Quaternion.identity; var baseRotation = Quaternion.identity;
base.UpdateRotation(ref baseRotation, deltaTime); base.UpdateRotation(ref baseRotation, deltaTime);
var targetRotation = Quaternion.LookRotation(baseRotation * characterController.MovementInput); var targetRotation = Quaternion.LookRotation(baseRotation * self.MovementInput);
float maxAngleDelta = 30; // 你可以根据需要调整最大角度差值 float maxAngleDelta = 30; // 你可以根据需要调整最大角度差值
float maxDeltaMagnitude = Mathf.Sin(Mathf.Deg2Rad * maxAngleDelta / 2); float maxDeltaMagnitude = Mathf.Sin(Mathf.Deg2Rad * maxAngleDelta / 2);
@ -431,52 +431,52 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateUpdate(float deltaTime) public override void OnStateUpdate(float deltaTime)
{ {
base.OnStateUpdate(deltaTime); base.OnStateUpdate(deltaTime);
AudioSensorService.MakeNoise(actor.Position,characterController.transform,3,new MovementNoise()); AudioSensorService.MakeNoise(actor.Position,self.transform,3,new MovementNoise());
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
base.AfterUpdateMovement(deltaTime); base.AfterUpdateMovement(deltaTime);
switch (characterController.CurrentState) switch (self.CurrentState)
{ {
case Walk: case Walk:
case Run: case Run:
case Sprint: case Sprint:
case Crouch: case Crouch:
switch (characterController.ExpectRun.shouldBe, characterController.ExpectCrouch.shouldBe) switch (self.ExpectRun.shouldBe, self.ExpectCrouch.shouldBe)
{ {
case (_, true): case (_, true):
characterController.TransitionState<Crouch>(); self.TransitionState<Crouch>();
return; return;
case (false, false): case (false, false):
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
if (_cameraService.IsCameraActivated) if (_cameraService.IsCameraActivated)
{ {
if (characterController.MovementInput.z <= 0) if (self.MovementInput.z <= 0)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
} }
else else
{ {
if (characterController.MovementInput == default) if (self.MovementInput == default)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
} }
if (characterController.pauseRun.Allow) if (self.pauseRun.Allow)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
if (characterController.ExpectSprint.shouldBe && characterController.MovementInput.z > 0) if (self.ExpectSprint.shouldBe && self.MovementInput.z > 0)
{ {
characterController.TransitionState<Sprint>(); self.TransitionState<Sprint>();
return; return;
} }
break; break;
@ -488,7 +488,7 @@ namespace BITFALL.Entities.Player.Movement.States
if (Enabled is false) return; if (Enabled is false) return;
if (command is PlayerCancelRunCommand) if (command is PlayerCancelRunCommand)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
} }
} }
} }
@ -505,9 +505,9 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
characterController.ExpectCrouch.being = true; self.ExpectCrouch.being = true;
characterController.ExpectCrouch.shouldBe = true; self.ExpectCrouch.shouldBe = true;
characterController.ExecuteCommand<PlayerCancelRunCommand>(); self.ExecuteCommand<PlayerCancelRunCommand>();
_addedVelocity = false; _addedVelocity = false;
} }
@ -532,21 +532,21 @@ namespace BITFALL.Entities.Player.Movement.States
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
if (characterController.ExpectRun.shouldBe) if (self.ExpectRun.shouldBe)
{ {
characterController.TransitionState<Run>(); self.TransitionState<Run>();
return; return;
} }
if (characterController.ExpectCrouch.shouldBe is false || (alwaysSlide is false && actor.IsGrounded is false)) if (self.ExpectCrouch.shouldBe is false || (alwaysSlide is false && actor.IsGrounded is false))
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
if (actor.Velocity.sqrMagnitude <= stopSpeed) if (actor.Velocity.sqrMagnitude <= stopSpeed)
{ {
characterController.TransitionState<Crouch>(); self.TransitionState<Crouch>();
} }
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
} }
} }
[Serializable] [Serializable]
@ -556,35 +556,35 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
characterController.ExpectCrouch.being = true; self.ExpectCrouch.being = true;
standInterval.Reset(); standInterval.Reset();
} }
public override void OnStateExit(IState old, IState newState) public override void OnStateExit(IState old, IState newState)
{ {
characterController.ExpectCrouch.being = false; self.ExpectCrouch.being = false;
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
base.AfterUpdateMovement(deltaTime); base.AfterUpdateMovement(deltaTime);
if(characterController.topBlocked)standInterval.Reset(); if(self.topBlocked)standInterval.Reset();
if (characterController.ExpectRun.shouldBe) if (self.ExpectRun.shouldBe)
{ {
characterController.TransitionState<Run>(); self.TransitionState<Run>();
return; return;
} }
if (characterController.ExpectCrouch.shouldBe is false) if (self.ExpectCrouch.shouldBe is false)
{ {
if (characterController.topBlocked) if (self.topBlocked)
{ {
} }
else if(standInterval.AllowUpdateWithoutReset) else if(standInterval.AllowUpdateWithoutReset)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
} }
return; return;
} }
@ -597,11 +597,11 @@ namespace BITFALL.Entities.Player.Movement.States
[SerializeField] private int staminaCost = 1; [SerializeField] private int staminaCost = 1;
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
characterController.ExpectSprint.being = true; self.ExpectSprint.being = true;
} }
public override void OnStateExit(IState old, IState newState) public override void OnStateExit(IState old, IState newState)
{ {
characterController.ExpectSprint.being = false; self.ExpectSprint.being = false;
} }
public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime) public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
@ -614,7 +614,7 @@ namespace BITFALL.Entities.Player.Movement.States
var baseRotation = Quaternion.identity; var baseRotation = Quaternion.identity;
base.UpdateRotation(ref baseRotation, deltaTime); base.UpdateRotation(ref baseRotation, deltaTime);
var targetRotation = Quaternion.LookRotation(baseRotation * characterController.MovementInput); var targetRotation = Quaternion.LookRotation(baseRotation * self.MovementInput);
float maxAngleDelta = 30; // 你可以根据需要调整最大角度差值 float maxAngleDelta = 30; // 你可以根据需要调整最大角度差值
float maxDeltaMagnitude = Mathf.Sin(Mathf.Deg2Rad * maxAngleDelta / 2); float maxDeltaMagnitude = Mathf.Sin(Mathf.Deg2Rad * maxAngleDelta / 2);
@ -636,35 +636,35 @@ namespace BITFALL.Entities.Player.Movement.States
} }
public override void OnStateUpdate(float deltaTime) public override void OnStateUpdate(float deltaTime)
{ {
if (actor.IsGrounded && actor.Velocity.GetLength() > characterController.initialSpeed/2) if (actor.IsGrounded && actor.Velocity.GetLength() > self.initialSpeed/2)
characterController.Stamina -= staminaCost * deltaTime; self.Stamina -= staminaCost * deltaTime;
AudioSensorService.MakeNoise(actor.Position,characterController.transform); AudioSensorService.MakeNoise(actor.Position,self.transform);
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
base.AfterUpdateMovement(deltaTime); base.AfterUpdateMovement(deltaTime);
if (Enabled is false) return; if (Enabled is false) return;
if (characterController.pauseRun.Allow) if (self.pauseRun.Allow)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
switch (characterController.ExpectRun.shouldBe,characterController.ExpectCrouch.shouldBe) switch (self.ExpectRun.shouldBe,self.ExpectCrouch.shouldBe)
{ {
case (_,_) when characterController.Stamina is 0: case (_,_) when self.Stamina is 0:
characterController.ExpectSprint.Reset(); self.ExpectSprint.Reset();
characterController.TransitionState<Run>(); self.TransitionState<Run>();
return; return;
case (_,true) when characterController.IsGrounded && characterController.Stamina > 0: case (_,true) when self.IsGrounded && self.Stamina > 0:
characterController.Stamina -= slideCost; self.Stamina -= slideCost;
characterController.TransitionState<Slide>(); self.TransitionState<Slide>();
return; return;
case (_,true): case (_,true):
characterController.TransitionState<Crouch>(); self.TransitionState<Crouch>();
return; return;
case (true,false) when characterController.MovementInput.z <=0: case (true,false) when self.MovementInput.z <=0:
case (false,false): case (false,false):
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
return; return;
} }
} }
@ -672,7 +672,7 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
if (Enabled is false) return; if (Enabled is false) return;
if(command is PlayerCancelRunCommand) if(command is PlayerCancelRunCommand)
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
} }
} }
@ -708,16 +708,16 @@ namespace BITFALL.Entities.Player.Movement.States
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
base.AfterUpdateMovement(deltaTime); base.AfterUpdateMovement(deltaTime);
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
} }
private void OnRevive() private void OnRevive()
{ {
if(Enabled)characterController.TransitionState<Walk>(); if(Enabled)self.TransitionState<Walk>();
} }
private void OnKnockdown() private void OnKnockdown()
{ {
characterController.TransitionState<Knockdown>(); self.TransitionState<Knockdown>();
} }
} }
[Serializable] [Serializable]
@ -745,7 +745,7 @@ namespace BITFALL.Entities.Player.Movement.States
_clipAction = _ClipAction; _clipAction = _ClipAction;
characterController.destroyCancellationToken.Register(() => self.destroyCancellationToken.Register(() =>
{ {
Data.RemoveListender<bool>(clipEnv.Value, OnClip); Data.RemoveListender<bool>(clipEnv.Value, OnClip);
}); });
@ -763,11 +763,11 @@ namespace BITFALL.Entities.Player.Movement.States
if(_health.IsAlive is false) return; if(_health.IsAlive is false) return;
if (obj && Enabled is false) if (obj && Enabled is false)
{ {
characterController.TransitionState<Clip>(); self.TransitionState<Clip>();
//BIT4Log.Log<Clip>("NoClip Enabled"); //BIT4Log.Log<Clip>("NoClip Enabled");
}else if (Enabled && obj is false) }else if (Enabled && obj is false)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
//BIT4Log.Log<Clip>("NoClip Disabled"); //BIT4Log.Log<Clip>("NoClip Disabled");
} }
} }
@ -776,7 +776,7 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
if (Enabled && obj is false) if (Enabled && obj is false)
{ {
characterController.TransitionState<Walk>(); self.TransitionState<Walk>();
} }
} }
@ -798,12 +798,12 @@ namespace BITFALL.Entities.Player.Movement.States
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
base.AfterUpdateMovement(deltaTime); base.AfterUpdateMovement(deltaTime);
actor.Position += characterController.ViewRotation * characterController.MovementInput * ( actor.Position += self.ViewRotation * self.MovementInput * (
deltaTime * (_inputActionGroup.GetAction(characterController.RunAction).IsPressed() deltaTime * (_inputActionGroup.GetAction(self.RunAction).IsPressed()
? 8 ? 8
: characterController.initialSpeed : self.initialSpeed
)); ));
actor.Rotation = Quaternion.Euler(0,characterController.LookInput.y,0); actor.Rotation = Quaternion.Euler(0,self.LookInput.y,0);
} }
} }
} }

View File

@ -55,7 +55,7 @@ namespace BITFALL.Entities.Player.Movement.States
_normalizedTime = 0; _normalizedTime = 0;
_manualUpdate = false; _manualUpdate = false;
characterController.LimitViewAngle = 45; self.LimitViewAngle = 45;
actor.ForceNotGrounded(); actor.ForceNotGrounded();
@ -73,18 +73,18 @@ namespace BITFALL.Entities.Player.Movement.States
actor.IsKinematic = false; actor.IsKinematic = false;
actor.UseRootMotion = false; actor.UseRootMotion = false;
if (characterController.vaultPoint is GetVaultPointFromCollider vaultPoint) if (self.vaultPoint is GetVaultPointFromCollider vaultPoint)
{ {
actor.Position = vaultPoint.EndPosition-Vector3.up*0.64f; actor.Position = vaultPoint.EndPosition-Vector3.up*0.64f;
} }
characterController.LimitViewAngle = 0; self.LimitViewAngle = 0;
//actor.Velocity = lastVelocity; //actor.Velocity = lastVelocity;
//actor.ForceGrounded(); //actor.ForceGrounded();
characterController.ExpectJump.Reset(); self.ExpectJump.Reset();
characterController.RequestClimb = false; self.RequestClimb = false;
_normalizedTime = 0; _normalizedTime = 0;
_manualUpdate = false; _manualUpdate = false;
@ -132,11 +132,11 @@ namespace BITFALL.Entities.Player.Movement.States
// characterController.ExpectClimb.shouldBe - Vector3.up * 0.64f, // characterController.ExpectClimb.shouldBe - Vector3.up * 0.64f,
// 4f // 4f
// ); // );
var endPos = characterController.ExpectClimb.shouldBe - Vector3.up * 0.64f; var endPos = self.ExpectClimb.shouldBe - Vector3.up * 0.64f;
var t = entryCurve.Evaluate(_elapsedTime); var t = entryCurve.Evaluate(_elapsedTime);
actor.Position = Vector3.Lerp(_entryPosition, endPos, t); actor.Position = Vector3.Lerp(_entryPosition, endPos, t);
break; break;
case 1 when characterController.vaultPoint is GetVaultPointFromCollider vaultPoint: case 1 when self.vaultPoint is GetVaultPointFromCollider vaultPoint:
var newPos = var newPos =
Vector3.Lerp( Vector3.Lerp(
vaultPoint.StartPosition, vaultPoint.StartPosition,
@ -165,6 +165,9 @@ namespace BITFALL.Entities.Player.Movement.States
public int Phase { get; set; } public int Phase { get; set; }
[Inject] private IEquipService _equipService; [Inject] private IEquipService _equipService;
private Collider _collider;
private Quaternion rotation;
private Transform _chest;
public bool ManualCancel() public bool ManualCancel()
{ {
if (Enabled is false) return false; if (Enabled is false) return false;
@ -176,15 +179,41 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
_collider = self.edgeClimbPoint.Collider;
//Debug.DrawRay(actor.Position+Vector3.up,_collider.ClosestPoint(actor.Position)-(actor.Position+Vector3.up),Color.green,8f);
if(_collider.Raycast(new Ray(actor.Position, _collider.ClosestPoint(actor.Position)-actor.Position), out var hit, 8))
{
rotation =Quaternion.LookRotation(hit.normal) * Quaternion.Euler(0,180,0);
}
else
{
rotation = actor.Rotation;
}
_chest = self.GetComponent<Animator>().GetBoneTransform(HumanBodyBones.UpperChest);
actor.alwaysNotGrounded = true; actor.alwaysNotGrounded = true;
actor.ColliderComponent.enabled = false; actor.ColliderComponent.enabled = false;
actor.UseRootMotion = true; actor.UseRootMotion = true;
characterController.LimitViewAngle = 45; self.LimitViewAngle = 45;
Phase = 1; Phase = 0;
_equipService.AllowEquip.AddDisableElements(this); _equipService.AllowEquip.AddDisableElements(this);
self.inputActionGroup.RegisterCallback(self.JumpAction, OnJump);
}
private void OnJump(InputAction.CallbackContext obj)
{
switch (obj)
{
case {interaction:PressInteraction,performed:true}:
Exit();
actor.Velocity += actor.Up * 8 + -actor.Forward*3;
self.RequestClimb = false;
return;
}
} }
public override void OnStateExit(IState old, IState newState) public override void OnStateExit(IState old, IState newState)
@ -195,9 +224,11 @@ namespace BITFALL.Entities.Player.Movement.States
actor.ColliderComponent.enabled = true; actor.ColliderComponent.enabled = true;
actor.UseRootMotion = false; actor.UseRootMotion = false;
characterController.LimitViewAngle = 0; self.LimitViewAngle = 0;
_equipService.AllowEquip.RemoveDisableElements(this); _equipService.AllowEquip.RemoveDisableElements(this);
self.inputActionGroup.UnRegisterCallback(self.JumpAction, OnJump);
} }
public override void OnStateUpdate(float deltaTime) public override void OnStateUpdate(float deltaTime)
@ -206,21 +237,29 @@ namespace BITFALL.Entities.Player.Movement.States
switch (Phase) switch (Phase)
{ {
case 1: case 0:
var targetPos = characterController.ExpectClimb.shouldBe - Vector3.up * 1.6f; var targetPos = self.ExpectClimb.shouldBe - Vector3.up * 1.6f;
if(Vector3.Distance(targetPos, targetPos -= self.Rotation * Vector3.forward * 0.35f;
actor.Position)
<=0.16f)
Phase = 2;
if (actor.Position.y >= targetPos.y) if (actor.Position.y >= targetPos.y)
Phase = 2; Phase = 5;
//actor.Position = targetPos; if (Phase is 5)
actor.Position = targetPos;
return; return;
case 2: case 5:
if (Vector3.Distance( if (_collider.Raycast(new Ray(_chest.position, actor.Forward), out var _, 1))
characterController.ExpectClimb.shouldBe, {
actor.Position) if (self.InputVector.y > 0)
<= 0.1f) {
Phase = 8;
return;
}
if(self.InputVector.y<0)
{
Exit();
return;
}
}
else
{ {
Exit(); Exit();
} }
@ -234,27 +273,27 @@ namespace BITFALL.Entities.Player.Movement.States
base.UpdateVelocity(ref currentVelocity, deltaTime); base.UpdateVelocity(ref currentVelocity, deltaTime);
switch (Phase) switch (Phase)
{ {
case 1: case 0:
// actor.Position =
// Vector3.Slerp(actor.Position,
// characterController.ExpectClimb.shouldBe - Vector3.up * 1.6f,
// deltaTime
// );
var currentPosition = actor.Position; var currentPosition = actor.Position;
currentPosition = Vector3.Lerp( currentPosition = Vector3.Lerp(
currentPosition, currentPosition,
characterController.ExpectClimb.shouldBe - Vector3.up * 1.6f,3.2f*deltaTime); self.ExpectClimb.shouldBe - Vector3.up * 1.6f,3.2f*deltaTime);
currentPosition.y = actor.Position.y; currentPosition.y = actor.Position.y;
currentPosition.y+=(upVelocity+=deltaTime)*deltaTime; currentPosition.y+=(upVelocity+=deltaTime)*deltaTime;
actor.Position = currentPosition; actor.Position = currentPosition;
break; break;
} }
} }
public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
{
if (Phase is 0)
{
currentRotation = rotation;
}
}
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
} }
@ -269,33 +308,33 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
ignore = characterController.climbClosePoint.Collider.transform; ignore = self.climbClosePoint.Collider.transform;
actor.PhysicsComponent.IgnoreCollision(ignore,true); actor.PhysicsComponent.IgnoreCollision(ignore,true);
base.OnStateEntry(old); base.OnStateEntry(old);
characterController.ExpectCrouch.Reset(); self.ExpectCrouch.Reset();
actor.alwaysNotGrounded = true; actor.alwaysNotGrounded = true;
actor.ForceNotGrounded(); actor.ForceNotGrounded();
actor.ColliderComponent.enabled = false; actor.ColliderComponent.enabled = false;
cancelInterval.Reset(); cancelInterval.Reset();
needInit = true; needInit = true;
characterController.LimitViewAngle = 80; self.LimitViewAngle = 80;
} }
public override void OnStateUpdate(float deltaTime) public override void OnStateUpdate(float deltaTime)
{ {
var distance = Vector3.Distance(characterController.ExpectClimb.shouldBe, var distance = Vector3.Distance(self.ExpectClimb.shouldBe,
characterController.transform.position); self.transform.position);
if ( if (
distance<=0.16f distance<=0.1f
|| actor.IsStable
|| cancelInterval.AllowUpdate && actor.Velocity.sqrMagnitude<=0.16f || cancelInterval.AllowUpdate && actor.Velocity.sqrMagnitude<=0.16f
) )
{ {
Exit(); Exit();
return;
} }
if (characterController.Position.y >= characterController.ExpectClimb.shouldBe.y) var pos = actor.Position;
pos.y = self.ExpectClimb.shouldBe.y;
if (self.Position.y >= self.ExpectClimb.shouldBe.y && Vector3.Distance(pos,self.ExpectClimb.shouldBe)<0.1f)
{ {
Exit(); Exit();
} }
@ -305,10 +344,10 @@ namespace BITFALL.Entities.Player.Movement.States
actor.PhysicsComponent.IgnoreCollision(ignore,false); actor.PhysicsComponent.IgnoreCollision(ignore,false);
actor.alwaysNotGrounded = false; actor.alwaysNotGrounded = false;
actor.ColliderComponent.enabled = true; actor.ColliderComponent.enabled = true;
characterController.ExpectJump.Reset(); self.ExpectJump.Reset();
actor.ForceGrounded(); actor.ForceGrounded();
characterController.LimitViewAngle = 0; self.LimitViewAngle = 0;
// //
} }
@ -319,9 +358,9 @@ namespace BITFALL.Entities.Player.Movement.States
currentVelocity.y = 0; currentVelocity.y = 0;
needInit = false; needInit = false;
} }
var velocity =(characterController.ExpectClimb.shouldBe - characterController.transform.position)*lerpDelta; var velocity =(self.ExpectClimb.shouldBe - self.transform.position)*lerpDelta;
velocity += characterController.Rotation * characterController.MovementInput.normalized * 1.0f; velocity += self.Rotation * self.MovementInput.normalized * 1.0f;
currentVelocity = Vector3.Lerp(currentVelocity,velocity,lerpDelta*deltaTime); currentVelocity = Vector3.Lerp(currentVelocity,velocity,lerpDelta*deltaTime);
@ -329,7 +368,7 @@ namespace BITFALL.Entities.Player.Movement.States
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
} }
} }
[Serializable] [Serializable]
@ -350,25 +389,25 @@ namespace BITFALL.Entities.Player.Movement.States
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
characterController.ExpectCrouch.Reset(); self.ExpectCrouch.Reset();
characterController.ExpectJump.Reset(); self.ExpectJump.Reset();
actor.ForceNotGrounded(); actor.ForceNotGrounded();
actor.RigidbodyComponent.IsKinematic = true; actor.RigidbodyComponent.IsKinematic = true;
actor.ColliderComponent.enabled = false; actor.ColliderComponent.enabled = false;
Init(characterController.OffMeshLink); Init(self.OffMeshLink);
characterController.LimitViewAngle = 45; self.LimitViewAngle = 45;
_equipService.AllowEquip.AddDisableElements(this); _equipService.AllowEquip.AddDisableElements(this);
exitInterval.Reset(); exitInterval.Reset();
_inputActionGroup.RegisterCallback(characterController.CrouchAction, OnCrouch); _inputActionGroup.RegisterCallback(self.CrouchAction, OnCrouch);
_inputActionGroup.RegisterCallback(characterController.JumpAction, OnJump); _inputActionGroup.RegisterCallback(self.JumpAction, OnJump);
} }
private void OnJump(InputAction.CallbackContext obj) private void OnJump(InputAction.CallbackContext obj)
@ -396,12 +435,12 @@ namespace BITFALL.Entities.Player.Movement.States
actor.RigidbodyComponent.IsKinematic = false; actor.RigidbodyComponent.IsKinematic = false;
actor.ColliderComponent.enabled = true; actor.ColliderComponent.enabled = true;
characterController.LimitViewAngle = 0; self.LimitViewAngle = 0;
_equipService.AllowEquip.RemoveDisableElements(this); _equipService.AllowEquip.RemoveDisableElements(this);
_inputActionGroup.UnRegisterCallback(characterController.CrouchAction, OnCrouch); _inputActionGroup.UnRegisterCallback(self.CrouchAction, OnCrouch);
_inputActionGroup.UnRegisterCallback(characterController.JumpAction, OnJump); _inputActionGroup.UnRegisterCallback(self.JumpAction, OnJump);
} }
private void Init(OffMeshLink offMeshLink) private void Init(OffMeshLink offMeshLink)
@ -461,7 +500,7 @@ namespace BITFALL.Entities.Player.Movement.States
var positionA = _offMeshLink.startTransform.position; var positionA = _offMeshLink.startTransform.position;
var positionB = positionA; var positionB = positionA;
positionB.y = _offMeshLink.endTransform.position.y; positionB.y = _offMeshLink.endTransform.position.y;
var positionC = actor.Position + Vector3.up * (characterController.MovementInput.z * deltaTime * 1.6f); var positionC = actor.Position + Vector3.up * (self.MovementInput.z * deltaTime * 1.6f);
Vector3 vectorAC = positionC - positionA; Vector3 vectorAC = positionC - positionA;
Vector3 vectorAB = positionB - positionA; Vector3 vectorAB = positionB - positionA;
@ -471,7 +510,7 @@ namespace BITFALL.Entities.Player.Movement.States
actor.Position = closestPoint; actor.Position = closestPoint;
//currentVelocity = Vector3.Lerp(currentVelocity , (closestPoint - actor.Position) , 5 * deltaTime); //currentVelocity = Vector3.Lerp(currentVelocity , (closestPoint - actor.Position) , 5 * deltaTime);
characterController.UnityEntity.SetDirect(BITHash.Player.ActionSpeed,characterController.MovementInput.z); self.UnityEntity.SetDirect(BITHash.Player.ActionSpeed,self.MovementInput.z);
break; break;
case not null: case not null:
@ -520,7 +559,7 @@ namespace BITFALL.Entities.Player.Movement.States
} }
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
} }
} }
@ -545,9 +584,9 @@ namespace BITFALL.Entities.Player.Movement.States
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
direction = characterController.MovementInput.x > 0 ? 1 : -1; direction = self.MovementInput.x > 0 ? 1 : -1;
process = 0; process = 0;
characterController.Stamina-= costStamina; self.Stamina-= costStamina;
actor.UseRootMotion = true; actor.UseRootMotion = true;
@ -581,9 +620,9 @@ namespace BITFALL.Entities.Player.Movement.States
private int OnDamageFactory(DamageMessage msg, int currentDamage) private int OnDamageFactory(DamageMessage msg, int currentDamage)
{ {
if (characterController.CurrentState is not IPlayerDodgeState || msg.Initiator is not Entity initiator) if (self.CurrentState is not IPlayerDodgeState || msg.Initiator is not Entity initiator)
return currentDamage; return currentDamage;
var _direction = characterController.Position - initiator.transform.position; var _direction = self.Position - initiator.transform.position;
var verticalAngle = Vector3.Angle(initiator.transform.forward, _direction) - 90.0f; var verticalAngle = Vector3.Angle(initiator.transform.forward, _direction) - 90.0f;
//Debug.Log(verticalAngle); //Debug.Log(verticalAngle);
return 0; return 0;
@ -626,8 +665,8 @@ namespace BITFALL.Entities.Player.Movement.States
actor.PhysicsComponent.enabled = false; actor.PhysicsComponent.enabled = false;
actor.alwaysNotGrounded = true; actor.alwaysNotGrounded = true;
actor.constraintRotation = false; actor.constraintRotation = false;
characterController.ExpectCrouch.Reset(); self.ExpectCrouch.Reset();
characterController.LimitViewAngle = 100; self.LimitViewAngle = 100;
_equipService.AllowEquip.AddDisableElements(this); _equipService.AllowEquip.AddDisableElements(this);
@ -644,7 +683,7 @@ namespace BITFALL.Entities.Player.Movement.States
actor.PhysicsComponent.enabled = true; actor.PhysicsComponent.enabled = true;
actor.constraintRotation = true; actor.constraintRotation = true;
//actor.enabled = true; //actor.enabled = true;
characterController.LimitViewAngle = 0; self.LimitViewAngle = 0;
_equipService.AllowEquip.RemoveDisableElements(this); _equipService.AllowEquip.RemoveDisableElements(this);
} }
@ -661,10 +700,10 @@ namespace BITFALL.Entities.Player.Movement.States
public override void AfterUpdateMovement(float deltaTime) public override void AfterUpdateMovement(float deltaTime)
{ {
base.AfterUpdateMovement(deltaTime); base.AfterUpdateMovement(deltaTime);
characterController.CurrentCameraPosition.shouldBe = characterController.FpvLocalPosition; self.CurrentCameraPosition.shouldBe = self.FpvLocalPosition;
if (characterController.ExpectCrouch.shouldBe && _fixedPlace.Exit(characterController.Entity)) if (self.ExpectCrouch.shouldBe && _fixedPlace.Exit(self.Entity))
{ {
characterController.ExpectCrouch.Reset(); self.ExpectCrouch.Reset();
Exit(); Exit();
}else if (_fixedPlace is null) }else if (_fixedPlace is null)
{ {
@ -676,14 +715,14 @@ namespace BITFALL.Entities.Player.Movement.States
if (obj is not MonoBehaviour monoBehaviour || if (obj is not MonoBehaviour monoBehaviour ||
monoBehaviour.TryGetComponent<IPlayerFixedPlace>(out var fixedPlace) is false) return; monoBehaviour.TryGetComponent<IPlayerFixedPlace>(out var fixedPlace) is false) return;
if (_knockdown.IsKnockdown) return; if (_knockdown.IsKnockdown) return;
if (_fixedPlace?.Exit(characterController.Entity) is false) if (_fixedPlace?.Exit(self.Entity) is false)
{ {
return; return;
} }
if (fixedPlace.Entry(characterController.Entity)) if (fixedPlace.Entry(self.Entity))
{ {
_fixedPlace = fixedPlace; _fixedPlace = fixedPlace;
characterController.TransitionState<Fixed>(); self.TransitionState<Fixed>();
return; return;
} }
_fixedPlace = null; _fixedPlace = null;
@ -696,7 +735,7 @@ namespace BITFALL.Entities.Player.Movement.States
var rotation = Quaternion.Inverse(_fixedPlace.FixedRotation) * lastRotation; var rotation = Quaternion.Inverse(_fixedPlace.FixedRotation) * lastRotation;
var euler =MathV.TransientRotationAxis(rotation.eulerAngles); var euler =MathV.TransientRotationAxis(rotation.eulerAngles);
var add = new float2(euler.x, -euler.y); var add = new float2(euler.x, -euler.y);
characterController.AddViewEuler(add); self.AddViewEuler(add);
lastRotation = _fixedPlace.FixedRotation; lastRotation = _fixedPlace.FixedRotation;
} }
protected override void Exit() protected override void Exit()
@ -709,5 +748,11 @@ namespace BITFALL.Entities.Player.Movement.States
_fixedPlace = null; _fixedPlace = null;
} }
} }
[Serializable]
public sealed class ClimbBar
{
}
} }

View File

@ -131,46 +131,62 @@ namespace BITFALL.Player.Animation.States
public class EdgeClimb : PlayerAnimateStates public class EdgeClimb : PlayerAnimateStates
{ {
[SerializeField] private AnimationClip edgeClimbClip; [SerializeField] private AnimationClip edgeClimbClip;
[SerializeField] private AnimationClip idleClip;
[SerializeField] private AnimationClip climbUpClip; [SerializeField] private AnimationClip climbUpClip;
[SerializeField] private LinearMixerTransition moveMixer;
[SerializeField] private AnimationClip leftClip;
[SerializeField] private AnimationClip rightClip;
private int _phase; private int _phase;
private AnimancerState state; private AnimancerState state;
[Inject] private IPlayerMovement _playerMovement;
public override void OnStateEntry(IState old) public override void OnStateEntry(IState old)
{ {
base.OnStateEntry(old); base.OnStateEntry(old);
_phase = -1; _phase = -1;
} }
public override void OnStateExit(IState old, IState newState) public override void OnStateExit(IState old, IState newState)
{ {
base.OnStateExit(old, newState); base.OnStateExit(old, newState);
state.Stop(); //state.Stop();
state = null; state = null;
} }
public override async void OnStateUpdate(float deltaTime) public override async void OnStateUpdate(float deltaTime)
{ {
if(self._movement.CurrentState is not IPlayerEdgeClimbState edgeClimbState) return; if(self._movement.CurrentState is not IPlayerEdgeClimbState edgeClimbState) return;
switch (edgeClimbState.Phase)
{
case 5:
if (_playerMovement.InputVector.x != 0)
{
var mixState =self.AnimancerComponent.Play(moveMixer,0.2f).As<MixerState<float>>();
mixState.Parameter = _playerMovement.InputVector.x;
}
else
{
self.AnimancerComponent.Play(idleClip,0.2f);
}
break;
}
if(_phase==edgeClimbState.Phase) return; if(_phase==edgeClimbState.Phase) return;
_phase = edgeClimbState.Phase; _phase = edgeClimbState.Phase;
switch (edgeClimbState.Phase) switch (edgeClimbState.Phase)
{ {
case 1: case 0:
state?.Stop(); state?.Stop();
state = self.AnimancerComponent.Play(edgeClimbClip); state = self.AnimancerComponent.Play(edgeClimbClip,0.2f);
break; break;
case 2: case 5:
self.AnimancerComponent.Play(idleClip,0.2f);
break;
case 8:
state?.Stop(); state?.Stop();
state = self.AnimancerComponent.Play(climbUpClip); state = self.AnimancerComponent.Play(climbUpClip,0.2f);
await state; await state;
if (!Enabled) return; if (!Enabled) return;
edgeClimbState.ManualCancel(); edgeClimbState.ManualCancel();
// state.Events.OnEnd = () =>
// {
// state.Events.OnEnd = null;
// edgeClimbState.ManualCancel();
// return;
// };
break; break;
} }
} }

View File

@ -23,7 +23,7 @@ namespace BITFALL.Props
public virtual async void Explosion(GameObject root = null) public virtual async void Explosion(GameObject root = null)
{ {
var damaged = ListPool<ulong>.Get(); var damaged = ListPool<int>.Get();
DI.Get<VFXService>().Spawn(new Location(transform), vfxTags.Select(x => x.Value).ToArray()); DI.Get<VFXService>().Spawn(new Location(transform), vfxTags.Select(x => x.Value).ToArray());
@ -55,7 +55,7 @@ namespace BITFALL.Props
} }
damaged.Clear(); damaged.Clear();
ListPool<ulong>.Release(damaged); ListPool<int>.Release(damaged);
PhysicsHelper.Explosion(transform.position, explosionRadius, physicsLayer, 1024 * 8); PhysicsHelper.Explosion(transform.position, explosionRadius, physicsLayer, 1024 * 8);
Destroy(gameObject); Destroy(gameObject);
if (root) if (root)

View File

@ -10,7 +10,7 @@ namespace BITFALL
public record SpawnBullet : INetMessage public record SpawnBullet : INetMessage
{ {
public uint Token; public uint Token;
public ulong Initiator; public int Initiator;
public float3 Position; public float3 Position;
public quaternion Rotation; public quaternion Rotation;
public float3 Forward; public float3 Forward;
@ -28,7 +28,7 @@ namespace BITFALL
return new SpawnBullet return new SpawnBullet
{ {
Token = reader.ReadUInt32(), Token = reader.ReadUInt32(),
Initiator = reader.ReadUInt64(), Initiator = reader.ReadInt32(),
Position = reader.ReadFloat3(), Position = reader.ReadFloat3(),
Rotation = reader.ReadQuaternion(), Rotation = reader.ReadQuaternion(),
Forward = reader.ReadFloat3(), Forward = reader.ReadFloat3(),

View File

@ -8,7 +8,7 @@ namespace BITKit.Entities.Melee
[Serializable] [Serializable]
public struct MeleeCommand public struct MeleeCommand
{ {
public ulong PlayerId; public int PlayerId;
public float3 Position; public float3 Position;
public float3 Forward; public float3 Forward;
public float3 Force; public float3 Force;

View File

@ -15,7 +15,7 @@ namespace BITKit.Entities
/// 等待初始化完成,通常用于其他系统需要等待实体初始化完成 /// 等待初始化完成,通常用于其他系统需要等待实体初始化完成
/// </summary> /// </summary>
void WaitForInitializationComplete(); void WaitForInitializationComplete();
ulong Id { get; } int Id { get; }
CancellationToken CancellationToken { get; } CancellationToken CancellationToken { get; }
bool TryGetComponent<T>(out T component); bool TryGetComponent<T>(out T component);
IEntityComponent[] Components { get; } IEntityComponent[] Components { get; }
@ -81,18 +81,18 @@ namespace BITKit.Entities
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <returns></returns> /// <returns></returns>
IEntity Get(ulong id); IEntity Get(int id);
/// <summary> /// <summary>
/// 尝试通过Id获取Entity /// 尝试通过Id获取Entity
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <param name="entity"></param> /// <param name="entity"></param>
/// <returns></returns> /// <returns></returns>
bool TryGetEntity(ulong id, out IEntity entity); bool TryGetEntity(int id, out IEntity entity);
/// <summary> /// <summary>
/// 通过Id获取或添加Entity /// 通过Id获取或添加Entity
/// </summary> /// </summary>
IEntity GetOrAdd(ulong id,Func<ulong,IEntity> factory); IEntity GetOrAdd(int id,Func<int,IEntity> factory);
/// <summary> /// <summary>
/// 查询Entity,例如 /// 查询Entity,例如

View File

@ -81,8 +81,8 @@ namespace BITKit.Entities
{ {
public override DamageMessage ReadBinary(BinaryReader reader) public override DamageMessage ReadBinary(BinaryReader reader)
{ {
UnityEntitiesService.TryGetEntity(reader.ReadUInt64(),out var initiator); UnityEntitiesService.TryGetEntity(reader.ReadInt32(),out var initiator);
UnityEntitiesService.TryGetEntity(reader.ReadUInt64(),out var target); UnityEntitiesService.TryGetEntity(reader.ReadInt32(),out var target);
return new DamageMessage() return new DamageMessage()
{ {
Initiator = initiator as Entity, Initiator = initiator as Entity,

View File

@ -3,7 +3,9 @@ using System.Collections.Generic;
using BITFALL.Rig; using BITFALL.Rig;
using BITKit.Entities; using BITKit.Entities;
using Cysharp.Threading.Tasks.Triggers; using Cysharp.Threading.Tasks.Triggers;
#if UNITY_EDITOR
using UnityEditor; using UnityEditor;
#endif
using UnityEngine; using UnityEngine;
namespace BITKit namespace BITKit
@ -14,6 +16,7 @@ namespace BITKit
[SerializeField] private EntityHitbox[] hitboxes; [SerializeField] private EntityHitbox[] hitboxes;
[SerializeReference,SubclassSelector] private IReference[] tagReferences; [SerializeReference,SubclassSelector] private IReference[] tagReferences;
#if UNITY_EDITOR
[BIT] [BIT]
private void Build() private void Build()
{ {
@ -73,5 +76,6 @@ namespace BITKit
} }
EditorUtility.SetDirty(this); EditorUtility.SetDirty(this);
} }
#endif
} }
} }

View File

@ -20,7 +20,7 @@ namespace BITKit.Entities
private readonly GenericEvent genericEvent = new(); private readonly GenericEvent genericEvent = new();
public ulong Id { get; set; } public int Id { get; set; }
public CancellationToken CancellationToken { get; private set; } public CancellationToken CancellationToken { get; private set; }
public IEntityBehavior[] Behaviors { get;private set; } public IEntityBehavior[] Behaviors { get;private set; }
public IEntityComponent[] Components => Behaviors.Cast<IEntityComponent>().ToArray(); public IEntityComponent[] Components => Behaviors.Cast<IEntityComponent>().ToArray();
@ -131,7 +131,7 @@ namespace BITKit.Entities
private void Awake() private void Awake()
{ {
if (Id.IsDefault()) if (Id.IsDefault())
Id = (ulong)Guid.NewGuid().GetHashCode(); Id = GetInstanceID();
CancellationToken = gameObject.GetCancellationTokenOnDestroy(); CancellationToken = gameObject.GetCancellationTokenOnDestroy();
Set(CancellationToken); Set(CancellationToken);
} }

View File

@ -38,10 +38,10 @@ public class UnityEntitiesServiceSingleton:IEntitiesService
public CancellationToken CancellationToken => UnityEntitiesService.CancellationToken; public CancellationToken CancellationToken => UnityEntitiesService.CancellationToken;
public IEntity Get(ulong id) => UnityEntitiesService.Get(id); public IEntity Get(int id) => UnityEntitiesService.Get(id);
public bool TryGetEntity(ulong id, out IEntity entity) => UnityEntitiesService.TryGetEntity(id, out entity); public bool TryGetEntity(int id, out IEntity entity) => UnityEntitiesService.TryGetEntity(id, out entity);
public IEntity GetOrAdd(ulong id, Func<ulong, IEntity> factory)=>UnityEntitiesService.GetOrAdd(id,factory); public IEntity GetOrAdd(int id, Func<int, IEntity> factory)=>UnityEntitiesService.GetOrAdd(id,factory);
public IEntity[] Query<T>() public IEntity[] Query<T>()
@ -85,7 +85,7 @@ public class UnityEntitiesService : MonoBehaviour,IEntitiesService
return false; return false;
} }
public static CancellationToken CancellationToken; public static CancellationToken CancellationToken;
private static readonly ConcurrentDictionary<ulong,IEntity> Dictionary=new(); private static readonly ConcurrentDictionary<int,IEntity> Dictionary=new();
private static readonly Queue<IEntity> RegisterQueue = new(); private static readonly Queue<IEntity> RegisterQueue = new();
private static readonly Queue<IEntity> UnRegisterQueue = new(); private static readonly Queue<IEntity> UnRegisterQueue = new();
private void Awake() private void Awake()
@ -126,18 +126,18 @@ public class UnityEntitiesService : MonoBehaviour,IEntitiesService
} }
CancellationToken IEntitiesService.CancellationToken => CancellationToken; CancellationToken IEntitiesService.CancellationToken => CancellationToken;
public static IEntity Get(ulong id)=>Dictionary[id]; public static IEntity Get(int id)=>Dictionary[id];
IEntity IEntitiesService.Get(ulong id)=>Get(id); IEntity IEntitiesService.Get(int id)=>Get(id);
public static bool TryGetEntity(ulong id, out IEntity entity) public static bool TryGetEntity(int id, out IEntity entity)
{ {
return Dictionary.TryGetValue(id, out entity); return Dictionary.TryGetValue(id, out entity);
} }
bool IEntitiesService.TryGetEntity(ulong id, out IEntity entity)=>TryGetEntity(id,out entity); bool IEntitiesService.TryGetEntity(int id, out IEntity entity)=>TryGetEntity(id,out entity);
public static IEntity GetOrAdd(ulong id, Func<ulong, IEntity> factory) public static IEntity GetOrAdd(int id, Func<int, IEntity> factory)
{ {
return Dictionary.GetOrAdd(id, factory); return Dictionary.GetOrAdd(id, factory);
} }
IEntity IEntitiesService.GetOrAdd(ulong id, Func<ulong, IEntity> factory)=>GetOrAdd(id,factory); IEntity IEntitiesService.GetOrAdd(int id, Func<int, IEntity> factory)=>GetOrAdd(id,factory);
IEntity[] IEntitiesService.Query<T>()=>Query<T>(); IEntity[] IEntitiesService.Query<T>()=>Query<T>();
public static IEntity[] Query<T>() public static IEntity[] Query<T>()

View File

@ -7,14 +7,14 @@ namespace BITKit.Entities
{ {
public interface IdComponent public interface IdComponent
{ {
ulong Id { get; } int Id { get; }
string Name { get; } string Name { get; }
} }
public class UnityIdComponent : EntityBehavior,IdComponent public class UnityIdComponent : EntityBehavior,IdComponent
{ {
[SerializeField] private ulong id; [SerializeField] private int id;
[SerializeField] private string unityName; [SerializeField] private string unityName;
public ulong Id => id; public int Id => id;
public string Name => unityName; public string Name => unityName;
public override void Initialize(IEntity _entity) public override void Initialize(IEntity _entity)
{ {

View File

@ -19,7 +19,7 @@ namespace BITKit.Entities
public struct EntitiesNetSyncBatchCommand public struct EntitiesNetSyncBatchCommand
{ {
public int Length; public int Length;
public ulong[] Ids; public int[] Ids;
public ulong[] AddressablePaths; public ulong[] AddressablePaths;
public EntitiesNetSyncCommand[] Commands; public EntitiesNetSyncCommand[] Commands;
} }
@ -81,7 +81,7 @@ namespace BITKit.Entities
{ {
using var ms = new MemoryStream(obj.Data); using var ms = new MemoryStream(obj.Data);
using var reader = new BinaryReader(ms); using var reader = new BinaryReader(ms);
var id = reader.ReadUInt64(); var id = reader.ReadInt32();
var path = reader.ReadUInt64(); var path = reader.ReadUInt64();
entitiesService.GetOrAdd(id, x => AddEntity(id, path)).TryGetComponent<IEntityBinaryHeader>(out var header); entitiesService.GetOrAdd(id, x => AddEntity(id, path)).TryGetComponent<IEntityBinaryHeader>(out var header);
header.Deserialize(reader); header.Deserialize(reader);
@ -100,7 +100,7 @@ namespace BITKit.Entities
header.Deserialize(reader); header.Deserialize(reader);
} }
} }
private static IEntity AddEntity(ulong id,ulong addressableId) private static IEntity AddEntity(int id,ulong addressableId)
{ {
var entity = AddressableHelper.Get<GameObject>(addressableId); var entity = AddressableHelper.Get<GameObject>(addressableId);
var instance = Instantiate(entity).GetComponent<Entity>(); var instance = Instantiate(entity).GetComponent<Entity>();
@ -146,7 +146,7 @@ namespace BITKit.Entities
var batchCommand = new EntitiesNetSyncBatchCommand() var batchCommand = new EntitiesNetSyncBatchCommand()
{ {
Length = headers.Length, Length = headers.Length,
Ids = new ulong[headers.Length], Ids = new int[headers.Length],
AddressablePaths = new ulong[headers.Length], AddressablePaths = new ulong[headers.Length],
Commands = new EntitiesNetSyncCommand[headers.Length] Commands = new EntitiesNetSyncCommand[headers.Length]
}; };

View File

@ -15,8 +15,8 @@ namespace BITKit.Entities.Player
[SerializeField] private MonoStateMachine<T> stateMachine; [SerializeField] private MonoStateMachine<T> stateMachine;
public override void OnAwake() public override void OnAwake()
{ {
stateMachine?.Initialize();
base.OnAwake(); base.OnAwake();
stateMachine?.Initialize();
} }
public bool Enabled public bool Enabled

View File

@ -9,6 +9,7 @@ namespace BITKit
{ {
public interface IClosePoint public interface IClosePoint
{ {
Vector3 CurrentPoint { get; }
Collider Collider { get; } Collider Collider { get; }
bool TryGetClosePoint(out Vector3 vector3); bool TryGetClosePoint(out Vector3 vector3);
} }
@ -18,6 +19,7 @@ namespace BITKit
public Transform root; public Transform root;
public LayerMask layerMask; public LayerMask layerMask;
public float distance; public float distance;
public Vector3 CurrentPoint { get; set; }
public Collider Collider { get; set; } public Collider Collider { get; set; }
public bool TryGetClosePoint(out Vector3 vector3) public bool TryGetClosePoint(out Vector3 vector3)
@ -51,6 +53,7 @@ namespace BITKit
} }
Collider = collider; Collider = collider;
CurrentPoint = vector3;
return true; return true;
//return vector3.y >= collider.bounds.center.y + collider.bounds.extents.y; //return vector3.y >= collider.bounds.center.y + collider.bounds.extents.y;
//return true; //return true;
@ -75,6 +78,7 @@ namespace BITKit
public Vector3 StartPosition; public Vector3 StartPosition;
public Vector3 EndPosition; public Vector3 EndPosition;
public Vector3 CurrentPoint { get; set; }
public Collider Collider { get; set; } public Collider Collider { get; set; }
private Rigidbody rigidbody; private Rigidbody rigidbody;
@ -233,6 +237,9 @@ namespace BITKit
if(reportBuilder is not null) if(reportBuilder is not null)
BIT4Log.Log<GetVaultPointFromCollider>(reportBuilder.ToString()); BIT4Log.Log<GetVaultPointFromCollider>(reportBuilder.ToString());
CurrentPoint = vector3;
Collider = hit;
return true; return true;
} }

View File

@ -2,7 +2,9 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using UnityEngine; using UnityEngine;
#if UNITY_EDITOR
using UnityEditor; using UnityEditor;
#endif
namespace Quadtree namespace Quadtree
{ {
@ -405,10 +407,12 @@ namespace Quadtree
public void DrawBounds(bool displayNumberOfItems = false) public void DrawBounds(bool displayNumberOfItems = false)
{ {
#if UNITY_EDITOR
if (displayNumberOfItems) if (displayNumberOfItems)
Handles.Label(Bounds.center, _items.Count.ToString()); Handles.Label(Bounds.center, _items.Count.ToString());
Gizmos.DrawWireCube(Bounds.center, Bounds.size); Gizmos.DrawWireCube(Bounds.center, Bounds.size);
#endif
foreach (var subNode in SubNodes) foreach (var subNode in SubNodes)
subNode.DrawBounds(displayNumberOfItems); subNode.DrawBounds(displayNumberOfItems);
} }

View File

@ -5,7 +5,6 @@ using Cysharp.Threading.Tasks;
using UnityEngine; using UnityEngine;
using UnityEngine.Pool; using UnityEngine.Pool;
using System.Linq; using System.Linq;
using UnityEditor.Search;
namespace BITKit.Sensors namespace BITKit.Sensors
{ {

View File

@ -16,7 +16,7 @@ namespace BITKit.OpenWorld
base.OnLodChanged(oldLod, newLod); base.OnLodChanged(oldLod, newLod);
OnLodChangedEvent?.Invoke(oldLod,newLod); OnLodChangedEvent?.Invoke(oldLod,newLod);
} }
#if UNITY_EDITOR
[BIT] [BIT]
private void CalculateBounds() private void CalculateBounds()
{ {
@ -41,6 +41,7 @@ namespace BITKit.OpenWorld
offset = bounds.center - transform.position; offset = bounds.center - transform.position;
EditorUtility.SetDirty(this); EditorUtility.SetDirty(this);
} }
#endif
} }
} }

View File

@ -3,7 +3,9 @@ using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using Quadtree; using Quadtree;
#if UNITY_EDITOR
using UnityEditor.SceneManagement; using UnityEditor.SceneManagement;
#endif
using UnityEngine; using UnityEngine;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
using YooAsset; using YooAsset;
@ -16,9 +18,7 @@ namespace BITKit.OpenWorld
[SerializeField] private Vector3 size; [SerializeField] private Vector3 size;
[SerializeField] private Vector3 position; [SerializeField] private Vector3 position;
[SerializeField, ReadOnly] private int lod = -1; [SerializeField, ReadOnly] private int lod = -1;
private SceneHandle _sceneHandle; private SceneHandle _sceneHandle;
[BIT] [BIT]
public async void Load() public async void Load()
{ {

File diff suppressed because it is too large Load Diff

View File

@ -164,7 +164,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &5940515025268018319 --- !u!4 &5940515025268018319
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -407,6 +407,7 @@ Transform:
- {fileID: 2746990714439157318} - {fileID: 2746990714439157318}
- {fileID: 5377798236133881035} - {fileID: 5377798236133881035}
- {fileID: 6819384693925245094} - {fileID: 6819384693925245094}
- {fileID: 5580962915667230764}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1145278517201187090 --- !u!114 &1145278517201187090
@ -889,6 +890,71 @@ Transform:
- {fileID: 3271598311790253526} - {fileID: 3271598311790253526}
m_Father: {fileID: 100156783480046419} m_Father: {fileID: 100156783480046419}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8726072037761753731
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5580962915667230764}
- component: {fileID: 7796527615080834481}
m_Layer: 0
m_Name: Reflection Probe (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5580962915667230764
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8726072037761753731}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -5, y: 1.5, z: 6.59}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 100156783480046419}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!215 &7796527615080834481
ReflectionProbe:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8726072037761753731}
m_Enabled: 1
serializedVersion: 2
m_Type: 0
m_Mode: 0
m_RefreshMode: 0
m_TimeSlicingMode: 0
m_Resolution: 128
m_UpdateFrequency: 0
m_BoxSize: {x: 14, y: 14, z: 14}
m_BoxOffset: {x: 0, y: 0, z: 0}
m_NearClip: 0.3
m_FarClip: 1000
m_ShadowDistance: 100
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_IntensityMultiplier: 1
m_BlendDistance: 1
m_HDR: 1
m_BoxProjection: 0
m_RenderDynamicObjects: 0
m_UseOcclusionCulling: 1
m_Importance: 1
m_CustomBakedTexture: {fileID: 0}
--- !u!1001 &49138373043478791 --- !u!1001 &49138373043478791
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -26,12 +26,12 @@ Transform:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1749027629392232490} m_GameObject: {fileID: 1749027629392232490}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 6826344991009236156} m_Father: {fileID: 8355631376943107189}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4397560379179530511 --- !u!33 &4397560379179530511
MeshFilter: MeshFilter:
@ -302,12 +302,12 @@ Transform:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5076998183631446887} m_GameObject: {fileID: 5076998183631446887}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 6826344991009236156} m_Father: {fileID: 8355631376943107189}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8991161652057170414 --- !u!33 &8991161652057170414
MeshFilter: MeshFilter:
@ -370,7 +370,6 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 6826344991009236156} - component: {fileID: 6826344991009236156}
- component: {fileID: 1794142612736824269}
m_Layer: 0 m_Layer: 0
m_Name: Front_Door_02 m_Name: Front_Door_02
m_TagString: Untagged m_TagString: Untagged
@ -392,37 +391,9 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 2455589642531184827} - {fileID: 2455589642531184827}
- {fileID: 2625963667424056450}
- {fileID: 6122686689851274699}
- {fileID: 5984430974160616464}
- {fileID: 8355631376943107189} - {fileID: 8355631376943107189}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!205 &1794142612736824269
LODGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6194661939473235462}
serializedVersion: 2
m_LocalReferencePoint: {x: -0.22763982, y: 1.5, z: -2}
m_Size: 4
m_FadeMode: 0
m_AnimateCrossFading: 0
m_LastLODIsBillboard: 0
m_LODs:
- screenRelativeHeight: 0.37668994
fadeTransitionWidth: 0
renderers:
- renderer: {fileID: 7720570482162174184}
- renderer: {fileID: 2536061038668064517}
- screenRelativeHeight: 0.031182958
fadeTransitionWidth: 0
renderers:
- renderer: {fileID: 5602161895874123095}
- renderer: {fileID: 737991072068523848}
m_Enabled: 1
--- !u!1 &6996503897106552414 --- !u!1 &6996503897106552414
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -452,7 +423,10 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children:
- {fileID: 2625963667424056450}
- {fileID: 6122686689851274699}
- {fileID: 5984430974160616464}
m_Father: {fileID: 6826344991009236156} m_Father: {fileID: 6826344991009236156}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!205 &426014639980509707 --- !u!205 &426014639980509707
@ -503,12 +477,12 @@ Transform:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8976648141740050788} m_GameObject: {fileID: 8976648141740050788}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 6826344991009236156} m_Father: {fileID: 8355631376943107189}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!64 &1043598587896536950 --- !u!64 &1043598587896536950
MeshCollider: MeshCollider:

View File

@ -2684,6 +2684,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 3373399349622761070} m_TransformParent: {fileID: 3373399349622761070}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -3503,6 +3508,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 value: Parapet_1m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -4239,6 +4249,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (7) value: Parapet_2m_01 (7)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -4574,6 +4589,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (3) value: Parapet_1m_01 (3)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -4759,6 +4779,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 value: Parapet_1m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -4929,11 +4954,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -5132,6 +5152,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (3) value: Parapet_1m_01 (3)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -5212,6 +5237,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (5) value: Parapet_2m_01 (5)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -6202,6 +6232,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (2) value: Parapet_1m_01 (2)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -6292,6 +6327,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -6467,6 +6507,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -7167,6 +7212,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (3) value: Parapet_2m_01 (3)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -7552,6 +7602,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (1) value: Parapet_2m_01 (1)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -7642,6 +7697,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -7722,11 +7782,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -7887,6 +7942,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -10230,11 +10290,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -10575,6 +10630,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -11110,6 +11170,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -11884,6 +11949,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (1) value: Parapet_1m_01 (1)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -12183,6 +12253,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 5160540115394820089} m_TransformParent: {fileID: 5160540115394820089}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -12594,6 +12669,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -13398,6 +13478,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (1) value: Parapet_2m_01 (1)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -13478,6 +13563,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (5) value: Parapet_1m_01 (5)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -13853,6 +13943,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 3160822293327933418} m_TransformParent: {fileID: 3160822293327933418}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -14328,6 +14423,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (7) value: Parapet_1m_01 (7)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -14758,6 +14858,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -15847,11 +15952,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -15962,6 +16062,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 5160540115394820089} m_TransformParent: {fileID: 5160540115394820089}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -17302,6 +17407,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (6) value: Parapet_2m_01 (6)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -17327,6 +17437,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 3160822293327933418} m_TransformParent: {fileID: 3160822293327933418}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -18077,6 +18192,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -18471,6 +18591,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 3160822293327933418} m_TransformParent: {fileID: 3160822293327933418}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -18696,11 +18821,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -18871,6 +18991,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (2) value: Parapet_2m_01 (2)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -19623,6 +19748,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (6) value: Parapet_1m_01 (6)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -20412,6 +20542,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -20819,6 +20954,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 (2) value: Parapet_2m_01 (2)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -21423,11 +21563,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -21682,11 +21817,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22281,11 +22411,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22476,6 +22601,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22720,6 +22850,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -23149,6 +23284,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -23229,11 +23369,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -23314,11 +23449,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1822121314194535619, guid: ac9da469d0d913447b0a9343101c1ef9,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -23699,6 +23829,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (1) value: Parapet_1m_01 (1)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -24708,6 +24843,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -25117,6 +25257,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 (2) value: Parapet_1m_01 (2)
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []

View File

@ -2159,6 +2159,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -2703,6 +2708,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -3053,6 +3063,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -3953,6 +3968,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 3595500198254957232} m_TransformParent: {fileID: 3595500198254957232}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -5265,6 +5285,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -6236,6 +6261,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -6841,6 +6871,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -7446,6 +7481,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -9905,6 +9945,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -10434,6 +10479,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -10699,6 +10749,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 value: Parapet_1m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -10789,6 +10844,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -11298,6 +11358,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -11977,6 +12042,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -12502,6 +12572,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -13091,6 +13166,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -13446,6 +13526,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -13814,6 +13899,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -14810,6 +14900,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -15548,6 +15643,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -15836,6 +15936,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -16896,6 +17001,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -17236,6 +17346,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -17326,6 +17441,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -18688,6 +18808,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -21116,6 +21241,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -21610,6 +21740,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22135,6 +22270,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22215,6 +22355,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22395,6 +22540,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22559,6 +22709,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -22849,6 +23004,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 3595500198254957232} m_TransformParent: {fileID: 3595500198254957232}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -23240,6 +23400,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -23415,6 +23580,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -23590,6 +23760,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -24044,6 +24219,11 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 3595500198254957232} m_TransformParent: {fileID: 3595500198254957232}
m_Modifications: m_Modifications:
- target: {fileID: 984085016340514555, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
- target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6, - target: {fileID: 1632784027019470638, guid: f2c8ddd316cf8e546a0b736b89b028a6,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -24523,6 +24703,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_2m_01 value: Parapet_2m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6068636327609996661, guid: 34db4d94c78b9464cb395401a70623fe,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -24693,6 +24878,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -24873,6 +25063,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8716940977176373060, guid: bbd9eeece2c0a6f44a47568b0e80e5ea,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -25038,6 +25233,11 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Parapet_1m_01 value: Parapet_1m_01
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3690457122981547400, guid: e23b59ccb7b094749b0693a99e8697b7,
type: 3}
propertyPath: m_Materials.Array.data[1]
value:
objectReference: {fileID: 2100000, guid: e8d4d580aa0caba4283d582b6480bf88, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []

View File

@ -17,8 +17,8 @@ MonoBehaviour:
_prefabPreviewScale: 0.72 _prefabPreviewScale: 0.72
_prefabFilter: -1 _prefabFilter: -1
_targetLibs: _targetLibs:
- {fileID: 408871588739792420, guid: 332796313ef1bef42819ca3091decc12, type: 2} - {fileID: 1018776411028132163, guid: 332796313ef1bef42819ca3091decc12, type: 2}
_targetLibSet: _targetLibSet:
_serializedList: _serializedList:
- {fileID: 408871588739792420, guid: 332796313ef1bef42819ca3091decc12, type: 2} - {fileID: 1018776411028132163, guid: 332796313ef1bef42819ca3091decc12, type: 2}
_numPrefabs: 48 _numPrefabs: 74

View File

@ -14,14 +14,14 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
selectedItems: selectedItems:
_serializedList: _serializedList:
- _guidString: 8f2a80f2-4ea7-49f4-958d-a3930ab35d29 - _guidString: cbca7952-e8c5-4d71-87ce-6a5fd82f6ae4
collapsedItems: collapsedItems:
_serializedList: _serializedList:
- _guidString: c7c4d334-fbf7-408d-b053-5f45201c9de4 - _guidString: c7c4d334-fbf7-408d-b053-5f45201c9de4
selectRangeBeginId: selectRangeBeginId:
_guidString: 8f2a80f2-4ea7-49f4-958d-a3930ab35d29 _guidString: cbca7952-e8c5-4d71-87ce-6a5fd82f6ae4
selectRangeEndId: selectRangeEndId:
_guidString: 8f2a80f2-4ea7-49f4-958d-a3930ab35d29 _guidString: cbca7952-e8c5-4d71-87ce-6a5fd82f6ae4
hasSelectRange: 1 hasSelectRange: 1
scrollOffset: {x: 0, y: 66.66669} scrollOffset: {x: 0, y: 66.66669}
vertScrollHighValue: NaN vertScrollHighValue: NaN
@ -73,12 +73,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
selectedItems: selectedItems:
_serializedList: _serializedList:
- _guidString: 942315d2-7fb9-44dd-a3c6-932cb42d9fae - _guidString: bb8a801b-f08b-4c8d-a623-19448d8e6b69
selectRangeBeginId: selectRangeBeginId:
_guidString: 942315d2-7fb9-44dd-a3c6-932cb42d9fae _guidString: bb8a801b-f08b-4c8d-a623-19448d8e6b69
selectRangeEndId: selectRangeEndId:
_guidString: 942315d2-7fb9-44dd-a3c6-932cb42d9fae _guidString: bb8a801b-f08b-4c8d-a623-19448d8e6b69
hasSelectRange: 1 hasSelectRange: 1
scrollOffset: {x: 0, y: 378} scrollOffset: {x: 0, y: 779.33325}
vertScrollHighValue: 502.6667 vertScrollHighValue: 779.33325
vertScrollLowValue: 0 vertScrollLowValue: 0

View File

@ -13,6 +13,7 @@ Material:
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords: []
m_InvalidKeywords: m_InvalidKeywords:
- DETAIL_OVERLAY
- DETAIL_OVERLAY_ROTATION - DETAIL_OVERLAY_ROTATION
- MOON - MOON
- OVERHEAD_CLOUD - OVERHEAD_CLOUD
@ -128,7 +129,7 @@ MonoBehaviour:
overheadCloudRemapMax: 4 overheadCloudRemapMax: 4
overheadCloudCastShadow: 0 overheadCloudCastShadow: 0
overheadCloudShadowClipMask: 0 overheadCloudShadowClipMask: 0
enableDetailOverlay: 0 enableDetailOverlay: 1
detailOverlayTintColor: {r: 1, g: 1, b: 1, a: 1} detailOverlayTintColor: {r: 1, g: 1, b: 1, a: 1}
detailOverlayCubeMap: {fileID: 0} detailOverlayCubeMap: {fileID: 0}
detailOverlayLayer: 5 detailOverlayLayer: 5
@ -148,6 +149,7 @@ Material:
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: m_ValidKeywords:
- DETAIL_OVERLAY
- DETAIL_OVERLAY_ROTATION - DETAIL_OVERLAY_ROTATION
- MOON - MOON
- OVERHEAD_CLOUD - OVERHEAD_CLOUD
@ -206,11 +208,11 @@ Material:
- _HorizonCloudStart: -0.01 - _HorizonCloudStart: -0.01
- _HorizonCloudStartPosition: -0.01 - _HorizonCloudStartPosition: -0.01
- _HorizonCloudStep: 25 - _HorizonCloudStep: 25
- _HorizonExponent: 3.663501 - _HorizonExponent: 4.9367495
- _HorizonStep: 1000 - _HorizonStep: 1000
- _HorizonThickness: 1 - _HorizonThickness: 1
- _MoonGlow: 0.236 - _MoonGlow: 0.236
- _MoonLightIntensity: 0.08801629 - _MoonLightIntensity: 0.14750786
- _MoonSize: 0.07 - _MoonSize: 0.07
- _MoonSoftEdge: 0.22 - _MoonSoftEdge: 0.22
- _OverheadCloudAltitude: 1000 - _OverheadCloudAltitude: 1000
@ -220,7 +222,7 @@ Material:
- _OverheadCloudFlowX: 1 - _OverheadCloudFlowX: 1
- _OverheadCloudFlowZ: 1 - _OverheadCloudFlowZ: 1
- _OverheadCloudRemapMax: 1 - _OverheadCloudRemapMax: 1
- _OverheadCloudRemapMin: -0.3124404 - _OverheadCloudRemapMin: -0.49308622
- _OverheadCloudSize: 10 - _OverheadCloudSize: 10
- _OverheadCloudStep: 2 - _OverheadCloudStep: 2
- _StarsDensity0: 0.4 - _StarsDensity0: 0.4
@ -231,7 +233,7 @@ Material:
- _StarsGlow0: 0.01 - _StarsGlow0: 0.01
- _StarsGlow1: 0.01 - _StarsGlow1: 0.01
- _StarsGlow2: 0.01 - _StarsGlow2: 0.01
- _StarsOpacity: 0.5800976 - _StarsOpacity: 0.98338187
- _StarsSize0: 0.42 - _StarsSize0: 0.42
- _StarsSize1: 0.53 - _StarsSize1: 0.53
- _StarsSize2: 0.46 - _StarsSize2: 0.46
@ -241,26 +243,26 @@ Material:
- _StarsTwinkle1: 6 - _StarsTwinkle1: 6
- _StarsTwinkle2: 2 - _StarsTwinkle2: 2
- _SunGlow: 0.45 - _SunGlow: 0.45
- _SunLightIntensity: 0.00034508153 - _SunLightIntensity: 0.000027080663
- _SunSize: 0.07 - _SunSize: 0.07
- _SunSoftEdge: 0.5 - _SunSoftEdge: 0.5
m_Colors: m_Colors:
- _DetailOverlayColor: {r: 1, g: 1, b: 1, a: 1} - _DetailOverlayColor: {r: 1, g: 1, b: 1, a: 1}
- _DetailOverlayTintColor: {r: 1, g: 1, b: 1, a: 1} - _DetailOverlayTintColor: {r: 1, g: 1, b: 1, a: 1}
- _FogColor: {r: 0.8490566, g: 0.69017035, b: 0.6287825, a: 1} - _FogColor: {r: 0.8490566, g: 0.69017035, b: 0.6287825, a: 1}
- _GroundColor: {r: 0.34143788, g: 0.3053926, b: 0.37521058, a: 1} - _GroundColor: {r: 0.29412064, g: 0.2473189, b: 0.3379716, a: 1}
- _HorizonCloudColor: {r: 1, g: 1, b: 1, a: 1} - _HorizonCloudColor: {r: 1, g: 1, b: 1, a: 1}
- _HorizonColor: {r: 0.4159287, g: 0.36391956, b: 0.5471698, a: 1} - _HorizonColor: {r: 0.4159287, g: 0.36391956, b: 0.5471698, a: 1}
- _MoonColor: {r: 1, g: 1, b: 1, a: 1} - _MoonColor: {r: 1, g: 1, b: 1, a: 1}
- _MoonDirection: {r: -0.32436156, g: -0.58976406, b: -0.7395728, a: 0} - _MoonDirection: {r: -0.47619665, g: -0.8676345, b: -0.14299436, a: 0}
- _MoonLightColor: {r: 0.8431373, g: 0.9843138, b: 1, a: 1} - _MoonLightColor: {r: 0.8431373, g: 0.9843138, b: 1, a: 1}
- _OverheadCloudColor: {r: 1, g: 1, b: 1, a: 0.8660082} - _OverheadCloudColor: {r: 1, g: 1, b: 1, a: 0.7984362}
- _SkyColor: {r: 0.08056989, g: 0.03172837, b: 0.21698111, a: 1} - _SkyColor: {r: 0.08056989, g: 0.03172837, b: 0.21698111, a: 1}
- _StarsColor0: {r: 0.96470594, g: 0.9450981, b: 0.76470596, a: 1} - _StarsColor0: {r: 0.96470594, g: 0.9450981, b: 0.76470596, a: 1}
- _StarsColor1: {r: 1, g: 0.5294118, b: 0.93725497, a: 1} - _StarsColor1: {r: 1, g: 0.5294118, b: 0.93725497, a: 1}
- _StarsColor2: {r: 0, g: 0.92549026, b: 1, a: 1} - _StarsColor2: {r: 0, g: 0.92549026, b: 1, a: 1}
- _SunColor: {r: 0.98829705, g: 0.96898645, b: 0.9371241, a: 0} - _SunColor: {r: 0.9979769, g: 0.99463874, b: 0.9891307, a: 0}
- _SunDirection: {r: 0.59986365, g: 0.30597764, b: 0.73928434, a: 0} - _SunDirection: {r: 0.881503, g: 0.45014063, b: 0.14256957, a: 0}
- _SunLightColor: {r: 1, g: 0.99511117, b: 0.8632076, a: 1} - _SunLightColor: {r: 1, g: 0.99511117, b: 0.8632076, a: 1}
m_BuildTextureStacks: [] m_BuildTextureStacks: []
--- !u!21 &8993251732621375409 --- !u!21 &8993251732621375409

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long