public static void OnBeginPlay() { Debug.AddOnScreenMessage(-1, 3.0f, Color.LightGreen, MethodBase.GetCurrentMethod().DeclaringType + " system started!"); World.GetFirstPlayerController().SetViewTarget(World.GetActor <Camera>("MainCamera")); for (int i = 0; i < maxEntities; i++) { string entityName = "Entity" + (i > 0 ? i.ToString() : String.Empty); entities[i] = new Entity(entityName); entities[i].CreateMesh(1.0f, "StateComponent", true); entities[i].StateComponent.SetRelativeRotation(Maths.CreateFromYawPitchRoll(5.0f * i, 0.0f, 0.0f)); entities[i].StateComponent.CreateAndSetMaterialInstanceDynamic(0).SetVectorParameterValue("Color", new LinearColor((float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble())); entities[i].StateComponent.SetRelativeLocation(new Vector3(0.0f, 0.0f, 120.0f * i)); entities[i].StateComponent.AddLocalOffset(new Vector3(0.0f, 0.0f, -420.0f)); Entity entity = World.GetActor <Entity>(entityName); StateComponent component = entity.GetComponent <StateComponent>(); Assert.IsTrue(entity.Equals(entities[i])); Assert.IsTrue(component.Equals(entities[i].StateComponent)); } Debug.AddOnScreenMessage(-1, 3.0f, Color.LightGreen, "Actors are spawned! Number of actors in the world: " + World.ActorCount); }
public static void OnBeginPlay() { Debug.Log(LogLevel.Display, "Hello, Unreal Engine!"); Debug.AddOnScreenMessage(-1, 3.0f, Color.LightGreen, MethodBase.GetCurrentMethod().DeclaringType + " system started!"); World.GetFirstPlayerController().SetViewTarget(World.GetActor <Camera>("MainCamera")); const int eighthEntities = maxEntities / 8; for (int i = 0; i < maxEntities; i++) { string entityName = "Entity" + (i > 0 ? i.ToString() : String.Empty); entities[i] = new Entity(entityName); entities[i].CreateMesh(1.0f, "StateComponent", true); entities[i].StateComponent.SetRelativeRotation(Quaternion.CreateFromYawPitchRoll(5.0f * i, 0.0f, 0.0f)); entities[i].StateComponent.CreateAndSetMaterialInstanceDynamic(0).SetVectorParameterValue("Color", new LinearColor((float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble())); if (i < eighthEntities) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? -100.0f : -100.0f * (i + i + 1), 100.0f, 0.0f)); } else if (i < eighthEntities * 2) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? 100.0f : 100.0f * (i + i + 1 - eighthEntities * 2), 100.0f, 0.0f)); } else if (i < eighthEntities * 3) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? -100.0f : -100.0f * (i + i + 1 - eighthEntities * 4), -100.0f, 0.0f)); } else if (i < eighthEntities * 4) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? 100.0f : 100.0f * (i + i + 1 - eighthEntities * 6), -100.0f, 0.0f)); } else if (i < eighthEntities * 5) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? -100.0f : -100.0f * (i + i + 1 - eighthEntities * 8), 300.0f, 0.0f)); } else if (i < eighthEntities * 6) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? 100.0f : 100.0f * (i + i + 1 - eighthEntities * 10), 300.0f, 0.0f)); } else if (i < eighthEntities * 7) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? -100.0f : -100.0f * (i + i + 1 - eighthEntities * 12), -300.0f, 0.0f)); } else if (i < eighthEntities * 8) { entities[i].StateComponent.SetRelativeLocation(new Vector3(i == 0 ? 100.0f : 100.0f * (i + i + 1 - eighthEntities * 14), -300.0f, 0.0f)); } Entity entity = World.GetActor <Entity>(entityName); StateComponent component = entity.GetComponent <StateComponent>(); Assert.IsTrue(entity.Equals(entities[i])); Assert.IsTrue(component.Equals(entities[i].StateComponent)); } Debug.AddOnScreenMessage(-1, 3.0f, Color.LightGreen, "Actors are spawned! Number of actors in the world: " + World.ActorCount); }