예제 #1
0
        public override bool SetVector2(int nRow, int nCol, NFVector2 value)
        {
            if (nRow >= 0 && nRow < mnRow)
            {
                if (!mhtRecordVec.ContainsKey(nRow))
                {
                    AddRow(nRow);
                }
                NFDataList valueList = (NFDataList)mhtRecordVec[nRow];
                if (valueList.GetType(nCol) == NFDataList.VARIANT_TYPE.VTYPE_VECTOR2)
                {
                    if (valueList.Vector2Val(nCol) != value)
                    {
                        NFDataList.TData oldValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR2);
                        NFDataList.TData newValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR2);

                        oldValue.Set(valueList.Vector2Val(nCol));
                        newValue.Set(value);

                        valueList.SetVector2(nCol, value);

                        if (null != doHandleDel)
                        {
                            doHandleDel(mSelf, mstrRecordName, eRecordOptype.Update, nRow, nCol, oldValue, newValue);
                        }
                    }
                }

                return(true);
            }

            return(false);
        }
예제 #2
0
        public override bool SetVector2(NFVector2 value, Int64 reason = 0)
        {
            if (NFDataList.VARIANT_TYPE.VTYPE_VECTOR2 != mxData.GetType())
            {
                UnityEngine.Debug.LogError(this.msPropertyName + " is " + mxData.GetType().ToString() + " but you set type " + NFDataList.VARIANT_TYPE.VTYPE_VECTOR2.ToString());

                return(false);
            }

            if (mxData.Vector2Val() != value)
            {
                NFDataList.TData oldValue = new NFDataList.TData(mxData);
                NFDataList.TData newValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR2);
                newValue.Set(value);

                mxData.Set(value);

                if (null != doHandleDel)
                {
                    doHandleDel(mSelf, msPropertyName, oldValue, newValue, reason);
                }
            }

            return(true);
        }
예제 #3
0
            public TData(VARIANT_TYPE eType)
            {
                mData = new Object();
                nType = eType;
                switch (eType)
                {
                case VARIANT_TYPE.VTYPE_INT:
                    mData = (Int64)0;
                    break;

                case VARIANT_TYPE.VTYPE_FLOAT:
                    mData = (double)0;
                    break;

                case VARIANT_TYPE.VTYPE_OBJECT:
                    mData = new NFGUID();
                    break;

                case VARIANT_TYPE.VTYPE_STRING:
                    mData = "";
                    break;

                case VARIANT_TYPE.VTYPE_VECTOR2:
                    mData = new NFVector2();
                    break;

                case VARIANT_TYPE.VTYPE_VECTOR3:
                    mData = new NFVector3();
                    break;

                default:
                    break;
                }
            }
예제 #4
0
        public static NFVector2 sub(NFVector2 va, NFVector2 vb)
        {
            NFVector2 vector = new NFVector2();

            vector.SetX(va.X() - vb.X());
            vector.SetY(va.Y() - vb.Y());
            return(vector);
        }
예제 #5
0
        public bool AddVector2(NFVector2 value)
        {
            TData data = new TData(VARIANT_TYPE.VTYPE_VECTOR2);

            data.Set(value);

            return(AddDataObject(ref data));
        }
예제 #6
0
        static public NFMsg.Vector2 NFToPB(NFVector2 value)
        {
            NFMsg.Vector2 vector = new NFMsg.Vector2();
            vector.x = value.X();
            vector.y = value.Y();

            return(vector);
        }
예제 #7
0
            public bool Set(NFVector2 value)
            {
                if (mType == VARIANT_TYPE.VTYPE_VECTOR2)
                {
                    mData = value;
                    return(true);
                }

                return(false);
            }
예제 #8
0
        public override bool SetPropertyVector2(NFGUID self, string strPropertyName, NFVector2 objectValue)
        {
            if (mhtObject.ContainsKey(self))
            {
                NFIObject xGameObject = (NFIObject)mhtObject[self];
                return(xGameObject.SetPropertyVector2(strPropertyName, objectValue));
            }

            return(false);
        }
예제 #9
0
        public override bool SetRecordVector2(NFGUID self, string strRecordName, int nRow, int nCol,
                                              NFVector2 objectValue)
        {
            if (mhtObject.ContainsKey(self))
            {
                NFIObject xGameObject = (NFIObject)mhtObject[self];
                return(xGameObject.SetRecordVector2(strRecordName, nRow, nCol, objectValue));
            }

            return(false);
        }
예제 #10
0
        public override int FindVector2(int nCol, NFVector2 value)
        {
            NFDataList varResult = new NFDataList();
            int        nCount    = FindVector2(nCol, value, ref varResult);

            if (nCount > 0 && varResult.Count() > 0)
            {
                return((int)varResult.IntVal(0));
            }

            return(-1);
        }
