public static EnemyWalkController Create(WalkingStyle walkingStyle, float enemyBaseSpeed, Rigidbody2D playerRb, Rigidbody2D enemyRb) { EnemyWalkController obj = null; switch (walkingStyle) { case WalkingStyle.ZigZagWideStartLeft: obj = new EnemyWalkStyleZigZagWide(-1); break; case WalkingStyle.ZigZagWideStartRight: obj = new EnemyWalkStyleZigZagWide(1); break; case WalkingStyle.JustDown: obj = new EnemyWalkStyleJustDown(); break; case WalkingStyle.ToPlayer: obj = new EnemyWalkToPlayer(); break; case WalkingStyle.SpaceInvader: obj = new EnemyWalkSpaceInvader(1); break; default: return(null); } obj.enemyBaseSpeed = enemyBaseSpeed; obj.playerRb = playerRb; obj.enemyRb = enemyRb; return(obj); }
/// <summary> /// Laduje do pamięci dane gracza /// </summary> /// <param name="player"></param> /// <param name="charId"></param> /// <returns></returns> public static async Task <Character> LoadPlayerData(Client player, int charId) { using (Database.Database db = new Database.Database()) { Character charInfo = await db.Characters.FirstOrDefaultAsync(t => t.Id == charId); if (charInfo == null) { return(null); } ForumMember memberData = await db.ForumMembers.FirstOrDefaultAsync(t => t.MemberId == charInfo.MemberId); charInfo.AdminLevel = 0; charInfo.HasAdminDuty = false; charInfo.HasMask = false; charInfo.HasCustomName = false; charInfo.CustomName = null; charInfo.AdminPerm = new List <object>(); charInfo.LastWhisper = null; charInfo.WhisperBlock = false; charInfo.Cuff = null; charInfo.RadioBlock = false; charInfo.HasInvisibleEnabled = false; charInfo.ServerId = player.Value; charInfo.ServerData = new Dictionary <ServerData, object>(); charInfo.IsCrouching = false; charInfo.Tattoos = new List <Tattoo>(); charInfo.SyncedTattoos = new List <int>(); charInfo.UsedWeapon = null; charInfo.PlayerHandle = player; charInfo.AnimPlayer = null; charInfo.LoadDrugs(); List <Database.Models.Tattoo> tattoos = await db.Tattoos.Where(t => t.CharId == charInfo.Id).ToListAsync(); foreach (Database.Models.Tattoo entry in tattoos) { charInfo.SyncedTattoos.Add(entry.TattooId); } WalkingStyle charWalkingStyle = await db.WalkingStyles.FirstOrDefaultAsync(t => t.Id == charInfo.WalkingStyle); if (charWalkingStyle == default(WalkingStyle)) { charInfo.WalkingStyleAnim = null; } else { charInfo.WalkingStyleAnim = charWalkingStyle.AnimName; if (charInfo.WalkingStyleAnim.Length < 2) { charInfo.WalkingStyleAnim = null; } } try { charInfo.AdminPerm = JsonConvert.DeserializeObject <List <object> >(memberData.AdminFlags); } catch (Exception e) { Log.ConsoleLog("ACCOUNT", $"(USER {charInfo.Name} {charInfo.Lastname}) {e.Message}", LogType.Error); charInfo.AdminPerm = new List <object>(); } CharactersList.Add(charInfo.PlayerHandle.Value, charInfo); return(charInfo); } }