示例#1
0
        public IKManage(float[,] _constraitLeftLeg, float[,] _constraitRightLeg, float[,] _constraitLeftArm, float[,] _constraitRightArm, Func <int, Maid> _GetMaid)
        {
            IKList[0] = new IKPropList(_constraitLeftLeg);
            IKList[1] = new IKPropList(_constraitRightLeg);
            IKList[2] = new IKPropList(_constraitLeftArm);
            IKList[3] = new IKPropList(_constraitRightArm);

            GetMaid = _GetMaid;
        }
示例#2
0
        public IKPropList(IKPropList _copy)
        {
            IK         = new Dictionary <int, IKCONSTRAINED>(_copy.IK);
            bIKAttach  = new Dictionary <int, bool>(_copy.bIKAttach);
            goIKTarget = new Dictionary <int, GameObject>(_copy.goIKTarget);
            trIKBones  = new Dictionary <int, Transform[]>(_copy.trIKBones);

            constrait = _copy.constrait.Clone() as float[, ];
        }
示例#3
0
        public IKManage(IKManage _copy)
        {
            IKList[0] = new IKPropList(_copy.IKList[0]);
            IKList[1] = new IKPropList(_copy.IKList[1]);
            IKList[2] = new IKPropList(_copy.IKList[2]);
            IKList[3] = new IKPropList(_copy.IKList[3]);


            attachIKMaidList = new Dictionary <int, Maid>(_copy.attachIKMaidList);
            attachIKMaidNo   = new List <int>(_copy.attachIKMaidNo);
            trTargetIKBones  = new Dictionary <int, Transform[]>(_copy.trTargetIKBones);

            GetMaid = _copy.GetMaid;
        }
示例#4
0
        public void assignment(IKPropList _rhs)
        {
            IK        = _rhs.IK;
            bIKAttach = _rhs.bIKAttach;


            foreach (var t in _rhs.goIKTarget.Where((m) => m.Value == null))
            {
                if (goIKTarget.ContainsKey(t.Key))
                {
                    GameObject.Destroy(goIKTarget[t.Key]);
                }
            }

            goIKTarget = _rhs.goIKTarget;
            trIKBones  = _rhs.trIKBones;
        }