Пример #1
0
    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);
    }
Пример #2
0
        /// <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);
            }
        }