public GameObject GenerateHitBoxGameObject() { foreach (var hitbox in _hitboxInfo.HitBoxList) { var node = GetNode(hitbox.Name); node.transform.localEulerAngles = hitbox.Rotation; node.transform.localPosition = hitbox.Position; if (hitbox.Scale.x != 0) { node.transform.localScale = hitbox.Scale; } } // todo: delete GameObject coodTransformer = new GameObject("coodTransformer"); _skeletonRoot.transform.parent = coodTransformer.transform; coodTransformer.transform.localRotation = Quaternion.identity; GameObject wrapper = new GameObject("hitbox_" + _owerEntityKey); coodTransformer.transform.parent = wrapper.transform; DefaultGo.SetParentToDefaultGo(wrapper); return(wrapper); }
protected void HandleLoadedModel(PlayerEntity player, GameObject obj) { obj.layer = UnityLayerManager.GetLayerIndex(EUnityLayerName.Player); PlayerEntityUtility.DisableCollider(obj.transform); if (!player.hasCharacterContoller) { var character = DefaultGo.CreateGameObject(player.entityKey.ToString()); character.layer = UnityLayerManager.GetLayerIndex(EUnityLayerName.Player); CharacterController cc = PlayerEntityUtility.InitCharacterController(character); KinematicCharacterMotor kcc = PlayerEntityUtility.InitKinematicCharacterMotor(character); CharacterControllerContext characterControllerContext = new CharacterControllerContext( new UnityCharacterController(cc, !player.isFlagSelf), new Core.CharacterController.ConcreteController.ProneCharacterController(kcc, new ProneController()), new Core.CharacterController.ConcreteController.DiveCharacterController(kcc, new DiveController()), new Core.CharacterController.ConcreteController.SwimCharacterController(kcc, new SwimController()) ); var curver = character.AddComponent <AirMoveCurve>(); curver.AireMoveCurve = SingletonManager.Get <CharacterStateConfigManager>().AirMoveCurve; curver.MovementCurve = SingletonManager.Get <CharacterStateConfigManager>().MovementCurve; curver.PostureCurve = SingletonManager.Get <CharacterStateConfigManager>().PostureCurve; if (character.GetComponent <EntityReference>() == null) { character.AddComponentUncheckRequireAndDisallowMulti <EntityReference>(); } character.GetComponent <EntityReference>().Init(player.entityAdapter); var comp = character.AddComponent <PlayerVehicleCollision>(); comp.AllContext = _contexts; var appearanceManager = new AppearanceManager(); var characterControllerManager = new CharacterControllerManager(); characterControllerManager.SetCharacterController(characterControllerContext); var characterBone = new CharacterBoneManager(); characterBone.SetWardrobeController(appearanceManager.GetWardrobeController()); characterBone.SetWeaponController(appearanceManager.GetController <WeaponController>()); var weaponController = appearanceManager.GetController <WeaponController>() as WeaponController; if (null != weaponController) { weaponController.SetWeaponChangedCallBack(characterBone.CurrentWeaponChanged); weaponController.SetCacheChangeAction(characterBone.CacheChangeCacheAction); } player.AddCharacterControllerInterface(characterControllerManager); player.AddAppearanceInterface(appearanceManager); player.AddCharacterContoller(characterControllerContext); player.AddCharacterBoneInterface(characterBone); player.AddRecycleableAsset(character); player.AddPlayerGameState(PlayerLifeStateEnum.NullState); } }
protected override void InitComponent(PlayerEntity player, IContexts contexts) { var character = DefaultGo.CreateGameObject(player.entityKey.ToString()); character.layer = UnityLayerManager.GetLayerIndex(EUnityLayerName.Player); var cc = PlayerEntityUtility.InitCharacterController(character); var kcc = PlayerEntityUtility.InitKinematicCharacterMotor(character); var characterControllerContext = new CharacterControllerContext( new UnityCharacterController(cc, ModelLoadHandler.InitActionWithOffset(), !player.isFlagSelf), new ProneCharacterController(kcc, new ProneController(), ModelLoadHandler.InitActionWithNoOffset()), new DiveCharacterController(kcc, new DiveController(), ModelLoadHandler.InitActionWithNoOffset()), new SwimCharacterController(kcc, new SwimController(), ModelLoadHandler.InitActionWithNoOffset()) ); var curver = character.AddComponent <AirMoveCurve>(); curver.AireMoveCurve = SingletonManager.Get <CharacterStateConfigManager>().AirMoveCurve; character.AddComponent <EntityReference>(); character.GetComponent <EntityReference>().Init(player.entityAdapter); var comp = character.AddComponent <PlayerVehicleCollision>(); comp.AllContext = contexts as Contexts; var appearanceManager = new AppearanceManager(); var characterControllerManager = new CharacterControllerManager(); characterControllerManager.SetCharacterController(characterControllerContext); var characterBone = new CharacterBoneManager(); characterBone.SetWardrobeController(appearanceManager.GetWardrobeController()); characterBone.SetWeaponController(appearanceManager.GetController <NewWeaponController>()); var weaponController = (NewWeaponController)appearanceManager.GetController <NewWeaponController>(); if (null != weaponController) { weaponController.SetWeaponChangedCallBack(characterBone.CurrentP1WeaponChanged, characterBone.CurrentP3WeaponChanged); weaponController.SetWeaponOrAttachmentDeleteCallBack(characterBone.WeaponOrAttachmentDel); weaponController.SetWeaponOrAttachementAddCallBack(characterBone.WeaponOrAttachmentAdd); weaponController.SetCacheChangeAction(characterBone.CacheChangeCacheAction); } player.AddCharacterControllerInterface(characterControllerManager); player.AddAppearanceInterface(appearanceManager); player.AddCharacterContoller(characterControllerContext); player.AddCharacterBoneInterface(characterBone); player.AddPlayerGameState(PlayerLifeStateEnum.NullState); player.AddPlayerResource(character); }
public void Dispose() { SceneManager.sceneLoaded -= SceneLoadedWrapper; SceneManager.sceneUnloaded -= SceneUnloadedWrapper; SceneLoaded = null; SceneUnloaded = null; GoLoaded = null; AfterGoLoaded = null; BeforeGoUnloaded = null; GoUnloaded = null; DefaultGo.DisposeStreamGo(); }
private void DoStart() { DefaultGo.SetStage(GameRunningStage.BattleClient, false); _logger.InfoFormat("DoStart"); gameObject.AddComponent <VersionDisplay>(); IUserCmdGenerator userCmd; if (!IsRobot) { userCmd = new UnityUserCmdGenerator(); } else { userCmd = new RobotUserCmdGenerator(new DummyRobotUserCmdProvider()); } gameObject.AddComponent <Luminosity.IO.InputManager>(); var consoleCommands = gameObject.AddComponent <DeveloperConsoleCommands>(); var pool = gameObject.AddComponent <UnityGameObjectPool>(); ClientContextInitilizer intializer = new ClientContextInitilizer(userCmd, pool, this, _assetLoader, TestUtility.TestToken); _clientRoom = new ClientRoom(intializer); _clientRoom.AddCommand += (consoleCommands.RegisterFreeCommand); consoleCommands._handler = _clientRoom; consoleCommands._EcsDebugHelper = _clientRoom; consoleCommands._contexts = _clientRoom.Contexts; consoleCommands.RegisterOpenCallback(BlockAllInput); if (!SharedConfig.IsOffline) { _loginClient = new LoginClient(SingletonManager.Get <ClientFileSystemConfigManager>().BootConfig.BattleServer.IP, new NetworkPortInfo(SingletonManager.Get <ClientFileSystemConfigManager>().BootConfig.BattleServer.TcpPort, SingletonManager.Get <ClientFileSystemConfigManager>().BootConfig.BattleServer.UdpPort), _clientRoom); } _isInit = true; GlobalProperties.Instance.Properties["serverIp"] = SingletonManager.Get <ClientFileSystemConfigManager>().BootConfig.BattleServer.IP; GlobalProperties.Instance.Properties["tcpPort"] = SingletonManager.Get <ClientFileSystemConfigManager>().BootConfig.BattleServer.TcpPort; GlobalProperties.Instance.Properties["token"] = TestUtility.TestToken; GlobalProperties.Instance.Properties["CS"] = "Client"; GlobalProperties.Instance.Properties["mutilThread"] = SharedConfig.MutilThread; GlobalProperties.Instance.Properties["version"] = Version.Instance.LocalVersion; GlobalProperties.Instance.Properties["asset"] = Version.Instance.LocalAsset; GlobalProperties.Instance.Properties["isOffline"] = SharedConfig.IsOffline; }
protected void HandleLoadedModel(PlayerEntity player, GameObject obj) { obj.layer = UnityLayers.PlayerLayer; PlayerEntityUtility.DisableCollider(obj.transform); if (!player.hasCharacterContoller) { var character = DefaultGo.CreateGameObject(player.entityKey.ToString()); character.layer = UnityLayers.PlayerLayer; CharacterController cc = PlayerEntityUtility.InitCharacterController(character); KinematicCharacterMotor kcc = PlayerEntityUtility.InitKinematicCharacterMotor(character); CharacterControllerContext characterControllerContext = new CharacterControllerContext( new UnityCharacterController(cc), new Core.CharacterController.ConcreteController.ProneCharacterController(kcc, new ProneController()), new Core.CharacterController.ConcreteController.DiveCharacterController(kcc, new DiveController()), new Core.CharacterController.ConcreteController.SwimCharacterController(kcc, new SwimController()) ); player.AddCharacterContoller(characterControllerContext); var curver = character.AddComponent <AirMoveCurve>(); curver.AireMoveCurve = SingletonManager.Get <CharacterStateConfigManager>().AirMoveCurve; character.AddComponent <EntityReference>(); character.GetComponent <EntityReference>().Init(player.entityAdapter); var comp = character.AddComponent <PlayerVehicleCollision>(); comp.Context = _playerContext; var appearanceManager = new AppearanceManager(); player.AddAppearanceInterface(appearanceManager); var characterControllerManager = new CharacterControllerManager(); characterControllerManager.SetCharacterController(characterControllerContext); player.AddCharacterControllerInterface(characterControllerManager); var characterBone = new CharacterBoneManager(); characterBone.SetWardrobeController(player.appearanceInterface.Appearance.GetWardrobeController()); characterBone.SetWeaponController(player.appearanceInterface.Appearance.GetWeaponController()); player.appearanceInterface.Appearance.GetWeaponController().SetWeaponChangedCallBack(characterBone.CurrentWeaponChanged); player.appearanceInterface.Appearance.GetWeaponController().SetCacheChangeAction(characterBone.CacheChangeCacheAction); player.AddCharacterBoneInterface(characterBone); player.AddRecycleableAsset(character); } }
public void CreateZoneTriggers(SpecialZone type, int layer) { var baseName = String.Format("Zone_{0}_Trigger", type); if (_zones.ContainsKey(type)) { var zones = _zones[type]; int count = zones.Count; for (int i = 0; i < count; ++i) { var name = String.Format("{0}_{1}", baseName, i); var zoneGo = DefaultGo.CreateGameObject(name); zoneGo.layer = layer; var box = zoneGo.AddComponent <BoxCollider>(); var zone = zones[i]; box.center = zone.Center; box.size = zone.HalfSize * 2; box.isTrigger = true; } } }
public void OnDestroy() { Debug.Log("OnDestroy"); _logger.InfoFormat("Start Destroy..."); _isDestroy = true; MyHttpServer.Stop(); if (_loginClient != null) { _loginClient.Dispose(); } _logger.InfoFormat("Login Client Disposed."); HallUtility.ClearAciton(); _clientRoom.Dispose(); DefaultGo.Clear(GameRunningStage.BattleClient); SingletonManager.Dispose(); #if UNITY_SOURCE_MODIFIED && !UNITY_EDITOR UnityProfiler.DisableProfiler(); #endif _logger.InfoFormat("Client Destroy Completed."); }