public IGameEntity Create(string entityId, Character character, GameEntityType entityType, Vector3 spawnPoint, ControllerType controllerType) { GameObject go; GameObject prefab = null; if (!string.IsNullOrEmpty(character.gameEntityPrefab)) { prefab = GetGameEntityPrefab(character.gameEntityPrefab); } else { if (gameEntityPrefabs.Count > 0) { prefab = gameEntityPrefabs[0].prefab; } } if (prefab == null) { throw new UnityException("Unable to spawn gameentity, no prefab found"); } go = GameObject.Instantiate(prefab, spawnPoint, Quaternion.identity) as GameObject; SpawnPoint.Instance().spawned = true; go.transform.parent = GetEntityContainer().transform; GameEntity gameEntity = go.GetComponent <GameEntity>() as GameEntity; LoadUmaModel(gameEntity); gameEntity.Init(entityId, character, entityType, controllerType); return(gameEntity); }
public IGameEntity CreateLocal(GameEntityType entityType) { Character character = new Character(); character.id = Settings.Instance().defaultCharacterId; Vector3 spawnPoint = SpawnPoint.Instance().GetPlayerSpawnpoint(character); return Create(Settings.Instance().defaultEntityId, character, entityType, spawnPoint, ControllerType.Local); }
public static GameEntityType GameEntityTypeFromTrackData(TrackData trackData) { GameEntityType entityType; switch (trackData.entityType) { case TrackData.EntityType.Player: entityType = GameEntityType.Player; break; case TrackData.EntityType.Npc: entityType = GameEntityType.Npc; break; case TrackData.EntityType.Object: entityType = GameEntityType.Vehicle; break; default: entityType = GameEntityType.Other; break; } if (entityType == GameEntityType.Player && trackData.id != NetworkSettings.instance.username) { entityType = GameEntityType.OtherPlayer; } return(entityType); }
public static GameEntityType GameEntityTypeFromTrackData(TrackData trackData) { GameEntityType entityType; switch (trackData.entityType) { case TrackData.EntityType.PLAYER: entityType = GameEntityType.Player; break; case TrackData.EntityType.NPC: entityType = GameEntityType.Npc; break; case TrackData.EntityType.SHIP: entityType = GameEntityType.Vehicle; break; case TrackData.EntityType.OTHER: entityType = GameEntityType.Other; break; default: entityType = GameEntityType.Other; break; } if (entityType == GameEntityType.Player && trackData.id != NetworkSettings.instance.username) { entityType = GameEntityType.OtherPlayer; } return entityType; }
public IGameEntity CreateLocal(GameEntityType entityType) { Character character = new Character(); character.id = Settings.Instance().defaultCharacterId; Vector3 spawnPoint = SpawnPoint.Instance().GetPlayerSpawnpoint(character); return(Create(Settings.Instance().defaultEntityId, character, entityType, spawnPoint, ControllerType.Local)); }
public IGameEntity CreateFromNetwork(string entityId, Character character, TrackData trackData) { Vector3 spawnPosition = GmUtil.TrackdataToVector3(trackData); GameEntityType entityType = GameEntity.GameEntityTypeFromTrackData(trackData); Vector3 spawnPoint = SpawnPoint.Instance().GetNpcSpawnpoint(spawnPosition); IGameEntity gameEntity = Create(entityId, character, entityType, spawnPoint, ControllerType.Remote); return(gameEntity); }
private Vector3 GetSpawnpoint(GameEntityType entityType, Character character) { Vector3 spawnPoint; if (entityType == GameEntityType.Player) { spawnPoint = SpawnPoint.Instance().GetPlayerSpawnpoint(character); } else { spawnPoint = SpawnPoint.Instance().GetPlayerSpawnpoint(character); } return spawnPoint; }
public void UpdateFromTrackData(TrackData trackData, bool hasDelta) { if (entityType == GameEntityType.None) { entityType = GameEntityTypeFromTrackData(trackData); } networkFieldsDef.UpdateFromNetwork(trackData, hasDelta); targetPosition = networkFieldsDef.GetPosition(); lastUpdate = Time.time; }
private Vector3 GetSpawnpoint(GameEntityType entityType, Character character) { Vector3 spawnPoint; if (entityType == GameEntityType.Player) { spawnPoint = SpawnPoint.Instance().GetPlayerSpawnpoint(character); } else { spawnPoint = SpawnPoint.Instance().GetPlayerSpawnpoint(character); } return(spawnPoint); }
private GameEntitySpawnSettings FindSpawnSettings( GameEntityType _EntityToSpawnType ) { GameEntitySpawnSettings matchingSettings = null; foreach ( GameEntitySpawnSettings spawnSettings in m_EntitySpawnSettings ) { GameEntityType spawnType = spawnSettings.GetEntityType(); if (spawnType == _EntityToSpawnType) { matchingSettings = spawnSettings; break; } } return matchingSettings; }
public static GameEntitySpawner FindEntitySpawner( GameEntityType _EntityToSpawnType ) { GameEntitySpawner matchingSpawner = null; Object[] spawners = FindObjectsOfType(typeof(GameEntitySpawner)); foreach ( Object spawner in spawners ) { GameEntitySpawner entitySpawner = spawner as GameEntitySpawner; GameEntityType spawnerType = entitySpawner.GetSpawnType(); if (spawnerType == _EntityToSpawnType) { matchingSpawner = entitySpawner; break; } } return matchingSpawner; }
public IGameEntity Create(string entityId, Character character, GameEntityType entityType) { Vector3 spawnPosition; SpawnPoint spawnPoint = GameComponent.Get<SpawnPoint>() as SpawnPoint; if (character == null) { Debug.Log("NULL character"); } if (character.worldx != 0 && character.worldy != 0) { float x; float y; float z; x = Util.Instance.IntToFloat(character.worldx, true); z = Util.Instance.IntToFloat(character.worldy, true); y = Util.Instance.IntToFloat(character.worldz, true); spawnPosition = spawnPoint.GroundedPosition(new Vector3(x, y, z)); } else { spawnPosition = spawnPoint.GetFirst(); } return Create(entityId, character, entityType, spawnPosition); }
public void Init(string entityId, Character character, GameEntityType entityType, ControllerType controllerType) { this.character = character; this.entityType = entityType; this.entityId = entityId; this.controllerType = controllerType; gameObject.name = character.id; gameObject.tag = Settings.Instance().gameEntityTag; inputController.SetControllerType(controllerType); if (controllerType == ControllerType.Remote) { gameObject.layer = LayerMask.NameToLayer(Settings.Instance().gameEntityTag); AddHealthbar(); } networkSpawnPoint = SpawnPoint.Instance().GetCharacterSpawnpoint(character); if (DefaultClient.OptimizeForServer()) { Destroy(gameObject.GetComponentInChildren <SkinnedMeshRenderer>()); } }
public void Init(string entityId, Character character, GameEntityType entityType, ControllerType controllerType) { this.character = character; this.entityType = entityType; this.entityId = entityId; this.controllerType = controllerType; gameObject.name = character.id; gameObject.tag = Settings.Instance().gameEntityTag; inputController.SetControllerType(controllerType); if (controllerType == ControllerType.Remote) { gameObject.layer = LayerMask.NameToLayer(Settings.Instance().gameEntityTag); AddHealthbar(); } networkSpawnPoint = SpawnPoint.Instance().GetCharacterSpawnpoint(character); if (DefaultClient.OptimizeForServer()) { Destroy(gameObject.GetComponentInChildren<SkinnedMeshRenderer>()); } }
public void UpdateFromTrackData(TrackData trackData, bool hasDelta) { if (entityType == GameEntityType.None) { entityType = GameEntityTypeFromTrackData(trackData); } networkFields.UpdateFromNetwork(trackData, hasDelta); serverLocation = networkFields.GetVector3(GMKeyCode.Position); lastUpdate = Time.time; }
public void Init(string entityId, Character character, GameEntityType entityType) { this.character = character; this.entityType = entityType; this.entityId = entityId; gameObject.name = character.id; gameObject.tag = Settings.Instance().gameEntityTag; model = transform.Find("model"); animationController = model.GetComponent<AnimationController>(); if (this.entityType == GameEntityType.Player) { inputController.SetControllerType("local"); } else { inputController.SetControllerType("remote"); } }
public IGameEntity Create(string entityId, Character character, GameEntityType entityType, Vector3 spawnPosition) { GameObject go = GameComponent.Get<AssetLibrary>().Load("GameEntity"); go.transform.parent = GetEntityContainer().transform; go.transform.position = spawnPosition; GameEntity gameEntity = go.GetComponent<GameEntity>() as GameEntity; gameEntity.Init(entityId, character, entityType); return gameEntity; }
public IGameEntity Create(string entityId, Character character, GameEntityType entityType, Vector3 spawnPoint, ControllerType controllerType) { GameObject go; GameObject prefab = null; if (!string.IsNullOrEmpty(character.gameEntityPrefab)) { prefab = GetGameEntityPrefab(character.gameEntityPrefab); } else { if (gameEntityPrefabs.Count > 0) { prefab = gameEntityPrefabs[0].prefab; } } if (prefab == null) { throw new UnityException("Unable to spawn gameentity, no prefab found"); } go = GameObject.Instantiate(prefab, spawnPoint,Quaternion.identity) as GameObject; SpawnPoint.Instance().spawned = true; go.transform.parent = GetEntityContainer().transform; GameEntity gameEntity = go.GetComponent<GameEntity>() as GameEntity; LoadUmaModel(gameEntity); gameEntity.Init(entityId, character, entityType, controllerType); return gameEntity; }
// ------------------------------------------------------------------- // Private // ------------------------------------------------------------------- private GameEntityId GetNextGameEntityId(GameEntityType type) { return(new GameEntityId(this.nextGameEntityId++, type)); }
// ------------------------------------------------------------------- // Constructor // ------------------------------------------------------------------- public GameEntityId(ulong value, GameEntityType type) { this.Value = value; this.Type = type; }
public IGameEntity Create(GameEntityType entityType) { Character character = new Character(); character.id = Settings.Instance().defaultCharacterId; return Create(Settings.Instance().defaultEntityId, character, entityType); }