Exemple #1
0
        //--------------
        //--------------
        //--------------
        public void init(Gajo pai, WalkingMode type)
        {
            walkingMode = type;
            initializeGajo();//super
            _pai = pai;

            if (walker.Navigation.agent.isOnNavMesh)
            {
                walker.target = pai.gameObject.transform.position;
                walker.Navigation.startWalking();
            }

            if (walker.Animacao.gameObject.activeSelf)
            {
                walker.Animacao.SetBool("walk", true); //mexe
            }
            orientation                 = Vector3.zero;
            rotSpeed                    = 0.05f;
            step                        = rotSpeed * Time.deltaTime;
            runningDistance             = walker.Navigation.agent.radius * 4;
            threeQuarterRunningDistance = walker.Navigation.agent.radius * 3;
            halfRunningDistance         = walker.Navigation.agent.radius * 2;

            isReady = true;
        }
Exemple #2
0
    void SwitchWalkingMode(WalkingMode newMode)
    {
        WalkingMode oldMode = walkingMode;

        walkingMode = newMode;
        // do stuff
        if (oldMode == WalkingMode.crouching && newMode != WalkingMode.crouching)
        {
            charContr.height = standHeight;
            charContr.center = new Vector3(0f, standHeight / 2, 0f);
            if (newMode == WalkingMode.walking)
            {
                animDummy.SetTrigger("Walk");
                anim.SetTrigger("Walk");
            }
            else
            {
                animDummy.SetTrigger("Run");
                anim.SetTrigger("Run");
            }
        }
        else if (newMode == WalkingMode.crouching)
        {
            charContr.height = crouchHeight;
            charContr.center = new Vector3(0f, crouchHeight / 2, 0f);
            animDummy.SetTrigger("Crouch");
            anim.SetTrigger("Crouch");
        }
    }
 public WalkMode ToWalkModeConverter(WalkingMode walkingMode)
 {
     switch (walkingMode)
     {
         case WalkingMode.Default:
             return WalkMode.Default;
         case WalkingMode.WithinSubtree:
             return WalkMode.WithinSubtree; 
         default:
             throw new ArgumentOutOfRangeException(nameof(walkingMode), walkingMode, null);
     }
 }
        public IEnumerable<SnmpResult> Walk(SnmpVersion version, string octetString, Oid oid, WalkingMode walkMode, IPAddress ipAddress = null, string hostname = null, string userLoginV3 = null, string passwordV3 = null)
        {
            if (ipAddress != null)
            {
                return WalkOperation(version, ipAddress, octetString, oid, walkMode);
            }
            else if (!string.IsNullOrEmpty(hostname))
            {
                return WalkOperation(version, GetIpAddressFromHostName(hostname), octetString, oid, walkMode);
            }

            return null;
        }
