Ejemplo n.º 1
0
 public SoundManager(MessageManager messageManager)
 {
     _cachedEffects = new Dictionary<string, SoundEffectInstance>();
     _messageManager = messageManager;
     _messageManager.AddListener<PlaySoundEffectMessage>(OnPlaySoundEffect);
     _messageManager.AddListener<PlaySongMessage>(OnPlaySong);
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
 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());
 }
Ejemplo n.º 7
0
    // 消息函数
    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);
    }
Ejemplo n.º 8
0
 public override void Init()
 {
     rSlashTarTrail.gameObject.SetActive(false);
     MessageManager.AddListener <Global.BodyAction>("BodyStateChange", OnStateChange, transform);
     //rSlashTrail.gameObject.SetActive(false);
 }
Ejemplo n.º 9
0
 // Use this for initialization
 void Start()
 {
     MessageManager.AddListener(Messages.Level2_FloorOn, TurnFloorOn);
 }