Пример #1
0
    protected override void InitAOIData(xc.UnitCacheInfo info)
    {
        base.InitAOIData(info);

        PetId = info.AOIPet.pet_id;

        CreateParam createParam = mCreateParam as CreateParam;

        if (createParam == null)
        {
            return;
        }

        ParentActor = ActorManager.Instance.GetActor(createParam.master);

        if (ParentActor != null)
        {
            mActorAttr.Camp = ParentActor.ActorAttribute.Camp;
        }
        else
        {
            Debug.LogError("Pet's parent is null, UID: " + info.UnitID.obj_idx);
        }


        HPProgressBarIsActive = false;
        UpdateBattleAttribute();
    }
Пример #2
0
        private static void CloseConnect()
        {
            var res = _server.Disconnect();

            Console.WriteLine($"Соединение закрыто: {res.Succes}");
            _connectparam = null;
            _gameparam    = null;
        }
Пример #3
0
        public override GameResult Create(CreateParam param)
        {
            GameServerId = param.GameServerId;
            var run = $"cd {Path}/rust/serverfiles/server/;find {GameName}{GameServerId}";
            var res = Client.RunCommand(run);

            if (!string.IsNullOrEmpty(res.Error))
            {
                run = $"cd {Path}/rust/serverfiles/server/;mkdir {GameName}{GameServerId};" +
                      $"cd rust-server; cp -r * {Path}/rust/serverfiles/server/{GameName}{GameServerId}";
                Client.RunCommand(run);
            }
            var result = new GameResult();

            return(result);
        }
