private void SetField(Dictionary <EntityId, List <EntitySnapshot> > shots) { FieldCreator.Reset(); int snapShotCount = 0; foreach (var kvp in shots) { foreach (var snap in kvp.Value) { Position.Snapshot position; if (snap.TryGetComponentSnapshot(out position) == false) { continue; } FieldComponent.Snapshot field; if (snap.TryGetComponentSnapshot(out field) == false) { continue; } FieldCreator.RealizeField(field.TerrainPoints, position.Coords, this.BasePosition); snapShotCount++; } } DebugUtils.LogFormatColor(UnityEngine.Color.red, "FieldWorkerType:{0} RealizeSnapShot.Count:{1}", this.FieldWorkerType, snapShotCount); FieldCreator.RemoveFields(); }
protected override void OnCreate() { base.OnCreate(); var go = new GameObject("FieldCreator"); FieldCreator = go.AddComponent <FieldCreator>(); FieldCreator.Setup(this.WorkerSystem.World, this.WorkerSystem.Origin, this.WorkerSystem.WorkerId, FieldWorkerType); }
protected override void OnCreate() { base.OnCreate(); var go = new GameObject("FieldCreator"); FieldCreator = go.AddComponent <FieldCreator>(); FieldCreator.Setup(this.WorkerSystem.World, this.WorkerSystem.Origin, this.WorkerSystem.WorkerId, FieldWorkerType); var settings = FieldCreator.Settings; checkRange = settings != null ? settings.FieldSize / 2 : 0; checkRange *= FieldDictionary.CheckRangeRate; }
private void SetField(List <EntitySnapshot> snapShots) { FieldCreator.Reset(); foreach (var snap in snapShots) { Position.Snapshot position; if (snap.TryGetComponentSnapshot(out position) == false) { return; } FieldComponent.Snapshot field; if (snap.TryGetComponentSnapshot(out field) == false) { return; } FieldCreator.RealizeField(field.TerrainPoints, position.Coords, this.BasePosition); } FieldCreator.RemoveFields(); }
private void SetFieldClear() { FieldCreator.Reset(); FieldCreator.RealizeEmptyField(this.BasePosition); FieldCreator.RemoveFields(); }