Exemple #1
0
        public override void UpdateLayoutHierarchy()
        {
            if (mChildren != null)
            {
                for (int i = 0; i < mChildren.Length; i++)
                {
                    if (mChildren[i] != null)
                    {
                        mChildren[i].SetLayoutParent(null);
                    }
                }
            }

            List <UILayoutBase> children = new List <UILayoutBase>();

            for (int i = 0; i < MyTransform.childCount; i++)
            {
                UILayoutBase child = MyTransform.GetChild(i).GetComponent <UILayoutBase>();

                if (child == null)
                {
                    continue;
                }

                children.Add(child);
                child.SetLayoutParent(this);

                child.UpdateLayoutHierarchy();
            }

            mChildren = children.ToArray();
        }
Exemple #2
0
 void StartTransitionTo(MyTransform target)
 {
     initialTransform      = new MyTransform(transform);
     targetTransform       = target;
     progress              = 0;
     isCameraTransitioning = true;
 }
Exemple #3
0
        private void Update()
        {
            if (!targetTransform)
            {
                return;
            }

            switch (option)
            {
            case Options.Standard:
                MyTransform.LookAt(targetTransform);
                break;

            case Options.YAxisOnly:
                var v = targetTransform.position - MyTransform.position;
                v.x = v.z = 0.0f;
                MyTransform.LookAt(targetTransform.transform.position - v);
                break;

            case Options.RotWithSlerp:
                RotateWithSlerp();
                break;

            case Options.RotThreshold:
                RotateWithinThreshold();
                break;

            case Options.RotWithSDA:
                RotateWithSDA();
                break;
            }
        }
Exemple #4
0
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            //mode =! mode;
        }
        if (Input.GetMouseButtonDown(0))
        {
            // Entityセット用のデータ作成
            MyTransform trans = new MyTransform();
            CharaData   chara = new CharaData();

            for (int i = 0; i < clickInstance; ++i)
            {
                // Entityの作成
                var entity = manager.CreateEntity(charaArch);
                //座標セット
                float x = -InitPosXParam + i * 2 * InitPosXParam / clickInstance;
                trans.position = new Vector3(x, 0.5f, -InitPosZParam);
                // キャラクターのデータセット
                chara.time     = Random.Range(0.0f, 3.0f); // 少し揺れ幅を持たせます
                chara.velocity = new Vector3(0.0f, 0.0f, 3.0f);
                // 生成したEntitiyにデータセット
                manager.SetComponentData(entity, trans);
                manager.SetComponentData(entity, chara);
            }
        }
        // デバッグ情報更新
        DebugUI.SetCharaNum(charaSystem.CharaNum);
        charaSystem.Update();
    }
Exemple #5
0
    // Use this for initialization
    void Start()
    {
#if UNITY_WSA
        RegistResolver();
#endif
        //初期位置を記録する
        startTrans = new MyTransform();
        startTrans.SetData(Recorder.transform, 0);

        myTransforms = new List <MyTransform>();


#if ENABLE_DOTNET
        Debug.Log(".net");
#endif

#if ENABLE_IL2CPP
        Debug.Log("IL2CPP");
#endif

#if WINDOWS_UWP
        // UWP上での動作の場合、LocalAppData/AppName/LocalStateフォルダを参照する
        saveFileName = System.IO.Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, saveFileName);
#else
        // Unity上での動作の場合、Assets/StreamingAssetsフォルダを参照する
        saveFileName = System.IO.Path.Combine(UnityEngine.Application.streamingAssetsPath, saveFileName);
#endif

        //   TestObjList();
    }
Exemple #6
0
    // Update is called once per frame
    void Update()
    {
        float time = Time.realtimeSinceStartup - timeFromStart;

        if (isRecording)
        {
            MyTransform t = new MyTransform();
            t.SetData(Recorder.transform, time);
            myTransforms.Add(t);
            counter++;
        }
        else if (isPlaying)
        {
            //最後まで再生したらループする
            if (counter >= myTransforms.Count)
            {
                StartPlay();
            }
            else
            {
                var playTransform = myTransforms[counter];

                if (time > playTransform.Time)
                {
                    Player.transform.position   = playTransform.Pos;
                    Player.transform.rotation   = playTransform.Rot;
                    Player.transform.localScale = playTransform.Scale;
                    counter++;
                }
            }
        }
    }