Пример #4
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            var result = new GameResult();

            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #5
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            var result = new GameResult();
            var host   = $"cd {Path}/{GameName}/serverfiles/{GameCode}/Saved/Config/LinuxServer;";

            Client.RunCommand(host + $"chmod 777 {GameName}{GameServerId}.ini;");
            Client.RunCommand(host + "echo  \"[ServerSettings]\nAllowFlyerCarryPvE=False\nAllowThirdPersonPlayer=False\n" +
                              "AlwaysNotifyPlayerLeft=False\nAutoSavePeriodMinutes=15.000000\nClampResourceHarvestDamage=False\n" +
                              "DifficultyOffset=0.200000\nDisableStructureDecayPvE=False\nDontAlwaysNotifyPlayerJoined=False\n" +
                              "EnablePvPGamma=False\nGlobalVoiceChat=False\nKickIdlePlayersPeriod=2400.000000\nNoTributeDownloads=False\n" +
                              "ProximityChat=False\nProximityVoiceChat=False\nPvEStructureDecayDestructionPeriod=0.000000\n" +
                              $"RCONEnabled=True\nRCONPort={param.GamePort+2}\nServerAdminPassword=adminpassword\nServerCrosshair=False\n" +
                              "ServerForceNoHUD=False\nServerHardcore=False\nServerPassword=\nServerPVE=False\nShowMapPlayerLocation=False\n" +
                              "TamedDinoDamageMultiplier=1.000000\nTamedDinoResistanceMultiplier=1.000000\n" +
                              "[/Script/ShooterGame.ShooterGameUserSettings]\nMasterAudioVolume=1.000000\nMusicAudioVolume=1.000000\n" +
                              "SFXAudioVolume=1.000000\nVoiceAudioVolume=1.000000\nCameraShakeScale=1.000000\nbFirstPersonRiding=False\n" +
                              "bThirdPersonPlayer=False\nbShowStatusNotificationMessages=True\nTrueSkyQuality=0.270000\n" +
                              "FOVMultiplier=1.000000\nGroundClutterDensity=1.000000\nbFilmGrain=False\nbMotionBlur=True\nbUseDFAO=True\n" +
                              "bUseSSAO=True\nbShowChatBox=True\nbCameraViewBob=True\nbInvertLookY=False\nbFloatingNames=True\n" +
                              "bChatBubbles=True\nbHideServerInfo=False\nbJoinNotifications=False\nbCraftablesShowAllItems=True\n" +
                              "LookLeftRightSensitivity=1.000000\nLookUpDownSensitivity=1.000000\nGraphicsQuality=2\n" +
                              "ActiveLingeringWorldTiles=10\nClientNetQuality=3\nLastServerSearchType=0\nLastServerSearchHideFull=False\n" +
                              "LastServerSearchProtected=False\nHideItemTextOverlay=False\nbDistanceFieldShadowing=True\nLODScalar=1.000000\n" +
                              "HighQualityMaterials=True\nHighQualitySurfaces=True\nbTemperatureF=False\nbDisableTorporEffect=False\n" +
                              "bChatShowSteamName=False\nbChatShowTribeName=True\nEmoteKeyBind1=0\nEmoteKeyBind2=0\nbUseVSync=False\n" +
                              "ResolutionSizeX=1280\nResolutionSizeY=720\nLastUserConfirmedResolutionSizeX=1280\n" +
                              "LastUserConfirmedResolutionSizeY=720\nWindowPosX=-1\nWindowPosY=-1\nbUseDesktopResolutionForFullscreen=False\n" +
                              "FullscreenMode=2\nLastConfirmedFullscreenMode=2\nVersion=5\n\n[ScalabilityGroups]\nsg.ResolutionQuality=100\n" +
                              "sg.ViewDistanceQuality=3\nsg.AntiAliasingQuality=3\nsg.ShadowQuality=3\nsg.PostProcessQuality=3\n" +
                              "sg.TextureQuality=3\nsg.EffectsQuality=3\nsg.TrueSkyQuality=3\nsg.GroundClutterQuality=3\nsg.IBLQuality=1\n" +
                              $"sg.HeightFieldShadowQuality=3\n\" > {GameName}{GameServerId}.ini;");
            Client.RunCommand(host + $"echo \"[SessionSettings]\nSessionName=arkserver\nQueryPort={param.GamePort+1}\nPort={param.GamePort}\n" +
                              $"[/Script/Engine.GameSession]\nMaxPlayers=127\n[MessageOfTheDay]\nMessage=Welcome to ARK Server\n" +
                              $"Duration=5\n\" >> {GameName}{GameServerId}.ini;");
            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #6
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            var result = new GameResult();
            var run    = $"cd {_path}/jc2users;mkdir {GameServerId};cp -r jc2 {GameServerId}/{GameName}";

            Client.RunCommand(run);
            var host = $"cd {_path}/jc2users/{GameServerId}/{GameName}/serverfiles;";

            Client.RunCommand(host + "chmod 777 config.lua;");
            Client.RunCommand(host + "echo \"Server={\" > config.lua;");
            MaxPlayers = MaxPlayers > 0 ? MaxPlayers : 5000;
            Client.RunCommand(host + $"echo \"MaxPlayers={MaxPlayers},\" >> config.lua;");
            Client.RunCommand(host + "echo \"BindIP= \\\"\\\",\" >> config.lua;");
            Client.RunCommand(host + $"echo \"BindPort={param.GamePort},\" >> config.lua;");
            Client.RunCommand(host + "echo \"Timeout=10000,\" >> config.lua;");
            Client.RunCommand(host + "echo \"Name= \\\"JC2 - MP Server\\\",\" >> config.lua;");
            Client.RunCommand(host + "echo \"Description=\\\"\\\",\" >> config.lua;");
            Client.RunCommand(host + "echo \"Password=\\\"\\\",\" >> config.lua;");

            Client.RunCommand(host + "echo \"Announce=true,\" >> config.lua;");
            Client.RunCommand(host + "echo \"SyncUpdate==180,\" >> config.lua;");
            Client.RunCommand(host + "echo \"IKnowWhatImDoing=false}\" >> config.lua;");

            Client.RunCommand(host + "echo \"SyncRates ={Vehicle = 75,OnFoot = 120,Passenger = 1000,MountedGun = 250,StuntPosition = 350}\" >> config.lua;");
            Client.RunCommand(host + "echo \"Streamer ={StreamDistance= 500}\" >> config.lua;");
            Client.RunCommand(host + "echo \"Vehicle ={DeathRespawnTime = 10,DeathRemove = false,UnoccupiedRespawnTime = 45,UnoccupiedRemove = false,}\" >> config.lua;");
            Client.RunCommand(host + "echo \"Player ={SpawnPosition = Vector3(-6550, 209, -3290)}\" >> config.lua;");
            Client.RunCommand(host + "echo \"Module ={MaxErrorCount = 5,ErrorDecrementTime = 500,SendAutorunWhenEmpty = false}\" >> config.lua;");
            Client.RunCommand(host + "echo \"World ={Time = 0.0,TimeStep = 1,WeatherSeverity = 0}\" >> config.lua;");

            Path = $"{_path}/jc2users/{GameServerId}/";
            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #7
