示例#1
0
        public static bool IsNbEnemy(CellObjCtrl ctrl, int relativeDir)
        {
            bool bEnemy = false;

            if (ctrl == null)
            {
                return(false);
            }

            MiroModelV1 modelThis = GetMiroModelFromCell(ctrl);
            MiroModelV1 modelNb   = GetNbModel(ctrl, relativeDir);

            if (modelNb == null || modelThis == null)
            {
                return(false);
            }

            MiroV1ModelSetting settingThis =
                modelThis.gameObject.GetComponent <MiroV1ModelSetting> ();
            MiroV1ModelSetting settingNb =
                modelNb.gameObject.GetComponent <MiroV1ModelSetting> ();

            bEnemy = !settingNb.IsSameCamp(settingThis);
            return(bEnemy);
        }
示例#2
0
        private bool ShouldAid()
        {
            CellObjCtrl FwdCtrl =
                CellObjCtrlUtils.GetFwdCellObjCtrl(_cellCtrl);
            bool bFwdCtrlling = CellObjCtrlUtils.IsControllingObj(FwdCtrl);

            if (!bFwdCtrlling)
            {
                return(false);
            }

            MiroV1ModelSetting MyMSetting =
                _cellCtrl._TgtObj.GetComponent <MiroV1ModelSetting> ();
            MiroV1ModelSetting FwdMSetting =
                FwdCtrl._TgtObj.GetComponent <MiroV1ModelSetting> ();
            bool bFwdFriend = MyMSetting.IsSameCamp(FwdMSetting);

            MiroModelV1 modelMe = CellObjCtrlUtils.GetMiroModelFromCell(_cellCtrl);
            bool        bAlive  = modelMe.IsAlive();

            bool bAid = bFwdFriend && bAlive;

            if (bAid)
            {
                //print (_cellCtrl + " bAid?" + bAid + "    FwdObj:" + FwdCtrl._TgtObj);
            }

            return(bAid);
        }
示例#3
0
        public static bool IsControllingSameCampS(CellObjCtrl cctrl0, CellObjCtrl cctrl1)
        {
            if (cctrl0 == null || cctrl0._TgtObj == null)
            {
                return(false);
            }
            MiroV1ModelSetting setting0 = cctrl0._TgtObj.GetComponent <MiroV1ModelSetting> ();


            if (cctrl1 == null || cctrl1._TgtObj == null)
            {
                return(false);
            }
            MiroV1ModelSetting setting1 = cctrl1._TgtObj.GetComponent <MiroV1ModelSetting> ();

            bool bSame = setting0.IsSameCamp(setting1);

            return(bSame);
        }
示例#4
0
        private bool CheckValidInDir(MiroV1ModelSetting mSetThis, HexCoord hc, int dir)
        {
            bool bValid = true;

            if (hc._Neighbors [dir] != null)
            {
                CellObjCtrl fwdCtrl =
                    hc._Neighbors [dir].GetComponent <CellObjCtrl> ();
                if (fwdCtrl._TgtObj != null)
                {
                    MiroV1ModelSetting mSetFwd =
                        fwdCtrl._TgtObj.GetComponent <MiroV1ModelSetting> ();
                    if (mSetFwd != null && !mSetFwd.IsSameCamp(mSetThis))
                    {
                        bValid = false;
                    }
                }
            }
            return(bValid);
        }
示例#5
0
        public static bool IsNbSameCamp(CellObjCtrl cctrl, int relativeDir)
        {
            bool bSame = false;

            if (cctrl == null || cctrl._TgtObj == null)
            {
                return(false);
            }
            MiroV1ModelSetting setting0 = cctrl._TgtObj.GetComponent <MiroV1ModelSetting> ();

            CellObjCtrl nbCtrl = GetNbCellObjCtrl(cctrl, relativeDir);

            if (nbCtrl._TgtObj != null)
            {
                MiroV1ModelSetting settingNb =
                    nbCtrl._TgtObj.GetComponent <MiroV1ModelSetting> ();
                bSame = settingNb.IsSameCamp(setting0);
            }

            return(bSame);
        }