Exemple #5
0
    public void ChangeWalkingMode() //walking mode is changed with change of the dropdown's value change
    {
        WalkMode = (WalkingMode)ModeDropdown.value;
        CancelInvoke("ChangeDirection"); //When mode changes, current invokes are cancelled
        CancelInvoke("ChangeFloatingDirection");
        switch (WalkMode)                //With the mode new invokes are called
        {
        case WalkingMode.NormalWalk:
            break;

        case WalkingMode.RandomDirectionWalk:
            Invoke("ChangeDirection", 0);
            break;

        case WalkingMode.RandomDirectionFloatingWalk:
            Invoke("ChangeFloatingDirection", 0);
            break;
        }
    }
        private IEnumerable<SnmpResult> WalkOperation(SnmpVersion version, IPAddress ipAddress, string octetString, Oid oid, WalkingMode walkMode)
        {
            _log.Info("SnmpEngine.WalkOperation(): Started");

            List<SnmpResult> result;

            try
            {
                if (_timeOut == 0)
                {
                    _timeOut = SnmpHelper.DefaultTimeOut;
                }

                if (string.IsNullOrEmpty(octetString))
                {
                    octetString = SnmpHelper.DefaultOctetString;
                }

                result = oid.HasChildOids ? Walk(version, ipAddress, octetString, oid, walkMode).ToList() : WalkSingle(version, ipAddress, octetString, oid, walkMode).ToList();

            }
            catch (Exception e)
            {
                if (e is TimeoutException)
                {
                    _log.Error("SnmpEngine.WalkOperation():Timeout Exception caught:", e);
                    throw new SnmpTimeOutException(e.Message, _timeOut);
                }
                else if (e is ArgumentOutOfRangeException)
                {
                    _log.Error("SnmpEngine.WalkOperation():Argument Out Of Range Exception caught:", e);
                    throw new SnmpEngineConvertorException((ArgumentOutOfRangeException)e);
                }
                else
                {
                    _log.Error("SnmpEngine.WalkOperation():Exception caught:", e);
                    throw new SnmpEngineException(e.Message);
                }
            }
            finally
            {
                _log.Info("SnmpEngine.WalkOperation(): Finished");
            }

            return result;
        }
        private List<SnmpResult> WalkWithAdditionalCodes(SnmpVersion version, IPAddress ipAddress, string octetString, Oid oid, WalkingMode walkMode)
        {
            _log.Info("SnmpEngine.WalkWithAdditionalCodes(): Started oid: " + oid.Value);
            var list = new List<Variable>();
            var results = new List<SnmpResult>();
            
            var codesTable = XmlLoader.InitAdditionalCodes(oid);
            var codes = (Codes)codesTable[oid.Name];

            if (codes != null)
            {


                foreach (var code in codes.Code)
                {
                    try
                    {

                        Messenger.Walk(_converter.ToVersionCodeConverter(version),
                        new IPEndPoint(ipAddress, SnmpHelper.SnmpServerPort), new OctetString(octetString),
                        new ObjectIdentifier(string.Concat(oid.Value, ".", code.Decimal)), list, _timeOut,
                        _converter.ToWalkModeConverter(walkMode));
                    }
                    catch (Exception e)
                    {
                        _log.Error("SnmpEngine.WalkWithAdditionalCodes(): Exception caught:", e);
                        _log.Error("SnmpEngine.WalkWithAdditionalCodes(): Exception oid: " + string.Concat(oid.Value, ".", code.Decimal));
                    }

                    if (list.Any())
                    {
                        _log.Info("SnmpEngine.WalkWithAdditionalCodes(): sucess oid: " + string.Concat(oid.Value, ".", code.Decimal));
                        _log.Info("SnmpEngine.WalkWithAdditionalCodes(): request result oids: " + list.Count);
                        results.AddRange(list.Select(var => new SnmpResult(new Oid(string.Concat(oid.Value, ".", code.Decimal),
                            code.Name, string.Concat(oid.FullName, ".", code.Name)),
                            var.Data, _converter.ToSnmpDataType(var.Data.TypeCode))));
                        list.Clear();
                    }
                }
            }

            codesTable.Clear();

            _log.Info("SnmpEngine.WalkWithAdditionalCodes(): Finished");
            return results;
        }
        private IEnumerable<SnmpResult> WalkSingle(SnmpVersion version, IPAddress ipAddress, string octetString, Oid oid, WalkingMode walkMode)
        {
            _log.Info("SnmpEngine.WalkSingle(): Started oid: " + oid.Value);
            var list = new List<Variable>();

            if (oid.HasAdditionalCodes)
            {
                return WalkWithAdditionalCodes(version, ipAddress, octetString, oid, walkMode);
            }

            try
            {
                Messenger.Walk(
                _converter.ToVersionCodeConverter(version),
                new IPEndPoint(ipAddress, SnmpHelper.SnmpServerPort),
                new OctetString(octetString),
                new ObjectIdentifier(oid.Value),
                list,
                _timeOut,
                _converter.ToWalkModeConverter(walkMode));
            }
            catch (Exception e)
            {
                _log.Error("SnmpEngine.WalkSingle(): Exception caught: ", e);
                _log.Error("SnmpEngine.WalkSingle(): Exception oid: " + oid.Value);
            }

            _log.Info("SnmpEngine.WalkSingle(): Finished");

            return list.Select(var => new SnmpResult(new Oid(var.Id.ToString()), var.Data, _converter.ToSnmpDataType(var.Data.TypeCode)));
        }
        private IEnumerable<SnmpResult> WalkBulk(SnmpVersion version, IPAddress ipAddress, int maxBulkRepetitions, string octetString, Oid oid, WalkingMode walkMode)
        {
            _log.Info("SnmpEngine.WalkBulk(): Started oid: " + oid.Value);
            var result = new List<SnmpResult>();

            foreach (var childOid in oid.ChildOids)
            {
                result.AddRange(!childOid.HasChildOids ? WalkBulkSingle(version, ipAddress, maxBulkRepetitions, octetString, childOid, walkMode)
                    : WalkBulk(version, ipAddress, maxBulkRepetitions, octetString, childOid, walkMode));
            }

            _log.Info("SnmpEngine.WalkBulk(): Finished");
            return result;
        }