Exemple #7
0
    private IEnumerator LerpCoroutine(RectTransform rectTransform, MyTransform myTransform)
    {
        var sourcePos   = rectTransform.position;
        var sourceRot   = rectTransform.localRotation;
        var sourceScale = rectTransform.localScale;

        var targetPos   = new Vector3(myTransform.x * translateCoeff, myTransform.y * translateCoeff, 0);
        var targetRot   = Quaternion.Euler(0, 0, myTransform.rotation * rotateCoeff);
        var targetScale = Vector3.one * myTransform.scale * scaleCoeff;

        const float duration = 0.25f;

        for (float f = 0; f < duration; f += Time.deltaTime)
        {
            float t = LerpCurve.Evaluate(f / duration);

            rectTransform.position      = Vector3.Lerp(sourcePos, targetPos, t);
            rectTransform.localRotation = Quaternion.Slerp(sourceRot, targetRot, t);
            rectTransform.localScale    = Vector3.Lerp(sourceScale, targetScale, t);

            yield return(null);
        }


        rectTransform.position      = targetPos;
        rectTransform.localRotation = targetRot;
        rectTransform.localScale    = targetScale;
        UpdateSizeTexts();
    }
Exemple #8
0
        public void Move(Point movement)
        {
            var delta = new PointF(
                movement.X * Speed.X * (float)Timer.DeltaTime,
                movement.Y * Speed.Y * (float)Timer.DeltaTime);

            if (movement.X > 0)
            {
                MyTransform.rotation = 90;
            }
            else if (movement.X < 0)
            {
                MyTransform.rotation = -90;
            }
            else if (movement.Y > 0)
            {
                MyTransform.rotation = 180;
            }
            else if (movement.Y < 0)
            {
                MyTransform.rotation = 0;
            }

            lastMovement = movement;
            MyTransform.Translate(delta);
        }
Exemple #9
0
        void LookAtCenter()
        {
            float y = -75;

            MyTransform.LookAt(new Vector3(0, y, 0), Vector3.up);
            MyTransform.SetLocalEulerAnglesX(MyTransform.localEulerAngles.x - 90f);
        }
Exemple #10
0
    public static Dictionary <string, MyTransform> ReaderXml(string path)
    {
        Dictionary <string, MyTransform> itemstransform = new Dictionary <string, MyTransform>();
        XmlDocument xmldoc = new XmlDocument();

        xmldoc.Load(path);
        XmlNode xn = xmldoc.SelectSingleNode("RobotPro");

        for (int i = xn.ChildNodes.Count - 1; i >= 0; i--)
        {
            MyTransform my  = new MyTransform();
            string      str = xn.ChildNodes[i].Attributes["name"].Value;
            my.name = str;
            my.id   = int.Parse(xn.ChildNodes[i].Attributes["id"].Value);
            my.info = xn.ChildNodes[i].Attributes["info"].Value;
            XmlNodeList list = xn.ChildNodes[i].ChildNodes;
            for (int j = 0; j < list.Count; j++)
            {
                string[] single = list[j].InnerText.Split('/');
                string[] pos    = single[0].Split(',');
                string[] rot    = single[1].Split(',');
                Vector3  p      = Vector3.zero;
                p.x = float.Parse(pos[0]);
                p.y = float.Parse(pos[1]);
                p.z = float.Parse(pos[2]);
                Vector3 r = Vector3.zero;
                r.x = float.Parse(rot[0]);
                r.y = float.Parse(rot[1]);
                r.z = float.Parse(rot[2]);
                switch (list[j].Attributes["name"].Value)
                {
                case "Spown":
                    my.Spownpos = p;
                    my.Spownrot = r;
                    break;

                case "SlowDown":
                    my.SlowDownpos = p;
                    my.SlowDownrot = r;
                    break;

                case "Target":
                    my.Targetpos = p;
                    my.Targetrot = r;
                    break;

                case "Camera":
                    my.Camerapos = p;
                    my.Camerarot = r;
                    break;

                default:
                    break;
                }
            }
            itemstransform.Add(str, my);
        }
        return(itemstransform);
    }
