public static void SpawnHostileUnit(Vector3 position, BlueprintUnit unit) { var currentMode = Game.Instance.CurrentMode; if (currentMode == GameModeType.Default || currentMode == GameModeType.Pause) { var player = Game.Instance.Player; var target = player.Party.Random <UnitEntityData>(); var executor = Game.Instance.EntityCreator.SpawnUnit(unit, position, Quaternion.LookRotation(target.OrientationDirection), Game.Instance.CurrentScene.MainState); if (!executor.AttackFactions.Contains(Game.Instance.BlueprintRoot.PlayerFaction)) { executor.AttackFactions.Add(Game.Instance.BlueprintRoot.PlayerFaction); } executor.Commands.Run(UnitAttack.CreateAttackCommand(executor, target)); } }
public static void SpawnHostileUnit(Vector3 position, string guid) { GameModeType currentMode = Game.Instance.CurrentMode; if (currentMode == GameModeType.Default || currentMode == GameModeType.Pause) { BlueprintUnit blueprintUnit = Utilities.GetBlueprintByGuid <BlueprintUnit>(guid); if (blueprintUnit != null) { Player player = Game.Instance.Player; UnitEntityData target = player.Party.Random <UnitEntityData>(); UnitEntityData executor = Game.Instance.EntityCreator.SpawnUnit((BlueprintUnit)Utilities.GetBlueprintByGuid <BlueprintUnit>(guid), position, Quaternion.LookRotation(target.OrientationDirection), Game.Instance.CurrentScene.MainState); if (!executor.AttackFactions.Contains(Game.Instance.BlueprintRoot.PlayerFaction)) { executor.AttackFactions.Add(Game.Instance.BlueprintRoot.PlayerFaction); } executor.Commands.Run(UnitAttack.CreateAttackCommand(executor, target)); } } }