public SoundManager(MessageManager messageManager) { _cachedEffects = new Dictionary<string, SoundEffectInstance>(); _messageManager = messageManager; _messageManager.AddListener<PlaySoundEffectMessage>(OnPlaySoundEffect); _messageManager.AddListener<PlaySongMessage>(OnPlaySong); }
public SceneGraph(MessageManager messageManager) { this.DebugVisuals = false; this._spriteBatch = new SpriteBatch(GraphicsService.Instance.GraphicsDevice); this._nonTransformedSpriteBatch = new SpriteBatch(GraphicsService.Instance.GraphicsDevice); _messageManager = messageManager; _gameObjectLookup = new Dictionary<int, List<IRenderAwareComponent>>(); _renderComponents = new Dictionary<RenderPass, List<IRenderAwareComponent>>(); #if WINDOWS_PHONE foreach (var val in EnumHelper.GetValues<RenderPass>()) #else foreach (var val in Enum.GetValues(typeof(RenderPass))) #endif { _renderComponents.Add((RenderPass)val, new List<IRenderAwareComponent>()); } _messageManager.AddListener<GameObjectLoadedMessage>(OnGameObjectLoaded); _messageManager.AddListener<GameObjectRemovedMessage>(OnGameObjectRemoved); _camera = new Camera(_messageManager); }
public Camera(MessageManager messageManager) { _scale = 1f; _offset = Vector2.Zero; _lookAt = GraphicsService.Instance.DesignedScreenSize / 2.0f; RebuildBoundingBox(); RebuildTransformationMatrix(); _messageManager = messageManager; _messageManager.AddListener<ZoomCameraMessage>(OnZoomCamera); _messageManager.AddListener<NudgeCameraMessage>(OnMoveCamera); _messageManager.AddListener<RotateCameraMessage>(OnRotateCamera); _messageManager.AddListener<ScreenSizeChangedMessage>(OnScreenSizeChanged); }
public void Init(ActorParts actorParts, ActorParts.MuscleGroup muscleGroup) { this.actorParts = actorParts; attachedMuscleGroup = muscleGroup; // If currentProp has been assigned, it will be picked up AS IS, presuming it is already linked with the joints and held in the right position. // To pick up the prop from ground, assign it after Awake, for example in Start. if (currentProp != null) { currentProp.StartPickedUp(this); } muscles = new Muscle[] { actorParts.puppet.muscles[15], actorParts.puppet.muscles[16] }; System.Array.Resize(ref actorParts.puppet.muscles, actorParts.puppet.muscles.Length - 2); defaultLocalPos = muscles[0].target.localPosition; defaultLocalEular = muscles[0].target.localEulerAngles; bladeDetector = muscles[1].transform.gameObject.AddComponent <BladeDetector>(); bladeDetector.enabled = false; bladeDetector.init(this); foreach (var m in muscles) { m.transform.gameObject.SetActive(false); } // 事件绑定 MessageManager.AddListener("OnStabIn", OnStabIn, transform); }
private void Start() { am = GetComponentInParent <ActorManager>(); // 通常 取 spine 作为 角色根点 target = am.actorParts.puppetRoot.GetChild(0); cameraTarPos = am.actorParts.rigidRoot; tarRoot = am.actorParts.animationRoot; // listeners MessageManager.AddListener <Vector3>("IKTargetCol", OnIKTarCol, transform); MessageManager.AddListener <Global.HandAction>("HandStateChange", OnHandStateChange, transform); MessageManager.AddListener <Global.BodyAction>("BodyStateChange", OnBodyStateChange, transform); }
private void Start() { nma = GetComponent <NavMeshAgent>(); //playerTransform = GameManager.gameMng.controllingMngs[0].actorController.transform; nma.updatePosition = false; nma.updateRotation = false; armLenght = ac.GetActorParts().GetMuscleGroup(HumanoidParts.MucleGroupIndex.RHAND).muscleLength; nma.stoppingDistance = armLenght * 2.5f; minDist = 2 * armLenght; maxDist = 4 * armLenght; MessageManager.AddListener <Global.HandAction>("HandStateChange", OnHandStateChange, transform); fs = EnemyFS.READY; resetSkillC = StartCoroutine(resetSkill()); }
// 消息函数 public override void Init(ActorManager am) { base.Init(am); // 变量初始化 HumanoidParts temp = new HumanoidParts(am.puppet); temp.aimPart = humanoidParts.aimPart; temp.rigidRoot = humanoidParts.rigidRoot; humanoidParts = temp; animationHash = new AnimationHash(animator); actorBehaviours = new PlayerBehaviours(this, new FBIKChain[] { fullBodyBipedIK.solver.rightArmChain }, new IKEffector[] { fullBodyBipedIK.solver.rightHandEffector }); // 事件的绑定: MessageManager.AddListener("OnStabIn", OnStabIn, transform); }
public override void Init() { rSlashTarTrail.gameObject.SetActive(false); MessageManager.AddListener <Global.BodyAction>("BodyStateChange", OnStateChange, transform); //rSlashTrail.gameObject.SetActive(false); }
// Use this for initialization void Start() { MessageManager.AddListener(Messages.Level2_FloorOn, TurnFloorOn); }