private void Actor_Spawn(object sender, SpawnEventArgs e) { Actor spawnedActor = (Actor)sender; ActionList actionList = new ActionList(spawnedActor); actionLists.Add(actionList); actors.Add(spawnedActor); }
private void Prop_Spawn(object sender, SpawnEventArgs e) { Prop spawnedProp = (Prop)sender; Point spawnPoint = new Point(e.spawnTile.X * world.tileSize, e.spawnTile.Y * world.tileSize); spawnedProp.setPos(spawnPoint); props.Add(spawnedProp); }
private void Mission_PlayerSpawned(object sender, SpawnEventArgs e) { if (!(sender is Player player)) { return; } switch (player.PlayerClass) { case PlayerClassType.TruckDriver: case PlayerClassType.BusDriver: case PlayerClassType.Pilot: player.MissionTextDraw.Text = Messages.NoMissionText; break; case PlayerClassType.Police: player.MissionTextDraw.Text = Messages.NoMissionTextPolice; break; case PlayerClassType.Mafia: player.MissionTextDraw.Text = Messages.NoMissionTextMafia; break; case PlayerClassType.Assistance: player.MissionTextDraw.Text = Messages.NoMissionTextAssistance; break; } player.MissionTextDraw.Show(); }
protected override void OnEvent(object obj) { SpawnEventArgs args = obj as SpawnEventArgs; if (null == args) { Debug.LogWarning("OnEvent : 이 메시지가 호출되면 인자로 잘못된 값을 보낸것입니다."); return; } switch (args.eventType) { case eEvent.AllSpawned: { // 다음 그룹의 스폰이 끝났다면, 못돌아가도록 막기 if (args.sender == nextGroup) { //Close(); //Invoke("Close", 0.2f); } } break; case eEvent.AllDead: case eEvent.OpenDoor: { // 전 그룹의 객체가 다 죽었다면 벽을 없애준다. if (args.sender == prevGroup) { Open(); } } break; } }
public override void OnSpawned(SpawnEventArgs e) { VirtualWorld = 0; Interior = 0; ToggleClock(false); if (PlayerClass != PlayerClassType.Police) { ResetWeapons(); } if (Account.RulesRead == 0) { SendClientMessage(Color.Red, Messages.RulesNotYetAccepted); } if (!IsSpectating) { return; } Position = SpectatePosition; SpectatePosition = Vector3.Zero; IsSpectating = false; base.OnSpawned(e); }
private void SecondaryWeapon_OnSpawning(object sender, SpawnEventArgs e) { if (OnSpawning != null) { OnSpawning(this, e); } }
/// <summary> /// Server-side only. For use when a player has only joined (as a JoinedViewer) and /// is not in control of any mobs. Spawns the joined viewer as the indicated occupation and transfers control to it. /// Note that this doesn't take into account game mode or antags, it just spawns whatever is requested. /// </summary> /// <param name="joinedViewer">viewer who should control the player</param> /// <param name="occupation">occupation to spawn as</param> /// <param name="characterSettings">settings to use for the character</param> /// <returns>the game object of the spawned player</returns> public static GameObject ServerSpawnPlayer(JoinedViewer joinedViewer, Occupation occupation, CharacterSettings characterSettings) { NetworkConnection conn = joinedViewer.connectionToClient; // TODO: add a nice cutscene/animation for the respawn transition var newPlayer = ServerSpawnInternal(conn, occupation, characterSettings, null); if (newPlayer) { if (occupation.JobType != JobType.SYNDICATE && occupation.JobType != JobType.AI) { SecurityRecordsManager.Instance.AddRecord(newPlayer.GetComponent <PlayerScript>(), occupation.JobType); } } if (SpawnEvent != null) { SpawnEventArgs args = new SpawnEventArgs() { player = newPlayer }; SpawnEvent.Invoke(null, args); } return(newPlayer); }
/// <summary> /// Server-side only. For use when a player has only joined (as a JoinedViewer) and /// is not in control of any mobs. Spawns the joined viewer as the indicated occupation and transfers control to it. /// Note that this doesn't take into account game mode or antags, it just spawns whatever is requested. /// </summary> /// <param name="request">holds the request data</param> /// <param name="joinedViewer">viewer who should control the player</param> /// <param name="occupation">occupation to spawn as</param> /// <param name="characterSettings">settings to use for the character</param> /// <returns>the game object of the spawned player</returns> public static GameObject ServerSpawnPlayer(PlayerSpawnRequest request, JoinedViewer joinedViewer, Occupation occupation, CharacterSettings characterSettings, bool showBanner = true) { if (ValidateCharacter(request) == false) { return(null); } NetworkConnection conn = joinedViewer.connectionToClient; // TODO: add a nice cutscene/animation for the respawn transition var newPlayer = ServerSpawnInternal(conn, occupation, characterSettings, null, showBanner: showBanner); if (newPlayer != null && occupation.IsCrewmember) { CrewManifestManager.Instance.AddMember(newPlayer.GetComponent <PlayerScript>(), occupation.JobType); } if (SpawnEvent != null) { SpawnEventArgs args = new SpawnEventArgs() { player = newPlayer }; SpawnEvent.Invoke(null, args); } return(newPlayer); }
protected override void OnPlayerSpawned(BasePlayer player, SpawnEventArgs e) { base.OnPlayerSpawned(player, e); player.SetPositionFindZ(new Vector3(1626.472045f, -1682.130859f, 13.375000f)); Console.WriteLine($"{player.Name} has spawned."); }
internal bool OnPlayerSpawn(int playerid) { var args = new SpawnEventArgs(); OnPlayerSpawned(BasePlayer.FindOrCreate(playerid), args); return(!args.ReturnToClassSelection); }
private void PlayerOnSpawned(object?sender, SpawnEventArgs e) { if (_player.LoggedIn == false) { _player.SendClientMessage(Color.Red, "Zostałeś wyrzucony z serwera za nielegalny spawn."); _player.Kick(); } }
protected override void OnPlayerSpawned(BasePlayer player, SpawnEventArgs e) { player.Position = new Vector3(40, 0, 5); player.GiveWeapon(Weapon.AK47, 50); player.Health = 76; player.Armour = 156; base.OnPlayerSpawned(player, e); }
private void Actor_Spawn(object sender, SpawnEventArgs e) { Actor spawnedActor = (Actor)sender; Point spawnPoint = new Point(e.spawnTile.X * world.tileSize, e.spawnTile.Y * world.tileSize); spawnedActor.setPos(spawnPoint); actors.Add(spawnedActor); }
private void Actor_Spawn(Object sender, SpawnEventArgs e) { Actor spawnedActor = (Actor)sender; ActionList actionList = new ActionList(spawnedActor); actionLists[spawnedActor] = actionList; actors.Add(spawnedActor); Idle idle = new Idle(actionLists[spawnedActor], spawnedActor); actionLists[spawnedActor].pushFront(idle); spawnedActor.id = actors.IndexOf(spawnedActor); }
private void Class_PlayerSpawned(object sender, SpawnEventArgs e) { if (!(sender is Player player)) { return; } switch (player.PlayerClass) { case PlayerClassType.TruckDriver: player.Color = PlayerClassColor.TruckerColor; break; case PlayerClassType.BusDriver: player.Color = PlayerClassColor.BusDriverColor; break; case PlayerClassType.Pilot: player.Color = PlayerClassColor.PilotColor; break; case PlayerClassType.Police: player.Color = PlayerClassColor.PoliceColor; player.CheckTimer?.Dispose(); player.CheckTimer = new Timer(TimeSpan.FromSeconds(1), true); player.CheckTimer.Tick += (senderObject, ev) => PoliceController.PoliceCheckTimer_Tick(senderObject, ev, player); if (Configuration.Instance.CanPoliceHaveWeapons) { foreach (var weapon in Configuration.PoliceWeapons) { player.GiveWeapon(weapon, Configuration.Instance.PoliceWeaponsAmmo); } } break; case PlayerClassType.Mafia: player.Color = PlayerClassColor.MafiaColor; player.CheckTimer?.Dispose(); player.CheckTimer = new Timer(TimeSpan.FromSeconds(1), true); player.CheckTimer.Tick += (senderObject, ev) => MafiaController.MafiaCheckTimer_Tick(senderObject, ev, player); break; case PlayerClassType.Assistance: player.Color = PlayerClassColor.AssistanceColor; player.CheckTimer?.Dispose(); player.CheckTimer = new Timer(TimeSpan.FromSeconds(1), true); player.CheckTimer.Tick += (senderObject, ev) => AssistanceController.AssistanceCheckTimer_Tick(senderObject, ev, player); break; } }
protected override void OnPlayerSpawned(BasePlayer player, SpawnEventArgs e) { base.OnPlayerSpawned(player, e); PlayerData data = PlayerManager.Instance.GetPlayerData(player.Name); if (!data.Authorized) { player.Kick(); } }
protected override void OnPlayerSpawned(BasePlayer sender, SpawnEventArgs e) { base.OnPlayerSpawned(sender, e); var player = sender as Player; if (player.PlayerTeam == null || CurrentMap.IsLoading) { player.SetForceClass(); return; } player.Health = 100; if (player.Armour == 0) { player.TArmour.Hide(); } else { player.TArmour.Show(); } foreach (Gun gun in player.ListGuns) { player.GiveWeapon(gun.Weapon); } player.Team = (int)player.PlayerTeam.Id; player.Skin = player.PlayerTeam.Skin; player.Color = player.Team == (int)TeamID.Alpha ? 0xFF000000 : 0x0000FF00; CurrentMap.SetPlayerPosition(player); player.IsDead = false; if (player.Data.SkinId != -1) { player.Skin = player.Data.SkinId; } if (player.IsInvisible) { player.EnableInvisibility(); } if (player.IsEnableInvisible()) { player.InvisibleTime = 0; } if (player.IsFreeze) { player.ToggleControllable(false); } }
private void Actor_Spawn(object sender, SpawnEventArgs e) { Actor spawnedActor = (Actor)sender; if (e.spawnType == 1) { protagonist = spawnedActor; } else if (e.spawnType == 2) { ActionList behaviorList = new ActionList(spawnedActor); Neutral neutral = new Neutral(behaviorList, spawnedActor); behaviorList.pushFront(neutral); Alert alert = new Alert(behaviorList, spawnedActor, protagonist); behaviorList.pushFront(alert); behaviorLists[spawnedActor] = behaviorList; } //actors.Add(spawnedActor); }
public override void OnSpawned(SpawnEventArgs e) { base.OnSpawned(e); this.Skin = (int)this.ActiveCharacter.Skin; this.Interior = this.ActiveCharacter.SpawnLocation.Interior; this.VirtualWorld = this.ActiveCharacter.SpawnLocation.VirtualWorld; if (this.ActiveCharacter.ItemInHand != null && this.ActiveCharacter.ItemInHand is Gun) { this.GiveWeapon(((Gun)this.ActiveCharacter.ItemInHand).idWeapon, this.ActiveCharacter.ItemInHand.Quantity); } nameLabel = new DynamicTextLabel(this.Name + " (( " + this.Id + " ))" + "\r\n" + Constants.Chat.ME + Utils.PlayerUtils.PlayerHelper.HealthToDescription(this), Color.White, new Vector3(0, 0, 0.3), Constants.PLAYER_LABEL_DIST, attachedPlayer: this, testLOS: true); nameLabel.Interior = this.Interior; nameLabel.World = this.VirtualWorld; nameLabel.HideForPlayer(this); }
private void Actor_Spawn(object sender, SpawnEventArgs e) { Actor spawnedActor = (Actor)sender; if (spawnedActor.className == "player") { protagonist = spawnedActor; } else { ActionList behaviorList = new ActionList(spawnedActor); Neutral neutral = new Neutral(behaviorList, spawnedActor); behaviorList.pushFront(neutral); Alert alert = new Alert(behaviorList, spawnedActor, protagonist); behaviorList.pushFront(alert); behaviorLists[spawnedActor] = behaviorList; } //actors.Add(spawnedActor); }
private void Actor_Spawn(object sender, SpawnEventArgs e) { Actor spawnedActor = (Actor)sender; if (e.spawnType == 1) { protagonist = spawnedActor; } else if (e.spawnType == 2) { ActionList behaviorList = new ActionList(spawnedActor); Idle idle = new Idle(behaviorList, spawnedActor); behaviorList.pushFront(idle); Alert alert = new Alert(behaviorList, spawnedActor, protagonist); behaviorList.pushFront(alert); behaviorLists[spawnedActor] = behaviorList; } //actors.Add(spawnedActor); }
private void stepProc__spawnEvent(object s, SpawnEventArgs e) { try { // add goal/task/intervention payload to processlist if (e.Tags != null) { if (e.Tags.Count > 0) { e.Tags.ForEach(t => { if (t != null) { if (t.GetType() == typeof(List <object>)) { ((List <object>)t).ForEach(r => { if (r != null) { AddUniquePlanElementToProcessedList(r); } }); } else { AddUniquePlanElementToProcessedList(t); } } }); } } RelatedChanges.Add(e.Name); } catch (Exception ex) { throw new Exception( "AD:InterviewManager:stepProc__spawnEvent():: count: " + e.Tags.Count + " " + ex.Message, ex.InnerException); } }
protected override void OnEvent(object obj) { SpawnEventArgs args = obj as SpawnEventArgs; if (null == args) { return; } switch (args.eventType) { case eEvent.Dead: { // 소환된 모든 NPC들이 죽었는지 검사! if (G_GameInfo.CharacterMgr.unitGroupDic.ContainsKey(groupNo)) { List <Unit> enemyList = G_GameInfo.CharacterMgr.unitGroupDic[groupNo]; bool isAllDead = enemyList.TrueForAll((unit) => unit.CharInfo.IsDead); if (isAllDead) { OnEvent(new SpawnEventArgs() { sender = this, eventType = eEvent.AllDead }); } } } break; case eEvent.AllDead: // 다음 웨이브 시작되도록 하기 if (null != G_GameInfo.GameInfo) { G_GameInfo.GameInfo.SendMessage("NextWave", SendMessageOptions.RequireReceiver); } break; } }
private static bool OnPlayerSpawn(byte player, int spawnX, int spawnY) { if (PlayerSpawn == null) return false; var args = new SpawnEventArgs { Player = player, SpawnX = spawnX, SpawnY = spawnY, }; PlayerSpawn.Invoke(null, args); return args.Handled; }
private void SpawnObject(Vector3 spawnPosition, Vector3 forward, float angle) { SpawnEventArgs spawnArgs = new SpawnEventArgs(spawnPosition, forward, angle); if (OnSpawning != null) { OnSpawning(this, spawnArgs); } GameObject gobj = Instantiate(Projectile, spawnArgs.SpawnPosition + spawnArgs.Forward, Quaternion.Euler(0.0f, (spawnArgs.Angle + sprayAngle), 0)); Projectile projectile = gobj.GetComponent <Projectile>(); if (transform.parent != null) { projectile.Attacker = transform.parent.gameObject; } if (OnPrimaryAttack != null) { OnPrimaryAttack(this, new WeaponEventArgs(gobj, projectile, AnimationDuration, delayedSpawn)); } if (audioSource != null && FireSound != null) { if (!audioSource.isPlaying || OverwriteSound) { audioSource.clip = FireSound; audioSource.Play(); } } elapsedAttackDelay = 0f; elapsedSpawnDelay = 0f; delayedSpawn = false; delayedSpawnAngle = 0f; delayedSpawnForward = Vector3.zero; delayedSpawnPosition = Vector3.zero; if (UseAmmo) { currentClipAmmo--; if (currentClipAmmo <= 0 && AutoReload) { Reload(); } } else if (ProduceHeat) { elapsedHeatReductionDelay = 0f; heat += heatPerShot; overheat = heat >= maxHeat; if (overheat) { if (audioSource != null && ReloadSound != null) { if (!audioSource.isPlaying) { audioSource.clip = ReloadSound; audioSource.Play(); } } } } }
private void ShipSpawn(object sender, SpawnEventArgs e) { Console.WriteLine(" Ship id: {0} spawn ", e.ship_id); }
private void PrimaryWeapon_OnSpawning(object sender, SpawnEventArgs e) { e.Angle = angle; e.SpawnPosition = leftSpawn.transform.position; e.Forward = transform.forward; }
protected override void OnPlayerSpawned(BasePlayer player, SpawnEventArgs e) { player.GiveWeapon(Weapon.Tec9, 5000); }
protected override void OnPlayerSpawned(BasePlayer player, SpawnEventArgs e) { base.OnPlayerSpawned(player, e); player.Interior = 0; player.ToggleClock(false); }