Exemple #11
0
 /// <summary>
 /// 初始化Buffer
 /// </summary>
 void IniBuffer()
 {
     BufferDic                    = new Dictionary <int, List <BufferEntity> >();
     PermanentBufferList          = new List <PermanentBufferEntity>();
     Trans_BufferList             = MyTransform.FindChild("BufferList");
     Prefab_BufferEntity          = Resources.Load <GameObject>("GameObjects/FightScene/Chara/BufferDumy");
     Prefab_PermanentBufferEntity = Resources.Load <GameObject>("GameObjects/FightScene/Chara/PermanentBufferDumy");
 }
Exemple #12
0
            public virtual void DebugDraw()
            {
                MyTransform gridTransform = new MyTransform(m_blockA.Block.CubeGrid.WorldMatrix);
                var         worldCenterA  = MyTransform.Transform(ref m_blockA.Transform.Position, ref gridTransform);
                var         worldCenterB  = MyTransform.Transform(ref m_blockB.Transform.Position, ref gridTransform);

                VRageRender.MyRenderProxy.DebugDrawLine3D(worldCenterA, worldCenterB, m_debugLineColor, m_debugLineColor, false);
            }
Exemple #13
0
    void LoadPlayerTransform()
    {
        GameObject  player      = GameObject.Find("郭靖");
        MyTransform myTransform = GameObject.Find("GM").GetComponent <GlobeManager>().GetPlayer("郭靖").M_BasicProperty.M_Transform;

        player.transform.position   = new Vector3(myTransform.Pos_x, myTransform.Pos_y, myTransform.Pos_z);
        player.transform.rotation   = Quaternion.Euler(myTransform.R_x, myTransform.R_y, myTransform.R_z);
        player.transform.localScale = new Vector3(myTransform.S_x, myTransform.S_y, myTransform.S_z);
    }
Exemple #14
0
 /// <summary>
 /// 設定腳色Model
 /// </summary>
 void IniMotion()
 {
     //腳色動畫
     Ani_Chara = MyTransform.FindChild("Model").GetComponent <Animator>();
     //腳色圖像
     SR_Chara = MyTransform.FindChild("Model").FindChild("sprite").GetComponent <SpriteRenderer>();
     //初始化施法位置與縮放
     IniSpellPosAndScale();
 }
Exemple #15
0
        void Update()
        {
            // funcky texture thing
            Renderer.sharedMaterial.mainTextureOffset = new Vector2(Mathf.PerlinNoise(materialOffset, 0), 0f);
            materialOffset += 0.001f;

            // update sea y position baseed on sea level and tide
            MyTransform.SetLocalPositionY(Level);
        }
Exemple #16
0
    IEnumerator CoSpin()
    {
        float a = 0f;

        while (gameObject.activeSelf)
        {
            MyTransform.SetLocalEulerAnglesY(a);
            a += spinSpeed * Time.deltaTime;
            yield return(null);
        }
    }
        private void AnimateMove(Vector3 move)
        {
            if (!_animator)
            {
                return;
            }
            Vector3 tempMovement = MyTransform.InverseTransformDirection(move);

            _animator.SetFloat("hor", tempMovement.x);
            _animator.SetFloat("vert", tempMovement.z);
        }
    public static MyTransform operator *(MyTransform parent, MyTransform child)
    {
        MyTransform result = new MyTransform();

        MyTransform combined = parent;

        // swap this for matrix math
        result.LocalPosition = (combined.LocalRotation * child.LocalPosition) + combined.LocalPosition;
        result.LocalRotation = combined.LocalRotation * child.LocalRotation;

        return result;
    }
Exemple #19
0
    void LerpTransform(MyTransform initialTransform, MyTransform targetTransform, float speed)
    {
        progress += 1 / speed * GlobalTimer.Instance.NonAcceleratedTime;

        transform.position = Vector3.Lerp(initialTransform.position, targetTransform.position, progress);
        transform.rotation = Quaternion.Lerp(initialTransform.rotation, targetTransform.rotation, progress);

        if (progress >= 1f)
        {
            SetCameraTransorm(targetTransform);
            isCameraTransitioning = false;
        }
    }
