コード例 #1
0
 protected override void Awake()
 {
     if (GetComponentInChildren <AnimEventHandler>() != null)
     {
         base.Awake();
         if (m_Animation == null)
         {
             m_Animation = this.GetComponentInChildren <AnimHandler>(true);
         }
         if (m_AnimationEvents == null)
         {
             m_AnimationEvents = this.GetComponentInChildren <AnimEventHandler>(true);
         }
         m_old = true;
     }
     else
     {
         base.Awake();
         if (m_animator == null)
         {
             m_animator = this.GetComponentInChildren <Animator>(true);
         }
         if (m_animatorControl == null)
         {
             m_animatorControl = this.GetComponentInChildren <AnimatorControl>(true);
         }
         if (m_eventHandler == null)
         {
             m_eventHandler = this.GetComponentInChildren <BaseEventHandler>(true);
         }
         m_animator.cullingMode = AnimatorCullingMode.AlwaysAnimate;
     }
 }
コード例 #2
0
 protected override void Awake()
 {
     base.Awake();
     if (m_Animation == null)
     {
         m_Animation = this.GetComponent <AnimHandler>(true);
     }
     if (m_AnimationEvents == null)
     {
         m_AnimationEvents = this.GetComponent <AnimEventHandler>(true);
     }
 }
コード例 #3
0
ファイル: KAnimPatches.cs プロジェクト: peterhaneve/ONIMods
        //// <summary>
        /// Applied before UpdateOffset runs.
        /// </summary>
        internal static bool Prefix(AnimEventHandler __instance)
        {
            var navigator           = __instance.navigator;
            var pivotSymbolPosition = __instance.controller.GetPivotSymbolPosition();
            var offset = navigator.NavGrid.GetNavTypeData(navigator.CurrentNavType).
                         animControllerOffset;
            var baseOffset = __instance.baseOffset;
            var pos        = __instance.transform.position;

            // Is the minus on x a typo? (Or is the plus on y the typo?)
            __instance.animCollider.offset = new Vector2(baseOffset.x + pivotSymbolPosition.x -
                                                         pos.x - offset.x, baseOffset.y + pivotSymbolPosition.y - pos.y + offset.y);
            __instance.isDirty = Mathf.Max(0, __instance.isDirty - 1);
            return(false);
        }
 public void UpdateHitEffectTarget()
 {
     if (!((UnityEngine.Object)hitEffect == (UnityEngine.Object)null))
     {
         Workable         workable    = base.sm.workable.Get <Workable>(base.smi);
         Worker           worker      = base.sm.worker.Get <Worker>(base.smi);
         AnimEventHandler component   = worker.GetComponent <AnimEventHandler>();
         Vector3          targetPoint = workable.GetTargetPoint();
         worker.GetComponent <Facing>().Face(workable.transform.GetPosition());
         anims = GetAnimationStrings(workable, worker, "dig");
         PlayLoop();
         component.SetTargetPos(targetPoint);
         component.UpdateWorkTarget(workable.GetTargetPoint());
         hitEffect.transform.SetPosition(targetPoint);
     }
 }
        public void CreateHitEffect()
        {
            Worker   worker   = base.sm.worker.Get <Worker>(base.smi);
            Workable workable = base.sm.workable.Get <Workable>(base.smi);

            if (!((UnityEngine.Object)worker == (UnityEngine.Object)null) && !((UnityEngine.Object)workable == (UnityEngine.Object)null))
            {
                if (Grid.PosToCell(workable) != Grid.PosToCell(worker))
                {
                    worker.Trigger(-673283254, null);
                }
                Diggable diggable = workable as Diggable;
                if ((bool)diggable)
                {
                    Element targetElement = diggable.GetTargetElement();
                    worker.Trigger(-1762453998, targetElement);
                }
                if (!((UnityEngine.Object)hitEffectPrefab == (UnityEngine.Object)null))
                {
                    if ((UnityEngine.Object)hitEffect != (UnityEngine.Object)null)
                    {
                        DestroyHitEffect();
                    }
                    AnimEventHandler component   = worker.GetComponent <AnimEventHandler>();
                    Vector3          targetPoint = workable.GetTargetPoint();
                    component.SetTargetPos(targetPoint);
                    hitEffect = GameUtil.KInstantiate(hitEffectPrefab, targetPoint, Grid.SceneLayer.FXFront2, null, 0);
                    KBatchedAnimController component2 = hitEffect.GetComponent <KBatchedAnimController>();
                    hitEffect.SetActive(true);
                    component2.sceneLayer = Grid.SceneLayer.FXFront2;
                    component2.enabled    = false;
                    component2.enabled    = true;
                    component.UpdateWorkTarget(workable.GetTargetPoint());
                }
            }
        }
 protected override void OnSpawn()
 {
     animEventHandler = GetComponentInParent <AnimEventHandler>();
 }