0
        private static void RunServer()
        {
            Console.Write(" 1 - Ark \t 2 - Arma3\n 3 - CS\t 4 - CSGO\n 5 - CSS\t 6 - Dod\n 7 - Gmod\t 8 - L4D\n 9 - L4D2\t 10 - Minecraft\n" +
                          " 11 - TF2\t 12 - Bmdm\n 13 - Cscz\t 14 - Cure\n 15 - Insurgency\t 16 - JustCause2\n 17 - Rust\t 18 - Dods\n" +
                          " 19 - Dst\t 20 - DoubleAction\n 21 - FistfulofFrags\t 22 - Hurtworld\n 23 - KillingFloor\t 24 - NS2\n" +
                          " 25 - Nmrih\t 26 - Opfor\n 27 - Pvkii\t 28 - Quake Live\n Выберите игру: ");
            var key = Console.ReadLine();

            _connectparam = GetLinuxConnect(key);
            if (_connectparam == null)
            {
                return;
            }
            _server = GameServerFactory.Instance.Get(_connectparam);
            var res = _server.Connect();

            _gameparam = new CreateParam
            {
                Slots        = 2,
                GamePort     = 27020,
                GameServerId = _connectparam.GameServerId,
                GamePassword = "",
            };
            res = _server.Create(_gameparam);
            if (!res.Succes)
            {
                Console.WriteLine($"{res.ErrorMessage}");
            }
            var param = GetChangeStatusParam();

            param.TypeStatus = GameHostTypeStatus.Enable;
            res = _server.ChangeStatus(param);
            if (!res.Succes)
            {
                Console.WriteLine($"{res.ErrorMessage}");
            }
            //_server.DataReceived += _server_DataReceived;
            //var res = _server.On(_gameparam);
            //if (res.ServerStates == null) return;
            //foreach (var param in res.ServerStates)
            //    Console.WriteLine($"{param.ParameterName}: {param.ParameterValue}");
        }