Exemple #20
0
    /// <summary>
    /// Zooms the Camera To the selected Planet
    /// </summary>
    void ZoomToPlanet()
    {
        Vector3 directionTowardsPlayer = (transform.position - SelectedPlanet.transform.position).normalized;

        Vector3    newPosition    = SelectedPlanet.transform.position + directionTowardsPlayer * SelectedPlanet.GetDistance();
        Quaternion lookAtRotation = Quaternion.LookRotation((SelectedPlanet.transform.position - transform.position).normalized);


        //Struct info about target transform
        MyTransform targetTransform = new MyTransform(newPosition, lookAtRotation, new Vector3(1, 1, 1));

        StartTransitionTo(targetTransform);
    }
Exemple #21
0
            public virtual void Bind(BlockState blockA, BlockState blockB)
            {
                m_blockA = blockA;
                m_blockB = blockB;
                Vector3D centerA, centerB;

                blockA.Block.ComputeScaledCenter(out centerA);
                blockB.Block.ComputeScaledCenter(out centerB);
                Vector3 pivot = (centerA + centerB) * 0.5f;

                m_pivotA = new MyTransform(pivot - centerA);
                m_pivotB = new MyTransform(pivot - centerB);
            }
Exemple #22
0
    //will assign materials
    public void StartMaterial()
    {
        if (MyTransform != null)
        {
            //get the materials from MyTransform and then assign the first one...
            mats = MyTransform.GetComponent <Renderer>().materials;
            myTransformOriginalName = MyTransform.name;
            MyTransform.name        = transform.name;

            //this WAS A 6 HOURS BUG ... WAS REFERENCING THEN AT THE BEGGINING THATS
            //WHY WOULD LOOK ABRUPT IN THE FADE
            //mats[0] = materiales[0];
        }
    }
Exemple #23
0
    public void addItem(GameObject g)
    {
        if (state != 0)
        {
            return;
        }
        items.Add(g);
        MyTransform myt = new MyTransform();

        myt.rotation = g.transform.rotation;
        myt.position = g.transform.position;
        myt.scale    = g.transform.localScale;
        itemsStartPoint.Add(myt);
    }
Exemple #24
0
        /// <summary>
        /// Moves the player in the world once clicked.
        /// </summary>
        void Update()
        {
            var speedToSet = Mathf.Abs(PlayerSpeed.x);

            if (_moving)
            {
                MyTransform.Translate(PlayerSpeed * SceneManager.Instance.DeltaTime, Space.World);
            }
            else
            {
                speedToSet = 0f;
            }

            PlayerAnimation.Speed = speedToSet;
        }
Exemple #25
0
        private void UpdateFacing()
        {
            switch (faceObject)
            {
            case FacingType.None:
                break;

            case FacingType.Toward:
                MyTransform.LookAt(orbitObject);
                break;

            case FacingType.Away:
                MyTransform.LookAt(Position + Position.GetDir_AwayFrom(orbitObject.position));
                break;
            }
        }
Exemple #26
0
        private void ResizeToFit()
        {
            if (mChildren == null || mChildren.Length == 0)
            {
                return;
            }

            // <TODO> This code should take Axis into account

            float highest = 0;
            float lowest  = float.MaxValue;

            for (int i = 0; i < mChildren.Length; i++)
            {
                if (mChildren[i] == null)
                {
                    continue;
                }

                Rect rect = mChildren[i].MyTransform.rect;

                float pos = mAxis == RectTransform.Axis.Vertical
                                        ? mChildren[i].MyTransform.anchoredPosition.y
                                        : mChildren[i].MyTransform.anchoredPosition.x;

                float min = pos + (mAxis == RectTransform.Axis.Vertical ? rect.yMin : rect.xMin);
                float max = pos + (mAxis == RectTransform.Axis.Vertical ? rect.yMax : rect.xMax);

                if (min < lowest)
                {
                    lowest = min;
                }
                if (max > highest)
                {
                    highest = max;
                }
            }

            float size = highest - lowest;

            size += mPaddingHigh;

            //Debug.Log("Highest: " + highest + ", lowest: " + lowest + ", size: " + size);

            MyTransform.SetSizeWithCurrentAnchors(mAxis, size);
        }
