public ModeLogic(IWeaponInitLogic weaponInitLogic, IWeaponSlotController weaponSlotController, IBagSlotLogic bagSlotLogic, IPickupLogic pickupLogic, IReservedBulletLogic reservedBulletLogic, IWeaponActionListener weaponActionListener) { _weaponInitLogic = weaponInitLogic; _weaponSlotController = weaponSlotController; _bagSlotLogic = bagSlotLogic; _pickupLogic = pickupLogic; _reservedBulletLogic = reservedBulletLogic; _weaponActionListener = weaponActionListener; }
public WeaponSlotAuxiliary( PlayerEntity player, IWeaponSlotController weaponSlotController, IPlayerWeaponActionLogic playerWeaponActionLogic, IReservedBulletLogic reservedBulletController, IGrenadeBagCacheAgent grenadeInventory) { Util.CommonUtil.ProcessDerivedTypeInstances(typeof(WeaponSlotBaseHandler), true, OnDerivedTypeInstanceProcess); //var slots = weaponSlotController.AvaliableSlots; //for(int i = 0; i < slots.Length; i++) //{ // var slot = slots[i]; // var weaponComponent = player.GetWeaponComponentBySlot(slot); // var soundManager = player.soundManager.Value; // switch(slot) // { // case EWeaponSlotType.GrenadeWeapon: // _controllerDic[slot] = new GrenadeSlotHandler( // player, // playerWeaponActionLogic, // weaponComponent, // reservedBulletController, // soundManager); // break; // case EWeaponSlotType.MeleeWeapon: // _controllerDic[slot] = new MeleeSlotHandler( // player, // playerWeaponActionLogic, // weaponComponent, // reservedBulletController, // soundManager); // break; // case EWeaponSlotType.TacticWeapon: // _controllerDic[slot] = new TacticSlotHandler( // player, // playerWeaponActionLogic, // weaponComponent, // reservedBulletController, // soundManager); // break; // default: // _controllerDic[slot] = new WeaponSlotBaseHandler( // player, // playerWeaponActionLogic, // weaponComponent, // reservedBulletController, // soundManager); // break; // } //} }
public PlayerWeaponActionLogic( PlayerEntity player, WeaponBagLogic bagLogic, ISceneObjectEntityFactory sceneObjectEntityFactory, IReservedBulletLogic reservedBulletLogic, IGrenadeBagCacheAgent grenadeInventory, IWeaponSlotController weaponSlotController, IWeaponActionListener weaponActionListener) { _playerEntity = player; _weaponBagLogic = bagLogic; _weaponSlotController = weaponSlotController; _slotAuxiliary = new WeaponSlotAuxiliary(player, weaponSlotController, this, reservedBulletLogic, grenadeInventory); _weaponActionListener = weaponActionListener; }
public static PlayerEntity CreateNewPlayerEntity( PlayerContext playerContext, IWeaponSlotController weaponSlotController, Vector3 position, ICreatePlayerInfo playerInfo, bool prediction, bool autoMove) { PlayerEntity playerEntity = playerContext.CreateEntity(); var sex = SingletonManager.Get <RoleConfigManager>().GetRoleItemById(playerInfo.RoleModelId).Sex; var modelName = sex == 1 ? SharedConfig.maleModelName : SharedConfig.femaleModelName; playerEntity.AddPlayerInfo(playerInfo.EntityId, playerInfo.PlayerId, playerInfo.PlayerName, playerInfo.RoleModelId, modelName, playerInfo.TeamId, playerInfo.Num, playerInfo.Level, playerInfo.BackId, playerInfo.TitleId, playerInfo.BadgeId, playerInfo.AvatarIds, playerInfo.WeaponAvatarIds, playerInfo.Camp); playerEntity.playerInfo.WeaponBags = playerInfo.WeaponBags; playerEntity.AddUserCmd(); playerEntity.AddUserCmdSeq(0); playerEntity.AddUserCmdOwner(new UserCmdOwnerAdapter(playerEntity)); playerEntity.AddEntityKey(new EntityKey(playerInfo.EntityId, (int)EEntityType.Player)); playerEntity.AddPosition(position); playerEntity.AddVehicleCmdSeq(0); playerEntity.isFlagCompensation = true; playerEntity.isFlagSyncSelf = true; playerEntity.isFlagSyncNonSelf = true; playerEntity.isFlagAutoMove = autoMove; playerEntity.isFlagSelf = prediction; playerEntity.AddOrientation(0, 0, 0, 0, 0); playerEntity.AddPlayerRotateLimit(false); playerEntity.AddPlayerMove(Vector3.zero, 0, true, false, 0); playerEntity.AddPlayerSkyMove(true, -1); playerEntity.AddPlayerSkyMoveInterVar(); playerEntity.AddTime(0); playerEntity.AddGamePlay(100, 100); playerEntity.AddWeaponState(0, 0); #if UNITY_EDITOR if (SharedConfig.IsOffline) { playerEntity.weaponState.BagOpenLimitTime = 50000; } #endif playerEntity.AddPlayerWeaponState(0, false, 0, 0, 0, 0, false, 0, 0); AddCameraStateNew(playerEntity); playerEntity.AddState(); playerEntity.AddFirePosition(); playerEntity.AddStateBefore(); playerEntity.AddStateInterVar(new StateInterCommands(), new StateInterCommands(), new StateInterCommands(), new StateInterCommands()); playerEntity.AddStateInterVarBefore(); playerEntity.AddMoveUpdate(); playerEntity.AddSkyMoveUpdate(); playerEntity.AddPlayerMoveByAnimUpdate(); playerEntity.AddFirstPersonAppearance(playerEntity.entityKey.Value.EntityId); playerEntity.AddThirdPersonAppearance(); //playerEntity.AddNetworkWeaponAnimation(string.Empty, 0, string.Empty, 0); playerEntity.AddLatestAppearance(); playerEntity.latestAppearance.Init(); playerEntity.AddPredictedAppearance(); playerEntity.AddOxygenEnergy(0); playerEntity.AddSound(); playerEntity.AddUpdateMessagePool(); playerEntity.AddRemoteEvents(new PlayerEvents()); playerEntity.AddStatisticsData(false, new BattleData(), new StatisticsData()); weaponSlotController.InitPlayerWeaponBySlotInfo(playerEntity); playerEntity.AddPlayerMask((byte)(EPlayerMask.TeamA | EPlayerMask.TeamB), (byte)(EPlayerMask.TeamA | EPlayerMask.TeamB)); playerEntity.AddOverrideBag(0); //Logger.Info(playerEntity.Dump()); return(playerEntity); }