Пример #8
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            if (!CompleteInstal())
            {
                var run = $"cd {Path}/{GameName};cp -r ns2-server {GameName}{GameServerId}";
                Client.RunCommand(run);
            }
            var result = new GameResult();

            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #9
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            var run    = $"cd {Path}/{GameName}/serverfiles/{GameCode};cp -r {GameName}-server.cfg {GameName}{GameServerId}.cfg";
            var res    = Client.RunCommand(run);
            var result = new GameResult();

            if (!string.IsNullOrEmpty(res.Error))
            {
                ValidateError(res, result);
            }
            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #10
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            var run = $"cd {Path}/{GameName}/serverfiles/System;sed 's/Port=7707/Port={param.GamePort}/g' kf-server.ini > temp.ini";
            var res = Client.RunCommand(run);

            run = $"cd {Path}/{GameName}/serverfiles/System;" +
                  $"sed 's/OldQueryPortNumber=7717/OldQueryPortNumber={param.GamePort + 1}/g' temp.ini > {GameName}{GameServerId}.ini";
            res = Client.RunCommand(run);
            var result = new GameResult();

            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #11
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            var run = $"cd {Path}/{GameName}/serverfiles/cfg;find {GameName}{GameServerId}";
            var res = Client.RunCommand(run);

            if (!string.IsNullOrEmpty(res.Error))
            {
                run = $"cd {Path}/{GameName}/serverfiles/cfg;cp -r DoNotStarveTogether {GameName}{GameServerId}";
                Client.RunCommand(run);
            }
            var host = $"cd {Path}/{GameName}/serverfiles/cfg/{GameName}{GameServerId};";

            Client.RunCommand(host + $"chmod 777 settings.ini;");
            Client.RunCommand(host + $"echo  \"[network]\ndefault_server_name = {GameName}{GameServerId}\n" +
                              $"default_server_description = Welcome to {GameName}{GameServerId} server\nserver_port = {param.GamePort}\n" +
                              $"server_password = {GameName}{GameServerId}\n\" > settings.ini;");
            MaxPlayers = MaxPlayers > 0 ? MaxPlayers : 16;
            Client.RunCommand(host + $"echo  \"max_players = {MaxPlayers}\npvp = false\ngame_mode = endless\nenable_autosaver = true\ntick_rate = 30\n" +
                              $"connection_timeout = 8000\nserver_save_slot = 1\nenable_vote_kick = true\npause_when_empty = true\n\n" +
                              $"[account]\ndedicated_lan_server = false\n[STEAM]\nDISABLECLOUD = true\n[MISC]\nCONSOLE_ENABLED = true\n" +
                              $"autocompiler_enabled = true\n\" >> settings.ini;");

            var result = new GameResult();

            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #12
0
        public override GameResult Create(CreateParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            var result = new GameResult();

            var run  = $"cd {Path}/{GameName}/serverfiles/cfg;cp -r arma3-server.server.cfg {GameName}{GameServerId}.server.cfg";
            var res  = Client.RunCommand(run);
            var host = $"cd {Path}/{GameName}/serverfiles/cfg;";

            Client.RunCommand(host + $"chmod 777 {GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + $"echo  \"serverport={param.GamePort};\" > {GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + $"echo \"steamqueryport={param.GamePort+1};\" >> {GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + $"echo \"steamport={param.GamePort+2};\" >> {GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + $"echo \"passwordAdmin = \\\"{GameName}{GameServerId}adminpass\\\";\" >> {GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + $"echo \"maxPlayers = 32;\" >> {GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + $"echo \"logFile = \\\"{GameName}{GameServerId}server.log\\\";\" >> {GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + "echo \"motd[]={\\\"Welcome to My Arma 3 Server\\\"," +
                              "\\\"TS3 Server:     teamspeak.somewhere.com\\\",\\\"Web:            www.example.com\\\"};\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + "echo \"motdInterval = 30;\nvoteMissionPlayers = 1;\nvoteThreshold = 0.33;\n" +
                              "disableVoN = 0;\nvonCodecQuality = 3;\npersistent = 1;\ntimeStampFormat = \\\"short\\\";\n" +
                              "verifySignatures = 2;\nrequiredSecureId = 2;\nkickDuplicate = 1;\nBattlEye = 1;\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");

            Client.RunCommand(host + "echo \"allowedLoadFileExtensions[] = {\\\"hpp\\\",\\\"sqs\\\",\\\"sqf\\\",\\\"fsm\\\"," +
                              "\\\"cpp\\\",\\\"paa\\\",\\\"txt\\\",\\\"xml\\\",\\\"inc\\\",\\\"ext\\\",\\\"sqm\\\",\\\"ods\\\"," +
                              "\\\"fxy\\\",\\\"lip\\\",\\\"csv\\\",\\\"kb\\\",\\\"bik\\\",\\\"bikb\\\"," +
                              "\\\"html\\\",\\\"htm\\\",\\\"biedi\\\"};\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + "echo \"allowedPreprocessFileExtensions[] = {\\\"hpp\\\",\\\"sqs\\\",\\\"sqf\\\",\\\"fsm\\\"," +
                              "\\\"cpp\\\",\\\"paa\\\",\\\"txt\\\",\\\"xml\\\",\\\"inc\\\",\\\"ext\\\",\\\"sqm\\\",\\\"ods\\\"," +
                              "\\\"fxy\\\",\\\"lip\\\",\\\"csv\\\",\\\"kb\\\",\\\"bik\\\",\\\"bikb\\\",\\\"html\\\"," +
                              "\\\"htm\\\",\\\"biedi\\\"};\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + "echo \"allowedHTMLLoadExtensions[] = {\\\"htm\\\",\\\"html\\\",\\\"xml\\\",\\\"txt\\\"};\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + "echo \"onUserConnected = \\\"\\\";\nonUserDisconnected = \\\"\\\";\ndoubleIdDetected = \\\"\\\";\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + "echo \"onUnsignedData = \\\"kick (_this select 0)\\\";\nonHackedData = 	\\\"kick (_this select 0)\\\";\n"+
                              "onDifferentData = \\\"\\\";\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");
            Client.RunCommand(host + "echo \"headlessClients[]={\\\"127.0.0.1\\\"};\nlocalClient[]={\\\"127.0.0.1\\\"};\n" +
                              "battleyeLicense=1;\" >> " +
                              $"{GameName}{GameServerId}.server.cfg;");


            run = $"cd {Path}/{GameName}/serverfiles/cfg;cp -r arma3-server.network.cfg {GameName}{GameServerId}.network.cfg";
            res = Client.RunCommand(run);

            if (!string.IsNullOrEmpty(res.Error))
            {
                ValidateError(res, result);
            }
            if (!CompleteInstal())
            {
                result.Error        = GameHostTypeError.CantCreate;
                result.Succes       = false;
                result.ErrorMessage = "Error Create";
            }
            return(result);
        }