Exemple #27
0
    /**
     * 存储人物位置
     * */
    private void SavePlayerTransform()
    {
        MyTransform myTransform = GameObject.Find("GM").GetComponent <GlobeManager>().GetPlayer("郭靖").M_BasicProperty.M_Transform;
        GameObject  player      = GameObject.Find("郭靖");

        myTransform.Pos_x = player.GetComponent <Transform>().position.x;
        myTransform.Pos_y = player.GetComponent <Transform>().position.y;
        myTransform.Pos_z = player.GetComponent <Transform>().position.z;

        myTransform.R_x = player.GetComponent <Transform>().localEulerAngles.x;
        myTransform.R_y = player.GetComponent <Transform>().localEulerAngles.y;
        myTransform.R_z = player.GetComponent <Transform>().localEulerAngles.z;

        myTransform.S_x = player.GetComponent <Transform>().localScale.x;
        myTransform.S_y = player.GetComponent <Transform>().localScale.x;
        myTransform.S_z = player.GetComponent <Transform>().localScale.x;
    }
 // Update is called once per frame
 public override void Update()
 {
     if (MyGameObject.activeSelf == true)
     {
         FlyTime += Time.deltaTime;
         MyTransform.Translate(Direction * Vx * Time.deltaTime);
         //v*t
         MyTransform.Translate(Vector3.up * G * FlyTime * Time.deltaTime);
         //t*(0+at)
         if (this.MyTransform.position.y < -5f)
         {
             this.destroy = true;
             this.enable  = false;
             this.Callback.SSActionEvent(this);
         }
     }
 }
    // ###########################
    protected override void AddCollider()
    {
        Transform child = MyTransform.GetChild(0);

        if (child != null)
        {
            CapsuleCollider col = MyGameObject.AddComponent <CapsuleCollider>();

            Vector3 toChild         = child.position - MyTransform.position;
            int     dirIndex        = Utils.GetDirectionIndex(MyTransform, toChild.normalized);
            float   distanceToChild = toChild.magnitude / MyTransform.lossyScale[dirIndex];

            col.center    = CalculateCentre(dirIndex, distanceToChild);
            col.direction = dirIndex;
            col.radius    = distanceToChild * 0.2f;
            col.height    = distanceToChild;
        }
    }
Exemple #30
0
        void Update()
        {
            if (LocomotionActive)
            {
                MyTransform.Translate(Locomotion * SceneManager.Instance.DeltaTime, Space.World);
            }

            if (_inRotation)
            {
                _rotationTimer += SceneManager.Instance.DeltaTime;
                Rb.rotation     = Mathf.Lerp(_startRotation, _rotationTarget, Mathf.Min(_rotationTimer / _rotationEndTime));

                if (_rotationTimer >= _rotationEndTime)
                {
                    _inRotation = false;
                }
            }
        }
Exemple #31
0
    void ZoomToRegion(RaycastHit hitResult)
    {
        var continentDirection = hitResult.transform.GetComponent <ContinentDirection>();

        Vector3 directionVector = hitResult.normal;

        if (continentDirection != null)
        {
            directionVector = continentDirection.getWorldDirection().normalized;
        }

        Vector3    position       = SelectedPlanet.transform.position + directionVector * SelectedPlanet.GetDistance();
        Quaternion lookAtRotation = Quaternion.LookRotation((SelectedPlanet.transform.position - position).normalized);

        MyTransform targetTransform = new MyTransform(position, lookAtRotation, new Vector3(1, 1, 1));

        StartTransitionTo(targetTransform);
    }
    public void UpdateTransform(MyTransform t)
    {
        // allow any node to be moved
        myTransform = InitialTransform;
        t = t * myTransform;

        if (!isRoot)
        {
            transform.position = t.LocalPosition;
            transform.rotation = t.LocalRotation;
        }

        foreach (ParentTransform child in children)
        {

            ParentTransform childParentTransform = child.GetComponent<ParentTransform>();

            if (childParentTransform != null)
            {
                childParentTransform.UpdateTransform(t);
            }
        }
    }
 void Start()
 {
     InitialTransform = new MyTransform(transform);
 }