예제 #11
0
        public override int FindVector2(int nCol, NFVector2 value, ref NFDataList varResult)
        {
            foreach (int i in mhtRecordVec.Keys)
            {
                NFDataList valueList = (NFDataList)mhtRecordVec[i];
                if (valueList.Vector2Val(nCol) == value)
                {
                    varResult.AddInt(i);
                }
            }

            return(varResult.Count());
        }
예제 #12
0
        public bool SetVector2(int index, NFVector2 value)
        {
            TData data = GetData(index);

            if (data != null && data.GetType() == VARIANT_TYPE.VTYPE_VECTOR2)
            {
                data.Set(value);

                return(true);
            }

            return(false);
        }
예제 #13
0
        public override int FindRecordRow(int nCol, NFVector2 value)
        {
            foreach (int i in mhtRecordVec.Keys)
            {
                NFDataList valueList = (NFDataList)mhtRecordVec[i];
                if (valueList.Vector2Val(nCol) == value)
                {
                    return(i);
                }
            }

            return(-1);
        }
예제 #14
0
파일: NFObject.cs 프로젝트: yanmf/NFClient
        public override bool SetPropertyVector2(string strPropertyName, NFVector2 obj)
        {
            NFIProperty property = mPropertyManager.GetProperty(strPropertyName);

            if (null == property)
            {
                NFDataList.TData xValue = new NFDataList.TData(NFDataList.VARIANT_TYPE.VTYPE_VECTOR2);
                property = mPropertyManager.AddProperty(strPropertyName, xValue);
            }

            property.SetVector2(obj);
            return(true);
        }
예제 #15
0
        public override bool SetPropertyVector2(string strPropertyName, NFVector2 obj)
        {
            NFIProperty property = mPropertyManager.GetProperty(strPropertyName);

            if (null == property)
            {
                NFIDataList valueList = new NFCDataList();
                valueList.AddVector2(new NFVector2());
                property = mPropertyManager.AddProperty(strPropertyName, valueList);
            }

            property.SetVector2(obj);
            return(true);
        }
예제 #16
0
        public override bool SetVector2(NFVector2 value)
        {
            if (mxData.Vector2Val() != value)
            {
                NFIDataList.TData oldValue = new NFIDataList.TData(mxData);
                NFIDataList.TData newValue = new NFIDataList.TData(NFIDataList.VARIANT_TYPE.VTYPE_VECTOR2);
                newValue.Set(value);

                mxData.Set(value);

                if (null != doHandleDel)
                {
                    doHandleDel(mSelf, msPropertyName, oldValue, newValue);
                }
            }

            return(true);
        }
예제 #17
0
 public abstract int FindVector2(int nCol, NFVector2 value);
예제 #18
0
 public abstract int FindRecordRow(int nCol, NFVector2 value);
예제 #19
0
 public abstract int FindVector2(int nCol, NFVector2 value, ref NFDataList varResult);
예제 #20
0
 public abstract bool SetVector2(int index, NFVector2 value);
예제 #21
0
 public abstract bool SetVector2(int nRow, int nCol, NFVector2 value);
예제 #22
0
 public abstract bool SetVector2(NFVector2 value, Int64 reason = 0);
예제 #23
0
 public abstract int FindRecordRow(NFGUID self, string strRecordName, int nCol, NFVector2 value);
예제 #24
0
        public override int FindRecordRow(NFGUID self, string strRecordName, int nCol, NFVector2 nValue, ref NFDataList xDatalist)
        {
            if (mhtObject.ContainsKey(self))
            {
                NFIObject xGameObject = (NFIObject)mhtObject[self];
                NFIRecord xRecord     = xGameObject.GetRecordManager().GetRecord(strRecordName);
                if (null != xRecord)
                {
                    return(xRecord.FindVector2(nCol, nValue, ref xDatalist));
                }
            }

            return(-1);
        }
예제 #25
0
        static public NFVector2 PBToNF(NFMsg.Vector2 xVector)
        {
            NFVector2 xData = new NFVector2(xVector.x, xVector.y);

            return(xData);
        }
예제 #26
0
 public abstract bool SetPropertyVector2(NFGUID self, string strPropertyName, NFVector2 objectValue);
예제 #27
0
        public static float Distance(NFVector2 va, NFVector2 vb)
        {
            NFVector2 vector = NFVector2.sub(va, vb);

            return(vector.Length());
        }
예제 #28
0
 public abstract bool SetRecordVector2(NFGUID self, string strRecordName, int nRow, int nCol, NFVector2 objectValue);
예제 #29
0
 public abstract bool SetVector2(NFVector2 value);
예제 #30
0
 public abstract int FindRecordRow(NFGUID self, string strRecordName, int nCol, NFVector2 nValue, ref NFDataList xDatalist);