Пример #13
0
 private static extern IntPtr sarSmartar_SarSmartARController_sarDoCreate(ref CreateParam param, bool workerThreadEnabled);
Пример #14
0
 public virtual GameResult DeleteServer(CreateParam param)
 {
     throw new NotImplementedException();
 }
Пример #15
0
    public override void AfterCreate()
    {
        base.AfterCreate();

#if UNITY_EDITOR
        gameObject.name = "Monster_" + UID.obj_idx + "_" + ActorId;
#endif

        CreateParam createParam = mCreateParam as CreateParam;
        if (createParam == null)
        {
            return;
        }

        m_SummonMonster = createParam.summon;

        var select_actor = LockTargetManager.Instance.SelectActor;
        if (createParam.summon)
        {
            OnCreateSummonMonster(mCreateInfo, createParam);
            if (this.ParentActor == null || this.ParentActor.IsLocalPlayer == false)
            {
                if (this == select_actor)// 选中的角色选中显示头顶名字和血条等
                {
                    mVisibleCtrl.SetActorVisible(ShieldManager.Instance.SummonMonsterVisible, false, true, VisiblePriority.CULL);
                }
                else
                {
                    mVisibleCtrl.SetActorVisible(ShieldManager.Instance.SummonMonsterVisible, false, false, VisiblePriority.CULL);
                }
            }

            return;
        }
        else
        {
            if (IsBoss() == false)
            {
                if (this == select_actor)// 选中的角色选中显示头顶名字和血条等
                {
                    mVisibleCtrl.SetActorVisible(ShieldManager.Instance.NomralMonsterVisible, false, true, VisiblePriority.CULL);
                }
                else
                {
                    mVisibleCtrl.SetActorVisible(ShieldManager.Instance.NomralMonsterVisible, false, false, VisiblePriority.CULL);
                }
            }
        }

        if (createParam.is_pet)
        {
            SetMonsterType(Monster.MonsterType.LocalMonster);
            if (!IsBoss())
            {
                HPProgressBarIsActive = true;
            }

            if (createParam.hasAI)
            {
                ActiveAI(true);
            }

            //ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_LOCALMONSTERCREATEED, new CEventBaseArgs(this));
        }
        else
        {
            if (!IsBoss())
            {
                HPProgressBarIsActive = true;
            }
            SetMonsterType(Monster.MonsterType.RemoterMonster);

            ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_REMOTEMONSTERCREATEED, new CEventBaseArgs(this));

            // 添加CE_MONSTERCREATEED消息通知Lua,避免Monster类对象的传递
            ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_MONSTERCREATEED, new CEventObjectArgs(this.UID.obj_idx, this.TypeIdx));
        }

        var camp = mCreateInfo.AOIMonster != null ? mCreateInfo.AOIMonster.camp : 0xffffffff;
        Camp = camp;

