Пример #1
0
    private void OnVisibityRefreshed(object sender, VisibilityRefreshedEventArgs args)
    {
        MajorEmpire majorEmpire = args.Empire as MajorEmpire;

        if (majorEmpire == null)
        {
            return;
        }
        DepartmentOfScience agency = majorEmpire.GetAgency <DepartmentOfScience>();

        for (int i = 0; i < this.majorEmpires.Length; i++)
        {
            global::Empire empire = this.majorEmpires[i];
            if (majorEmpire.Index != empire.Index)
            {
                WorldPosition worldPosition = this.CheckMetting(majorEmpire, empire);
                if (worldPosition != WorldPosition.Invalid)
                {
                    WorldPosition worldPosition2 = this.CheckMetting(empire, majorEmpire);
                    if (worldPosition2 != WorldPosition.Invalid)
                    {
                        this.OnEmpireSymetricDiscovery(majorEmpire, empire, worldPosition, worldPosition2);
                    }
                    else if (agency.GetTechnologyState(this.technologyDefinitionDrakkenVisionDuringFirstTurn) == DepartmentOfScience.ConstructibleElement.State.Researched)
                    {
                        this.OnEmpireAsymetricDiscovery(majorEmpire, empire, worldPosition);
                    }
                }
            }
        }
    }
Пример #2
0
 private void VisibilityService_VisibilityRefreshed(object sender, VisibilityRefreshedEventArgs args)
 {
     if (this.firstBeginTurnDone)
     {
         this.OnVisibityRefreshed(sender, args);
     }
     else
     {
         this.visibilityControllerRefreshedArgs.Enqueue(new KeyValuePair <object, VisibilityRefreshedEventArgs>(sender, args));
     }
 }