#if UNITY_EDITOR
        // 更改名字
        GetModel().name = string.Format("Monster_{0}", UID.obj_idx);
#endif
    }
Пример #16
0
    /// <summary>
    /// 在创建怪物后的处理
    /// </summary>
    private void OnCreateSummonMonster(xc.UnitCacheInfo info, CreateParam param)
    {
        Actor master = ActorManager.Instance.GetActor(param.master);

        if (param.summonByMonster)
        {
            BeSummonedType = Monster.BeSummonType.BE_SUMMON_BY_MONSTER;
        }
        else
        {
            if (master is LocalPlayer)
            {
                BeSummonedType = Monster.BeSummonType.BE_SUMMON_BY_PLAYER;
            }
            else
            {
                BeSummonedType = Monster.BeSummonType.BE_SUMMON_BY_ROBOT;
            }
        }

        // 初始化怪物的各种数据
        if (master != null)
        {
            Camp = master.Camp;
        }
        else
        {
            Camp = info.AOIMonster.camp;
        }

        SetMonsterType(param.summonType);
        if (param.summonType == Monster.MonsterType.SummonRemoteMonster)
        {
            ActiveAI(false);
        }
        else
        {
            ActiveAI(true);
        }

        if (param.summonByMonster)
        {
            CenterSpawnPos = info.PosBorn;
        }

        if (BeSummonedType == BeSummonType.BE_SUMMON_BY_MONSTER)
        {
            if (!ActorManager.Instance.CalledMonsterSet.ContainsKey(info.UnitID))
            {
                ActorManager.Instance.CalledMonsterSet.Add(info.UnitID, this);
            }
        }
        else if (this is Pet)
        {
        }
        else
        {
            if (!ActorManager.Instance.SummonMonsterSet.ContainsKey(info.UnitID))
            {
                ActorManager.Instance.SummonMonsterSet.Add(info.UnitID, this);
            }
        }

        if (param.summonType == Monster.MonsterType.LocalMonster)
        {
            // 定时销毁召唤怪

            /*DelayTimeComponent delayTime = GetModel().AddComponent<DelayTimeComponent>();
             * delayTime.DelayTime = param.time;
             * delayTime.SetEndCallBack(new DelayDestroyComponent.EndCallBackInfo(OnSummonMonsterDisappear, info.UnitID));
             * if(!param.summonByMonster)
             *  // 显示血条
             *  HPProgressBarIsActive = true;*/
        }

        // 设置sonActor
        if (master != null)
        {
            master.AddSonActor(this);
        }

        ParentActor = master;


        if (param.summonType == MonsterType.SummonRemoteMonster)
        {
            ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_REMOTEMONSTERCREATEED, new CEventBaseArgs(this));
        }
        else
        {
            ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_LOCALMONSTERCREATEED, new CEventBaseArgs(this));
        }

        // 添加CE_MONSTERCREATEED消息通知Lua,避免Monster类对象的传递
        ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_MONSTERCREATEED, new CEventObjectArgs(this.UID.obj_idx, this.TypeIdx));
    }